Recopila registros de IOC de Recorded Future
En este documento, se explica cómo transferir registros de IOC de Recorded Future a las Operaciones de seguridad de Google con una API. El analizador transforma los datos en formato JSON en un modelo de datos unificado (UDM). Extrae detalles de los IOC, los asigna a campos de UDM, categoriza las amenazas según su gravedad y enriquece los datos con marcas de tiempo e información del proveedor.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Acceso privilegiado a una cuenta de Enterprise de Recorded Future
Cómo adquirir el token de la API de Recorded Future
- Accede a Recorded Future.
- Haz clic en tu avatar en la esquina superior derecha y selecciona Configuración del usuario.
- En el menú de navegación, haz clic en Acceso a la API.
- Haz clic en Generate New API Token.
- Copia la cadena larga que aparece (por ejemplo,
RF-1234567890abcdef...
).- Puedes crear más de una clave. Proporciona un nombre descriptivo, como Google SecOps.
- Copia y guarda el token en una ubicación segura. El token de API no se volverá a mostrar.
Configura feeds
- Ve a SIEM Settings > Feeds.
- Haz clic en + Agregar feed nuevo.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
Recorded Future IOC
). - Selecciona API de terceros como el Tipo de origen.
- Selecciona el tipo de registro Recorded Future.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Encabezado HTTP de autenticación
X-RFToken:<your-api_key>
- Asegúrate de reemplazar
<your-api_key>
por la clave real que copiaste en el paso anterior.
- Espacio de nombres del recurso: Es el espacio de nombres del recurso.
- Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
- Encabezado HTTP de autenticación
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz 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 "Valor" es un nombre de dominio, se asigna a este campo. |
Valor | ioc.domain_and_ports.domain | Si el campo "Valor" 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 "IOC de Recorded Future" 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 se establece en "DOMAIN_NAME" si el campo "Value" es un nombre de dominio y en "IP_ADDRESS" si es una dirección IP. | |
entity.metadata.interval.end_time | El valor "253402300799" (que representa el valor máximo de la marca de tiempo) 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 según el 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 según el 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 "IOC de Recorded Future" se asigna a este campo. | |
entity.metadata.vendor_name | El valor "RECORDED_FUTURE_IOC" se asigna a este campo. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.