Regelverkettung
Mit der Regelverkettung können Sie Regeln so miteinander verknüpfen, dass die Ausgabe einer Regel als Eingabe für eine andere Regel dient. So können Sie komplexere und flexiblere Regeln erstellen. Durch die Regelverkettung werden die Einschränkungen der isolierten Ereigniserkennung überwunden, indem Ereignisse aus verschiedenen Datenquellen und Zeiträumen in Beziehung gesetzt und analysiert werden.
Vorteile der Regelverkettung:
Mehrere Angriffsphasen entlarven: Cyberangriffe sind oft miteinander verbunden. Die Regelverkettung hilft, die Angriffsabfolge zu entschlüsseln, indem die Verbindungen zwischen scheinbar isolierten Vorfällen aufgezeigt werden. So kann beispielsweise die gesamte Angriffsabfolge identifiziert werden, z. B. eine anfängliche Sicherheitsverletzung, gefolgt von einer Berechtigungseskalierung und Datenexfiltration.
Benachrichtigungsmüdigkeit vermeiden: Priorisieren Sie kritische Bedrohungen und verringern Sie die Benachrichtigungsmüdigkeit, indem Sie Nutzerregeln implementieren. Mit diesen Regeln werden von den Regeln der Produzenten generierte unwichtige Benachrichtigungen zusammengefasst und gefiltert, sodass eine gezieltere Reaktion möglich ist.
Genauigkeit der Erkennung verbessern: Kombinieren Sie Statistiken aus UDM-Ereignissen, anderen Regelerkennungen, Entitätsinformationen, UEBA-Ergebnissen und Datentabellen, um eine genaue Erkennungslogik zu erstellen.
Komplexe Logik optimieren: Komplexe Erkennungsszenarien in überschaubare, miteinander verbundene und wiederverwendbare Regeln unterteilen, um Entwicklung und Wartung zu optimieren.
Begriffe und Konzepte für die Regelverkettung:
Erkennung: Das Ergebnis einer Regel, kann auch als Benachrichtigung bezeichnet werden.
Kette: Eine Reihe von Regeln, bei denen die Ausgabe einer Regel als Eingabe für die nächste Regel dient. In der Kettenregel „Regel 1 -> Regel 2 -> Regel 3“ werden beispielsweise die von Regel 1 generierten Erkennungen von Regel 2 verwendet, um neue Erkennungen zu generieren, die dann von Regel 3 verwendet werden, um eigene Erkennungen zu generieren.
Produzentenregel: Eine Regel, deren Erkennungen als Eingabe für eine andere Regel verwendet werden. Jede Regel kann als Produzentenregel fungieren und es ist keine spezielle Bezeichnung erforderlich. Bei Produzentenregeln werden Entitäten und Ereignisse als Eingabe verwendet. Sie verwenden keine Erkennungen als Eingabe.
Verbraucherregel: Eine Regel, bei der Erkennungen als Eingabe im Regeltext verwendet werden. Verbraucherregeln müssen einen Abgleichsabschnitt haben.
Kettenregel: Wird auch als Verbraucherregel bezeichnet.
Erweiterte Konzepte
Regeln für die Erkennung einzelner Ereignisse
In Google SecOps sind keine Regeln zur Erkennung einzelner Ereignisse zulässig. Das bedeutet, dass jede Regel, die Erkennungen als Datenquelle verwendet, einen Abschnitt für Übereinstimmungen haben muss.
Erkennungslatenz
Aus Gründen der Planung empfehlen wir, Verbraucherregeln nur mit einzelnen Ereignisregeln zu verknüpfen. Regeln für einzelne Ereignisse werden nahezu in Echtzeit ausgeführt. Erkennungen aus diesen Regeln sind daher fast immer für die erste Ausführung einer Verbraucherregel verfügbar. Wenn Sie eine Regelkette mit einer Regel mit mehreren Ereignissen erstellen, wird die Erzeugerregel möglicherweise nach der Verbraucherregel ausgeführt, was die Erkennung in der Verbraucherregel verzögert.
TestRule und Retrohunt
Wenn Sie eine Retrohunt für eine Verbraucherregel testen oder ausführen, wird nur die Regel ausgeführt, die Sie anhand vorhandener Erkennungen ausgewählt haben. Wenn Sie eine vollständige Kette ausführen möchten, müssen Sie Retrohunts am Anfang der Kette starten und warten, bis jeder Durchlauf abgeschlossen ist, bevor Sie die nächste Regel ausführen.
Wenn Sie einen Test für eine Regel ausführen, werden die Erkennungen nicht in der Datenbank gespeichert. Für Verbraucherregeln ist es jedoch erforderlich, dass die Eingabeerkennungen in der Datenbank vorhanden sind. Daher können Sie in einer Testregel keine Regelkette testen.
Regelketten erstellen
Sie erstellen Regelketten mit Kombinationen von Regeln für Produzenten und Verbraucher.
Regeln für Creator
Produzentenregeln sind die Grundlage deiner Lieferkette. Sie identifizieren bestimmte Ereignisse oder Bedingungen, die in Kombination auf schädliche Aktivitäten hinweisen. So konfigurierst du die Regel für den Ersteller:
Neue Regel erstellen oder vorhandene Regel wiederverwenden
Deaktivieren Sie Benachrichtigungen und legen Sie im Abschnitt „Ergebnis“
$risk_score
auf 0 fest. So wird verhindert, dass diese Regeln individuelle Benachrichtigungen generieren oder sich auf die Risikobewertung von Rechtssubjekten auswirken. Mit dieser Konfiguration können Sie die kritischeren Benachrichtigungen priorisieren, die durch Verbraucherregeln generiert werden, bei denen die gesamte Ereigniskette bewertet wird.Verwenden Sie den Abschnitt
outcome
, um die Variablen zu definieren, auf die Verknüpfungsregeln zugreifen können.
Mit der folgenden Beispielregel für Datenersteller werden fehlgeschlagene Anmeldungen erkannt.
rule failed_login {
meta:
events:
$e.metadata.event_type = "USER_LOGIN"
any $e.security_result.action = "BLOCK"
outcome:
$risk_score = 0
$target_user = $e.target.user.userid
condition:
$e
}
Mit dieser Regel werden blockierte Anmeldungen und der zugehörige Nutzer ermittelt.
Regeln für die Abfolge von Aktionen
Das Erstellen einer Regel mit Erkennungen entspricht weitgehend dem Erstellen einer Regel mit UDM, mit der Ausnahme, dass die Quelle und die verfügbaren Felder unterschiedlich sind. Wenn Sie auf ein Erkennungsfeld verweisen möchten, verwenden Sie das Keyword detection
als Quelle: $eventname.detection.field1.field2
.
Die unter der Quelle detection
verfügbaren Unterfelder finden Sie in der Sammlungsressource.
Im Folgenden finden Sie die gängigen Felder in Sammlungen.
$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, Aufzählungen und Datenexfiltration.
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 Regelverkettung können Sie ein hierarchisches Erkennungssystem erstellen. Mit Regeln auf niedrigerer Ebene werden einzelne verdächtige Ereignisse identifiziert. Die Ausgabe wird dann in eine höhere Ebene der Verknüpfung oder in Verbraucherregeln eingespeist. Diese Regeln korrelieren diese Informationen mit Daten aus anderen Quellen, um mehrstufige Angriffsmuster zu erkennen, die bei Regeln für einzelne Ereignisse möglicherweise übersehen werden. Google Security Operations unterstützt bis zu drei Verknüpfungsebenen, um ein Gleichgewicht zwischen ausgefeilter Erkennung und überschaubarer Komplexität zu schaffen.
Beispiel:
Stufe 1: Mit den Regeln für Produzenten werden einzelne verdächtige Ereignisse erkannt. Beispiel: fehlgeschlagene Anmeldung, ungewöhnlicher Dateizugriff.
Ebene 2: Mit Verknüpfungsregeln werden Level-1-Erkennungen in Beziehung gesetzt. Beispiel: fehlgeschlagene Anmeldung, gefolgt von verdächtigem Dateizugriff.
Ebene 3: Kettenregeln auf höherer Ebene kombinieren Erkennungen der Ebene 2 mit anderen Daten für eine noch ausgefeiltere Erkennung. Beispiel: eine Erkennung der Authentifizierung auf Stufe 2 sowie eine Erkennung der Sicherheitslage des verwendeten Geräts auf Stufe 2.
Hinweise zum Ändern von Regeln für Creator
Wenn eine Producer-Regel in einer Regelkette aktualisiert wird, wird eine neue Version der Producer-Regel erstellt. Das gilt sowohl für Logikupdates (Bedingung, Ereignisse, Ergebnisse) als auch für Metadatenupdates (Name, Beschreibung, Schweregrad). Verbraucherregeln werden weiterhin mit der neuen Version angewendet. Es ist wichtig, aktualisierte Regeln für Produzenten und die entsprechenden Regeln für nachgelagerte Verbraucher zu testen, um das gewünschte Verhalten zu gewährleisten.