Recolha registos de IOCs futuros gravados
Este documento explica como carregar registos de IOCs do Recorded Future para o Google Security Operations através de uma API. O analisador transforma os dados no formato JSON num modelo de dados unificado (UDM). Extrai detalhes de IOCs, mapeia-os para campos UDM, categoriza ameaças com base na criticidade e enriquece os dados com datas/horas e informações do fornecedor.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Acesso privilegiado a uma conta Enterprise do Recorded Future
Adquira o token da API Recorded Future
- Inicie sessão no Recorded Future.
- Clique no seu avatar no canto superior direito e selecione Definições do utilizador.
- No menu de navegação, clique em Acesso à API.
- Clique em Gerar nova chave de API.
- Copie a string longa apresentada (por exemplo,
RF-1234567890abcdef...
).- Pode criar mais do que uma chave; indique um nome descritivo, como Google SecOps.
- Copie e guarde o token num local seguro. O token de API não é apresentado novamente.
Configure feeds
- Aceda a Definições do SIEM > Feeds.
- Clique em + Adicionar novo feed.
- No campo Nome do feed, introduza um nome para o feed (por exemplo,
Recorded Future IOC
). - Selecione API de terceiros como o Tipo de origem.
- Selecione o tipo de registo Recorded Future.
- Clicar em Seguinte.
- Especifique valores para os seguintes parâmetros de entrada:
- Cabeçalho HTTP de autenticação
X-RFToken:<your-api_key>
- Certifique-se de que substitui
<your-api_key>
pela chave real copiada no passo anterior.
- Espaço de nomes do recurso: o espaço de nomes do recurso.
- Etiquetas de carregamento: a etiqueta aplicada aos eventos deste feed.
- Cabeçalho HTTP de autenticação
- Clicar em Seguinte.
- Reveja a configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
Details.EvidenceDetails.Criticality | ||
Details.EvidenceDetails.CriticalityLabel | ||
Details.EvidenceDetails.EvidenceString | ioc.description | O valor do campo "EvidenceString" está mapeado para este campo. |
Details.EvidenceDetails.EvidenceString | entity.metadata.threat.description | O valor do campo "EvidenceString" está mapeado para este campo. |
Details.EvidenceDetails.MitigationString | ||
Details.EvidenceDetails.Rule | ioc.categorization | O valor do campo "Regra" é mapeado para este campo. |
Details.EvidenceDetails.Rule | entity.metadata.threat.rule_name | O valor do campo "Regra" é mapeado para este campo. |
Details.EvidenceDetails.Timestamp | ||
Risco | ioc.confidence_score | O valor do campo "Risco" é convertido numa string e mapeado para este campo. |
Risco | entity.metadata.threat.severity_details | O valor do campo "Risco" é concatenado com a string "Risco – " e mapeado para este campo. |
Valor | entity.entity.hostname | Se o campo "Valor" for um nome de domínio, é mapeado para este campo. |
Valor | ioc.domain_and_ports.domain | Se o campo "Valor" for um nome de domínio, é mapeado para este campo. |
Valor | ioc.ip_and_ports.ip_address | Se o campo "Valor" for um endereço IP, é mapeado para este campo. |
entity.entity.ip | O valor do campo "Valor" é analisado como um endereço IP e mapeado para este campo. | |
ioc.feed_name | O valor "Recorded Future IOC" é atribuído a este campo. | |
ioc.raw_severity | O valor é gerado concatenando o campo "Risco" com o campo "CriticalityLabel", separados por dois pontos. | |
entity.metadata.collected_timestamp | O valor do campo "Details.EvidenceDetails.Timestamp" é analisado como uma indicação de tempo ISO8601 e mapeado para este campo. | |
entity.metadata.entity_type | O valor é definido como "DOMAIN_NAME" se o campo "Valor" for um nome de domínio e "IP_ADDRESS" se for um endereço IP. | |
entity.metadata.interval.end_time | O valor "253402300799" (que representa o valor máximo da data/hora) é atribuído a este campo. | |
entity.metadata.interval.start_time | O valor do campo "Details.EvidenceDetails.Timestamp" é analisado como uma indicação de tempo ISO8601 e mapeado para este campo. | |
entity.metadata.threat.category | O valor é determinado com base no campo "CriticalityLabel": "Malicious" é mapeado para "SOFTWARE_MALICIOUS", "Suspicious" é mapeado para "SOFTWARE_SUSPICIOUS" e qualquer outro valor é mapeado para "UNKNOWN_CATEGORY". | |
entity.metadata.threat.category_details | O valor é gerado concatenando as strings "Criticality - ", "Criticality", ":" e "CriticalityLabel", com os valores correspondentes dos dados de entrada. | |
entity.metadata.threat.severity | O valor é determinado com base no campo "CriticalityLabel": "Malicious" é mapeado para "HIGH", "Suspicious" é mapeado para "MEDIUM" e qualquer outro valor é mapeado para "LOW". | |
entity.metadata.threat.threat_feed_name | O valor "Recorded Future IOC" é atribuído a este campo. | |
entity.metadata.vendor_name | O valor "RECORDED_FUTURE_IOC" é atribuído a este campo. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.