ESET PROTECT – Inhaltsverzeichnis

Regelsyntax

Quicklinks: <definition> , <operations>, <description>, <actions>

Eine Regel ist eine Reihe von Ausdrücken, die mithilfe einer XML-basierten Sprache definiert werden. ESET PROTECT Web Console enthält einen vordefinierten Satz von Regeln, Sie können jedoch eigene Regeln hinzufügen und bearbeiten.

Die allgemeine Struktur des Rumpfs einer Regel sieht wie folgt aus:

Definition Tag

ancestor – kann ein zusätzliches Attribut annehmen:

•distance – gibt den tatsächlichen Abstand des abgeglichenen Vorgängerprozesses zum aktuellen Prozess an, z. B. ist 1 der übergeordnete Prozess, 2 der Großelternprozess usw. Wenn nicht angegeben, wird die Eigenschaft mit allen übergeordneten Prozessen abgeglichen.

•unique – ermöglicht es dem Ancestor-Tag, doppelte Prozesse im Ancestor-Baum zu entfernen. Beispielsweise erstellt die Malware mehrere Instanzen desselben Prozesses, um einer Erkennung zu entgehen (explorer > cmd > cmd > cmd > malware), und dieses Attribut entfernt diese Duplikate (explorer > cmd > malware).

Process und parentprocess

Der Teil process ermöglicht es Sicherheitsingenieuren, Ereignisse auf einen bestimmten Prozess zu beschränken; daher können Sie Regeln wie „Outlook erstellt EXE Datei“ schreiben. Wenn das Prozesselement leer ist, werden parentprocess und operations für alle Prozesse ausgewertet.

Der parentprocess-Teil ähnelt dem Prozess, ermöglicht es Sicherheitsingenieuren jedoch, Attribute des übergeordneten Prozesses zu testen. Dies ermöglicht Regeln wie „PowerShell, von Word gestartet, stellt eine Verbindung zum Internet her“.

process, parentprocess, ancestor und operation verwenden ein Ausdruckselement, um einen logischen Ausdruck zu beschreiben, der ausgewertet wird, um zu prüfen, ob eine Erkennung ausgelöst werden soll. Ein Ausdruck besteht aus Bedingungen und logischen Operatoren. Eine Bedingung prüft den Wert einer Eigenschaft, und logische Operatoren fassen diese Bedingungen zu logischen Ausdrücken zusammen.

Ausdrucksbeispiel:

Operations

Der Abschnitt operations definiert, welche von einem Prozess ausgeführten Operationen den Indikator auslösen. Wenn das Feld leer ist, wird der Indikator ausgelöst, wenn der Prozess ein Ereignis generiert.

Operationen werden mithilfe eines operation-Elements mit einem type-Attribut und einem expression-Element definiert.

<operation type="WriteFile">Expression</operation>

Eine vollständige Liste der unterstützten Vorgänge finden Sie im Thema Vorgänge.

Operator

Unterstützte logische Operatoren sind: AND, OR und NOT. Logische Operatoren können verschachtelt werden. Daher kann ein logischer Operator ein Argument eines anderen logischen Operators sein. Neben logischen Operatoren kann auch ein Bedingungselement als Argument für logische Operatoren verwendet werden. Sie können das Operator-Tag wie in diesem Beispiel gezeigt verwenden:

Bedingungselemente bestehen aus drei Teilen:

•Eigenschaft des Arguments oder Prozesses der Operation.

•Ein vom Autor der Regel angegebener Wert.

•Beziehung zwischen dem Wert und der Eigenschaft.

Eigenschaften sind hierarchisch in „Komponenten“ gruppiert.

Es gibt drei Schweregrade: 1–39 > Info, 40–69 > Warning und 70–100 > Threat.

Eigenschaftstypen und ihre Relationen (Bedingungsattribute) sind:

 

is(not)set

is(not)

is(not)empty

(not)starts

(not)contains

(not)ends

less, lessOrEqual, greater, greaterOrEqual

String

✔

✔

✔

✔

✔

✔

 

Int

✔

✔

 

 

✔

 

✔

Value

✔

✔

✔

 

 

 

 

Bool

✔

✔

 

 

 

 

 

Date

✔

✔

 

 

 

 

✔

Menge von Zeichenfolgen

✔

 

✔

 

✔

 

 

IPv4-Adresse

✔

✔

✔

 

 

 

 

IPv6-Adresse

✔

✔

✔

 

 

 

 

Satz von IPv4-Adressen

✔

 

✔

 

✔

 

 

Satz von IPv6-Adressen

✔

 

✔

 

✔

 

 

Description Tag

Die Beschreibung ist obligatorisch und muss einen Namen und eine Kategorie enthalten, der Rest ist jedoch optional. Es ist hilfreich, die unten aufgeführten Felder zu definieren, da sie in den Details erscheinen:

name - Name der Regel. Es wird in der Liste der Regeln angezeigt.

category – Ermöglicht Ihnen die Kategorisierung von Regeln. Sie können eigene Kategorien angeben.

explanation – Erläutert den Grund, warum die Regel ausgelöst wird.

os – Enthält das Betriebssystem, für das die Regel gilt. Mögliche Werte sind: Windows, Linux, OSX, ANY.

mitreattackid – Enthält die ID des MITRE ATT&CK®.

maliciousCauses – Beschreibt die schädlichen Ursachen des Ereignisses oder der Änderung, die die Regel ausgelöst hat.

benignCauses – Beschreibt die harmlosen Ursachen des Ereignisses oder der Änderung, durch die die Regel ausgelöst wurde.

recommendedActions – Beschreibt die empfohlenen Maßnahmen, die von Sicherheitsingenieuren zu ergreifen sind.

guid – wird für interne Regeln verwendet. Für externe Regeln wird die GUID automatisch generiert. Sie dient zur eindeutigen Identifizierung von Regeln beim Export/Import.

maliciousTarget Tag

Mit dem Tag maliciousTarget können Sie das Ziel angeben, das standardmäßig von Aktionen für benutzerdefinierte Antworten betroffen ist. Wenn Sie beispielsweise „Ausführbare Datei blockieren“ auswählen, hängen die Änderungen von maliciousTarget ab. Es ändert das Verhalten des Actions-Tags nicht. Mögliche Werte sind current, module, none und parent.

Das maliciousProcess Tag wurde durch das maliciousTarget Tag ersetzt. Es befindet sich weiterhin im Legacy-Support, wir empfehlen jedoch, das Tag maliciousTarget zu verwenden.

Actions Tag

Mit dem Actions-Tag können Sie eine Reihe von Aktionen angeben, die ausgeführt werden, wenn die Regel ausgelöst wird.

Sie können Aktionen in einem einzigen Aktionselement zusammenfassen:

<action name="BlockProcessExecutable"/>

Oder fassen Sie mehrere action-Elemente in einem einzelnen actions-Element zusammen (wie im folgenden Beispiel gezeigt):

Aus einer einzigen Regel können mehrere Aktionen ausgelöst werden.