Sensitive Data Protection-Daten in kontextbezogenen Analysen verwenden
In diesem Dokument wird gezeigt, wie Sie Entitätskontextdaten aus Sensitive Data Protection und zusätzlichen Logquellen verwenden, um bei der Untersuchung einer potenziellen Bedrohung den Kontext zu den Auswirkungen und dem Umfang der Bedrohung zu erhalten.
Bei dem in diesem Dokument beschriebenen Anwendungsfall wird erkannt, ob ein Nutzer eine schädliche Datei ausführt (MITRE ATT&CK-Technik T1204.002) und ob dieser Nutzer auch an anderer Stelle im Netzwerk Zugriff auf vertrauliche Daten hat.
Für dieses Beispiel müssen die folgenden Daten in Google Security Operations aufgenommen und normalisiert worden sein:
- Daten zur Nutzeraktivität anhand von Netzwerk- und EDR-Protokollen.
- Ressourcenbeziehungen aus Datenquellen wie Google Cloud IAM Analysis.
- Protokolle zum Schutz sensibler Daten, die Labels zum Typ und zur Sensibilität der gespeicherten Daten enthalten.
Google SecOps muss die Rohdaten in Entitäts- und Ereignisdatensätze des Unified Data Model (UDM) parsen können.
Informationen zum Erfassen von Daten zum Schutz sensibler Daten in Google SecOps finden Sie unter Daten zum Schutz sensibler Daten in Google SecOps exportieren.
Google Cloud IAM-Analysedaten
Die Google Cloud IAM-Analysedaten in diesem Beispiel identifizieren Nutzer in der Organisation und erfassen Beziehungen, die jeder Nutzer zu anderen Systemen im Netzwerk hat. Im Folgenden sehen Sie einen Ausschnitt aus einem IAM Analysis-Log, der als UDM-Entitätsdatensatz gespeichert ist. Sie enthält Informationen zum Nutzer mikeross
, der eine BigQuery-Tabelle mit dem Namen analytics:claim.patients
verwaltet.
metadata.vendor_name: "Google Cloud Platform"
metadata.product_name: "GCP IAM Analysis"
metadata.entity_type: "USER"
entity.user.userid: "mikeross"
relations[2].entity.resource.name: "analytics:claim.patients"
relations[2].entity.resource.resource_type: "TABLE"
relations[2].entity_type: "RESOURCE"
relations[2].relationship: "ADMINISTERS"
Daten zum Schutz sensibler Daten
In den Logdaten zum Schutz sensibler Daten in diesem Beispiel werden Informationen zu einer BigQuery-Tabelle gespeichert. Im Folgenden sehen Sie einen Ausschnitt aus einem Sensitive Data Protection-Log, der als UDM-Entitätsdatensatz gespeichert ist. Sie stellt die BigQuery-Tabelle mit dem Namen analytics:claim.patients
mit dem Label Predicted InfoType
US_SOCIAL_SECURITY_NUMBER
dar. Das Label gibt an, dass in der Tabelle US-Sozialversicherungsnummern gespeichert sind.
metadata.vendor_name: "Google Cloud Platform"
metadata.product_name: "GCP DLP CONTEXT"
metadata.entity_type: "RESOURCE"
metadata.description: "RISK_HIGH"
entity.resource.resource_type: "TABLE"
entity.resource.resource_subtype: "BigQuery Table"
entity.resource.attribute.cloud.environment"GOOGLE_CLOUD_PLATFORM"
entity.resource.attribute.labels[0].key: "Sensitivity Score"
entity.resource.attribute.labels[0].value: "SENSITIVITY_HIGH"
entity.resource.attribute.labels[1].key: "Predicted InfoType"
entity.resource.attribute.labels[1].value: "US_SOCIAL_SECURITY_NUMBER"
entity.resource.product_object_id: "analytics:claim.patients"
Web-Proxy-Ereignisse
Das Webproxy-Ereignis in diesem Beispiel erfasst Netzwerkaktivitäten. Das folgende Snippet stammt aus einem Zscaler-Webproxy-Log, das als UDM-Ereignisdatensatz gespeichert ist. Es wird ein Netzwerk-Download-Ereignis einer ausführbaren Datei durch einen Nutzer mit dem userid
-Wert mikeross
erfasst, wobei der received_bytes
-Wert 514605 ist.
metadata.log_type = "ZSCALER_WEBPROXY"
metadata.product_name = "NSS"
metadata.vendor_name = "Zscaler"
metadata.event_type = "NETWORK_HTTP"
network.http.response_code = 200
network.received_bytes = 514605
principal.user.userid = "mikeross"
target.url = "http://manygoodnews.com/dow/Client%20Update.exe"
EDR-Ereignisse
Das EDR-Ereignis in diesem Beispiel erfasst Aktivitäten auf einem Endpunktgerät. Das folgende Snippet zeigt einen CrowdStrike Falcon EDR-Logeintrag, der als UDM-Ereignisdatensatz gespeichert ist. Es wird ein Netzwerkereignis erfasst, das die Microsoft Excel-Anwendung und einen Nutzer mit dem Wert userid
mikeross
umfasst.
metadata.log_type = "CS_EDR"
metadata.product_name = "Falcon"
metadata.vendor_name = "Crowdstrike"
metadata.event_type = "NETWORK_HTTP"
target.process.file.full_path = "\\Device\\HarddiskVolume1\\Program Files\\C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.exe"
target.url = "http://manygoodnews.com/dow/Client%20Update.exe"
target.user.userid = "mikeross"
Beachten Sie, dass diese Datensätze gemeinsame Informationen enthalten, nämlich die Nutzer-ID mikeross
und den Tabellennamen analytics:claim.patients
. Im nächsten Abschnitt dieses Dokuments wird gezeigt, wie diese Werte in der Regel verwendet werden, um die Datensätze zusammenzuführen.
Regel der Erkennungs-Engine in diesem Beispiel
Diese Beispielregel erkennt die Ausführung einer schädlichen Datei durch einen Nutzer (MITRE ATT&CK-Technik T1204.002).
Durch die Regel wird einer Erkennung ein höherer Risikowert zugewiesen, wenn der Nutzer auch an anderer Stelle im Netzwerk Zugriff auf vertrauliche Daten hat. Die Regel korreliert die folgenden Informationen:
- Nutzeraktivitäten wie das Herunterladen oder Starten einer ausführbaren Datei.
- Die Beziehung zwischen Ressourcen, z. B. die Beziehung des Nutzers zu einer BigQuery-Tabelle.
- Vorhandensein vertraulicher Informationen in der Ressource, auf die ein Nutzer Zugriff hat, z. B. der Typ der in der BigQuery-Tabelle gespeicherten Daten.
Hier finden Sie eine Beschreibung der einzelnen Abschnitte der Beispielregel.
Im Abschnitt
events
wird das Datenmuster angegeben, nach dem die Regel sucht. Er enthält Folgendes:- Gruppe 1 und Gruppe 2 identifizieren Netzwerk- und EDR-Ereignisse, die den Download einer großen Datenmenge oder einer ausführbaren Datei erfassen, die auch mit Aktivitäten in der Excel-Anwendung zusammenhängt.
- In Gruppe 3 werden Datensätze identifiziert, in denen der im Netzwerk und in den EDR-Ereignissen identifizierte Nutzer auch die Berechtigung für eine BigQuery-Tabelle hat.
- In Gruppe 4 werden Datensätze zum Schutz sensibler Daten für die BigQuery-Tabelle angezeigt, auf die der Nutzer Zugriff hat.
In jeder Gruppe von Ausdrücken wird entweder die Variable
$table_name
oder die Variable$user
verwendet, um Datensätze zu verknüpfen, die sich auf denselben Nutzer und dieselbe Datenbanktabelle beziehen.Im Abschnitt
outcome
wird mit der Regel eine$risk_score
-Variable erstellt und ein Wert basierend auf der Vertraulichkeit der Daten in der Tabelle festgelegt. In diesem Fall wird geprüft, ob die Daten mit demUS_SOCIAL_SECURITY_NUMBER
infoType für den Schutz sensibler Daten gekennzeichnet sind.Im Abschnitt
outcome
werden auch zusätzliche Variablen wie$principalHostname
und$entity_resource_name
festgelegt. Diese Variablen werden mit der Erkennung zurückgegeben und gespeichert. Wenn Sie sie in Google SecOps aufrufen, können Sie die Variablenwerte auch als Spalten anzeigen lassen.Der Abschnitt
condition
gibt an, dass das Muster nach allen UDM-Datensätzen sucht, die im Abschnittevents
angegeben sind.
rule high_risk_user_download_executable_from_macro {
meta:
author = "Google Cloud Security Demos"
description = "Executable downloaded by Microsoft Excel from High Risk User"
severity = "High"
technique = "T1204.002"
events:
//Group 1. identify a proxy event with suspected executable download
$proxy_event.principal.user.userid = $user
$proxy_event.target.url = /.*\.exe$/ or
$proxy_event.network.received_bytes > 102400
//Group 2. correlate with an EDR event indicating Excel activity
$edr_event.target.user.userid = $user
$edr_event.target.process.file.full_path = /excel/ nocase
$edr_event.metadata.event_type = "NETWORK_HTTP"
//Group 3. Use the entity to find the permissions
$user_entity.graph.entity.user.userid = $user
$user_entity.graph.relations.entity.resource.name = $table_name
//Group 4. the entity is from Cloud DLP data
$table_context.graph.entity.resource.product_object_id = $table_name
$table_context.graph.metadata.product_name = "GCP DLP CONTEXT"
match:
$user over 5m
outcome:
//calculate risk score
$risk_score = max(
if( $table_context.graph.entity.resource.attribute.labels.value = "US_SOCIAL_SECURITY_NUMBER", 80)
)
$technique = array_distinct("T1204.002")
$principalHostname = array_distinct($proxy_event.principal.hostname)
$principalIp = array_distinct($proxy_event.principal.ip)
$principalMac = array_distinct($proxy_event.principal.mac)
$targetHostname = array_distinct($proxy_event.target.hostname)
$target_url = array_distinct($proxy_event.target.url)
$targetIp = array_distinct($proxy_event.target.ip)
$principalUserUserid = array_distinct($proxy_event.principal.user.userid)
$entity_resource_name = array_distinct($table_context.graph.entity.resource.name)
condition:
$proxy_event and $edr_event and $user_entity and $table_context
}
Informationen zur Erkennung
Wenn Sie die Regel anhand vorhandener Daten testen und das in der Definition angegebene Aktivitätsmuster erkannt wird, wird ein Ergebnis generiert. Im Bereich Erkennung wird die Erkennung angezeigt, die nach dem Testen der Regel generiert wurde. Im Bereich Erkennung werden auch die Ereignis- und Entitätsdatensätze angezeigt, die dazu geführt haben, dass durch die Regel eine Erkennung erstellt wurde. In diesem Beispiel werden die folgenden Einträge angezeigt:
- Google Cloud UDM-Entität für die IAM-Analyse
- UDM-Entität für Sensitive Data Protection
- UDM-Ereignis für Zscaler-Webproxy
- CrowdStrike Falcon EDR UDM-Ereignis
Wählen Sie im Bereich Erkennung einen beliebigen Ereignis- oder Entitätseintrag aus, um Details zu sehen.
Bei der Erkennung werden auch die im Abschnitt outcome
der Regel definierten Variablen gespeichert. Wenn Sie die Variablen im Bereich Erkennung anzeigen möchten, wählen Sie Spalten und dann einen oder mehrere Variablennamen aus dem Menü Spalten aus. Die ausgewählten Spalten werden im Bereich Erkennung angezeigt.
Nächste Schritte
Informationen zum Schreiben benutzerdefinierter Regeln finden Sie unter Übersicht über die Sprache YARA-L 2.0.
Informationen zum Erstellen benutzerdefinierter kontextsensitiver Analysen finden Sie unter Kontextsensitive Analysen erstellen.
Informationen zur Verwendung vordefinierter Bedrohungsanalysen finden Sie unter Von Google SecOps kuratierte Erkennungsmechanismen verwenden.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten