Decoder: Snort Parser

Document created by RSA Information Design and Development Employee on Apr 28, 2019
Version 1Show Document
  • View in full screen mode
 

Snort ®-Regeln und -Konfigurationen werden dem Verzeichnis parsers/snort für Ermittlungen und Decoder hinzugefügt. Decoder unterstützt die Möglichkeiten der Nutzlast-Erkennungsfunktionen von Snort-Regeln. Die Regeldateien müssen die Erweiterung .rules und die Konfigurationsdateien müssen die Erweiterung .conf aufweisen. Die Decoder-Implementierung von Snort-Regeln konzentriert sich auf die Verwendung von Inhaltszeichenfolgen, die in einer Snort-Regel als Token definiert sind. Sobald ein Token abgeglichen wurde, können der Regelheader und zusätzliche Regeloptionen ausgewertet werden. Derzeit werden Regeln, die keine Inhalte definieren (über content- oder uricontent-Regeloptionen), nicht unterstützt.

Konfiguration

Die Konfigurationsdateien werden geladen, bevor Regeln geladen werden.

                                           

Konfigurationsoptionen

Beschreibung

Variablendefinitionen

Beschreibung

ipvar Die vollständige Sprache zum Definieren von IP-Adressvariablen wird unterstützt, einschließlich Listen, CIDR und Negation.
portvar Die vollständige Sprache zum Definieren von IP-Adressvariablen wird unterstützt, einschließlich Listen, Bereiche und Negation.
var Nicht unterstützt; verwenden Sie ipvar oder portvar.

Aktionsdefinitionen

Beschreibung

ruletype Die Definition zusätzlicher ruletypes wird unterstützt. Es werden jedoch nur Regeln mit dem Basisregeltyp alert unterstützt.

Allgemeine Konfiguration

Beschreibung

nopcre Diese Konfigurationsoption deaktiviert alle Regeln mit pcre.

Regeln

Snort-Regeln werden beim Laden von PCS analysiert und geladen (jeder Import oder jede Erfassung in Investigator, jeder Erststart der Erfassung und jeder erneute Parser-Ladevorgang in Decoder).

  • Jede Regel, die nicht ordnungsgemäß analysiert wird, wird ignoriert.
  • Jede gültige Snort-Regel sollte erfolgreich analysiert werden. Es gibt jedoch Regeloptionen, die nicht von Decoder unterstützt und nicht vollständig analysiert werden.
                                   

Abschnitt

Beschreibung

KopfzeileDie Header-Bedingungen werden ausgewertet, wenn eine Regel den ersten Token-Rückruf für einen Stream erhält. Der Header wird einmal pro Stream ausgewertet und verhindert jede weitere Berücksichtigung einer Regel für einen bestimmten Stream, wenn die Bedingungen nicht erfüllt sind.
AktionenDamit die Regel als gültig betrachtet wird, muss die angegebene Aktion oder eine Regel definiert werden (eine der nativen Snort-Aktionen oder in der Konfiguration mit der Anweisung ruletype definiert). Decoder nutzt nur Regeln mit Warnmeldungsaktionen.
ProtokolleDecoder unterstützt die aktuellen Schlüsselwörter des Snort-Protokolls (tcp, udp, icmp, ip).
IP-AdressenDie vollständige Sprache zum Definieren von IP-Adressen wird unterstützt, einschließlich Listen, CIDR und Negation.
PortnummernDie vollständige Sprache zum Definieren von Portnummern wird unterstützt, einschließlich Listen, Bereiche und Negation.
RichtungsoperatorDer direktionale Operator unterstützt die Werte „from-to“ („->“) und bidirektionale Werte („<>“). Der Wert „to-from“ („<-“) ist ungültig und führt dazu, dass die Regel nicht geladen wird.

Allgemeine Optionen

Decoder nutzt die folgenden allgemeinen Snort-Regeloptionen:

                           

Option

Beschreibung

msg

Wenn die Regel übereinstimmt, wird der msg-Wert je nach Regelpriorität als risk.info-, risk.warning- oder risk.suspicious-Metadaten hinzugefügt.

sid Wenn die Regel übereinstimmt, wird der sid-Wert als Metadaten hinzugefügt.

classtype

Wenn die Regel übereinstimmt, wird der classtype-Name als threat.cat-Metadaten hinzugefügt.

priority Wenn die Regel übereinstimmt und über die Option priority verfügt, wird sie verwendet, um die Art der Risikometaden zu bestimmen, die dem msg-Wert zugeordnet sind.

Nutzlastoptionen

Decoder unterstützt die folgenden Optionen für die Nutzlastregel.

                                               

Option

Beschreibung

content Mit der Option content wird ein für Decoder passender Token erstellt. Es werden nur Zeichen mit mindestens drei Bytes akzeptiert. Es muss außerdem beachtet werden, dass Decoder sich insofern von Snort unterscheidet, dass Regeln für die Nutzlast des rekonstruierten Streams und nicht nur für ein einzelnes Paket ausgewertet werden. Dies kann zu Unterschieden beim Regelabgleich zwischen Snort und Decoder führen, insbesondere in Bezug auf Positionsoptionen.

nocase

Wird derzeit nicht unterstützt. Diese Option wird ignoriert und beim Abgleich wird die Groß-/Kleinschreibung beachtet.

depth Diese Option wird auf die Entfernung des Tokens vom Beginn des Streams angewendet. Wenn die Position des Tokens größer als dieser Wert ist, liegt eine Übereinstimmung vor.

offset

Diese Option wird auf die Entfernung des Tokens vom Beginn des Streams angewendet. Wenn die Position des Tokens kleiner als dieser Wert sind, liegt keine Übereinstimmung vor.

distance Diese Option wird auf die Entfernung des Tokens vom Ende der vorherigen Tokenübereinstimmung angewendet. Wenn die relative Tokenposition kleiner ist als dieser Wert, liegt keine Übereinstimmung vor.

within

Diese Option wird auf die Entfernung des Tokens vom Ende der vorherigen Tokenübereinstimmung angewendet. Wenn die Position des Tokens größer als dieser Wert ist, liegt keine Übereinstimmung vor.

http_uri Jedes Token, das entsprechend der Angabe des HTTP-Parsers als innerhalb von http_uri liegend verifiziert wird. Es wird keine URI-Normalisierung angewendet.

uricontent

Es wurde keine URI-Normalisierung angewendet. Ansonsten entspricht dies der Inhaltsoption mit dem Modifikator http_uri.

pcre Derzeit werden PCREs nur auf URIs angewendet und müssen die U-Option angeben.

Nicht-Nutzlast-bezogene Optionen

                                                       

Option

Beschreibung

flow Überprüft, ob die Regel nur auf den Client oder Serverstream angewendet wird.

to_client

Beschränkt die Regel auf die ausschließliche Übereinstimmung mit einem Stream, den Decoder als Server definiert hat.

from_server Synonym für to_client.

from_client

Beschränkt die Regel auf die ausschließliche Übereinstimmung mit einem Stream, den Decoder als Client definiert hat.

flowbits

Behält den Zustand pro Sitzung bei und wird am Ende jeder Sitzung zurückgesetzt.

set Wenn die Regel übereinstimmt, wird das angegebene Flussbit festgelegt.

unset

Wenn die Regel übereinstimmt, wird das angegebene Flussbit gelöscht.

toggle Wenn die Regel übereinstimmt, wird das angegebene Flussbit umgekehrt.

isset

Wenn die Regel ausgewertet wird, muss der angegebene Flussbitzustand festgelegt werden, damit die Regel übereinstimmt.

isnotset Wenn die Regel ausgewertet wird, darf der angegebene Flussbitzustand nicht festgelegt werden, damit die Regel übereinstimmt.

noalert

Verhindert, dass die Regel Metadaten erzeugt, wenn sie übereinstimmt.

Previous Topic:Lua-Parser
Next Topic:Such-Parser
You are here
Table of Contents > Feed- und Parser-Referenzen > Snort Parser

Attachments

    Outcomes