Yara Regeln: Unterschied zwischen den Versionen

Aus IT-Forensik Wiki
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:


== Yara Regeln ==
== Yara Regeln ==
Yara Regeln bestehen aus einer Datei mit der Endung “yar”. Dabei kann die Datei mit jedem Texteditor erstellt werden. Jede Yara Regel muss einem gewissen Muster folgen, dabei betrachten wir nachfolgend eine Beispiel-Regel und beschreiben jede einzelne Komponente.
Yara Regeln bestehen aus einer Datei mit der Endung '''yar'''. Dabei kann die Datei mit jedem Texteditor erstellt werden. Jede Yara Regel muss einem gewissen Muster folgen, dabei betrachten wir nachfolgend eine Beispiel-Regel und beschreiben jede einzelne Komponente.
 
rule malware_finder {
meta:
        Description = “Einfache Beispielregel um eine Malware zu erkennen”
        author = “Wings Studenten”
        date = “2023-07-09”
strings:
        $string1 = “malware”
        $string2 = “10.11.20.20”
        $string3 = {0a ba 8a 01 05 06 0a}
condition:
        ($string1 or $string2 and not $string3) and filesize < 200KB
}
 
Zu Beginn der Regel muss immer das Keyword '''rule''' gefolgt von einem aussagekräftigen Namen stehen. Dieser Name wird später im Scanner angezeigt, wenn die Regel bei einer Datei zutrifft.
 
Unter dem Keyword “meta” können einzelne Angaben zu der Regel selber gemacht werden. Wie oben zu sehen können Angaben wie eine Beschreibung, der Autor oder das Datum hinterlegt werden. Dabei haben diese Angaben keine Auswirkungen auf den Suchprozess der Yara Regel.
 
Das erste Wichtige Keyword leitet '''strings''' ein. Unter diesem Keyword können ASCII Zeichenketten oder Hexadezimale Werte gespeichert werden. Diese werden dann bei dem Ausführen und Anwenden der Yara Regel berücksichtigt. Dabei gibt es keine Einschränkungen wie diese Zeichenketten aussehen. Es können beispielsweise auch direkt IP-Adressen von Servern von Advanced Persistent Threats (APT) hinterlegt werden.
 
Der Wichtigste Teil der Regel wird unter dem Keyword “condition” hinterlegt. Dabei beschreibt dieser Teil die Logik der Regel. Dabei können mit den Schlüsselwörtern '''and''', '''or''' und '''not''' Logiken untereinander aufgebaut werden. Wie in dem Beispiel oben zu sehen, muss die Datei den String '''malware''' oder die IP-Adresse 10.11.20.20 enthalten. Weiter darf die Hexadezimale Zeichenfolge {0a ba 8a 01 05 06 0a} nicht enthalten sein. Abschließend muss die Dateigröße unter 200KB sein. Sind all diese Angaben erfüllt, wird der Yara Scanner die gefundene Datei als Finding ausgeben.

Version vom 15. Juli 2023, 17:52 Uhr

Grundlagen

Yara (YARA: Another Recursive Ancronym) wurde von VirusTotal entwickelt und soll bei der Erkennung von Schadprogrammen helfen. Das Projekt ist ein quelloffenes Framework und unter Github öffentlich verfügbar. Das Ziel von Yara ist es mit gleichnamigen Yara Regeln Muster zu erstellen, um Malware oder Malware Samples auf Computersystemen zu finden. Ebenfalls lassen sich Malware Samples klassifizieren und einer Malware-Family zuordnen. Dabei können diese Muster nicht nur in Softwaredateien, sondern auch im Arbeitsspeicher gefunden werden.

Yara ist multiplattform einsetzbar und kann daher auf Windows, Linux und MacOS verwendet werden.

Zum Verwenden von Yara regeln wird zum einen ein Yara Scanner und entsprechende Yara Regeln benötigt.

Yara Regeln

Yara Regeln bestehen aus einer Datei mit der Endung yar. Dabei kann die Datei mit jedem Texteditor erstellt werden. Jede Yara Regel muss einem gewissen Muster folgen, dabei betrachten wir nachfolgend eine Beispiel-Regel und beschreiben jede einzelne Komponente.

rule malware_finder { 
meta: 
        Description = “Einfache Beispielregel um eine Malware zu erkennen” 
        author = “Wings Studenten” 
        date = “2023-07-09” 
strings: 
        $string1 = “malware” 
        $string2 = “10.11.20.20” 
        $string3 = {0a ba 8a 01 05 06 0a} 
condition: 
        ($string1 or $string2 and not $string3) and filesize < 200KB 
}

Zu Beginn der Regel muss immer das Keyword rule gefolgt von einem aussagekräftigen Namen stehen. Dieser Name wird später im Scanner angezeigt, wenn die Regel bei einer Datei zutrifft.

Unter dem Keyword “meta” können einzelne Angaben zu der Regel selber gemacht werden. Wie oben zu sehen können Angaben wie eine Beschreibung, der Autor oder das Datum hinterlegt werden. Dabei haben diese Angaben keine Auswirkungen auf den Suchprozess der Yara Regel.

Das erste Wichtige Keyword leitet strings ein. Unter diesem Keyword können ASCII Zeichenketten oder Hexadezimale Werte gespeichert werden. Diese werden dann bei dem Ausführen und Anwenden der Yara Regel berücksichtigt. Dabei gibt es keine Einschränkungen wie diese Zeichenketten aussehen. Es können beispielsweise auch direkt IP-Adressen von Servern von Advanced Persistent Threats (APT) hinterlegt werden.

Der Wichtigste Teil der Regel wird unter dem Keyword “condition” hinterlegt. Dabei beschreibt dieser Teil die Logik der Regel. Dabei können mit den Schlüsselwörtern and, or und not Logiken untereinander aufgebaut werden. Wie in dem Beispiel oben zu sehen, muss die Datei den String malware oder die IP-Adresse 10.11.20.20 enthalten. Weiter darf die Hexadezimale Zeichenfolge {0a ba 8a 01 05 06 0a} nicht enthalten sein. Abschließend muss die Dateigröße unter 200KB sein. Sind all diese Angaben erfüllt, wird der Yara Scanner die gefundene Datei als Finding ausgeben.