Untersuchen: Implementieren von angepassten YARA-Inhalten

Document created by RSA Information Design and Development on May 14, 2018Last modified by RSA Information Design and Development on Oct 19, 2018
Version 3Show Document
  • View in full screen mode
 

Zusätzlich zu den integrierten Indikatoren für eine Infizierung unterstützt Malware Analysis auch in YARA geschriebene Indikatoren für eine Infizierung. YARA ist eine Regelsprache, die es Schadsoftware-Forschern erlaubt, Muster von Schadsoftware zu identifizieren und zu klassifizieren. RSA stellt integrierte YARA-basierte IOCs (Indicators of Compromise, Indikatoren für eine Infizierung) in RSA Live zur Verfügung. Diese werden automatisch auf abonnierte Hosts heruntergeladen und dort aktiviert.

Kunden mit fortgeschrittenen Fähigkeiten und Kenntnissen können die Erkennungsfunktionen von RSA Malware Analysis erweitern, indem sie YARA-Regeln erstellen und in RSA Live veröffentlichen oder diese zur Verarbeitung durch den Host in einen beobachteten Ordner platzieren.

Da Schadsoftwares und Bedrohungen immer häufiger vorkommen, ist es wichtig, die bestehenden benutzerdefinierten Regeln zu überprüfen und zu überwachen. Oft sind Updates notwendig, um neue Erkennungsmethoden zu übernehmen. Zudem aktualisiert RSA gelegentlich YARA-Regeln in Live. Um Updates zu erhalten, können Sie den RSA-Blog oder RSA Live unter http://blogs.rsa.com/feed abonnieren.

Dieses Dokument stellt Kunden Informationen bereit, die bei der Implementierung von benutzerdefinierten YARA-Regeln in Malware Analysis helfen sollen.

Voraussetzungen

Der Host, dem Sie benutzerdefinierte Regeln hinzufügen, muss so konfiguriert werden, dass die Erstellung von YARA-Regeln unterstützt wird, wie unter „Aktivieren von benutzerdefinierten YARA-Inhalten“ im Malware Analysis-Konfigurationsleitfaden beschrieben.

YARA-Version und -Ressourcen

RSA Malware Analysis verfügt über die YARA-Version 1.7 (rev:167). Um die genaue Version zu ermitteln, können Sie yara -v auf dem Malware Analysis-Host ausführen, wie in diesem Beispiel gezeigt wird:

[root@TESTHOST yara] # yara -v
yara 1.7 (rev:167)

Metaschlüssel in YARA-Regeln

Malware Analysis ist mit anderen Quellen von YARA-Regeln konform und ruft zusätzliche Metaschlüssel ab, die für Malware Analysis spezifisch sind. Jede YARA-Regel entspricht einem Indikator für eine Infizierung (Indicator of Compromise, IOC) innerhalb von Malware Analysis. Das unten stehende Beispiel zeigt die Metadefinitionen in einer Regel:
meta:
iocName = "FW.ecodedGenericCLSID"
        fileType = "WINDOWS_PE"
        score = 25
        ceiling = 100
        highConfidence = false

                               
MetaschlüsselBeschreibung
IOC-Name(Erforderlich) Dies ist der Name, den MA als Regelname verwendet. Er ist ein für Malware Analysis spezifischer Name, der erforderlich ist, um die Regel der IOC-Liste hinzuzufügen.
fileTypeGibt den Dateityp an. Die möglichen Werte sind: WINDOWS_PE, MS_OFFICE, und PDF. Wenn keine Angabe gemacht wird, ist der Standardwert WINDOWS_PE.
scoreDieser Wert wird zum statischen Wert addiert, wenn die YARA-Regel ausgelöst wird. Wenn kein Wert angegeben wird, ist der Standardwert 10.
ceilingDies ist der maximale Wert, der zum statischen Wert hinzuaddiert wird, wenn eine Regel mehrere Male während einer Sitzung ausgelöst wird. Beispiel: Jedes Mal, wenn eine Regel ausgelöst wird, werden 20 Punkte zum statischen Wert addiert. Möchten Sie, dass nicht mehr als 40 Punkte hinzuaddiert werden, wenn die Regel mehr als zweimal ausgelöst wird, können Sie eine Grenze (Ceiling) von 40 Punkten setzen. Wenn kein Wert angegeben wird, ist der Standardwert 100.
highConfidenceDies markiert die hohe Wahrscheinlichkeit, die für IOCs bestimmt wurden. Anzeichen weisen so darauf hin, dass mit hoher Wahrscheinlichkeit eine Schadsoftware vorliegt. Wenn kein Wert angegeben wird, lautet der Standarddateiwert „False“.

Hinweis: Weitere Informationen zu YARA-Ressourcen erhalten Sie unter der folgenden URL: https://code.google.com/p/yara-project/downloads/list. NetWitness Suite nutzt YARA 1.7, nicht YARA 2.0.

YARA-Inhalte

RSA Live beinhaltet drei Arten von YARA-Regeln:

  • PE Packers
  • PDF Artifacts
  • PE Artifacts

Die folgende Abbildung zeigt YARA-Inhalte verfügbar als YARA-Regeln in NetWitness Suite Live.

LiveLU.png

Auf dem Malware Analysis-Host befinden sich die YARA-Regeln in /var/lib/rsamalware/spectrum/yara, wie im folgenden Beispiel gezeigt.

[root@TESTHOST yara]# pwd
/var/lib/rsamalware/spectrum/yara
[root@TESTHOST yara]# ls *.yara
rsa_mw_pdf_artifacts.yara rsa_mw_pe_artifacts.yara rsa_mw_pe_packers.yara


Die einzelnen Regeln sind als IOCs in der Malware Analysis-Ansicht „Service-Konfiguration“ > Registerkarte „Indikatoren für eine Infizierung“ aufgeführt. Verwenden Sie das YARA-Modul als Filter, um diese Regeln anzuzeigen. Sie können die Konfiguration einer einzelnen Regel auf die gleiche Weise anpassen, wie Sie andere IOCs konfigurieren.

Yara and IOC.png

Hinzufügen von benutzerdefinierten YARA-Regeln

So integrieren Sie YARA-Regeln aus anderen Quellen:

  1. Um sicherzugehen, dass YARA-Regeln dem richtigen Format und der richtigen Syntax folgen, verwenden Sie den YARA-Befehl, um die YARA-Regel wie im folgenden Beispiel zu kompilieren. Wenn die Regel ohne Fehlermeldung kompiliert wird, folgt die YARA-Regel der richtigen Syntax.
    [root@TESTHOST yara]# yara rsa_mw_pe_packers.yara dummy.txt
    [root@TESTHOST yara]#
  2. Stellen Sie sicher, dass benutzerdefinierte Regeln keine bestehenden YARA-Regeln aus RSA oder anderen Quellen duplizieren. Alle YARA-Regeln befinden sich in /var/lib/rsamalware/spectrum/yara.
  3. Stellen Sie sicher, dass die von RSA unterstützten Metaschlüssel enthalten sind, sodass die YARA-Regeln als Teil der konfigurierbaren IOCs organisiert werden können und fügen Sie am Ende des Dateinamens die yara-Erweiterung (<filename>.yara).an. Sie können eine bessere Organisation gewährleisten, indem Sie sicher stellen, dass der Metawert iocName wie im folgenden Beispiel in der Metadefinition enthalten ist.

    Beispiel:
    rule HEX_EXAMPLE
    {
         meta:
             author = "RSA"
             info = "HEX Detection"
            iocName = "Hex Example"
         strings:
             $hex1 = { E2 34 A1 C8 23 FB }
             $wide_string = "Ausov" wide ascii
         condition:
             $hex1 or $wide_string
    }

  4. Wenn Sie fertig sind, platzieren Sie die benutzerdefinierten YARA-Dateien in den Ordner, der vom Malware Analysis-Service beobachtet wird:
    /var/lib/rsamalware/spectrum/yara/watch
    Die Datei wird innerhalb einer Minute verarbeitet.
    Sobald die Datei verarbeitet wurde, wird sie von NetWitness Suite in den Ordner processed verschoben und die neue Regel wird in der Malware Analysis-Ansicht „Service-Konfiguration“ > auf der Registerkarte „Indikatoren für eine Infizierung“ hinzugefügt.
You are here
Table of Contents > Durchführen von Schadsoftwareanalysen > Implementieren von angepassten YARA-Inhalten

Attachments

    Outcomes