Mise à disposition en préversion de la détection d’attaques sans fichier pour Linux

Publié le 24 février, 2020

Senior Program Manager, Enterprise Protection and Detection

Ce billet de blog a été coécrit par Aditya Joshi, ingénieur logiciel senior, Enterprise Protection and Detection.

Les attaquants utilisent de plus en plus des méthodes plus furtives pour éviter la détection. Les attaques sans fichier profitent des vulnérabilités des logiciels, injectent des charges utiles malveillantes dans des processus système inoffensifs et sont masquées dans la mémoire. Ces techniques limitent ou éliminent les traces de logiciels malveillants sur le disque et réduisent considérablement les chances de détection par des solutions d’analyse des logiciels malveillants basée sur le disque.

Pour contrer cette menace, Azure Security Center a déployé la détection d’attaque sans fichier pour Windows en octobre 2018. Notre billet de blog de 2018 explique comment Security Center peut détecter les shellcodes, l’injection de code, les techniques d’obfuscation de charge utile et d’autres comportements d’attaque sans fichier sur Windows. Nos recherches indiquent également l’augmentation du nombre d’attaques sans fichier sur des charges de travail Linux.

Aujourd’hui, l’équipe Azure Security Center est heureuse d’annoncer la préversion de la fonctionnalité de détection d’attaques sans fichier sur Linux.  Dans ce billet, nous décrivons une attaque sans fichier concrète sur Linux, présentons nos fonctionnalités de détection d’attaques sans fichier et fournissons des instructions pour intégrer la préversion. 

Attaque sans fichier concrète sur Linux

L’un des modèles courants que nous observons est que les attaquants injectent des charges utiles à partir de logiciels malveillants empaquetés sur le disque en mémoire et suppriment le fichier malveillant d’origine du disque. Voici un exemple récent :

  1. Un attaquant infecte un cluster Hadoop en identifiant le service exécuté sur un port connu (8088) et utilise la prise en charge de l’exécution de commandes à distance non authentifiées Hadoop YARN pour obtenir l’accès au runtime de l’ordinateur. Notez que le propriétaire de l’abonnement a pu réduire cette étape de l’attaque en configurant la fonctionnalité JIT de Security Center.
  2. L’attaquant copie un fichier contenant des logiciels malveillants compressés dans un répertoire temporaire et le lance.
  3. Le processus malveillant décompresse le fichier à l’aide de shellcode pour allouer une nouvelle région de mémoire exécutable dynamique dans l’espace mémoire propre au processus et injecte une charge utile exécutable dans la nouvelle région de mémoire.
  4. Le programme malveillant transfère ensuite l’exécution au point d’entrée ELF injecté.
  5. Le processus malveillant supprime le logiciel malveillant compressé d’origine du disque pour couvrir ses traces. 
  6. La charge utile ELF injectée contient un shellcode qui écoute les connexions TCP entrantes, en transmettant les instructions de l’attaquant.

Cette attaque est difficile à détecter pour les personnes chargées des analyses. La charge utile est masquée derrière des couches d’obfuscation et n’est présente sur le disque que pendant une brève période.  Avec la préversion de la détection des attaques sans fichier, Security Center peut à présent identifier ces types de charges utiles en mémoire et informer les utilisateurs des fonctionnalités de la charge utile.

Fonctionnalités de détection des attaques sans fichier

À l’instar de la détection d’attaques sans fichier pour Windows, cette fonctionnalité analyse la mémoire de tous les processus afin de vérifier la présence de kits de ressources, de techniques et de comportements sans fichier. Tout au long de la préversion, nous allons activer et affiner nos analytiques pour détecter les comportements suivants du programme malveillant userland :

  • Logiciels de minage de crypto-monnaie et kits de ressources connus. 
  • Shellcode, exécutables ELF injectés et code malveillant dans les régions exécutables de la mémoire de processus.
  • Rootkits LD_PRELOAD pour précharger des bibliothèques malveillantes.
  • Élévation du privilège d’un processus de Non racine à Racine.
  • Contrôle à distance d’un autre processus à l’aide de ptrace.

En cas de détection, vous recevez une alerte dans la page Alertes de sécurité. Les alertes contiennent des informations supplémentaires telles que le type de techniques utilisées, les métadonnées de processus et l’activité du réseau. Cela permet aux analystes d’avoir une meilleure compréhension de la nature des logiciels malveillants, de faire la différence entre les différentes attaques et de prendre des décisions plus éclairées lors du choix des étapes de correction.

 Image1

L’analyse est non invasive et n’affecte pas les autres processus du système.  La grande majorité des analyses s’exécute en moins de cinq secondes. La confidentialité de vos données est protégée tout au long de cette procédure, car toutes les analyses de la mémoire sont effectuées sur l’hôte lui-même. Les résultats de l’analyse contiennent uniquement les métadonnées relatives à la sécurité et les détails des charges utiles suspectes.

Bien démarrer

Pour vous inscrire à cette préversion spécifique, ou à notre programme d’évaluation en cours, indiquez votre intérêt pour la préversion de la détection des attaques sans fichier.

Une fois que vous avez choisi de participer, cette fonctionnalité est automatiquement déployée sur vos ordinateurs Linux en tant qu’extension de l’agent Log Analytics pour Linux (également appelé agent OMS), qui prend en charge les distributions du système d’exploitation Linux décrites dans cette documentation. Cette solution prend en charge les environnements Azure, inter-cloud et locaux. Les participants doivent être inscrits au niveau de tarification Standard ou Essai Standard pour accéder à cette fonctionnalité.

Pour en savoir plus sur Azure Security Center, consultez la page Azure Security Center.