Erläuterung YARA rules

     Pieter ArntzPieter Arntz
    vor 4 Jahren

 YARA logo

YARA-Regeln sind eine Möglichkeit, Malware (oder andere Dateien) zu identifizieren, indem Regeln erstellt werden, die nach bestimmten Merkmalen suchen. YARA wurde ursprünglich von Victor Alvarez von Virustotal entwickelt und wird hauptsächlich in der Malware-Forschung und -Erkennung eingesetzt. Es wurde mit der Idee entwickelt, Muster zu beschreiben, die bestimmte Stämme oder ganze Familien von Malware identifizieren.

Syntax

Jede Regel muss mit dem Wort Regel beginnen, gefolgt vom Namen oder Bezeichner. Der Bezeichner kann ein beliebiges alphanumerisches Zeichen und den Unterstrich enthalten, das erste Zeichen darf jedoch keine Ziffer sein. Es gibt eine Liste von YARA-Schlüsselwörtern, die nicht als Bezeichner verwendet werden dürfen, da sie eine vordefinierte Bedeutung haben.

Bedingung

Regeln bestehen aus mehreren Abschnitten. Der Abschnitt Bedingung ist der einzige, der erforderlich ist. In diesem Abschnitt wird angegeben, wann das Regelergebnis für das zu untersuchende Objekt (Datei) wahr ist. Es enthält einen booleschen Ausdruck, der das Ergebnis bestimmt. Bedingungen sind konstruktionsbedingt boolesche Ausdrücke und können alle üblichen logischen und relationalen Operatoren enthalten. Sie können auch eine andere Regel als Teil Ihrer Bedingungen einschließen.

Strings

Um dem Bedingungsabschnitt eine Bedeutung zu geben, benötigen Sie auch einen Strings-Abschnitt. In den Abschnitten Zeichenfolgen können Sie die Zeichenfolgen definieren, nach denen in der Datei gesucht wird. Schauen wir uns ein einfaches Beispiel an.

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

Die oben gezeigte Regel heißt vendor und sucht nach den Zeichenfolgen „Vendor name“ und „Alias name“. Wenn eine dieser Zeichenfolgen gefunden wird, ist das Ergebnis der Regel true.

Es gibt verschiedene Arten von Zeichenfolgen, nach denen Sie suchen können:

  • Hexadezimal, in Kombination mit Platzhaltern, Sprüngen und Alternativen.
  • Textzeichenfolgen mit den Modifikatoren nocase, fullword, wide und ascii.
  • Reguläre Ausdrücke mit denselben Modifikatoren wie Textzeichenfolgen.

Es gibt viele erweiterte Bedingungen, die Sie verwenden können, aber sie liegen außerhalb des Geltungsbereichs dieses Beitrags. Wenn Sie mehr wissen möchten, finden Sie es in der YARA-Dokumentation.

Metadaten

Metadaten können hinzugefügt werden, um die Dateien zu identifizieren, die von einer bestimmten Regel erfasst wurden. Den Metadaten-Bezeichnern folgen immer ein Gleichheitszeichen und der eingestellte Wert. Die zugewiesenen Werte können Zeichenfolgen, Ganzzahlen oder ein boolescher Wert sein. Beachten Sie, dass im Abschnitt Metadaten definierte Bezeichner / Wert-Paare nicht im Abschnitt Bedingung verwendet werden können.

Zusammenfassung

YARA ist ein Tool, mit dem Dateien identifiziert werden können, die bestimmte Bedingungen erfüllen. Es wird hauptsächlich von Sicherheitsforschern zur Klassifizierung von Malware verwendet.

Links

Signaturbasierte Erkennung mit YARA

Neueste YARA-Dokumentation

YARA: Einfache und effektive Methode zum Zerlegen von Malware

Screenshots wurden mit Yara Editor von Adlice Software erstellt

Pieter Arntz



+