Raccogliere i log IOC di Recorded Future
Questo documento spiega come importare i log IOC di Recorded Future in Google Security Operations utilizzando un'API. Il parser trasforma i dati in formato JSON in un modello UDM (Unified Data Model). Estrae i dettagli degli IOC, li mappa nei campi UDM, classifica le minacce in base alla criticità e arricchisce i dati con timestamp e informazioni sul fornitore.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Accesso privilegiato a un account Enterprise Recorded Future
Acquisire il token API di Recorded Future
- Accedi a Recorded Future.
- Fai clic sul tuo avatar nell'angolo in alto a destra e seleziona Impostazioni utente.
- Nel menu di navigazione, fai clic su Accesso API.
- Fai clic su Genera nuovo token API.
- Copia la lunga stringa visualizzata (ad esempio
RF-1234567890abcdef...
).- Puoi creare più di una chiave. Fornisci un nome descrittivo, ad esempio Google SecOps.
- Copia e salva il token in un luogo sicuro. Il token API non viene visualizzato di nuovo.
Configurare i feed
- Vai a Impostazioni SIEM > Feed.
- Fai clic su + Aggiungi nuovo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Recorded Future IOC
). - Seleziona API di terze parti come Tipo di origine.
- Seleziona il tipo di log Recorded Future.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Intestazione HTTP di autenticazione
X-RFToken:<your-api_key>
- Assicurati di sostituire
<your-api_key>
con la chiave effettiva copiata nel passaggio precedente.
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- Intestazione HTTP di autenticazione
- Fai clic su Avanti.
- Rivedi la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
Details.EvidenceDetails.Criticality | ||
Details.EvidenceDetails.CriticalityLabel | ||
Details.EvidenceDetails.EvidenceString | ioc.description | Il valore del campo "EvidenceString" è mappato a questo campo. |
Details.EvidenceDetails.EvidenceString | entity.metadata.threat.description | Il valore del campo "EvidenceString" è mappato a questo campo. |
Details.EvidenceDetails.MitigationString | ||
Details.EvidenceDetails.Rule | ioc.categorization | Il valore del campo "Regola" viene mappato a questo campo. |
Details.EvidenceDetails.Rule | entity.metadata.threat.rule_name | Il valore del campo "Regola" viene mappato a questo campo. |
Details.EvidenceDetails.Timestamp | ||
Rischio | ioc.confidence_score | Il valore del campo "Rischio" viene convertito in una stringa e mappato a questo campo. |
Rischio | entity.metadata.threat.severity_details | Il valore del campo "Rischio" viene concatenato alla stringa "Rischio - " e mappato a questo campo. |
Valore | entity.entity.hostname | Se il campo "Valore" è un nome di dominio, viene mappato a questo campo. |
Valore | ioc.domain_and_ports.domain | Se il campo "Valore" è un nome di dominio, viene mappato a questo campo. |
Valore | ioc.ip_and_ports.ip_address | Se il campo "Valore" è un indirizzo IP, viene mappato a questo campo. |
entity.entity.ip | Il valore del campo "Valore" viene analizzato come indirizzo IP e mappato a questo campo. | |
ioc.feed_name | A questo campo viene assegnato il valore "Recorded Future IOC". | |
ioc.raw_severity | Il valore viene generato concatenando il campo "Rischio" con il campo "Etichetta di criticità", separati da due punti. | |
entity.metadata.collected_timestamp | Il valore del campo "Details.EvidenceDetails.Timestamp" viene analizzato come timestamp ISO8601 e mappato a questo campo. | |
entity.metadata.entity_type | Il valore è impostato su "DOMAIN_NAME" se il campo "Value" (Valore) è un nome di dominio e su "IP_ADDRESS" se è un indirizzo IP. | |
entity.metadata.interval.end_time | A questo campo viene assegnato il valore "253402300799", che rappresenta il valore massimo del timestamp. | |
entity.metadata.interval.start_time | Il valore del campo "Details.EvidenceDetails.Timestamp" viene analizzato come timestamp ISO8601 e mappato a questo campo. | |
entity.metadata.threat.category | Il valore viene determinato in base al campo "CriticalityLabel": "Malicious" viene mappato a "SOFTWARE_MALICIOUS", "Suspicious" viene mappato a "SOFTWARE_SUSPICIOUS" e qualsiasi altro valore viene mappato a "UNKNOWN_CATEGORY". | |
entity.metadata.threat.category_details | Il valore viene generato concatenando le stringhe "Criticality - ", "Criticality", ":" e "CriticalityLabel" con i valori corrispondenti dei dati di input. | |
entity.metadata.threat.severity | Il valore viene determinato in base al campo "CriticalityLabel": "Malicious" corrisponde a "HIGH", "Suspicious" corrisponde a "MEDIUM" e qualsiasi altro valore corrisponde a "LOW". | |
entity.metadata.threat.threat_feed_name | A questo campo viene assegnato il valore "Recorded Future IOC". | |
entity.metadata.vendor_name | A questo campo viene assegnato il valore "RECORDED_FUTURE_IOC". |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.