Verwendung in der Bedingung
In diesem Dokument wird beschrieben, wie Sie mit dem Operator or flexible und prägnante Erkennungslogik im Abschnitt condition Ihrer Abfrage schreiben.
Wenn Sie or zwischen Ereignis- oder Platzhaltervariablen verwenden, können Sie mehrere Bedingungen kombinieren und so die Komplexität der Abfragesyntax insgesamt reduzieren:
- Prüft, ob eine der angegebenen Variablen vorhanden ist. Für
$e1 or $e2ist beispielsweise mindestens eine Instanz von$e1oder eine Instanz von$e2erforderlich.
or-Syntax im Bedingungsabschnitt
Verwenden Sie das Schlüsselwort or direkt zwischen Variablen. Das folgende Beispiel entspricht COUNT($e1)>0 or COUNT($e2)>0:
condition:
$e1 or $e2 // True if $e1 exists or $e2 exists
Beispielregel: Ausführung über riskante IP-Adresse oder mit schlechtem Hash
Die folgende Beispielregel erkennt eine Bedrohung, wenn ein Prozessstart von einer riskanten IP-Adresse erkannt wird oder ein bekannter schädlicher Hash ausgeführt wird:
rule MultiEventOr {
meta:
author = "google-secops"
events:
$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid
match:
$user over 5m
condition:
$e1 or $e2
}
Beispiel für die Suche: „risky IP“ (riskante IP) oder „bad hash execution“ (Ausführung mit schlechtem Hash)
Im folgenden Beispiel sehen Sie, wie Sie die Beispielregel als Suchanfrage neu formatieren können.
$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid
match:
$user over 5m
condition:
$e1 or $e2
Bekannte Einschränkungen
Ressourcenverbrauch: Wenn Sie
orzwischen Ereignisvariablen verwenden, werden mehr Ressourcen verbraucht als bei der Verwendung vonand. Dies kann zu längeren Ausführungszeiten für Abfragen führen.Limit für Ereignisvariablen: Für Search und Dashboards können Sie maximal drei Ereignisse in der
or-Syntax für mehrere Ereignisse verwenden. Für Regeln können Sie maximal zwei Ereignisse in deror-Syntax für mehrere Ereignisse verwenden.Erforderliche Ereignisexistenz: Ausdrücke mit
orkönnen nicht unbegrenzt sein. Das Vorhandensein des Ereignisses muss eine Voraussetzung dafür sein, dass die Bedingung „wahr“ ist (z. B.$e1oder#e1 > 0).Mischen von Variablentypen: Sie können keine Nicht-UDM-Variablen mit UDM-Ereignisvariablen in derselben
or-Liste kombinieren.Einschränkung für Zeitfenster: Sie können keine gleitenden Zeitfenster mit der
or-Syntax verwenden.
Nächste Schritte
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten