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 (
yarascanin 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.