CBN-Benachrichtigungen zu YARA-L-Erkennungsregeln migrieren
In diesem Dokument erfahren Sie, wie Sie Benachrichtigungen zur konfigurationsbasierten Normalisierung (Configuration Based Normalization, CBN) zu YARA-L-Erkennungsbenachrichtigungen migrieren. Als Sicherheitsanalyst können Sie können Sie weiterhin Benachrichtigungen für Warnungen von Drittanbietersystemen erhalten, indem Sie die Seite Benachrichtigungen und IOCs.
CBN-Benachrichtigungen zur YARA-L-Erkennungs-Engine migrieren
Zum Migrieren von CBN-Benachrichtigungen können Sie sicherstellen, dass Ihre vorherigen CBN-Benachrichtigungen mit den folgenden Optionen als Benachrichtigungen zu Erkennungsregeln verfügbar.
UDM-Suche verwenden
Mit der UDM-Suchoption können Sie sich Ereignisse mit der in den Parsern festgelegten alert_state
ansehen:
security_result.alert_state = "ALERTING"
In den UDM-Suchergebnissen können Sie sich die folgenden Felder ansehen, um zu verstehen, welche Quellen CBN-Warnungen in Ihrer Umgebung generieren:
Metadata
>Vendor Name
Metadata
>Product Name
CBN-Standardbenachrichtigungen mithilfe der Tools API herunterladen und manuell prüfen
Mit dem vorherigen Ansatz können Sie ausgelöste Benachrichtigungen finden,
die Sie noch nicht gesehen haben.
Sie können die Parser-Methode backstory.googleapis.com/v1/tools/cbn
verwenden, um
Standard-, Auswahl- oder alle CBNs und manuell die Parserlogik, die auf
is_alert
- oder alert_state
-basierte Benachrichtigungen finden
Sie können CBN-Benachrichtigungen an Regelbenachrichtigungen der YARA-L-Erkennungs-Engine übertragen, verwenden.
Windows Defender-Antivirenbenachrichtigungen migrieren, die zuvor in Enterprise Insights als CBN-Benachrichtigungen angezeigt wurden
Das folgende Beispiel zeigt, wie Sie Windows Defender-Antivirenbenachrichtigungen migrieren können, die zuvor in Enterprise Insights als CBN-Benachrichtigungen angezeigt wurden.
Suchen Sie anhand eines der zuvor beschriebenen Ansätze nach einer Beispielbenachrichtigung.
Kopieren Sie mit der Raw Log / UDM Event Viewer ausgewählte UDM-Felder, die eine zuverlässige Erkennung ermöglichen. Sehen Sie sich folgendes Beispiel an.
metadata.vendor_name = "Microsoft" metadata.product_name = "Windows Defender AV" metadata.product_event_type = "MALWAREPROTECTION_STATE_MALWARE_DETECTED" principal.asset.hostname = "client02.example.local" security_result.action = "BLOCK" security_result.severity = "MEDIUM"
Erstellen Sie eine neue YARA-L-Erkennungs-Engine-Regel.
rule windows_defender_av_monitored_events { meta: author = "Chronicle" description = "Migration of CBN alerts to Google Security Operations YARA-L detection engine rule alert." // Severity is set at the Outcome level via security_result.severity severity = "INFORMATIONAL" priority = "INFORMATIONAL" events: $windows_defender_av.metadata.vendor_name = "Microsoft" $windows_defender_av.metadata.product_name = "Windows Defender AV" $windows_defender_av.metadata.product_event_type = "MALWAREPROTECTION_STATE_MALWARE_DETECTED" $windows_defender_av.principal.asset.hostname = $host // optionally tune to only detection on ALLOW, i.e., failure to BLOCK //$windows_defender_av.security_result.action = "ALLOW" // optionally tune on severity of detection //$windows_defender_av.security_result.severity != "LOW" outcome: $risk_score = max( if ($windows_defender_av.security_result.severity = "UNKNOWN_SEVERITY", 0) + if ($windows_defender_av.security_result.severity = "LOW", 25) + if ($windows_defender_av.security_result.severity = "MEDIUM", 50) + if ($windows_defender_av.security_result.severity = "HIGH", 75) + if ($windows_defender_av.security_result.severity = "CRITICAL", 100) ) $severity = array_distinct($windows_defender_av.security_result.severity) condition: $windows_defender_av }
CBN-Benachrichtigung scheint ein Feld zu verwenden, das nicht in UDM geparst wurde
Mit der Option der Parsererweiterungen können Sie dieses Szenario schnell umgehen.
Bei der Corelight-CBN-Benachrichtigung wird beispielsweise das Feld notice
verwendet und es werden nur bedingte Benachrichtigungen gesendet, wenn der Wert „true“ ist:
if [notice] == "true" {
mutate {
replace => {
"is_significant" => "true"
"is_alert" => "true"
}
}
}
Da dieser Wert standardmäßig nicht in UDM normalisiert wird, können Sie einen Parser verwenden
Erweiterung Grok wie folgt, um diesen Wert als UDM-Feld vom Typ Additional
hinzuzufügen:
filter {
mutate {
replace => {
"notice" => ""
}
}
grok {
match => { "message" => [ "(?P<message>\{.*\})$" ] }
on_error => "_grok_not_syslog"
overwrite => [ "message" ]
}
json {
on_error => "not_json"
source => "message"
array_function => "split_columns"
}
if ![not_json] {
if [notice] != "" {
mutate {
convert => {
"notice" => "string"
}
}
mutate {
replace => {
"additional_notice.key" => "notice"
"additional_notice.value.string_value" => "%{notice}"
}
}
mutate {
merge => {
"event1.idm.read_only_udm.additional.fields" => "additional_notice"
}
}
mutate {
merge => {
"@output" => "event1"
}
}
}
}
}
Anschließend können Sie dies in einer YARA-L-Erkennungs-Engine-Regel wie folgt und mithilfe der Maps-Funktion verwenden:
events:
// Corelight : Weird Log
(
$corelight.metadata.vendor_name = "Corelight" and
$corelight.metadata.product_name = "Zeek" and
// this requires a custom parser extension to extract notice
$corelight.metadata.product_event_type = "weird" and
$corelight.additional.fields["notice"] = "true"
)
Sie müssen die erstellten Regeln für Benachrichtigungen aktivieren und aktivieren. Weitere Informationen finden Sie unter Regel-Livedaten ausführen.