Coletar registros de IOCs do Recorded Future

Compatível com:

Este documento explica como ingerir registros de IOC do Recorded Future no Google Security Operations usando uma API. O analisador transforma os dados no formato JSON em um modelo de dados unificado (UDM). Ele extrai detalhes de IOCs, mapeia para campos do UDM, categoriza ameaças com base na gravidade e enriquece os dados com carimbos de data/hora e informações do fornecedor.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps
  • Acesso privilegiado a uma conta Enterprise do Recorded Future

Adquirir o token da API do Recorded Future

  1. Faça login no Recorded Future.
  2. Clique no seu avatar no canto superior direito e selecione Configurações do usuário.
  3. No menu de navegação, clique em Acesso à API.
  4. Clique em Gerar novo token de API.
  5. Copie a string longa que aparece (por exemplo, RF-1234567890abcdef...).
    • É possível criar mais de uma chave. Dê um nome descritivo, como Google SecOps.
  6. Copie e salve o token em um local seguro. O token de API não é mostrado novamente.

Configurar feeds

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em + Adicionar novo feed.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Recorded Future IOC).
  4. Selecione API de terceiros como o Tipo de origem.
  5. Selecione o tipo de registro Recorded Future.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:
    • Cabeçalho HTTP de autenticação
      • X-RFToken:<your-api_key>
      • Substitua <your-api_key> pela chave real copiada na etapa anterior.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
  8. Clique em Próxima.
  9. Revise a configuração do feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
Details.EvidenceDetails.Criticality
Details.EvidenceDetails.CriticalityLabel
Details.EvidenceDetails.EvidenceString ioc.description O valor do campo "EvidenceString" é mapeado para este campo.
Details.EvidenceDetails.EvidenceString entity.metadata.threat.description O valor do campo "EvidenceString" é 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 em uma string e mapeado para esse campo.
Risco entity.metadata.threat.severity_details O valor do campo "Risco" é concatenado com a string "Risco - " e mapeado para esse campo.
Valor entity.entity.hostname Se o campo "Valor" for um nome de domínio, ele será mapeado para esse campo.
Valor ioc.domain_and_ports.domain Se o campo "Valor" for um nome de domínio, ele será mapeado para esse campo.
Valor ioc.ip_and_ports.ip_address Se o campo "Valor" for um endereço IP, ele será mapeado para este campo.
entity.entity.ip O valor do campo "Valor" é analisado como um endereço IP e mapeado para esse campo.
ioc.feed_name O valor "Recorded Future IOC" é atribuído a esse campo.
ioc.raw_severity O valor é gerado concatenando os campos "Risco" e "CriticalityLabel", separados por dois pontos.
entity.metadata.collected_timestamp O valor do campo "Details.EvidenceDetails.Timestamp" é analisado como um carimbo de data/hora ISO8601 e mapeado para esse campo.
entity.metadata.entity_type O valor é definido como "DOMAIN_NAME" se o campo "Value" 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 do carimbo de data/hora) é atribuído a esse campo.
entity.metadata.interval.start_time O valor do campo "Details.EvidenceDetails.Timestamp" é analisado como um carimbo de data/hora ISO8601 e mapeado para esse 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 esse campo.
entity.metadata.vendor_name O valor "RECORDED_FUTURE_IOC" é atribuído a esse campo.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.