Sensitive Data Protection-Daten in kontextbezogenen Analysen verwenden

Unterstützt in:

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 dem US_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 Abschnitt events 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