YARA (Yet Another Recursive Acronym) ist eine Open-Source-Regelsprache zur Identifikation und Klassifizierung von Schadsoftware. Statt einzelner Hashwerte beschreiben YARA-Regeln charakteristische Muster – Textfragmente, Bytefolgen oder reguläre Ausdrücke – und erkennen damit ganze Malware-Familien, auch wenn der Code von Variante zu Variante mutiert.

Aufbau einer Regel

Eine Regel besteht aus drei Abschnitten:

  • metadata: Autor, Beschreibung und Klassifizierung der Regel.
  • strings: Die zu suchenden Muster als Text, Hex oder Regex.
  • condition: Die boolesche Bedingung, wann die Regel zuschlägt.
rule Beispiel_Erkennung {
    meta:
        author = "Threat-Intel-Team"
        description = "Erkennung einer Beispiel-Malware"
    strings:
        $a = "MALWARE-SIGNATUR" nocase
        $b = { E8 ?? ?? ?? ?? 90 }
    condition:
        $a and $b
}

Die Bedingung kann einfache Logik ($a and $b), Zähler (2 of them) oder Datei-Eigenschaften (filesize < 500KB) kombinieren.

Einsatzgebiete

  • VirusTotal: Jede hochgeladene Datei wird automatisch mit tausenden YARA-Regeln geprüft.
  • Sandboxes und EDR: Sandbox-Systeme und Endpoint-Schutz erkennen verdächtige Samples per YARA.
  • Threat Hunting und Forensik: Analysten durchsuchen Datenträger-Images, Logs oder RAM-Dumps (yarascan in Volatility) nach bekannten Mustern – auch in der Memory-Forensik.
  • Threat Intelligence: Teams teilen Regeln als maschinenlesbare Indikatoren, ähnlich wie STIX-Daten.

YARA wurde 2008 von Victor M. Alvarez entwickelt und gehört heute zu VirusTotal. Offene Regelsammlungen wie das YARA-Rules-Community-Repository liefern ständig aktualisierte Signaturen für aktuelle Schadsoftware – von Ransomware bis zu Trojanern.

Verwandte Grundlagen: Digitale Forensik, Memory-Forensik, MITRE ATT&CK.