Expliqué: Règles de YARA

     Pieter Arntz Pieter Arntz
    Il y a 4 ans

 Logo YARA

Les règles YARA sont un moyen d’identifier les logiciels malveillants (ou d’autres fichiers) en créant des règles qui recherchent certaines caractéristiques. YARA a été développé à l’origine par Victor Alvarez de Virustotal et est principalement utilisé dans la recherche et la détection de logiciels malveillants. Il a été développé avec l’idée de décrire des modèles qui identifient des souches particulières ou des familles entières de logiciels malveillants.

Syntaxe

Chaque règle doit commencer par le mot règle, suivi du nom ou de l’identifiant. L’identifiant peut contenir n’importe quel caractère alphanumérique et le caractère de soulignement, mais le premier caractère n’est pas autorisé à être un chiffre. Il existe une liste de mots-clés YARA qui ne sont pas autorisés à être utilisés comme identifiant car ils ont une signification prédéfinie.

Condition

Les règles sont composées de plusieurs sections. La section condition est la seule qui est requise. Cette section spécifie quand le résultat de la règle est vrai pour l’objet (fichier) faisant l’objet de l’enquête. Il contient une expression booléenne qui détermine le résultat. Les conditions sont par conception des expressions booléennes et peuvent contenir tous les opérateurs logiques et relationnels habituels. Vous pouvez également inclure une autre règle dans vos conditions.

Strings

Pour donner une signification à la section condition, vous aurez également besoin d’une section strings. Les sections de chaînes sont l’endroit où vous pouvez définir les chaînes qui seront recherchées dans le fichier. Regardons un exemple facile.

rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}

La règle ci-dessus est nommée vendor et recherche les chaînes « Nom du fournisseur » et « Nom d’alias ». Si l’une de ces chaînes est trouvée, le résultat de la règle est vrai.

Il existe plusieurs types de chaînes que vous pouvez rechercher:

  • Hexadécimal, en combinaison avec des jokers, des sauts et des alternatives.
  • Chaînes de texte, avec des modificateurs : nocase, fullword, wide et ascii.
  • Expressions régulières, avec les mêmes modificateurs que les chaînes de texte.

Il existe de nombreuses conditions plus avancées que vous pouvez utiliser, mais elles sortent du cadre de cet article. Si vous souhaitez en savoir plus, vous pouvez le trouver dans la documentation de YARA.

Métadonnées

Des métadonnées peuvent être ajoutées pour aider à identifier les fichiers qui ont été récupérés par une certaine règle. Les identifiants de métadonnées sont toujours suivis d’un signe égal et de la valeur définie. Les valeurs assignées peuvent être des chaînes, des entiers ou une valeur booléenne. Notez que les paires identifiant/valeur définies dans la section métadonnées ne peuvent pas être utilisées dans la section condition, leur seul but est de stocker des informations supplémentaires sur la règle.

Résumé

YARA est un outil qui peut être utilisé pour identifier les fichiers qui remplissent certaines conditions. Il est principalement utilisé par les chercheurs en sécurité pour classer les logiciels malveillants.

Liens

Détection Basée Sur La signature Avec YARA

Dernière documentation YARA

YARA: Un moyen simple et efficace de disséquer les logiciels malveillants

Des captures d’écran ont été réalisées à l’aide de l’éditeur Yara par Adlice Software

Pieter Arntz



+