Règles YARA pour détecter les logiciels malveillants
Écrivez des règles YARA fondées sur les chaînes, les motifs d’octets et la structure des fichiers pour détecter les familles de logiciels malveillants.
Règles YARA pour détecter les logiciels malveillants est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu’est-ce que YARA ?
YARA est un outil de mise en correspondance de motifs conçu pour classifier les logiciels malveillants. Les règles décrivent des familles en combinant des motifs de chaînes, des séquences d’octets et des conditions booléennes. YARA analyse les fichiers, les processus ou la mémoire et signale les correspondances.
Structure d’une règle YARA
Une règle comporte trois sections : meta (métadonnées comme l’auteur et la date), strings (motifs à rechercher) et condition (logique booléenne combinant les chaînes). Les règles sont compilées dans un analyseur afin de parcourir rapidement le système de fichiers.
rule ExampleRule {
meta:
author = "analyst"
strings:
$a = "malicious_string"
$b = { 4D 5A 90 00 }
condition:
$a and $b
}Motifs de chaînes
YARA prend en charge trois types de chaînes : les chaînes en texte brut (avec les modificateurs nocase et wide), les motifs hexadécimaux avec caractères génériques ({ 4D 5A ?? ?? }) et les expressions régulières (/pattern/). Le modificateur wide prend en charge les chaînes UTF-16 courantes dans les logiciels malveillants Windows.
Motifs hexadécimaux et caractères génériques
Utilisez ?? pour les caractères génériques d’un octet et [n-m] pour les sauts de longueur variable dans les motifs hexadécimaux. Exemple : { 60 89 E5 31 C0 [4-8] 5D C3 } correspond à un fragment de shellcode indépendamment de ses sections variables.
Logique des conditions
Les conditions combinent les chaînes avec and, or et not. Utilisez any of them, all of them ou 2 of ($a*) pour une mise en correspondance flexible. Les conditions à seuil comme 5 of ($s*) réduisent les faux positifs associés aux chaînes génériques.
Conditions relatives aux propriétés des fichiers
YARA peut vérifier la taille du fichier (filesize < 1MB), les propriétés de l’en-tête PE (pe.imphash()) et les octets du point d’entrée (uint16(0) == 0x5A4D). Les conditions du module PE détectent des artefacts précis du compilateur et les métadonnées de l’éditeur de liens.
Écrire des règles à partir de l’analyse comportementale
Utilisez comme chaînes de règle les chaînes extraites pendant l’analyse statique ou dynamique. Une URL C2, un nom de mutex unique, un message d’erreur précis ou une séquence d’octets provenant du fragment de shellcode constituent chacun de solides chaînes YARA avec peu de FP.
Tester les règles YARA
Testez avec yara rule.yar /path/to/sample. Validez les règles sur un corpus de fichiers sains afin de mesurer les taux de faux positifs. Utilisez --no-warnings pour obtenir une sortie silencieuse et -r pour analyser récursivement les répertoires.
yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/nullYARA dans les produits de sécurité
Les règles YARA s’exécutent dans ClamAV, OSSEC, Velociraptor, Splunk et les plateformes EDR. Centralisez les règles dans un dépôt Git, versionnez-les, faites-les relire par des pairs avant leur déploiement et suivez les statistiques de correspondance afin de retirer les règles peu utiles.
Éviter les pièges courants
Les chaînes trop génériques entraînent des faux positifs. Les motifs hexadécimaux très courts correspondent à du bruit. Évaluez toujours les règles sur des échantillons sains représentatifs avant leur déploiement. Utilisez all of them plutôt que any of them lorsque c’est possible afin d’améliorer la précision.
Ressources communautaires YARA
YARA-Forge regroupe des règles communautaires de haute qualité. Les dépôts de logiciels malveillants comme MalwareBazaar fournissent des échantillons pour les tests. Les dépôts GitHub de fournisseurs (Mandiant, Kaspersky) publient des règles de niveau recherche que vous pouvez étudier et adapter.
Vérification des connaissances
Que signifie la condition YARA 2 of ($s*) ?
Résumé
Les règles YARA combinent des motifs de chaînes, des séquences d’octets et des conditions booléennes pour classifier les familles de logiciels malveillants. La création de règles à partir des résultats de l’analyse comportementale, leur test sur des corpus sains et leur déploiement via des plateformes de sécurité permettent d’obtenir une couverture de détection évolutive.
Apprends Cyber Security Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 76
- Leçons
- 303
Questions Fréquemment Posées
La leçon « Règles YARA pour détecter les logiciels malveillants » est-elle gratuite ?
Oui — le texte complet de « Règles YARA pour détecter les logiciels malveillants » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Règles YARA pour détecter les logiciels malveillants » ?
Écrivez des règles YARA fondées sur les chaînes, les motifs d’octets et la structure des fichiers pour détecter les familles de logiciels malveillants. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Règles YARA pour détecter les logiciels malveillants » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Analyse statique : chaînes, hachages et en-têtes PE
- Analyse dynamique en bac à sable
- IOC comportementaux : registre, réseau et artefacts de fichiers
- Règles YARA pour détecter les logiciels malveillants