Signaturbasierte Erkennung mit YARA

In einem früheren Beitrag habe ich darüber gesprochen, wie Sie STIX, TAXII und CyBox verwenden können, um Bedrohungsinformationen auszutauschen.

Eines der Schlüsselelemente, um Cyberbedrohungsinformationen sinnvoll zu nutzen, erfordert, dass die Informationen verwertbar oder zumindest nutzbar sind. Die geteilten Informationen müssen korrekt, vollständig und relevant für Ihre Umgebung sein.

CyBox bietet eine gemeinsame Struktur zur Darstellung von Cyber Observables in und zwischen den operativen Bereichen der Cybersicherheit von Unternehmen. CyBox kann Hashes, Zeichenfolgen oder Registrierungsschlüssel enthalten. Über das System bereitgestellte Informationen können verwendet werden, um das Vorhandensein von Malware in Ihrer Umgebung zu überprüfen. YARA ist eine der Alternativen zur Verwendung von CyBox, aber die beiden schließen sich nicht gegenseitig aus.

Was ist YARA?

YARA ist ein Tool, mit dem Malware-Forscher Malware-Samples identifizieren und klassifizieren können. Es wurde das Pattern-Matching-Schweizer Taschenmesser für Sicherheitsforscher (und alle anderen) genannt. Es ist plattformübergreifend und kann sowohl über die Befehlszeilenschnittstelle als auch über Ihre eigenen Python-Skripte verwendet werden.

Mit dem Tool können Sie Malware signaturbasiert erkennen, ähnlich wie es Antivirenlösungen für Sie tun können.

Wie verwenden Sie es?

Um diese Methode verwenden zu können, benötigen Sie eine Regel und eine Datei, die Sie überprüfen möchten. Um es beispielsweise über die Befehlszeile auszuführen, würden Sie Folgendes verwenden:
Dies wird ausgegeben, wenn die angegebene Regel in der bereitgestellten Datei übereinstimmt. Wenn die Ausgabe nicht angezeigt wird und Sie die Option negieren nicht verwendet haben, bedeutet dies, dass keine Regel übereinstimmt.

Sie können es mit einer Reihe von Konfigurationsschaltern starten; dies sind die beiden wichtigsten :

  • – n: Nur nicht erfüllte Regeln ausgeben (negieren).
  • -r: Rekursives Durchsuchen von Verzeichnissen.

Regeln

Eine Regel besteht aus einer Reihe von Zeichenfolgen und einer Form von Logik, die in booleschen Ausdrücken geschrieben sind.

Es gibt Unterstützung für drei verschiedene Arten von Strings:

  • Hexadezimale Zeichenfolgen, die zum Definieren von Rohbytes nützlich sind;
  • Textzeichenfolgen;
  • Reguläre Ausdrücke.

Die Bedingungen sind boolesche Ausdrücke, die Sie aus regulären Programmiersprachen kennen. Sie können mit allen angegebenen Zeichenfolgen, aber auch mit speziellen integrierten Variablen wie der Dateigröße oder mit externen Variablen arbeiten, die Sie außerhalb der Regel definieren. Es gibt auch Unterstützung für die Verwendung von Modulen wie Cuckoo, um die Funktionen zu erweitern, die Sie in den Bedingungen verwenden können.

Sie werden am meisten von YARA profitieren, wenn Sie ihm einen guten Regelsatz zur Verfügung stellen. Sie können entweder Ihre eigenen Regeln schreiben oder sie von einem anderen Anbieter erhalten.

Schreiben Sie Ihre eigenen Regeln

Das Schreiben eigener Regeln ist nicht so schwierig, wenn Sie diese Richtlinien berücksichtigen:

  • Die Kriterien, die Sie zum Abgleichen verwenden, müssen ein notwendiger Bestandteil des Verhaltens der Malware sein.
  • Die Kriterien sollten ausreichen, um die getestete Malware-Familie von anderen Malware-Familien zu unterscheiden.
  • Die Kriterien müssen für verschiedene Stichproben gleich sein.

Sobald Sie die Malware analysiert und nützliche, erkennbare Daten daraus extrahiert haben, können Sie die Informationen in YARA-Zeichenfolgen umwandeln und sie mit irgendeiner Form von Logik kombinieren.

Regeln aus externen Quellen abrufen

Da YARA Signaturen verwendet, die Antivirenlösungen ähneln, ist es sinnvoll, diese Signaturen als Regeldatenbank wiederzuverwenden. Mit der Verwendung des Skripts clamav_to_yara.py , Sie können die ClamAV-Signaturdatenbank in Ihren eigenen Regelsatz konvertieren.

Eine weitere Quelle für Regeln ist das Github-Repository YaraRules. Dies ist ein Regelsatz unter der GNU-GPLv2-Lizenz, der von einer Gruppe von IT-Sicherheitsforschern verwaltet wird. Die Regeln werden in verschiedenen Kategorien gespeichert — Regeln, die darauf abzielen, Anti-Debug- und Anti-Visualisierungstechniken, schädliche Dokumente, Packer usw. zu erkennen. – und häufig aktualisiert. Sie können sie erhalten, indem Sie das Github-Repository klonen.

Einige Threat Intelligence Sharing-Plattformen wie MISP und ThreatConnect unterstützen YARA ebenfalls. Auf diese Weise können Sie Regeln basierend auf Ihren eigenen gesammelten Bedrohungsinformationen erstellen.

Regeln automatisch generieren

Mit dem Regelgenerator aus der Sandbox können Sie Signaturen für Windows basierend auf statischen und dynamischen Verhaltensdaten erstellen. Beachten Sie, dass die gleichen Regeln gelten wie bei der Verwendung von kostenlosen Online-Malware-Analyse-Sandboxen. Sie laden Ihre Dateien in einen externen Cloud-Dienst hoch, was bei sensiblen Dateien oder Daten, die Benutzeranmeldeinformationen enthalten, nicht der Fall sein sollte.

Zusätzliche Anwendungsfälle

Ich habe bereits erwähnt, dass Sie die ClamAV-Datenbank in einen verwendbaren Regelsatz konvertieren können. Es geht auch umgekehrt. Angenommen, Sie haben eine Reihe detaillierter Regeln. Sie können ClamAV so konfigurieren, dass es seinen Funktionsumfang mit Ihren bereitgestellten Regeln erweitert und YARA unterstützt. Auf diese Weise können Sie die Regeln für komprimierte oder gepackte Dateien anpassen. Die VirusTotal private API verfügt außerdem über eine Funktion, mit der Sie Ihre eigenen Regeln eingeben und beim Hochladen eines passenden Beispiels auslösen lassen können.

Signaturbasierter Schutz reicht nicht aus

Sich nur auf signaturbasierten Schutz zu verlassen, reicht nicht mehr aus. Angreifer haben Gegenmaßnahmen entwickelt, mit denen sie diese Methode umgehen können. Mithilfe verschiedener Verschlüsselungsdienste, Packer und Polymorphismus können sie leicht Malware generieren, die so unterschiedlich ist, dass sie nicht mehr mit vorhandenen Signaturen übereinstimmt. Es dauert dann einige Zeit, bis der neue Geschmack aufgenommen und eine Signatur geteilt wird.

Diese Nachteile machen die signaturbasierte Erkennung nicht überflüssig. Die Sicherheitsgemeinschaft ist stark darin, neue Bedrohungsindikatoren zu teilen, daher werden sich diese Arten von Tools immer noch als wichtiger Vorteil für Ihr Arsenal erweisen.

Fazit

Obwohl die signaturbasierte Erkennung mit YARA ihre Grenzen hat, ist sie eine benutzerfreundliche und relativ einfache Möglichkeit, Malware in Ihrer Umgebung zu erkennen. Es wäre nicht ratsam, sich darauf als einzige Maßnahme zum Schutz vor Bedrohungen zu verlassen, aber angesichts der unkomplizierten Verwendung wäre es auch keine gute Idee, dieses Tool zu verpassen.

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.