Zusammengesetzte Erkennungen
Mit der zusammengesetzten Erkennung können Sie Regeln miteinander verbinden, sodass die Ausgabe einer Regel als Eingabe für eine andere Regel dient. So können Sie komplexere und flexiblere Regeln erstellen. Durch die Korrelation und Analyse von Ereignissen aus verschiedenen Datenquellen und Zeiträumen werden mit der zusammengesetzten Erkennung die Einschränkungen der isolierten Ereigniserkennung überwunden.
Vorteile der zusammengesetzten Erkennung
Mehrstufige Angriffe aufdecken: Cyberangriffe sind oft vielschichtig und miteinander verbunden. Die zusammengesetzte Erkennung hilft, den Ablauf eines Angriffs zu rekonstruieren, indem scheinbar isolierte Vorfälle verknüpft werden. Beispielsweise kann eine zusammengesetzte Regel die gesamte Angriffskette erkennen, z. B. einen ersten Einbruch, gefolgt von einer Rechteausweitung und dem Abziehen von Daten.
Warnungsermüdung eindämmen: Priorisieren Sie kritische Bedrohungen und mindern Sie die Warnungsermüdung, indem Sie Nutzerregeln implementieren. Diese Regeln konsolidieren und filtern ungenaue Benachrichtigungen, die von Eingaberegeln generiert werden. So können Sie sich auf die wichtigsten Vorfälle konzentrieren und die Benachrichtigungsflut minimieren.
Genauigkeit der Erkennung verbessern: Kombinieren Sie Erkenntnisse aus UDM-Ereignissen, anderen Regelerkennungen, Informationen zu Entitäten, UEBA-Ergebnissen und Datentabellen, um eine genaue Erkennungslogik zu erstellen.
Komplexe Logik optimieren: Teilen Sie komplexe Erkennungsszenarien in überschaubare, miteinander verbundene und wiederverwendbare Regeln auf, um die Entwicklung und Wartung zu optimieren.
Begriffe und Konzepte für zusammengesetzte Erkennungen
Erkennung: Das Ergebnis einer Regel, das auch als Benachrichtigung bezeichnet werden kann.
Zusammengesetzt: Eine Reihe miteinander verbundener Regeln, bei denen die Ausgabe einer Regel als Eingabe für die nächste dient. In der zusammengesetzten Regelsequenz
rule1 -> rule2
->rule3
werden die vonrule1
generierten Erkennungen beispielsweise anrule2
übergeben, die sie verarbeitet, um neue Erkennungen zu generieren. Diese Erkennungen werden dann vonrule3
verwendet, um die endgültige Ausgabe zu erstellen.Eingaberegel: Eine Regel, deren Erkennungen als Eingabe für eine andere Regel verwendet werden. Jede Regel kann als Eingaberegel fungieren. Eine spezielle Bezeichnung ist nicht erforderlich. Für Eingaberegeln werden Entitäten und Ereignisse als Eingabe verwendet. Sie verwenden keine Erkennungen als Eingabe.
Zusammengesetzte Regel: Eine Regel, in deren Regeltext Erkennungen als Eingabe verwendet werden. Zusammengesetzte Regeln müssen einen
match
-Abschnitt haben.
Erweiterte Konzepte
Regeln zur Erkennung einzelner Ereignisse
Google SecOps unterstützt keine zusammengesetzten Regeln für einzelne Ereignisse. Das bedeutet, dass jede Regel, die Erkennungen als Eingabequelle verwendet, einen match
-Abschnitt haben muss.
Erkennungslatenz
Wir empfehlen, zusammengesetzte Regeln nur für Eingaberegeln für einzelne Ereignisse zu erstellen, da sich das Scheduling-Verhalten sonst nicht vorhersagen lässt. Regeln für einzelne Ereignisse werden nahezu in Echtzeit ausgeführt. Die zugehörigen Erkennungen sind in der Regel verfügbar, wenn die zusammengesetzte Regel ausgeführt wird. Wenn eine zusammengesetzte Regel von einer Regel mit mehreren Ereignissen als Eingabe abhängt, besteht das Risiko, dass die Eingaberegel nach der geplanten Ausführung der zusammengesetzten Regel ausgeführt wird. Dies kann zu Verzögerungen oder verpassten Erkennungen in der zusammengesetzten Regel führen.
TestRule und Retrohunt
Wenn Sie eine zusammengesetzte Regel testen oder eine Retrohunt für eine zusammengesetzte Regel ausführen, wird nur die spezifische Regel ausgeführt, die Sie anhand vorhandener Erkennungen ausgewählt haben. Wenn Sie das gesamte Composite ausführen möchten, müssen Sie Retrohunts manuell mit der ersten Regel in der Sequenz starten, warten, bis die einzelnen Ausführungen abgeschlossen sind, und dann mit der nächsten Regel fortfahren.
Wenn Sie einen Test für eine Regel ausführen, werden die erkannten Elemente nicht in der Datenbank gespeichert oder geschrieben. Für zusammengesetzte Regeln müssen die Eingabeerkennungen in der Datenbank vorhanden sein.
Wenn Sie einen Test für eine Regel ausführen, werden die Erkennungen nicht in der Datenbank gespeichert oder geschrieben. Da für zusammengesetzte Regeln die Eingabeerkennungen in der Datenbank vorhanden sein müssen, können Sie eine zusammengesetzte Regel nicht mit TestRule validieren.
Zusammengesetzte Regeln erstellen
Sie erstellen zusammengesetzte Regeln, indem Sie Eingaberegeln und zusammengesetzte Regeln kombinieren.
Eingaberegeln
Eingaberegeln sind die Grundlage Ihrer zusammengesetzten Regel. Sie erkennen bestimmte Ereignisse oder Bedingungen, die in Kombination auf schädliche Aktivitäten hinweisen. So konfigurieren Sie eine Eingaberegel:
Erstellen Sie eine neue Regel oder verwenden Sie eine vorhandene.
Deaktivieren Sie Benachrichtigungen. Dadurch wird verhindert, dass durch diese Eingaberegeln einzelne Benachrichtigungen generiert werden. Mit dieser Konfiguration können Sie die wichtigeren Benachrichtigungen priorisieren, die von zusammengesetzten Regeln generiert werden, mit denen die gesamte Ereigniskette bewertet wird.
Im Abschnitt
outcome
definieren Sie die Variablen, auf die Verkettungsregeln zugreifen können.
Das folgende Beispiel für eine Erstellerregel erkennt fehlgeschlagene Anmeldungen.
rule failed_login {
meta:
events:
$e.metadata.event_type = "USER_LOGIN"
any $e.security_result.action = "BLOCK"
outcome:
$target_user = $e.target.user.userid
condition:
$e
}
Diese Regel identifiziert blockierte Anmeldungen und den zugehörigen Nutzer.
Zusammengesetzte Regeln
Das Schreiben einer Regel, die Erkennungen verwendet, ist größtenteils dasselbe wie bei einer Regel, die UDM verwendet. Die Quelle und die verfügbaren Felder sind jedoch unterschiedlich. Wenn Sie auf ein Erkennungsfeld verweisen möchten, verwenden Sie das Schlüsselwort detection
als Quelle: $eventname.detection.field1.field2
.
Die Unterfelder, die für die detection
-Quelle verfügbar sind, finden Sie in der Sammlungsressource.
Im Folgenden sind die gängigen Felder in Sammlungen aufgeführt:
$d.detection.detection.rule_id
$d.detection.detection.detection_fields["match_var_name"]
$d.detection.detection.outcomes["outcome_name"]
Die folgende Beispielregel erkennt Anmeldungen ohne MFA, Enumeration und Exfiltration.
rule login_enumeration_exfiltration {
meta:
description = "Detects when a user logs in without multifactor authentication (MFA) and then performs enumeration and exfiltration"
rule_name = "Login Without MFA, Enumeration, Exfiltration"
severity = "High"
events:
// Detection with name "Console Login Without MFA"
// The affected user is saved as $target_user
$login_without_mfa.detection.detection.rule_name = /Console Login Without MFA/
$target_user = $login_without_mfa.detection.detection.outcomes["target_user"]
// Any detection with a rule name containing 'enumeration'
// The user performing enumeration is the user that logged in without mfa
$enumeration.detection.detection.rule_name = /enumeration/ nocase
$enumeration.detection.detection.outcomes["principal_users"] = $target_user
// Any detection with the mitre tactic 'TA0010' (Exfiltration)
// The user performing exfiltration is the user that logged in without mfa
$exfiltration.detection.detection.rule_labels["tactic"] = "TA0010"
$exfiltration.detection.detection.outcomes["principal_users"] = $target_user
match:
// Looks for detections over a 24 hour period
$target_user over 24h
condition:
// All 3 must occur for a single user
$login_without_mfa and $enumeration and $exfiltration
}
Hierarchische Erkennungen
Mit der zusammengesetzten Erkennung können Sie ein hierarchisches Erkennungssystem erstellen. Mit Regeln für niedrigere Ebenen werden isolierte verdächtige Ereignisse erkannt. Die Ausgabe dieser Eingaberegeln wird dann von zusammengesetzten Regeln auf höherer Ebene verwendet, um Korrelationen über Zeit, Einheiten und Datenquellen hinweg zu ermitteln. So lassen sich diese Informationen mit Daten aus anderen Quellen in Beziehung setzen, um mehrstufige Angriffsmuster zu erkennen, die bei Regeln für einzelne Ereignisse möglicherweise nicht erkannt werden.
Google Security Operations unterstützt bis zu drei Ebenen der Komposition und bietet so ein Gleichgewicht zwischen detaillierter Erkennungslogik und überschaubarer Komplexität.
Beispiel:
Stufe 1: Mit Eingaberegeln werden einzelne verdächtige Ereignisse erkannt. Beispiele: fehlgeschlagene Anmeldeversuche, ungewöhnlicher Dateizugriff
Level 2: Zusammengesetzte Regeln korrelieren Erkennungen auf Level 1. Beispiel: fehlgeschlagene Anmeldeversuche, gefolgt von verdächtigem Dateizugriff.
Stufe 3: In übergeordneten zusammengesetzten Regeln werden Erkennungen der Stufe 2 und andere Daten für noch anspruchsvollere Erkennungen kombiniert. Beispiel: Eine Erkennung der Stufe 2 in Bezug auf die Authentifizierung und eine Erkennung der Stufe 2 in Bezug auf die Sicherheitslage des verwendeten Geräts.
Hinweise zum Schreiben zusammengesetzter Regeln
Wenn Sie eine Eingaberegel aktualisieren, die in einer oder mehreren zusammengesetzten Regeln verwendet wird, erstellt das System automatisch eine neue Version dieser Eingaberegel. Das gilt sowohl für Logikupdates (condition
, events
, outcomes
) als auch für Metadatenupdates (Name, Beschreibung, Schweregrad). Zusammengesetzte Regeln werden weiterhin mit der neuen Version ausgeführt. Wir empfehlen, aktualisierte Eingaberegeln und die zugehörigen zusammengesetzten Regeln zu testen, um das beabsichtigte Verhalten zu überprüfen.
Beschränkungen
Für zusammengesetzte Regeln gelten die folgenden Einschränkungen.
Regeln für die reine Erkennung und Risikobewertung für Entitäten
Regeln, die nur auf Erkennungsdaten basieren und keine Ereignis- oder Entitätsdaten verwenden, tragen nicht zur Risikobewertung von Entitäten bei. Jeder Risikowert, der für eine Regel vom Typ „Nur Erkennung“ festgelegt ist, gilt nur für die Erkennungen, die durch diese Regel erstellt werden. Er wird nicht in den aggregierten Risikowert für Entitäten einbezogen.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten