Académique Documents
Professionnel Documents
Culture Documents
Tableau de contenu
Introduction à YARA.....................................................................................................................................3
Introduction à YARA
YARA est un outil destiné (mais pas limité) à aider les spécialistes de cyber sécurité à identifier
est classifier ces malwares.
Avec Yara on peut créer des descriptions des familles des logiciels malveillants (Ou n’importe
quoi) en se basant sur des modèles textuel ou binaire.
Par exemple on peut écrire des descriptions pour détecter des logiciels malveillants avec :
L’empreinte numérique (le hash).
L’en-tête de fichier.
Comportement.
Le contenu.
La structure de code.
Chaque description représente une règle, chaque règle consiste en un ensemble d’expressions de
chaines de caractères et booléens qui va déterminer sa logique.
Chaque fichier contenant la chaine de caractères "Hello world!" ou la valeur hexadécimal
suivante { 4D 5A 90 C8 1F B8 54 } sera considéré comme valide et va correspond à notre règle.
Noter que c’est une règle très simple, des règles fortes et compliquées peuvent être crées avec
Yara.
Les règles Yara sont très faciles à écrire et comprendre grâce à leur syntaxe simple.
Le nom de la règle se trouve après le mot-clé rule, la section "meta" contient des informations
supplémentaires sur notre règle tel que l’auteur ou bien l’objectif de la règle, la section
"condition" et la plus importante, c’est elle qui définit la logique de la règle.
Pour notre exemple, On va calculer le hash MD5 ou SHA-256 de l’exécutable nc.exe (netcat)
avec PowerShell en utilisant la commande Get-FileHash.
Note : dans les règles Yara, le hash doit être en minuscule.
Les règles Yara sont écrites dans un fichier avec l’extension "Yara" qui peut contenir plus d’une
règle.
Pour notre but de test on va écrire une règle qui va nous permettre si ce genre des fichiers existe
dans notre système.
Puisque Yara est un outil puissant, il nous permet d’utiliser des expressions régulières pour une
recherche plus flexible.
Une description d’un hash SHA-256 rassemble à ceci.
Il faut noter que la règle dernière a été écrite dans le même fichier de l’exemple précédent, donc
ont peut obtenir le résultat des deux règles à la fois.
En utilisant l’option -s Yara nous affiche aussi les chaines de caractère ou la règle a été satisfaite, dans
notre exemple ce sont les hashes exacte qu’on a enregistré dans le fichier hashDump.txt.
Parfois on est demandé de récupérer un type spécifique d’un fichier depuis un support de
stockage ou une image d’un disque dure, comment on peut le faire ? comment chercher dans de
centaines de bytes ?
Yara peut faciliter cette tache si on utilise les bytes magiques dans notre recherche.
Les bytes magiques se sont les premières bytes dans l’entête de chaque fichier et qui sont unique
pour chaque type de fichier ce qui permet au système d’exploitation de l’identifier facilement.
Un fichier exécutable exe est toujours identifié par l’entête [ 4D 5A 90 ]
Chaque jour des nouveaux logiciels malveillants sont développé, ce qui rend la détection plus
difficile l’écriture des règles est fatigante.
En parallèle, des dizaines des règles sont écrites et partagées régulièrement par la communauté,
on peut les télécharger et les personnaliser selon le besoin.