Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Règles YARA

Les règles YARA constituent la deuxième couche du pipeline de détection PRX-SD. Alors que la correspondance de hachages détecte les copies exactes de logiciels malveillants connus, les règles YARA détectent les familles, variantes et motifs comportementaux en faisant correspondre des séquences d'octets, des chaînes et des conditions structurelles dans les fichiers.

PRX-SD est livré avec 38 800+ règles YARA agrégées depuis 8 sources et utilise le moteur YARA-X -- la réécriture Rust de nouvelle génération de YARA qui offre de meilleures performances, sécurité et compatibilité.

Moteur YARA-X

PRX-SD utilise YARA-X au lieu de la bibliothèque YARA traditionnelle en C. Avantages clés :

FonctionnalitéYARA (C)YARA-X (Rust)
LangageCRust (sécurité mémoire)
PerformanceBonne2-5x plus rapide sur les grands ensembles de règles
Compatibilité des règlesRéférenceCompatibilité ascendante complète + nouvelles fonctionnalités
Sécurité des threadsNécessite une gestion soigneuseSûr par conception
Support des modulesModules intégrésModulaire, extensible

Sources de règles

PRX-SD agrège des règles depuis 8 sources :

SourceRèglesContenuCouverture de plateforme
Règles intégrées64Ransomwares, chevaux de Troie, backdoors, rootkits, mineurs, webshellsLinux + macOS + Windows
Yara-Rules/rules (GitHub)~12 400Emotet, TrickBot, CobaltStrike, Mirai, LockBitMultiplateforme
Neo23x0/signature-base~8 200APT29, Lazarus, minage de crypto, webshells, ransomwaresMultiplateforme
ReversingLabs YARA~9 500Chevaux de Troie, ransomwares, backdoors, outils de piratageWindows + Linux
ESET IOC~3 800Turla, Interception, menaces persistantes avancéesMultiplateforme
InQuest~4 836Documents OLE/DDE malveillants, charges utiles de macrosMultiplateforme
JPCERT/CC~500+Menaces ciblées Asie-PacifiqueMultiplateforme
Personnalisé/importéVariableRègles fournies par l'utilisateurTout

Total : 38 800+ règles (après déduplication)

Règles intégrées

Les 64 règles intégrées sont compilées dans le binaire PRX-SD et sont toujours disponibles, même sans télécharger d'ensembles de règles externes. Elles couvrent les catégories de menaces les plus prévalentes :

CatégorieRèglesExemples
Ransomwares12WannaCry, LockBit, Conti, REvil, BlackCat, Ryuk
Chevaux de Troie10Emotet, TrickBot, Dridex, QakBot
Backdoors8Cobalt Strike Beacon, Metasploit Meterpreter, shells inversés
Rootkits6Reptile, Diamorphine, Jynx2 (Linux)
Mineurs de cryptomonnaie6XMRig, CGMiner, configurations de minage cachées
Webshells8China Chopper, WSO, B374K, shells PHP/ASP/JSP
RATs6njRAT, DarkComet, AsyncRAT, Quasar
Exploits4EternalBlue, PrintNightmare, charges utiles Log4Shell
Signatures de test4Variantes de fichier de test EICAR

Processus de correspondance de règles

Quand un fichier atteint la couche 2, YARA-X le traite comme suit :

  1. Compilation des règles -- Au démarrage, toutes les règles sont compilées dans une représentation interne optimisée. Cela se produit une fois et est mis en cache en mémoire.
  2. Extraction d'atomes -- YARA-X extrait de courtes séquences d'octets (atomes) des motifs de règles pour construire un index de recherche. Cela permet un pré-filtrage rapide.
  3. Analyse -- Le contenu du fichier est analysé par rapport à l'index d'atomes. Seules les règles avec des atomes correspondants sont entièrement évaluées.
  4. Évaluation des conditions -- Pour chaque règle candidate, la condition complète (logique booléenne, comptages de chaînes, vérifications de structure de fichier) est évaluée.
  5. Résultat -- Les règles correspondantes sont collectées et le fichier est marqué comme MALICIOUS avec les noms des règles inclus dans le rapport.

Performance

MétriqueValeur
Compilation des règles (38 800 règles)~2 secondes (une fois au démarrage)
Temps d'analyse par fichier~0,3 milliseconde en moyenne
Utilisation mémoire (règles compilées)~150 Mo
Débit~3 000 fichiers/seconde/thread

Mettre à jour les règles YARA

Les règles sont mises à jour en même temps que les signatures de hachage :

bash
# Tout mettre à jour (hachages + règles YARA)
sd update

# Mettre à jour uniquement les règles YARA
sd update --source yara

Le processus de mise à jour :

  1. Télécharge les archives de règles depuis chaque source
  2. Valide la syntaxe des règles avec YARA-X
  3. Déduplique les règles par nom et hachage de contenu
  4. Compile l'ensemble de règles combiné
  5. Remplace atomiquement l'ensemble de règles actif

Mises à jour sans interruption

Les mises à jour de règles sont atomiques. Le nouvel ensemble de règles est compilé et validé avant de remplacer le règles actives. Si la compilation échoue (par exemple en raison d'une erreur de syntaxe dans une règle communautaire), l'ensemble de règles existant reste actif.

Règles personnalisées

Vous pouvez ajouter vos propres règles YARA en plaçant des fichiers .yar ou .yara dans le répertoire de règles personnalisées :

bash
# Répertoire de règles personnalisées par défaut
~/.config/prx-sd/rules/

Exemple de règle personnalisée :

yara
rule custom_webshell_detector {
    meta:
        description = "Detects custom PHP webshell variant"
        author = "Security Team"
        severity = "high"

    strings:
        $eval = "eval(base64_decode(" ascii
        $system = "system($_" ascii
        $exec = "exec($_" ascii

    condition:
        filesize < 100KB and
        ($eval or $system or $exec)
}

Après avoir ajouté des règles personnalisées, rechargez l'ensemble de règles :

bash
sd reload-rules

Ou redémarrez le démon de surveillance pour qu'il prenne en compte les changements automatiquement.

Répertoires de règles

RépertoireSourceComportement de mise à jour
~/.local/share/prx-sd/rules/builtin/Compilé dans le binaireMis à jour avec les versions
~/.local/share/prx-sd/rules/community/Téléchargé depuis les sourcesMis à jour par sd update
~/.config/prx-sd/rules/Règles personnalisées fournies par l'utilisateurManuel, jamais écrasé

Vérifier les règles

Vérifier le nombre de règles actuellement chargées et les sources :

bash
sd info
YARA Rules
==========
Built-in:        64
Community:       38,736
Custom:          12
Total compiled:  38,812
Rule sources:    8
Last updated:    2026-03-21 10:00:00 UTC

Lister les règles correspondant à un mot-clé spécifique :

bash
sd rules list --filter "ransomware"

Étapes suivantes

Released under the Apache-2.0 License.