Recopilar registros de IOC de Recorded Future

Disponible en:

En este documento se explica cómo ingerir registros de IOC de Recorded Future en Google Security Operations mediante una API. El analizador transforma los datos en formato JSON en un modelo de datos unificado (UDM). Extrae los detalles de los IOCs, los asigna a los campos de UDM, clasifica las amenazas según su gravedad y enriquece los datos con marcas de tiempo e información del proveedor.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Acceso privilegiado a una cuenta de Enterprise de Recorded Future

Obtener el token de la API de Recorded Future

  1. Inicia sesión en Recorded Future.
  2. Haz clic en tu avatar, situado en la esquina superior derecha, y selecciona Configuración de usuario.
  3. En el menú de navegación, haz clic en Acceso a la API.
  4. Haz clic en Generar nuevo token de API.
  5. Copia la cadena larga que aparece (por ejemplo, RF-1234567890abcdef...).
    • Puedes crear más de una clave. Proporciona un nombre descriptivo, como Google SecOps.
  6. Copia y guarda el token en un lugar seguro. El token de API no se vuelve a mostrar.

Configurar feeds

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en + Añadir nuevo feed.
  3. En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Recorded Future IOC).
  4. Seleccione API de terceros como Tipo de fuente.
  5. Seleccione el tipo de registro Recorded Future.
  6. Haz clic en Siguiente.
  7. Especifique valores para los siguientes parámetros de entrada:
    • Encabezado HTTP de autenticación
      • X-RFToken:<your-api_key>
      • Sustituye <your-api_key> por la clave que has copiado en el paso anterior.
    • Espacio de nombres de recursos: el espacio de nombres de recursos.
    • Etiquetas de ingestión: la etiqueta aplicada a los eventos de este feed.
  8. Haz clic en Siguiente.
  9. Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Details.EvidenceDetails.Criticality
Details.EvidenceDetails.CriticalityLabel
Details.EvidenceDetails.EvidenceString ioc.description El valor del campo "EvidenceString" se asigna a este campo.
Details.EvidenceDetails.EvidenceString entity.metadata.threat.description El valor del campo "EvidenceString" se asigna a este campo.
Details.EvidenceDetails.MitigationString
Details.EvidenceDetails.Rule ioc.categorization El valor del campo "Rule" se asigna a este campo.
Details.EvidenceDetails.Rule entity.metadata.threat.rule_name El valor del campo "Rule" se asigna a este campo.
Details.EvidenceDetails.Timestamp
Riesgo ioc.confidence_score El valor del campo "Riesgo" se convierte en una cadena y se asigna a este campo.
Riesgo entity.metadata.threat.severity_details El valor del campo "Riesgo" se concatena con la cadena "Riesgo - " y se asigna a este campo.
Valor entity.entity.hostname Si el campo "Value" es un nombre de dominio, se asigna a este campo.
Valor ioc.domain_and_ports.domain Si el campo "Value" es un nombre de dominio, se asigna a este campo.
Valor ioc.ip_and_ports.ip_address Si el campo "Value" es una dirección IP, se asigna a este campo.
entity.entity.ip El valor del campo "Value" se analiza como una dirección IP y se asigna a este campo.
ioc.feed_name El valor "Recorded Future IOC" se asigna a este campo.
ioc.raw_severity El valor se genera concatenando el campo "Riesgo" con el campo "CriticalityLabel", separados por dos puntos.
entity.metadata.collected_timestamp El valor del campo "Details.EvidenceDetails.Timestamp" se analiza como una marca de tiempo ISO8601 y se asigna a este campo.
entity.metadata.entity_type El valor es "DOMAIN_NAME" si el campo "Value" es un nombre de dominio, y "IP_ADDRESS" si es una dirección IP.
entity.metadata.interval.end_time El valor "253402300799" (que representa el valor de marca de tiempo máximo) se asigna a este campo.
entity.metadata.interval.start_time El valor del campo "Details.EvidenceDetails.Timestamp" se analiza como una marca de tiempo ISO8601 y se asigna a este campo.
entity.metadata.threat.category El valor se determina en función del campo "CriticalityLabel": "Malicious" se asigna a "SOFTWARE_MALICIOUS", "Suspicious" se asigna a "SOFTWARE_SUSPICIOUS" y cualquier otro valor se asigna a "UNKNOWN_CATEGORY".
entity.metadata.threat.category_details El valor se genera concatenando las cadenas "Criticality - ", "Criticality", ":" y "CriticalityLabel" con los valores correspondientes de los datos de entrada.
entity.metadata.threat.severity El valor se determina en función del campo "CriticalityLabel": "Malicious" se asigna a "HIGH", "Suspicious" se asigna a "MEDIUM" y cualquier otro valor se asigna a "LOW".
entity.metadata.threat.threat_feed_name El valor "Recorded Future IOC" se asigna a este campo.
entity.metadata.vendor_name El valor "RECORDED_FUTURE_IOC" se asigna a este campo.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.