Entitätskontextdiagramm (Entity Context Graph, ECG) verwenden
Dieses Dokument bietet einen Überblick über den Entity Context Graph (ECG) und behandelt seine Datenquellen, die Verarbeitungspipeline und die Anwendungen in Regeln und der Suche. Das ECG ist ein wichtiges Entity-Datenmodell, das wesentlichen Kontext für die erweiterte Bedrohungserkennung, ‑analyse und ‑suche in Erkennungsregeln, Suchvorgängen und Dashboards bietet. Die EKG-Verarbeitungspipeline führt Kontextinformationen aus allen Google SecOps-Umgebungen zusammen.
Im ECG werden auch zusammenfassende Messwerte für Entitäten berechnet. Dazu gehören die Häufigkeit (wie oft eine bestimmte Einheit im Vergleich zu anderen Einheiten in Ihren UDM-Daten vorkommt) sowie first-seen-time und last-seen-time einer Einheit. Außerdem werden wichtige Quellen für die Anreicherung und Quellen für Kompromittierungsindikatoren (Indicators of Compromise, IOC) wie Google Threat Intelligence (GTI), Safe Browsing, WHOIS und VirusTotal-Daten identifiziert.
Das EKG verwendet UDM-Ereignisse für Folgendes:
- Erstellen Sie eine umfassende Ansicht interner Einheiten (Assets und Nutzer) und externer Einheiten (IOCs) mit zusätzlichen Informationen und Korrelationen.
- Beziehungen zwischen diesen Entitäten ermitteln
Datenquellen für das EKG
In der EKG-Pipeline werden Daten aus den folgenden Quellen kombiniert:
| Kontextquelle | Quelle | Beschreibung |
|---|---|---|
| Entitätskontext | Vom Kunden bereitgestellt | Google SecOps nimmt strukturierte Organisationsdaten wie autoritative Details zu Nutzern und Assets direkt aus externen Systemen auf. Zu diesen Quellen gehören Identitätsanbieter (IDPs), CMDB-Systeme (Configuration Management Database, z. B. ServiceNow CMDB, Duo User Context) und Systeme zur Verwaltung von Sicherheitslücken. |
| Abgeleiteter Kontext | Von Google SecOps generiert | Google SecOps generiert statistische Daten auf Grundlage der Analyse der aufgenommenen Aktivitäten. Es reichert Ereignisse und Entitäten aus verschiedenen Quellen in Ihrer Umgebung an, z. B. Windows AD, Azure AD, Okta, Google Cloudund IAM.
Beispiel:
|
| Globaler Kontext | Von Google bezogen | Globale Quellen liefern interne und externe Threat Intelligence- und Reputationsdaten.
Beispiel:
|
Pipeline zur Verarbeitung von EKG-Daten
Die EKG-Datenverarbeitungspipeline erstellt für jede Einheit ein umfassendes, autoritatives Profil. Dazu werden Kontextinformationen aus mehreren Quellen (z. B. Identitätsanbietern, CMDBs, Threat Intelligence-Feeds und abgeleitetem Kontext) in einem einzigen, konsolidierten Entitätsprofil zusammengeführt. Die Zusammenführung von EKGs ermöglicht Folgendes:
- Dem EKG werden neue Verbindungen, Properties und Beziehungen hinzugefügt.
- Abgeleiteten Kontext erstellen und aktualisieren
Der Gesamtprozess umfasst zuerst die Normalisierung von Rohsicherheitsereignissen in UDM-Strukturen mithilfe von UDM-Aliasing und -Anreicherung. Anschließend werden diese Ereignisdaten mit verschiedenen Kontextquellen zusammengeführt, um umfassende Entitätsprofile zu erstellen.
UDM-Aliasing und EKG-Zusammenführung
Zuerst werden Rohsicherheitsereignisse in die Pipeline für UDM-Aliasing und ‑Anreicherung aufgenommen und in UDM-Strukturen normalisiert.
Zeitbezogene und zeitlose Entitäten
Das ECG erstellt sowohl zeitbezogene (temporale) als auch zeitlose (nicht temporale) Einheiten. Zeitlich begrenzte Einheiten werden innerhalb der angegebenen Regel- und Suchzeiträume ausgewertet. Zeitlose Entitäten werden ohne Berücksichtigung des Zeitraums der Suche oder Regel ausgewertet.
EKG-Zusammenführungsschlüssel
Im ECG werden Kontextdatensätze zusammengeführt, indem gemeinsame Schlüsselkennungen aus verschiedenen Datenquellen abgeglichen werden. Beispiele für diese Kennungen sind hostname, MAC address, user ID oder email address.
Im ECG werden Datensätze zusammengeführt, die in einem dieser Werte übereinstimmen, um eine umfassende und angereicherte Ansicht einer Entität zu erstellen.
Für das Aliasing von EKG-Daten werden die folgenden UDM-Felder als Zusammenführungsschlüssel verwendet:
Assetentity.asset.product_object_identity.asset.hostnameentity.asset.asset_identity.asset.mac
Userentity.user.product_object_identity.user.useridentity.user.windows_sidentity.user.email_addressesentity.user.employee_id
Resourceentity.resource.product_object_identity.resource.name
Groupentity.group.product_object_identity.group.email_addressesentity.group.windows_sid
Bestimmte Entitätstypen zusammenführen (Datei, URL, Domain)
Zusätzlich zu merge-keys führt die ECG Kontext für bestimmte Entitätstypen (Datei, URL und Domain) mithilfe der folgenden eindeutigen Kennungen zusammen:
Fileentity.file.md5entity.file.sha1entity.file.sha256- (und
entity.file.product_object_id, falls angegeben)
URLentity.url.url- (und
entity.url.product_object_id, falls angegeben)
Domainentity.domain.domain- (und
entity.domain.product_object_id, falls angegeben)
Das ECG führt einen Datensatz mit Elementkontext für File, URL oder Domain nur dann mit einem anderen Datensatz zusammen, wenn alle eindeutigen Kennungen in beiden Datensätzen übereinstimmen.
Wenn das ECG beispielsweise zwei File-Entitätskontexte für einen Merge berücksichtigt:
- Wenn beide einen
md5-Hash haben, müssen sie übereinstimmen. - Wenn eine Option ein
md5und die andere einsha256hat, werden sie im EKG nicht anhand des Hashwerts zusammengeführt. - Wenn ein
product_object_idangegeben wird, muss das EKG auch damit übereinstimmen, wenn es in beiden verglichenen Datensätzen vorhanden ist. Das gilt zusätzlich zu den inhaltsbasierten Kennungen (z. B.md5,urloderdomain).
Das bedeutet, dass für diese Typen Felder wie entity.file.md5, entity.url.url und entity.domain.domain zusätzlich zu allen angegebenen product_object_id vorhanden sein und für den Zusammenführungsprozess übereinstimmen müssen.
Konfliktlösung
Wenn während des Zusammenführungsvorgangs Felder mit widersprüchlichen Werten vorhanden sind, wird die Einheit durch das EKG aktualisiert, indem der Wert mit dem neuesten Startzeitpunkt ausgewählt wird. Wenn das ECG ein Attribut einer Rechtspersönlichkeit mit einem neuen Wert aktualisiert, wird der vorherige Wert in den Suchergebnissen für das Zeitintervall beibehalten, in dem dieser vorherige Wert gültig war. Daher kann eine Suchanfrage, die einen Zeitraum abdeckt, in dem sich ein Attribut geändert hat, mehrere Entitätskontexte für diese Entität zurückgeben.
Deduplizierung und Zeitintervalle
Um eine gemeinsame kombinierte Einheit zu erstellen, werden durch die EKG redundante Daten durch Deduplizierung entfernt. Duplikate werden identifiziert, indem alle relevanten eindeutigen Kennungen für eine Entität in verschiedenen Kontextquellen abgeglichen werden. Es werden Zeitintervalle generiert, anstatt exakte Zeitstempel abzugleichen.
Angenommen, Sie haben zwei Einheiten e1 und e2 mit den Zeitstempeln t1 bzw. t2. Wenn e1 und e2 ansonsten identisch sind, werden sie im EKG dedupliziert, indem Zeitstempelunterschiede in den folgenden Feldern ignoriert werden:
collected_timestampcreation_timestampinterval
Lookback-Window
Das EKG erstellt kontextbezogene Daten für Entitäten mit einem Lookback-Window von fünf Tagen. So können verspätet eingehende Daten verarbeitet werden. Außerdem wird eine implizite Gültigkeitsdauer für Daten zum Kontext von Entitäten festgelegt.
Das ECG unterscheidet zwischen Kontextdaten (assets, users, resources, groups) und Indikatoren für Sicherheitsrisiken (Indicators of Compromise, IOCs).
Beispiel: Nutzerdaten mit EKG-Daten zusammenführen
Google SecOps erfasst beispielsweise Nutzerdaten für jdoe aus drei Quellen: Okta, Azure AD und einem Scanner für Sicherheitslücken. Im ECG werden diese drei Datensätze anhand übereinstimmender Kennungen (z. B. jdoe@example.com) zusammengeführt. So entsteht eine einheitliche jdoe-Nutzerentität im ECG, die Attribute aus allen drei Quellen enthält.
EKG-Datenquellen für kritische Entitäten und Ereignisse
Für Google SecOps sind mehrere bestimmte Datenquellen erforderlich, um Entitäten zu erstellen und zu aktualisieren.
Kritische Entitätskontext-ECG-Datenquellen
Autoritative Datenquellen für die Nutzer und Assets Ihrer Umgebung liefern die wichtigsten Logdaten für die Erstellung eines Entitätsdatenmodells. Beispiel:
| Kategorie | Wichtige Datenquellen | Entitäten werden eingefügt |
|---|---|---|
| Identitäts- und Zugriffsverwaltung | Active Directory, Azure AD, Okta, Google Cloud Identity | user,group |
| Asset-Inventar | CMDBs, JAMF, Microsoft Intune | asset |
| Threat Intelligence | Benutzerdefinierte oder Drittanbieter-Feeds, Google Threat Intelligence (GTI) | ip_address,domain_name,file |
Beispiel für eine Suche
So listen Sie Parser auf, die die einzelnen Kategorien unterstützen:
- Unterstützte Logtypen mit Standardparser
Geben Sie eine Kategorie in die Suchleiste ein, z. B.:
- Geben Sie für Parser, die für das Asset-Inventar relevant sind,
inventoryoderassetein. - Geben Sie
identityein, um Parser für die Identitäts- und Zugriffsverwaltung aufzurufen. - Geben Sie für Parser, die für Threat Intelligence relevant sind,
IOCein.
- Geben Sie für Parser, die für das Asset-Inventar relevant sind,
Datenquellen und wichtige UDM-Felder für die Profilerstellung von Einheiten
Google SecOps optimiert Entitätsprofile anhand von autoritativen Kontextdatenquellen für Entitäten und wichtigen UDM-Feldern:
| Entitätstyp | Datenquellen | Wichtige UDM-Felder (für Aliasing und Indexierung) |
|---|---|---|
| Prozess | Endpoint-Logs enthalten die PSPI („principal.process.product_specific_process_id“), eine stabile Kennung, die für ein robustes Prozess-Aliasing unerlässlich ist.
Beispiele: CrowdStrike EDR (CS_EDR) und Windows Sysmon (WINDOWS_SYSMON). |
source.process.product_specific_process_id |
| Nutzer | Diese Quellen liefern Nutzerattribute und Identitätsinformationen. Beispiele: Duo-Entitätskontextdaten (DUO_CONTEXT) und Okta (OKTA). |
source.user.userid, source.user.email_address, source.user.windows_sid, source.user.product_object_id |
| Asset oder Endpunkt | Diese Quellen liefern maßgebliche Asset-Informationen. Beispiele: ServiceNow CMDB (SERVICENOW_CMDB) und Tanium Asset (TANIUM_ASSET). |
source.ip, source.hostname, source.asset_id, principal.asset.hostname |
| Datei-Hash | Stellt einen eindeutigen „digitalen Fingerabdruck“ des Dateninhalts bereit, um die Datenintegrität zu überprüfen. | source.file.sha256, source.file.sha1, source.file.md5 |
UDM-Felder für Kontextdaten zu kritischen Ereignissen
Für Google SecOps sind mehrere wichtige UDM-Felder für den Ereigniskontext erforderlich.
Die wichtigsten UDM-Felder dienen als stabile Kennungen und Beziehungsindikatoren (
principal.*-,target.*-,src_*- unddst_*-Felder).Liste der wichtigsten UDM-Felder für den Funktionsbereich
Entity graphUm ein umfassendes EKG zu erstellen, sollten Sie Datenquellen mit hochwertigen Kennungen und Beziehungsdaten priorisieren. Beispiel:
Entitätstyp Wichtige Datenquellen Wichtige UDM-Felder für die Erstellung von Entitäten Asset (Host) EDR und XDR, DNS und DHCP, Firewall, Google Cloud Console-Audit-Logs metadata.event_type,
principal.asset.asset_id,
principal.asset.hostname,
principal.ipNutzer IdP-Logs (Identitätsanbieter), HR-Feed (Kontext), Cloud Identity-Logs, E-Mail-Gateway principal.user.userid,
principal.user.email_addresses,
target.user.userid,
principal.ipNetzwerk Firewall, VPN, DNS, VPC-Flusslogs principal.ip,
target.ip,
src_ip,
dst_ip,
network.directionEinreichen und bearbeiten EDR und XDR, Anwendungslogs target.file.full_path,
target.process.file.full_path,
target.process.command_line
Beispiel
Das ECG verwendet diese UDM-Felder, um Kontextdaten von Entitäten und UDM-Ereignisdaten in Regeln, Suchvorgängen und Dashboards zu verknüpfen.
Sie können beispielsweise Nutzerkontextdaten in einer Monitoring-Regel für Brute-Force-Angriffe zusammenführen, um nur dann eine Benachrichtigung zu senden, wenn der betroffene Nutzer auch Mitglied der Gruppe „Domänenadministratoren“ ist und das betroffene Asset ein Domaincontroller ist:
events:
$fail.metadata.event_type = "USER_LOGIN"
$fail.metadata.vendor_name = "Microsoft"
$fail.principal.hostname = $hostname
$fail.target.user.userid = $target_user
$fail.security_result.action = "BLOCK"
$fail.metadata.product_event_type = "4625"
$fail.metadata.event_timestamp.seconds < $success.metadata.event_timestamp.seconds
$success.metadata.event_type = "USER_LOGIN"
$success.metadata.vendor_name = "Microsoft"
$success.target.user.userid = $target_user
$success.principal.hostname = $hostname
$success.security_result.action = "ALLOW"
$success.metadata.product_event_type = "4624"
$user.graph.entity.user.userid = $target_user
$user.graph.metadata.entity_type = "USER"
$user.graph.metadata.source_type = "ENTITY_CONTEXT"
any $user.graph.relations.entity.group.group_display_name = "Domain Admins"
$asset.graph.entity.asset.hostname = $hostname
$asset.graph.metadata.entity_type = "ASSET"
$asset.graph.metadata.source_type = "ENTITY_CONTEXT"
any $asset.graph.relations.entity.group.group_display_name = "Domain Controllers"
match:
$target_user, $hostname over 15m
condition:
#fail > 4 and $success and $user and $asset
Abgeleitete Kontextanreicherungen
Google SecOps generiert dynamische, ereignisgesteuerte Inferenzdaten für jede Entität in allen Namespaces aus den Ereignisdaten Ihrer Organisation. Dabei werden Aliasinformationen, Daten aus internen Anreicherungsprozessen und Sicherheitsereignisdaten verwendet, um Beziehungen herzustellen (z. B. die Zuordnung eines asset zu einem IP address).
Durch diesen Prozess wird wertvoller Kontext hinzugefügt, um Unternehmensprofile zu optimieren. Beispiele:
entity.file.sha256bisfile (hash)Entitäten(principal or target).ip_geo_artifact.location.country_or_regionbisnetwork (geolocation)Objekte
Google SecOps analysiert mehrere Indikatoren in aufgenommenen Aktivitäten, um Ereignisse mit Kontextinformationen anzureichern. Sie führt wichtige Anreicherungsfunktionen aus, um beispielsweise Messwerte für die Seltenheit von Einheiten wie Prävalenzstatistiken und temporale Messwerte wie first-seen-time und last-seen-time zu generieren.
Statistiken zur Prävalenz
In der EKG-Pipeline werden vorhandene und eingehende Daten analysiert, um Prävalenzmesswerte als abgeleitetes Kontextfeld zu berechnen und zu speichern. Diese Messwerte stellen einen numerischen „Beliebtheitswert“ für Entitäten wie domain, file hash oder IP address in Ihrer Umgebung dar. So können Sie seltene oder ungewöhnliche Aktivitäten erkennen, da beliebtere Einheiten in der Regel ein geringeres Risiko darstellen.
Google SecOps aktualisiert diese Statistiken regelmäßig und speichert sie in einem separaten Entitätskontext. Die Erkennungs-Engine kann diese Werte verwenden und Sie können mit der UDM-Abfragesyntax danach suchen. In der Console werden diese Werte jedoch nicht zusammen mit anderen Entitätsdetails angezeigt.
Sie können die folgenden Felder verwenden, wenn Sie Regeln für die Erkennungs-Engine erstellen.
| Entitätstyp | UDM-Felder |
|---|---|
| Domain | entity.domain.prevalence.day_count
entity.domain.prevalence.day_max
entity.domain.prevalence.day_max_sub_domains
entity.domain.prevalence.rolling_max
entity.domain.prevalence.rolling_max_sub_domains |
| Datei (Hash) | entity.file.prevalence.day_count
entity.file.prevalence.day_max
entity.file.prevalence.rolling_max |
| IP-Adresse | entity.artifact.prevalence.day_count
entity.artifact.prevalence.day_max
entity.artifact.prevalence.rolling_max |
Google SecOps berechnet die Werte für day_max und rolling_max unterschiedlich:
day_maxsteht für die maximale Punktzahl für die Häufigkeit des Artefakts während des Tages (ein Tag wird als 00:00:00 UCT bis 23:59:59 UTC definiert).rolling_maxsteht für den maximalen täglichen Prävalenzwert (d. h.day_max) für das Artefakt im vorherigen 10-Tages-Zeitraum.day_countwird zur Berechnung vonrolling_maxverwendet und hat immer den Wert 10.
Wenn diese Werte für ein domain berechnet werden, ergibt sich der folgende Unterschied zwischen day_max und day_max_sub_domains (und rolling_max und rolling_max_sub_domains):
rolling_maxundday_maxstehen für die Anzahl der täglichen eindeutigen internen IP-Adressen, die auf eine bestimmte Domain zugreifen (Unterdomains ausgenommen).rolling_max_sub_domainsundday_max_sub_domainsstehen für die Anzahl der eindeutigen internen IP-Adressen, die auf eine bestimmte Domain zugreifen (einschließlich Subdomains).
Google SecOps berechnet Statistiken zur Häufigkeit anhand neu aufgenommener Entitätsdaten. In Google SecOps werden keine Berechnungen rückwirkend für zuvor aufgenommene Daten durchgeführt. Es dauert etwa 36 Stunden, bis Google SecOps die Statistiken berechnet und speichert.
Beispiel
Für die EKG-Pipeline sind diese UDM-Felder erforderlich, um die relevanten Kontextdaten in eine Regel oder Suche einzufügen. Sie müssen alle EKG-bezogenen Daten explizit mit UDM-Ereignisdaten verknüpfen.
Sie können beispielsweise prevalence-Daten im EKG verwenden, um Verbindungen zu „seltenen“ Domains in Ihren Sicherheitslogs zu ermitteln:
$dns.metadata.event_type = "NETWORK_DNS"
$dns.network.dns.questions.name != ""
$dns.network.dns.questions.name = $domain
$prevalence.graph.metadata.entity_type = "DOMAIN_NAME"
$prevalence.graph.metadata.source_type = "DERIVED_CONTEXT"
$prevalence.graph.entity.hostname = $domain
$prevalence.graph.entity.domain.prevalence.day_count = 10
$prevalence.graph.entity.domain.prevalence.rolling_max > 0
$prevalence.graph.entity.domain.prevalence.rolling_max <= 3
match:
$domain over 5m
condition:
$dns and $prevalence
Zeitpunkt des ersten und letzten Auftretens von Entitäten
Google SecOps analysiert eingehende Daten, um Datensätze zum Kontext von Entitäten mit den folgenden wichtigen Feldern anzureichern:
first-seen-time:Das Datum und die Uhrzeit, zu der die Entität zum ersten Mal in Ihrer Umgebung erkannt wurde.last-seen-time:Datum und Uhrzeit der letzten Beobachtung.
Mit diesen abgeleiteten Feldern können Sie Aktivitäten für domain-, file hash-, asset-, user- oder IP address-Einheiten in Beziehung setzen.
Diese Werte werden in den folgenden UDM-Feldern gespeichert:
| Entitätstyp | UDM-Felder |
|---|---|
| Domain | entity.domain.first_seen_timeentity.domain.last_seen_time |
| Datei (Hash) | entity.file.first_seen_timeentity.file.last_seen_time |
| IP-Adresse | entity.artifact.first_seen_timeentity.artifact.last_seen_time |
| Asset | entity.asset.first_seen_time |
| Nutzer | entity.user.first_seen_time |
Ausnahmen für die Berechnung von „Erster Zugriff“ und „Letzter Zugriff“:
- Bei
asset- unduser-Entitäten füllt Google SecOps nur das Feldfirst_seen_time, nicht aber das Feldlast_seen_timeaus. - Google SecOps berechnet die Statistiken nicht für jede Entität in einzelnen Namespaces.
- Google SecOps exportiert diese Statistiken nicht in das Google SecOps-Schema
eventsin BigQuery. - Google SecOps berechnet diese Werte nicht für andere Entitätstypen wie
groupoderresource.
Globale Kontextanreicherungen
Dazu gehören externe Threat Intelligence- und Reputationsdaten aus internen und globalen Drittanbieterquellen.
Google Threat Intelligence-Daten aufnehmen
Google SecOps nimmt Daten aus Google Threat Intelligence-Datenquellen (GTI) auf und stellt Kontextinformationen für die Untersuchung von Aktivitäten in Ihrer Umgebung bereit.
Fragen Sie die folgenden Datenquellen ab:
- GTI-Tor-Ausgangsknoten:IP-Adressen, die als Tor-Ausgangsknoten bekannt sind.
- GTI Benign Binaries:Dateien, die entweder Teil der ursprünglichen Betriebssystemdistribution sind oder durch einen offiziellen Betriebssystem-Patch aktualisiert wurden. Einige offizielle Betriebssystembinärdateien, die von einem Angreifer durch Aktivitäten missbraucht wurden, die bei Living-off-the-Land-Angriffen üblich sind, sind in dieser Datenquelle ausgeschlossen, z. B. solche, die sich auf anfängliche Einstiegsvektoren konzentrieren.
- GTI-Tools für den Remotezugriff:Dateien, die häufig von böswilligen Akteuren verwendet wurden. Diese Tools sind in der Regel legitime Anwendungen, die manchmal missbraucht werden, um eine Remote-Verbindung zu gehackten Systemen herzustellen.
Kontextbezogene Daten werden global als Entitäten gespeichert. Sie können die Daten mit Regeln für die Erkennungs-Engine abfragen. Fügen Sie der Regel die folgenden UDM-Felder und -Werte hinzu, um diese globalen Entitäten abzufragen:
graph.metadata.vendor_name=Google Threat Intelligencegraph.metadata.product_name=GTI Feed
Zeitbezogene und zeitlose Google Threat Intelligence-Datenquellen
Google Threat Intelligence-Datenquellen sind entweder zeitabhängig oder zeitunabhängig.
Jedem Eintrag in zeitbezogenen Datenquellen ist ein Zeitraum zugeordnet. Wenn Google SecOps beispielsweise am ersten Tag eine Erkennung generiert, wird erwartet, dass bei einer Retrohunt an einem beliebigen zukünftigen Tag dieselbe Erkennung für den ersten Tag generiert wird.
Zeitlose Datenquellen haben keinen zugehörigen Zeitraum, da nur der letzte Datensatz berücksichtigt werden muss. Diese Datenquellen werden in der Regel für Daten verwendet, die sich voraussichtlich nicht ändern, z. B. Dateihashes. Wenn Google SecOps am ersten Tag keine Erkennung generiert, kann am zweiten Tag bei einer Retrohunt eine Erkennung für den ersten Tag generiert werden, wenn der zeitlosen Datenquelle ein neuer Eintrag hinzugefügt wurde.
Daten zu IP-Adressen von Tor-Exit-Knoten
Google SecOps erfasst und speichert IP-Adressen, die als Tor-Ausgangsknoten bekannt sind. Tor-Ausgangsknoten sind Punkte, an denen der Traffic das Tor-Netzwerk verlässt. Diese Daten sind zeitbezogen.
In Google SecOps werden Informationen, die aus dieser Datenquelle aufgenommen werden, in den folgenden UDM-Feldern gespeichert:
| UDM-Feld | Beschreibung |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Speichert den Wert Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Speichert den Wert GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Speichert den Wert Tor Exit Nodes. |
<variable_name>.graph.entity.artifact.ip |
Speichert die IP-Adresse, die aus der GTI-Datenquelle aufgenommen wurde. |
Beispiel für eine Suche
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Tor Exit Nodes"
Daten zu harmlosen Betriebssystemdateien
Google SecOps erfasst und speichert Dateihashes aus der Datenquelle „GTI Benign Binaries“. In Google SecOps werden Informationen, die aus dieser Datenquelle aufgenommen werden, in den folgenden UDM-Feldern gespeichert. Daten zu harmlosen Binärdateien sind zeitlos.
| UDM-Feld | Beschreibung |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Speichert den Wert Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Speichert den Wert GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Speichert den Wert Benign Binaries. |
<variable_name>.graph.entity.file.sha256 |
Speichert den SHA256-Hashwert der Datei. |
<variable_name>.graph.entity.file.sha1 |
Speichert den SHA‑1-Hashwert der Datei. |
<variable_name>.graph.entity.file.md5 |
Speichert den MD5-Hashwert der Datei. |
Beispiel für eine Suche
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Benign Binaries"
Daten zu Tools für den Remotezugriff
Zu den Remotezugriffstools gehören Dateihashes für bekannte Remotezugriffstools wie VNC-Clients, die häufig von böswilligen Akteuren verwendet wurden. Diese Tools sind in der Regel legitime Anwendungen, die manchmal missbraucht werden, um eine Remote-Verbindung zu gehackten Systemen herzustellen. Google SecOps speichert Informationen, die aus dieser Datenquelle aufgenommen wurden, in den folgenden UDM-Feldern. Daten zu Tools für den Remote-Zugriff sind zeitlos.
| UDM-Feld | Beschreibung |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Speichert den Wert Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Speichert den Wert GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Speichert den Wert Remote Access Tools. |
<variable_name>.graph.entity.file.sha256 |
Speichert den SHA256-Hashwert der Datei. |
<variable_name>.graph.entity.file.sha1 |
Speichert den SHA‑1-Hashwert der Datei. |
<variable_name>.graph.entity.file.md5 |
Speichert den MD5-Hashwert der Datei. |
Beispiel für eine Suche
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Remote Access Tools"
Entitäten mit Informationen aus Safe Browsing-Bedrohungslisten anreichern
Google SecOps nimmt Daten von Safe Browsing auf, die sich auf Dateihashes beziehen. In Google SecOps werden die Daten für jede Datei als Entität gespeichert und es wird zusätzlicher Kontext zur Datei bereitgestellt. Sie können Regeln für die Erkennungs-Engine erstellen, mit denen diese Daten zum Entitätskontext abgefragt werden, um kontextbezogene Analysen zu erstellen.
In Google SecOps werden die folgenden Informationen mit dem Datensatz für den Entitätskontext gespeichert.
| UDM-Feld | Beschreibung |
|---|---|
entity.metadata.product_entity_id |
Eine eindeutige Kennung für die Entität. |
entity.metadata.entity_type |
Dieser Wert ist FILE, was darauf hinweist, dass die Entität eine Datei beschreibt.
|
entity.metadata.collected_timestamp |
Das Datum und die Uhrzeit, zu der die Entität beobachtet wurde oder das Ereignis eingetreten ist. |
entity.metadata.interval |
Speichert die Start- und Endzeit, für die diese Daten gültig sind. Da sich der Inhalt der Bedrohungsliste im Laufe der Zeit ändert, geben start_time und end_time das Zeitintervall an, in dem die Daten zum Rechtssubjekt gültig sind. Beispiel: Zwischen dem start_time und dem end_time wurde festgestellt, dass ein Dateihash schädlich oder verdächtig ist. |
entity.metadata.threat.category |
Der Google SecOps-SecurityCategory ist auf einen oder mehrere der folgenden Werte festgelegt:
|
entity.metadata.threat.severity |
Dies ist die Google SecOps-ProductSeverity.
Wenn der Wert CRITICAL ist, deutet das darauf hin, dass das Artefakt schädlich ist.
Wenn der Wert nicht angegeben ist, ist die Wahrscheinlichkeit, dass das Artefakt schädlich ist, nicht hoch genug.
|
entity.metadata.product_name |
Speichert den Wert Google Safe Browsing. |
entity.file.sha256 |
Der SHA256-Hashwert für die Datei. |
Beispielregel
events:
// find a process launch event, match on hostname
$execution.metadata.event_type = "PROCESS_LAUNCH"
$execution.target.process.file.sha256 != ""
$execution.principal.hostname = $hostname
// join execution event with Safe Browsing graph
$sb.graph.entity.file.sha256 = $execution.target.process.file.sha256
// look for files deemed malicious
$sb.graph.metadata.entity_type = "FILE"
$sb.graph.metadata.threat.severity = "CRITICAL"
$sb.graph.metadata.product_name = "Google Safe Browsing"
match:
$hostname over 5m
condition:
$execution and $sb
Entitäten mit WHOIS-Daten anreichern
Google SecOps führt täglich eine WHOIS-Datenanreicherung durch, eine wichtige Funktion, bei der sowohl zeitbezogene als auch zeitlose Daten verwendet werden.
Während der Datenaufnahme von Gerätedaten vergleicht Google SecOps Domains mit WHOIS-Daten. Wenn Domains übereinstimmen, speichert Google SecOps die zugehörigen WHOIS-Daten im Entitätsdatensatz der Domain. Für jede Einheit mit entity.metadata.entity_type = DOMAIN_NAME reichert Google SecOps den Datensatz mit WHOIS-Informationen an.
Google SecOps füllt den Entitätsdatensatz mit angereicherten WHOIS-Daten in den folgenden Feldern:
entity.domain.admin.attribute.labelsentity.domain.audit_update_timeentity.domain.billing.attribute.labelsentity.domain.billing.office_address.country_or_regionentity.domain.contact_emailentity.domain.creation_timeentity.domain.expiration_timeentity.domain.iana_registrar_identity.domain.name_serverentity.domain.private_registrationentity.domain.registrant.company_nameentity.domain.registrant.office_address.stateentity.domain.registrant.office_address.country_or_regionentity.domain.registrant.email_addressesentity.domain.registrant.user_display_nameentity.domain.registrarentity.domain.registry_data_raw_textentity.domain.statusentity.domain.tech.attribute.labelsentity.domain.update_timeentity.domain.whois_record_raw_textentity.domain.whois_serverentity.domain.zone
Google SecOps reichert domain-Entitäten (entity.metadata.entity_type = "DOMAIN_NAME") mit registrant-, creation- und expiration time-Daten aus global context-WHOIS-Einträgen an.
Beschreibungen dieser Felder finden Sie im Dokument Feldliste für das einheitliche Datenmodell.
Beispiel für eine Suche
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
graph.entity.domain.registry_data_raw_text != b""
Best Practices: Datenquellen mit globalem Kontext identifizieren
Um die Leistung von Regeln zu verbessern, sollten Sie einen Filter in Regeln einfügen, der Daten aus Quellen für die globale Kontextanreicherung verwendet. Mit diesem Filter sollte der spezifische Anreicherungstyp oder die spezifische Anreicherungsquelle angegeben werden.
Mit den folgenden Filterparametern wird der Anreicherungstyp oder die Anreicherungsquelle angegeben: entity_type, product_name und vendor_name.
Fügen Sie beispielsweise die folgenden Filterfelder in den Abschnitt events der Regel ein, mit der WHOIS-Daten zusammengeführt werden:
$enrichment.graph.metadata.entity_type = "DOMAIN_NAME"
$enrichment.graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
$enrichment.graph.metadata.vendor_name = "WHOIS"
Best Practices für EKG
Beachten Sie bei der Verwendung von kontextbezogen angereicherten Daten die folgenden Best Practices für EKG:
- Fügen Sie den Entitätsdaten keine Intervalle hinzu. Lassen Sie sie stattdessen von der EKG-Pipeline erstellen. Google SecOps generiert Intervalle während der Deduplizierung, sofern nicht anders angegeben.
- Wenn Sie die Intervalle angeben, werden in Google SecOps nur identische Ereignisse dedupliziert und die letzte Entität wird beibehalten.
- Damit Live-Regeln und Retrohunts wie erwartet funktionieren, müssen Sie Entitäten mindestens einmal täglich erfassen.
- Wenn Sie Entitäten nicht täglich, sondern nur alle zwei oder mehr Tage erfassen, funktionieren Live-Regeln möglicherweise trotzdem wie erwartet. Bei Retrohunts gehen jedoch möglicherweise einige Ereigniskontexte verloren.
- Wenn Sie identische Elemente mehrmals täglich erfassen, werden sie in Google SecOps dedupliziert und als ein einzelnes Element dargestellt.
- Wenn Ereignisdaten für einen Tag fehlen, verwendet Google SecOps vorübergehend Daten vom Vortag, damit Live-Regeln richtig funktionieren.
Weitere Informationen zu den allgemeinen Dienstlimits für Google SecOps finden Sie unter Dienstlimits.
Ähnliche externe Inhalte
- Entitätsdiagramm als mehrdimensionale Liste verwenden
- Aliasing in Chronicle SIEM
- Abgelaufene IOCs im Entity Graph
- Google Safe Browsing in Chronicle SIEM
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten