Definition YARA-Regeln Was sind YARA-Regeln?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Eine YARA-Regel ist eine in C-ähnlicher Textform verfasste Regel, die Schadsoftware anhand der in der Regel vorgegebenen Signaturen und Bedingungen erkennen und klassifizieren kann. Eine YARA-Regel lässt sich mit dem kostenlosen YARA-Tool und mit unterschiedlicher Anti-Viren-Software verwenden. Das YARA-Tool ist Kommandozeilen-basiert und mit diversen Betriebssystemen nutzbar.

Anbieter zum Thema

YARA-Regeln helfen beim Finden vorgegebener Schadsoftware-Signaturen in Dateien oder Prozessen.
YARA-Regeln helfen beim Finden vorgegebener Schadsoftware-Signaturen in Dateien oder Prozessen.
(Bild: gemeinfrei / Pixabay )

Eine YARA-Regel enthält Signaturen und Bedingungen, um Dateien oder Prozesse nach bestimmten Mustern zu durchsuchen und Schadsoftware zu erkennen und zu klassifizieren. YARA-Regeln können mit wenig Aufwand selbst geschrieben werden. Darüber hinaus existieren viele vordefinierte YARA-Regeln, die sich ebenfalls mit dem kostenlosen YARA-Tool oder unterschiedlicher Anti-Viren-Software nutzen lassen. Eine YARA-Regel ist textbasiert und hat eine relativ einfache, der Programmiersprache C ähnelnde Syntax. Typische Anwender von YARA-Regeln sind Sicherheitsforscher und -analysten. Sicherheitsbedrohungen werden von YARA durch das Durchsuchen von Dateien, Ordnern oder Prozessen nach den in den YARA-Regeln festgelegten Bedingungen und Mustern erkannt. YARA kann auf Rechnern mit Betriebssystemen wie Linux, Windows oder macOS eingesetzt werden. Das Tool ist nicht auf die Suche nach Schadsoftware begrenzt, sondern findet grundsätzlich alle in den Regeln vorgegebenen textbasierten oder binären Muster in beliebigen Dateien und Prozessen.

Was ist YARA?

YARA wurde ursprünglich von Victor Alvarez von VirusTotal entwickelt. Es handelt sich um ein auf GitHub frei verfügbares Open-Source-Tool, das Sicherheitsforschern die Erkennung und Klassifizierung von Schadsoftware erleichtern soll. Mithilfe von Regeln findet YARA textbasierte oder binäre Muster in Dateien. YARA ist multi-plattformfähig und arbeitet mit Betriebssystemen wie Linux, Windows oder macOS. Für Linux steht YARA über diverse Paketmanager zur Verfügung. Für Windows existiert ein YARA-Executable, das zur Nutzung nicht installiert werden muss aber das Microsoft Visual C++ Redistributable Package für Visual Studio benötigt. Der Quellcode des YARA-Tools ist ebenfalls frei erhältlich. Genutzt wird das Tool entweder über die Kommandozeilenoberfläche oder direkt von Python-Skripten aus.

Syntax und Elemente der YARA-Regeln

Eine YARA-Regel hat eine recht einfache Syntax und ist ohne lange Einarbeitung schnell zu verstehen. YARA-Regeln lassen sich ohne größeren Aufwand selbst schreiben. Die Syntax ähnelt der Programmiersprache C. Eine YARA-Regel startet mit einem frei vergebbaren Namen für die Regel (Rule Identifier). Rule Identifier sind case sensitive und nicht länger als 128 Character. Anschließend folgt innerhalb geschweifter Klammern der eigentliche Inhalt der Regel mit den Mustern (Strings) und den Bedingungen (Conditions). Es lassen sich die Strings festlegen, nach denen YARA in den Dateien suchen soll. Es kann sich bei den Strings um Textfolgen oder Binärcode handeln. Über die Conditions wird YARA mitgeteilt, welche Bedingungen zutreffen sollen. Es handelt sich um logische Operatoren wie "und" oder "oder", die die einzelnen Strings miteinander verknüpfen. Beispielsweise legen die Bedingungen fest, ob nur einer der Strings oder alle gefunden werden müssen, damit die Regel für eine Datei zutreffend ist. Auch weitere Dateieigenschaften wie Größe oder Typ einer Datei lassen sich in den Regeln berücksichtigen.

(ID:46400091)