IOC-Logs von Anomali ThreatStream erfassen
In diesem Dokument wird beschrieben, wie Sie Anomali ThreatStream-IOC-Logs mithilfe einer API in Google Security Operations aufnehmen. Der Parser transformiert die IOC-Daten entweder aus dem JSON- oder dem CEF-Format in ein einheitliches Datenmodell (Unified Data Model, UDM). Der Code versucht zuerst, die Eingabe als JSON zu parsen. Wenn das nicht gelingt, wird nach dem Präfix „CEF:“ gesucht, um die Eingabe als CEF-Nachricht zu verarbeiten. Dabei werden IOC-Attribute extrahiert und UDM-Feldern zugeordnet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf einen Anomali ThreatStream-Unternehmensmandanten
Einen dedizierten API-Nutzer erstellen
- Melden Sie sich in ThreatStream an. Wechseln Sie zur klassischen Benutzeroberfläche, wenn Sie Anomali Enterprise verwenden.
- Klicken Sie auf Verwaltung > Nutzer.
- Klicken Sie auf + Nutzer hinzufügen oder wählen Sie ein vorhandenes Dienstkonto aus.
- Geben Sie die folgenden Informationen ein:
- E-Mail: E-Mail-Adresse des Dienstkontos (z. B.
anomali_ioc_secops@example.com
). - Auth Source (Autorisierungsquelle): Wählen Sie Standard aus.
- User Type (Nutzertyp): Wählen Sie API User (API-Nutzer) aus.
- Rolle: Wählen Sie Schreibgeschützt aus (ausreichend, um Indikatoren aufzulisten).
- E-Mail: E-Mail-Adresse des Dienstkontos (z. B.
- Klicken Sie auf Speichern.
- An das neue Konto wird eine Aktivierungs-E-Mail gesendet. Schließen Sie die Aktivierung ab.
API-Schlüssel generieren
- Melden Sie sich als API-Nutzer bei ThreatStream an.
- Klicken Sie auf den Profilavatar>Meine API-Schlüssel.
- Klicken Sie auf Neuen Schlüssel erstellen.
- Geben Sie eine Beschreibung ein,z. B.
Google SecOps export
. - Klicken Sie auf Speichern.
- Kopieren Sie den unter Schlüssel angezeigten Schlüsselwert und speichern Sie ihn an einem sicheren Ort. Der Schlüsselwert wird nicht noch einmal angezeigt.
Empfohlen: Collector-IP-Adresse auf die Zulassungsliste setzen
- Rufen Sie Verwaltung > Organisationseinstellungen auf.
- Wählen Sie den Tab IP-Zulassungsliste aus.
- Klicken Sie auf + Hinzufügen.
- Geben Sie die Adresse Ihres Google SecOps-Tenants ein und klicken Sie auf Speichern.
Feeds einrichten
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feed name einen Namen für den Feed ein, z. B.
Anomali TS IOC
. - Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie den Logtyp Anomali aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Nutzername: Geben Sie den neu erstellten API-Nutzer ein.
- Secret: Geben Sie den zuvor kopierten generierten API-Schlüssel ein.
- Asset-Namespace: Der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Klicken Sie auf Weiter.
- Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
obj.asn |
entity.administrative_domain | Das Feld „asn“ im Rohlog wird dem Feld „administrative_domain“ im UDM-Entitätsobjekt zugeordnet. |
obj.confidence |
ioc.confidence_score | Das Feld „confidence“ (Vertrauen) im Rohlog wird dem Feld „confidence_score“ (Vertrauenswürdigkeit) im UDM-IOC-Objekt zugeordnet. |
obj.country |
entity.location.country_or_region | Das Feld „country“ im Rohlog wird dem Feld „country_or_region“ im UDM-Entitätsobjekt zugeordnet. |
obj.created_ts |
entity.metadata.creation_timestamp | Das Feld „created_ts“ im Rohlog wird dem Feld „creation_timestamp“ im UDM-Entitätsobjekt zugeordnet. |
obj.created_ts |
ioc.active_timerange.start | Das Feld „created_ts“ im Rohlog wird dem Feld „start“ im UDM-IOC-Objekt zugeordnet. |
obj.created_ts |
entity.metadata.threat.first_discovered_time | Das Feld „created_ts“ im Rohlog wird dem Feld „first_discovered_time“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.expiration_ts |
entity.metadata.interval.end_time | Das Feld „expiration_ts“ im Rohlog wird dem Feld „end_time“ im UDM-Entitätsobjekt zugeordnet. |
obj.expiration_ts |
ioc.active_timerange.end | Das Feld „expiration_ts“ im Rohlog wird dem Feld „end“ im UDM-IOC-Objekt zugeordnet. |
obj.id |
entity.metadata.product_entity_id | Das Feld „id“ im Rohlog wird dem Feld „product_entity_id“ im UDM-Entitätsobjekt zugeordnet. |
obj.ip |
entity.entity.ip | Das Feld „ip“ im Rohlog wird mit dem Feld „ip“ im UDM-Entitätsobjekt zusammengeführt. |
obj.ip |
ioc.ip_and_ports.ip_address | Das Feld „ip“ im Rohlog wird dem Feld „ip_address“ im UDM-IOC-Objekt zugeordnet. |
obj.itype |
ioc.categorization | Das Feld „itype“ im Rohlog wird dem Feld „categorization“ im UDM-IOC-Objekt zugeordnet. |
obj.itype |
entity.metadata.threat.category_details | Das Feld „itype“ im Rohlog wird mit dem Feld „category_details“ im UDM-Bedrohungsobjekt zusammengeführt. |
obj.latitude |
entity.entity.location.region_latitude | Das Feld „latitude“ im Rohlog wird dem Feld „region_latitude“ im UDM-Entitätsobjekt zugeordnet. |
obj.longitude |
entity.entity.location.region_longitude | Das Längengradfeld im Rohlog wird dem Feld „region_longitude“ im UDM-Entitätsobjekt zugeordnet. |
obj.meta.detail2 |
ioc.description | Das Feld „detail2“ im Rohlog wird dem Feld „description“ im UDM-IOC-Objekt zugeordnet. |
obj.meta.detail2 |
entity.metadata.threat.description | Das Feld „detail2“ im Rohlog wird dem Feld „description“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.meta.severity |
ioc.raw_severity | Das Feld „severity“ im Rohlog wird dem Feld „raw_severity“ im UDM-IOC-Objekt zugeordnet. |
obj.meta.severity |
entity.metadata.threat.severity | Das Feld „severity“ im Rohlog wird dem Feld „severity“ im UDM-Bedrohungsobjekt zugeordnet. Wenn der Schweregrad „very-high“ ist, wird er „CRITICAL“ zugeordnet. |
obj.meta.severity |
entity.metadata.threat.severity_details | Das Feld „severity“ im Rohlog wird dem Feld „severity_details“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.modified_ts |
entity.metadata.threat.last_updated_time | Das Feld „modified_ts“ im Rohlog wird dem Feld „last_updated_time“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.org |
entity.entity.administrative_domain | Das Feld „org“ im Rohlog wird dem Feld „administrative_domain“ im UDM-Entitätsobjekt zugeordnet. |
obj.resource_uri |
entity.metadata.threat.url_back_to_product | Das Feld „resource_uri“ im Rohlog wird dem Feld „url_back_to_product“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.retina_confidence |
entity.metadata.threat.confidence_score | Das Feld „retina_confidence“ im Rohlog wird dem Feld „confidence_score“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.source |
ioc.feed_name | Das Quellfeld im Rohlog wird dem Feld „feed_name“ im UDM-IOC-Objekt zugeordnet. |
obj.source |
entity.metadata.threat.threat_name | Das Quellfeld im Rohlog wird dem Feld „threat_name“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.status |
entity.metadata.threat.threat_status | Das Statusfeld im Rohlog wird dem Feld „threat_status“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.subtype |
entity.entity.file.sha1 | Das Feld „subtype“ im Rohlog wird dem Feld „sha1“ im UDM-Entitätsobjekt zugeordnet, wenn der Untertyp „SHA1“ ist. |
obj.subtype |
entity.entity.file.sha256 | Das Feld „subtype“ im Rohlog wird dem Feld „sha256“ im UDM-Entitätsobjekt zugeordnet, wenn der Untertyp „SHA256“ ist. |
obj.tags |
entity.metadata.source_labels | Das Feld „tags“ im Rohlog wird dem Feld „source_labels“ im UDM-Entitätsobjekt zugeordnet. |
obj.tags.id |
entity.metadata.source_labels | Das Feld „id“ im Array „tags“ des Rohlogs wird dem Feld „source_labels“ im UDM-Entitätsobjekt zugeordnet. |
obj.tags.name |
entity.metadata.source_labels | Das Feld „name“ im Tag-Array des Rohlogs wird dem Feld „source_labels“ im UDM-Entitätsobjekt zugeordnet. |
obj.threatscore |
entity.metadata.threat.risk_score | Das Feld „threatscore“ im Rohlog wird dem Feld „risk_score“ im UDM-Bedrohungsobjekt zugeordnet. |
obj.threat_type |
entity.metadata.threat.detection_fields | Das Feld „threat_type“ im Rohlog wird dem Feld „detection_fields“ im UDM-Bedrohungs-Objekt zugeordnet. |
obj.type |
entity.entity.file.md5 | Das Feld „type“ im Rohlog wird dem Feld „md5“ im UDM-Entitätsobjekt zugeordnet, wenn der Typ „md5“ ist. |
obj.type |
entity.entity.hostname | Das Feld „type“ im Rohlog wird dem Feld „hostname“ im UDM-Entitätsobjekt zugeordnet, wenn der Typ „domain“ ist. |
obj.type |
entity.entity.ip | Das Feld „type“ im Rohlog wird mit dem Feld „ip“ im UDM-Entitätsobjekt zusammengeführt, wenn der Typ „ip“ oder „ipv6“ ist. |
obj.type |
entity.entity.url | Das Feld „type“ im Rohlog wird dem Feld „url“ im UDM-Entitätsobjekt zugeordnet, wenn der Typ „url“ oder „string“ ist. |
obj.type |
entity.entity.user.email_addresses | Das Feld „type“ im Rohlog wird mit dem Feld „email_addresses“ im UDM-Entitätsobjekt zusammengeführt, wenn der Typ „email“ ist. |
obj.type |
entity.metadata.entity_type | Das Feld „type“ im Rohlog wird dem Feld „entity_type“ im UDM-Entitätsobjekt zugeordnet. Wenn der Typ „ip“ oder „ipv6“ ist, wird er „IP_ADDRESS“ zugeordnet. Wenn der Typ „domain“ ist, wird er „DOMAIN_NAME“ zugeordnet. Wenn der Typ „md5“ ist oder das Feld „itype“ „md5“ enthält, wird er „FILE“ zugeordnet. Wenn der Typ „url“ oder „string“ ist, wird er „URL“ zugeordnet. Wenn der Typ „E-Mail“ ist, wird er „USER“ zugeordnet. Andernfalls wird sie „UNKNOWN_ENTITYTYPE“ zugeordnet. |
obj.uuid |
entity.additional.fields | Das Feld „uuid“ im Rohlog wird dem Feld „fields“ im UDM-Entitätsobjekt zugeordnet. |
obj.value |
entity.entity.ip | Das Wertfeld im Rohlog wird mit dem IP-Feld im UDM-Entitätsobjekt zusammengeführt, wenn das Typfeld „ip“ ist und das IP-Feld leer ist. |
obj.value |
entity.entity.ip | Das Feld „value“ im Rohlog wird mit dem Feld „ip“ im UDM-Entitätsobjekt zusammengeführt, wenn das Feld „ip_field_not_exists“ „true“ ist und das Feld „value“ eine IP-Adresse enthält. |
obj.value |
entity.entity.url | Das Feld „value“ im Rohlog wird dem Feld „url“ im UDM-Entitätsobjekt zugeordnet, wenn das Feld „type“ „url“ oder „string“ ist. |
obj.value |
ioc.domain_and_ports.domain | Das Wertfeld im Rohlog wird dem Domainfeld im UDM-IOC-Objekt zugeordnet, wenn das Typfeld nicht „ip“ ist. |
obj.value |
ioc.ip_and_ports.ip_address | Das Feld „value“ im Rohlog wird dem Feld „ip_address“ im UDM-IOC-Objekt zugeordnet, wenn das Feld „type“ den Wert „ip“ hat und das Feld „ip“ leer ist. |
cn1 |
ioc.confidence_score | Das Feld „cn1“ im Rohlog wird dem Feld „confidence_score“ im UDM-IOC-Objekt zugeordnet. |
cn2 |
entity.metadata.threat.rule_id | Das Feld „cn2“ im Rohlog wird dem Feld „rule_id“ im UDM-Bedrohungs-Objekt zugeordnet. |
cs1 |
ioc.raw_severity | Das Feld „cs1“ im Rohlog wird dem Feld „raw_severity“ im UDM-IOC-Objekt zugeordnet. |
cs2 |
entity.metadata.threat.threat_name | Das Feld „cs2“ im Rohlog wird dem Feld „threat_name“ im UDM-Bedrohungsobjekt zugeordnet. |
cs3 |
entity.metadata.threat.threat_status | Das Feld „cs3“ im Rohlog wird dem Feld „threat_status“ im UDM-Bedrohungsobjekt zugeordnet. Wenn das Feld „cs3“ „active“ ist, wird es „ACTIVE“ zugeordnet. Wenn das Feld „cs3“ „cleared“ ist, wird es „CLEARED“ zugeordnet. Wenn das cs3-Feld „falsePositive“ oder „falsepos“ lautet, wird es „FALSE_POSITIVE“ zugeordnet. Wenn das Feld „cs3“ den Wert „threat_status_unspecified“ hat, wird es „THREAT_STATUS_UNSPECIFIED“ zugeordnet. |
cs4 |
entity.entity.administrative_domain | Das Feld „cs4“ im Rohlog wird dem Feld „administrative_domain“ im UDM-Entitätsobjekt zugeordnet. |
cs5 |
ioc.description | Das Feld „cs5“ im Rohlog wird dem Feld „description“ im UDM-IOC-Objekt zugeordnet. |
cs5 |
entity.metadata.threat.detection_fields | Das Feld „cs5“ im Rohlog wird dem Feld „detection_fields“ im UDM-Bedrohungs-Objekt zugeordnet. |
cs5 |
entity.metadata.threat.description | Das Feld „cs5“ im Rohlog wird dem Feld „description“ im UDM-Bedrohungsobjekt zugeordnet. |
cs6 |
entity.metadata.threat.category_details | Das Feld „cs6“ im Rohlog wird mit dem Feld „category_details“ im UDM-Bedrohungsobjekt zusammengeführt. |
device_product |
entity.metadata.product_name | Das Feld „device_product“ im Rohlog wird dem Feld „product_name“ im UDM-Entitätsobjekt zugeordnet. |
device_vendor |
entity.metadata.vendor_name | Das Feld „device_vendor“ im Rohlog wird dem Feld „vendor_name“ im UDM-Entitätsobjekt zugeordnet. |
device_version |
entity.metadata.product_version | Das Feld „device_version“ im Rohlog wird dem Feld „product_version“ im UDM-Entitätsobjekt zugeordnet. |
msg |
entity.metadata.threat.summary | Das Feld „msg“ im Rohlog wird dem Feld „summary“ im UDM-Bedrohungsobjekt zugeordnet. |
shost |
entity.entity.hostname | Das Feld „shost“ im Rohlog wird dem Feld „hostname“ im UDM-Entitätsobjekt zugeordnet. |
shost |
entity.entity.url | Das Feld „shost“ im Rohlog wird dem Feld „url“ im UDM-Entitätsobjekt zugeordnet. |
shost |
ioc.domain_and_ports.domain | Das Feld „shost“ im Rohlog wird dem Feld „domain“ im UDM-IOC-Objekt zugeordnet. |
src |
entity.entity.ip | Das Feld „src“ im Rohlog wird mit dem Feld „ip“ im UDM-Entitätsobjekt zusammengeführt. |
src |
ioc.ip_and_ports.ip_address | Das Feld „src“ im Rohlog wird dem Feld „ip_address“ im UDM-IOC-Objekt zugeordnet. |
entity.metadata.threat.confidence | HIGH_CONFIDENCE | Das Feld „confidence“ im UDM-Bedrohungsobjekt wird auf „HIGH_CONFIDENCE“ gesetzt, wenn das Feld „confidence_score“ größer oder gleich 75 ist. |
entity.metadata.threat.confidence | LOW_CONFIDENCE | Das Feld „confidence“ im UDM-Bedrohungsobjekt wird auf „LOW_CONFIDENCE“ gesetzt, wenn das Feld „confidence_score“ kleiner oder gleich 50 ist. |
entity.metadata.threat.confidence | MEDIUM_CONFIDENCE | Das Feld „confidence“ im UDM-Bedrohungsobjekt wird auf „MEDIUM_CONFIDENCE“ gesetzt, wenn das Feld „confidence_score“ größer als 50 und kleiner oder gleich 74 ist. |
entity.metadata.threat.confidence | UNKNOWN_CONFIDENCE | Das Feld „confidence“ im UDM-Bedrohungsobjekt wird auf „UNKNOWN_CONFIDENCE“ gesetzt, wenn das Feld „confidence_score“ keine gültige Ganzzahl ist. |
entity.metadata.vendor_name | ANOMALI_IOC | Das Feld „vendor_name“ im UDM-Entitätsobjekt ist auf „ANOMALI_IOC“ festgelegt. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten