Verschachtelte IF-Anweisungen für komplexere Logik verwenden
Sie können if-Anweisungen sowohl im Abschnitt outcome als auch im Abschnitt events verwenden. Sie können if-Anweisungen auch in den then-else-Klauseln einer anderen if-Anweisung verwenden. So können Sie Ihrer Abfrage komplexere Logik hinzufügen.
Diese Syntax wird in Regeln, Suchvorgängen und Dashboards unterstützt.
Syntax
if(BOOL_CLAUSE, THEN_CLAUSE, ELSE_CLAUSE)
Verschachtelte if-Beispiele
Suchbeispiel: Ergebnisabschnitt
In diesem Beispiel wird ein Ergebniswert basierend auf principal.hostname zugewiesen.
$nested_if.principal.hostname != ""
outcome:
$score = max(
if($nested_if.principal.hostname = /win-adfs/,
5,
if($nested_if.principal.hostname = /server/,
3,
if($nested_if.principal.hostname = /win-atomic/,
1,
0))))
Beispiel für die Suche: Bereich „Veranstaltungen“
In diesem Beispiel wird die Platzhalter-IP target.ip oder principal.ip zugewiesen, sofern sie nicht leer sind. Wenn die IP-Werte fehlen, wird no_valid_ip zugewiesen.
events:
$e.metadata.event_type = "NETWORK_CONNECTION"
$ip = if($e.target.ip != "",
$e.target.ip,
if($e.principal.ip != "",
$e.principal.ip,
"no_valid_ip"))
match:
$ip
Beispiel für eine Regel: Verschachtelte if im Abschnitt outcome
rule nested_if_outcome_example {
meta:
events:
$e.metadata.event_type = "NETWORK_CONNECTION"
$e.principal.ip = $ip
match:
$ip over 5m
outcome:
$score = max(
if($e.principal.hostname = /win-adfs/,
5,
if($e.principal.hostname = /server/,
3,
if($e.principal.hostname = /win-atomic/,
1,
0))))
condition:
$e
}
Beispiel für eine Regel: Verschachtelte if im Abschnitt events
rule nested_if_events_example {
meta:
events:
$e.metadata.event_type = "NETWORK_CONNECTION"
$ip = if($e.target.ip != "",
$e.target.ip,
if($e.principal.ip != "",
$e.principal.ip,
"no_valid_ip"))
match:
$ip over 5m
condition:
$e
}
Bekannte Einschränkung
Die if()-Anweisung ist eine Funktion in YARA-L 2.0 und unterliegt der Funktionsverschachtelungstiefe von 20.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten