Module 5
Création et partage d'IoC
Dernière mise à jour le: 1 Août 2024
Modifier cette page sur GitHubModule 5
Dernière mise à jour le: 1 Août 2024
Modifier cette page sur GitHubUne fois que vous avez analysé un logiciel malveillant, vous pouvez aider la communauté (ainsi que vous-même et le reste du monde) en partageant vos résultats. Les nouveaux logiciels malveillants sont relativement rares et, une fois qu’ils sont utilisés, ils ont tendance à être largement réutilisés. En partageant vos conclusions, vous pouvez aider tout le monde de plusieurs façons :
Après avoir terminé ce sous-thème, les participants devraient être en mesure de faire ce qui suit :
Nous pouvons décomposer largement les IoC en classes lisibles par l’humain et lisibles par machine. Les IoC lisibles par machine peuvent être tout ce qu’un ordinateur pourrait utiliser pour détecter les logiciels malveillants, et il existe de nombreux formats qui tentent de représenter en détail la complexité du comportement des logiciels malveillants. Cependant, il existe plusieurs formats simples et faciles à créer et à utiliser qui sont très populaires :
Les hachages de fichiers et les spécifications du serveur sont les plus simples à créer et à utiliser. Cependant, la complexité supplémentaire des règles YARA ou Snort est parfois nécessaire pour identifier les logiciels malveillants. Par exemple, un logiciel malveillant peut communiquer avec son serveur C&C sur n’importe quel hôte et port, mais envoie un message spécifique au serveur. Dans une telle situation, vous avez besoin d’un outil tel qu’une règle Snort. De même, un fichier malveillant peut contenir un contenu différent à chaque infection, mais contient toujours une chaîne unique spécifique. Dans une telle situation, vous avez besoin d’un outil tel qu’une règle YARA.
Les IoC lisibles par l’homme sont des descriptions de choses que le logiciel malveillant effectue, qui sont utiles pour les personnes qui enquêtent sur une possibilité de compromission, mais moins utiles pour les ordinateurs. Ces IoC prennent la forme de descriptions narratives des activités du logiciel malveillant. Ils ont l’avantage d’être généralement plus faciles à créer et à comprendre, et peuvent être transformés en IoC lisibles par machine pour une variété de systèmes de détection.
Un bon rapport d’analyse de logiciels malveillants contient généralement une description lisible par l’humain du logiciel malveillant et de ses capacités, ainsi que quelques IoC lisibles par machine dans une annexe. Cela garantit que le rapport est utile au public le plus large.
Un bon IoC minimisera à la fois les faux positifs et les faux négatifs. Surtout que les logiciels malveillants sont rares sur la plupart des systèmes, la détection de fichiers inoffensifs comme étant malveillants (faux positifs) peut créer un faux sentiment de risque et conduire à la suppression de fichiers légitimes. De même, un IoC qui ne parvient pas à détecter une partie importante d’un logiciel malveillant (faux négatifs) peut s’avérer dangereux et procurer aux défenseurs un faux sentiment de sécurité.
Dans cette optique, passons en revue certains des formats simples d’IoC courants.
Les hachages de fichiers sont parmi les IoC les plus simples. Vous calculez un hachage cryptographique (ou deux) d’un fichier qui est exclusif au logiciel malveillant, et c’est tout. En règle générale, les hachages MD5 et SHA256 sont fournis. Bien qu’il existe de nombreuses faiblesses avec MD5, elles ne sont généralement pas significatives dans le contexte des IoC. Les principaux inconvénients des hachages de fichiers reposent sur le fait que toute modification du fichier permettra aux logiciels malveillants de contourner la détection basée sur l’IoC. Il est futile dans la plupart des cas de simplement ajouter un octet au fichier, pour provoquer un hachage complètement différent. Cependant, les hachages de fichiers continuent d’être étonnamment efficaces pour détecter les logiciels malveillants.
Les règles YARA constituent une étape supplémentaire dans la complexité des hachages de fichiers. Les règles YARA regroupent des informations sur le logiciel malveillant, une liste de séquences binaires ou de chaînes dans le fichier et des règles sur les chaînes/séquences qui doivent se trouver dans le fichier (par ex., chaîne 1 ou chaîne 2, et aussi chaîne 3). YARA maintient un bon équilibre entre simplicité et flexibilité. Pour obtenir plus d’informations sur YARA, consultez le site Web officiel, et aussi cet article de blog en passant par la création de règles YARA pour un fichier de logiciels malveillants.
Il convient de garder à l’esprit, lorsque vous travaillez avec YARA, que vous devez vous assurer que votre règle est exempte de faux positifs. Par exemple, une règle correspondant à « Ce programme ne peut pas être exécuté en mode DOS » correspondrait à tous les exécutables d’un système Windows. Après avoir créé vos règles YARA pour certains logiciels malveillants, il peut être judicieux de les exécuter dans quelques systèmes (espérons-le) non infectés pour vous assurer qu’ils n’identifient pas les fichiers non malveillants. Il existe des outils permettant de créer des règles YARA, par exemple yarGen analysera un fichier de logiciel malveillant et créera un point de départ pour une règle YARA qui n’inclura pas de chaînes connues. Assurez-vous de lire le fichier README et les articles de blog joints avant d’utiliser l’outil.
Souvent, les logiciels malveillants contactent un serveur de commande et de contrôle à distance pour recevoir des instructions, télécharger les étapes ultérieures du logiciel malveillant, etc. S’il est possible de prédire quels serveurs le logiciel malveillant contactera (p. ex., il est codé en binaire), il est alors possible de créer des IoC qui identifient le trafic réseau malveillant. Voici quelques exemples :
Les identifiants de serveur sont similaires aux hachages de fichiers en ce sens qu’ils sont assez simples, mais également fragiles. Cependant, au même titre que les hachages de fichiers, ils sont également étonnamment efficaces.
Si les identifiants de serveur sont comme des hachages de fichiers pour le trafic réseau, alors les règles Snort sont comme les règles YARA pour le trafic. Snort est un système de détection d’intrusion open source qui dispose d’un moteur de règles mature et largement utilisé. Les règles Snort sont plus compliquées que les règles YARA, mais sont toujours assez gérables. La documentation officielle peut être assez intimidante, mais la plupart des règles sont assez simples. Cette page décrit la structure des règles Snort et fournit quelques exemples simples. Enfin, voici un ensemble de règles Snort pour certains vrais logiciels malveillants.
Comme avec les règles YARA, il peut être assez facile de créer accidentellement de faux positifs. Envisagez de capturer quelques jours de votre trafic réseau et d’exécuter toutes les règles Snort que vous créez par rapport à ces captures de paquets.
Lorsque vous envisagez de créer des IoC, vous devez considérer ce qui est intrinsèque au logiciel malveillant en général, par rapport à ce qui est spécifique à l’échantillon que vous avez analysé. Voici quelques exemples :
À ce stade, vous devez savoir comment vous avez acquis le logiciel malveillant, ce qu’il fait et comment le détecter. Cet article détaille certaines des choses qu’un excellent rapport d’analyse de logiciels malveillants devrait contenir, et cet article de blog par un instructeur SANS fournit quelques conseils pour le rapport global. En outre, il est bon d’expliquer votre processus de pensée dans des sections narratives. Cela peut être à la fois éducatif pour les gens qui commencent à analyser les logiciels malveillants, et également aider les enquêteurs de logiciels malveillants plus expérimentés à vous aider au cas où vous auriez manqué quelque chose.
L’attribution de logiciels malveillants à un acteur de menace particulier est une activité populaire parmi les analystes de logiciels malveillants. Cependant, il est difficile d’obtenir des résultats précis. Ne vous obligez pas à effectuer l’attribution si vous avez des doutes, la chose la plus importante est la publication des IoC.
Dans le parcours d’apprentissage Détection, enquête et suivi des infrastructures malveillantes, nous avons également créé une section sur les articles et les rapports qui pourraient être utiles.
Les articles de blog publics suivants pourraient vous inspirer pour vos propres rapports. Tous utilisent des tons et des formats différents, mais tous contiennent également des IoC.
Une fois que vous avez créé un rapport, vous pouvez en faire plusieurs choses :
Vous pouvez faire tout, partie ou même aucune de ces choses. Si vous travaillez avec un client dont l’appareil a été compromis, vous devez bien sûr vous assurer qu’il est d’accord avec le partage du rapport. Il est préférable d’obtenir son approbation écrite.
Si vous êtes membre d’une organisation comme CiviCERT, c’est un excellent endroit pour partager vos conclusions. Les autres membres pourront ainsi lire votre rapport, fournir des commentaires et prendre des mesures.
Vous pouvez également publier vos résultats sur votre blog ou sur un autre site comme GitHub. Cela demande peu d’efforts, mais peut aussi être limité dans son impact. Cependant, votre rapport peut s’avérer précieux pour ceux qui cherchent sur Internet le hachage SHA d’un fichier ou d’un identifiant de serveur.
Enfin, si vous avez des échantillons de logiciels malveillants, vous pouvez les soumettre aux principales sociétés d’antivirus. Il est peu probable qu’elles lisent le rapport, mais elles pourront analyser le logiciel malveillant et inclure des signatures dans leurs produits. Pour obtenir plus d’informations sur la soumission de logiciels malveillants, cette page fournit des liens vers les informations de soumission de diverses entreprises.
Répondez à la question 7.3 et complétez l’exercice 7.3 du guide d’intervention sur le terrain.
Discutez avec votre mentor ou votre pair de la façon dont vous traiteriez chacune de ces adresses IP dans vos rapports sur les logiciels malveillants. Certains d’entre eux font-ils de meilleures IoC que d’autres ?
Qu'est-ce que le hachage et comment fonctionne-t-il ?
GratuitUne brève introduction au sujet des hachages de fichiers et du rôle qu’ils jouent dans la détection et l’investigation des logiciels malveillants
YARA
GratuitLa page d’accueil officielle de l’outil YARA, qui est utilisé pour la correspondance des modèles, principalement lors de la recherche de logiciels malveillants
Détection des menaces 101 avec les règles Yara
GratuitCet article explique comment créer et utiliser les règles YARA pour détecter les fichiers malveillants.
yarGen
GratuitUn outil qui peut automatiser la génération de chaînes pour les règles YARA
Règles Snort
GratuitLa meilleure façon d’envisager Snort est de le décrire comme étant similaire à YARA, mais pour les réseaux, en utilisant des modèles pour détecter et arrêter les intrusions. Cet article introduit quelques règles de base à ce sujet.
Exemples et utilisation des règles Snort
GratuitQuelques bonnes règles pour ceux qui débutent avec Snort
Éléments à inclure dans un rapport d'analyse de logiciel malveillant
GratuitUne liste des principales choses à faire que vous devez garder à l’esprit et noter lors de la création d’un rapport d’analyse de logiciel malveillant en vue de son partage avec d’autres utilisateurs
Rédaction de rapports sur les logiciels malveillants
GratuitUn guide plus ancien (2012), mais toujours très utile par SANS sur les meilleures pratiques lors de la rédaction de rapports sur les logiciels malveillants
Félicitations pour avoir terminé Module 5!
Cochez la case pour confirmer votre achèvement et continuez vers le module suivant.
Marque le module actuel comme terminé et enregistre la progression de l'utilisateur.
Vous avez complété tous les modules de ce parcours d'apprentissage.