Raccogliere i log IOC di Anomali ThreatStream

Supportato in:

Questo documento spiega come importare i log IOC di Anomali ThreatStream in Google Security Operations utilizzando un'API. Il parser trasforma i dati IOC dal formato JSON o CEF in un modello UDM (Unified Data Model). Il codice tenta innanzitutto di analizzare l'input come JSON e, se non riesce, verifica la presenza del prefisso "CEF:" per elaborarlo come messaggio CEF, estraendo gli attributi IOC e mappandoli nei campi UDM.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Accesso con privilegi a un tenant aziendale Anomali ThreatStream

Crea un utente API dedicato

  1. Accedi a ThreatStream. Passa alla UI classica se utilizzi Anomali Enterprise.
  2. Vai ad Amministrazione > Utenti.
  3. Fai clic su + Aggiungi utente (o seleziona un account di servizio esistente).
  4. Completa i seguenti dettagli:
    • Email: l'indirizzo email del service account (ad esempio, anomali_ioc_secops@example.com).
    • Auth Source (Origine autenticazione): seleziona Standard.
    • Tipo di utente: seleziona Utente API.
    • Ruolo: seleziona Sola lettura (sufficiente per elencare gli indicatori).
  5. Fai clic su Salva.
  6. Al nuovo account viene inviata un'email di attivazione. Completa l'attivazione.

Genera chiave API

  1. Accedi a ThreatStream come utente API.
  2. Vai all'avatar del profilo > Le mie chiavi API.
  3. Fai clic su Genera nuova chiave.
  4. Inserisci una Descrizione (ad esempio,Google SecOps export).
  5. Fai clic su Salva.
  6. Copia e salva il valore della chiave visualizzato nella sezione Chiave in una posizione sicura. Il valore della chiave non viene più visualizzato.
  1. Vai ad Amministrazione > Impostazioni organizzazione.
  2. Seleziona la scheda Lista consentita di indirizzi IP.
  3. Fai clic su + Aggiungi.
  4. Inserisci l'indirizzo del tuo tenant Google SecOps e fai clic su Salva.

Configurare i feed

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Anomali TS IOC).
  4. Seleziona API di terze parti come Tipo di origine.
  5. Seleziona il tipo di log Anomali.
  6. Fai clic su Avanti.
  7. Specifica i valori per i seguenti parametri di input:
    • Nome utente: inserisci l'utente API appena creato.
    • Secret: inserisci la chiave API generata e copiata in precedenza.
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  8. Fai clic su Avanti.
  9. Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
obj.asn entity.administrative_domain Il campo asn nel log non elaborato viene mappato al campo administrative_domain nell'oggetto entità UDM.
obj.confidence ioc.confidence_score Il campo confidence nel log non elaborato viene mappato al campo confidence_score nell'oggetto UDM ioc.
obj.country entity.location.country_or_region Il campo paese nel log non elaborato viene mappato al campo country_or_region nell'oggetto entità UDM.
obj.created_ts entity.metadata.creation_timestamp Il campo created_ts nel log non elaborato viene mappato al campo creation_timestamp nell'oggetto entità UDM.
obj.created_ts ioc.active_timerange.start Il campo created_ts nel log non elaborato viene mappato al campo start nell'oggetto UDM ioc.
obj.created_ts entity.metadata.threat.first_discovered_time Il campo created_ts nel log non elaborato viene mappato al campo first_discovered_time nell'oggetto minaccia UDM.
obj.expiration_ts entity.metadata.interval.end_time Il campo expiration_ts nel log non elaborato è mappato al campo end_time nell'oggetto entità UDM.
obj.expiration_ts ioc.active_timerange.end Il campo expiration_ts nel log non elaborato è mappato al campo end nell'oggetto UDM ioc.
obj.id entity.metadata.product_entity_id Il campo id nel log non elaborato viene mappato al campo product_entity_id nell'oggetto entità UDM.
obj.ip entity.entity.ip Il campo ip nel log non elaborato viene unito al campo ip nell'oggetto entità UDM.
obj.ip ioc.ip_and_ports.ip_address Il campo ip nel log non elaborato è mappato al campo ip_address nell'oggetto UDM ioc.
obj.itype ioc.categorization Il campo itype nel log non elaborato è mappato al campo di classificazione nell'oggetto UDM ioc.
obj.itype entity.metadata.threat.category_details Il campo itype nel log non elaborato viene unito al campo category_details nell'oggetto minaccia UDM.
obj.latitude entity.entity.location.region_latitude Il campo della latitudine nel log non elaborato viene mappato al campo region_latitude nell'oggetto entità UDM.
obj.longitude entity.entity.location.region_longitude Il campo della longitudine nel log non elaborato viene mappato al campo region_longitude nell'oggetto entità UDM.
obj.meta.detail2 ioc.description Il campo detail2 nel log non elaborato viene mappato al campo description nell'oggetto UDM ioc.
obj.meta.detail2 entity.metadata.threat.description Il campo detail2 nel log non elaborato viene mappato al campo della descrizione nell'oggetto minaccia UDM.
obj.meta.severity ioc.raw_severity Il campo gravità nel log non elaborato viene mappato al campo raw_severity nell'oggetto UDM ioc.
obj.meta.severity entity.metadata.threat.severity Il campo gravità nel log non elaborato viene mappato al campo gravità nell'oggetto minaccia UDM. Se la gravità è "molto alta", viene mappata su "CRITICA".
obj.meta.severity entity.metadata.threat.severity_details Il campo gravità nel log non elaborato viene mappato al campo severity_details nell'oggetto minaccia UDM.
obj.modified_ts entity.metadata.threat.last_updated_time Il campo modified_ts nel log non elaborato viene mappato al campo last_updated_time nell'oggetto minaccia UDM.
obj.org entity.entity.administrative_domain Il campo org nel log non elaborato viene mappato al campo administrative_domain nell'oggetto entità UDM.
obj.resource_uri entity.metadata.threat.url_back_to_product Il campo resource_uri nel log non elaborato viene mappato al campo url_back_to_product nell'oggetto minaccia UDM.
obj.retina_confidence entity.metadata.threat.confidence_score Il campo retina_confidence nel log non elaborato viene mappato al campo confidence_score nell'oggetto minaccia UDM.
obj.source ioc.feed_name Il campo di origine nel log non elaborato è mappato al campo feed_name nell'oggetto UDM ioc.
obj.source entity.metadata.threat.threat_name Il campo di origine nel log non elaborato viene mappato al campo threat_name nell'oggetto minaccia UDM.
obj.status entity.metadata.threat.threat_status Il campo di stato nel log non elaborato viene mappato al campo threat_status nell'oggetto minaccia UDM.
obj.subtype entity.entity.file.sha1 Il campo del sottotipo nel log non elaborato viene mappato al campo sha1 nell'oggetto entità UDM se il sottotipo è "SHA1".
obj.subtype entity.entity.file.sha256 Il campo subtype nel log non elaborato viene mappato al campo sha256 nell'oggetto entità UDM se il sottotipo è "SHA256".
obj.tags entity.metadata.source_labels Il campo dei tag nel log non elaborato è mappato al campo source_labels nell'oggetto entità UDM.
obj.tags.id entity.metadata.source_labels Il campo id nell'array di tag del log non elaborato viene mappato al campo source_labels nell'oggetto entità UDM.
obj.tags.name entity.metadata.source_labels Il campo name nell'array tags del log non elaborato viene mappato al campo source_labels nell'oggetto entità UDM.
obj.threatscore entity.metadata.threat.risk_score Il campo threatscore nel log non elaborato viene mappato al campo risk_score nell'oggetto minaccia UDM.
obj.threat_type entity.metadata.threat.detection_fields Il campo threat_type nel log non elaborato viene mappato al campo detection_fields nell'oggetto minaccia UDM.
obj.type entity.entity.file.md5 Il campo type nel log non elaborato viene mappato al campo md5 nell'oggetto entità UDM se il tipo è "md5".
obj.type entity.entity.hostname Se il tipo è "domain", il campo type nel log non elaborato viene mappato al campo hostname nell'oggetto entità UDM.
obj.type entity.entity.ip Il campo tipo nel log non elaborato viene unito al campo ip nell'oggetto entità UDM se il tipo è "ip" o "ipv6".
obj.type entity.entity.url Il campo tipo nel log non elaborato viene mappato al campo URL nell'oggetto entità UDM se il tipo è "url" o "stringa".
obj.type entity.entity.user.email_addresses Il campo type nel log non elaborato viene unito al campo email_addresses nell'oggetto entità UDM se il tipo è "email".
obj.type entity.metadata.entity_type Il campo type nel log non elaborato viene mappato al campo entity_type nell'oggetto entità UDM. Se il tipo è "ip" o "ipv6", viene mappato a "IP_ADDRESS". Se il tipo è "domain", viene mappato a "DOMAIN_NAME". Se il tipo è "md5" o il campo itype contiene "md5", viene mappato a "FILE". Se il tipo è "url" o "string", viene mappato a "URL". Se il tipo è "email", viene mappato a "USER". In caso contrario, viene mappato a "UNKNOWN_ENTITYTYPE".
obj.uuid entity.additional.fields Il campo uuid nel log non elaborato viene mappato al campo fields nell'oggetto entità UDM.
obj.value entity.entity.ip Il campo del valore nel log non elaborato viene unito al campo ip nell'oggetto entità UDM se il campo del tipo è "ip" e il campo ip è vuoto.
obj.value entity.entity.ip Il campo valore nel log non elaborato viene unito al campo ip nell'oggetto entità UDM se il campo ip_field_not_exists è true e il campo valore è un indirizzo IP.
obj.value entity.entity.url Il campo valore nel log non elaborato viene mappato al campo URL nell'oggetto entità UDM se il campo tipo è "url" o "stringa".
obj.value ioc.domain_and_ports.domain Il campo valore nel log non elaborato viene mappato al campo dominio nell'oggetto UDM ioc se il campo tipo non è "ip".
obj.value ioc.ip_and_ports.ip_address Il campo del valore nel log non elaborato viene mappato al campo ip_address nell'oggetto UDM ioc se il campo type è "ip" e il campo ip è vuoto.
cn1 ioc.confidence_score Il campo cn1 nel log non elaborato è mappato al campo confidence_score nell'oggetto UDM ioc.
cn2 entity.metadata.threat.rule_id Il campo cn2 nel log non elaborato è mappato al campo rule_id nell'oggetto minaccia UDM.
cs1 ioc.raw_severity Il campo cs1 nel log non elaborato è mappato al campo raw_severity nell'oggetto UDM ioc.
cs2 entity.metadata.threat.threat_name Il campo cs2 nel log non elaborato viene mappato al campo threat_name nell'oggetto minaccia UDM.
cs3 entity.metadata.threat.threat_status Il campo cs3 nel log non elaborato viene mappato al campo threat_status nell'oggetto minaccia UDM. Se il campo cs3 è "active", viene mappato su "ACTIVE". Se il campo cs3 è "cleared" (compensato), viene mappato su "CLEARED" (COMPENSATO). Se il campo cs3 è "falsePositive" o "falsepos", viene mappato su "FALSE_POSITIVE". Se il campo cs3 è "threat_status_unspecified", viene mappato a "THREAT_STATUS_UNSPECIFIED".
cs4 entity.entity.administrative_domain Il campo cs4 nel log non elaborato viene mappato al campo administrative_domain nell'oggetto entità UDM.
cs5 ioc.description Il campo cs5 nel log non elaborato viene mappato al campo della descrizione nell'oggetto UDM ioc.
cs5 entity.metadata.threat.detection_fields Il campo cs5 nel log non elaborato è mappato al campo detection_fields nell'oggetto minaccia UDM.
cs5 entity.metadata.threat.description Il campo cs5 nel log non elaborato viene mappato al campo della descrizione nell'oggetto minaccia UDM.
cs6 entity.metadata.threat.category_details Il campo cs6 nel log non elaborato viene unito al campo category_details nell'oggetto minaccia UDM.
device_product entity.metadata.product_name Il campo device_product nel log non elaborato viene mappato al campo product_name nell'oggetto entità UDM.
device_vendor entity.metadata.vendor_name Il campo device_vendor nel log non elaborato viene mappato al campo vendor_name nell'oggetto entità UDM.
device_version entity.metadata.product_version Il campo device_version nel log non elaborato viene mappato al campo product_version nell'oggetto entità UDM.
msg entity.metadata.threat.summary Il campo msg nel log non elaborato viene mappato al campo summary nell'oggetto minaccia UDM.
shost entity.entity.hostname Il campo shost nel log non elaborato viene mappato al campo hostname nell'oggetto entità UDM.
shost entity.entity.url Il campo shost nel log non elaborato è mappato al campo url nell'oggetto entità UDM.
shost ioc.domain_and_ports.domain Il campo shost nel log non elaborato è mappato al campo domain nell'oggetto UDM ioc.
src entity.entity.ip Il campo src nel log non elaborato viene unito al campo ip nell'oggetto entità UDM.
src ioc.ip_and_ports.ip_address Il campo src nel log non elaborato è mappato al campo ip_address nell'oggetto UDM ioc.
entity.metadata.threat.confidence HIGH_CONFIDENCE Il campo confidenza nell'oggetto minaccia UDM è impostato su "HIGH_CONFIDENCE" se il campo confidence_score è maggiore o uguale a 75.
entity.metadata.threat.confidence LOW_CONFIDENCE Il campo confidenza nell'oggetto minaccia UDM è impostato su "LOW_CONFIDENCE" se il campo confidence_score è minore o uguale a 50.
entity.metadata.threat.confidence MEDIUM_CONFIDENCE Il campo confidenza nell'oggetto minaccia UDM è impostato su "MEDIUM_CONFIDENCE" (confidenza media) se il campo confidence_score è maggiore di 50 e minore o uguale a 74.
entity.metadata.threat.confidence UNKNOWN_CONFIDENCE Il campo confidenza nell'oggetto minaccia UDM è impostato su "UNKNOWN_CONFIDENCE" se il campo confidence_score non è un numero intero valido.
entity.metadata.vendor_name ANOMALI_IOC Il campo vendor_name nell'oggetto entità UDM è impostato su "ANOMALI_IOC".

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.