Recopila registros de IOC de Anomali ThreatStream

Compatible con:

En este documento, se explica cómo transferir registros de IOC de Anomali ThreatStream a Google Security Operations a través de una API. El analizador transforma los datos de los IOC del formato JSON o CEF en un modelo de datos unificado (UDM). Primero, el código intenta analizar la entrada como JSON y, si no lo logra, busca el prefijo "CEF:" para procesarla como un mensaje CEF, extraer los atributos de IOC y asignarlos a los campos de UDM.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Acceso con privilegios a un arrendatario empresarial de Anomali ThreatStream

Crea un usuario de API exclusivo

  1. Accede a ThreatStream. Cambia a la IU clásica si usas Anomali Enterprise.
  2. Ve a Administración > Usuarios.
  3. Haz clic en + Agregar usuario (o selecciona una cuenta de servicio existente).
  4. Completa los siguientes detalles:
    • Correo electrónico: Dirección de correo electrónico de la cuenta de servicio (por ejemplo, anomali_ioc_secops@example.com)
    • Fuente de autenticación: Selecciona Estándar.
    • User Type: Selecciona API User.
    • Rol: Selecciona Solo lectura (suficiente para listar indicadores).
  5. Haz clic en Guardar.
  6. Se envía un correo electrónico de activación a la cuenta nueva. Completa la activación.

Genera una clave de API

  1. Accede a ThreatStream como el usuario de la API.
  2. Ve a avatar de perfil > Mis claves de API.
  3. Haz clic en Generar clave nueva.
  4. Ingresa una Descripción (por ejemplo,Google SecOps export).
  5. Haz clic en Guardar.
  6. Copia y guarda el valor de la clave que se muestra en Clave en una ubicación segura. El valor de la clave no se vuelve a mostrar.
  1. Ve a Administración > Configuración de la organización.
  2. Selecciona la pestaña Lista de IPs permitidas.
  3. Haz clic en + Agregar.
  4. Ingresa la dirección de tu arrendatario de Google SecOps y haz clic en Guardar.

Configura feeds

  1. Ve a SIEM Settings > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Anomali TS IOC).
  4. Selecciona API de terceros como el Tipo de origen.
  5. Selecciona el tipo de registro Anomali.
  6. Haz clic en Siguiente.
  7. Especifica valores para los siguientes parámetros de entrada:
    • Nombre de usuario: Ingresa el usuario de la API recién creado.
    • Secreto: Ingresa la clave de API generada que copiaste antes.
    • 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.
  8. Haz clic en Siguiente.
  9. 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
obj.asn entity.administrative_domain El campo asn en el registro sin procesar se asigna al campo administrative_domain en el objeto de entidad de UDM.
obj.confidence ioc.confidence_score El campo de confianza en el registro sin procesar se asigna al campo confidence_score en el objeto ioc de UDM.
obj.country entity.location.country_or_region El campo country del registro sin procesar se asigna al campo country_or_region del objeto de la entidad UDM.
obj.created_ts entity.metadata.creation_timestamp El campo created_ts en el registro sin procesar se asigna al campo creation_timestamp en el objeto de entidad de UDM.
obj.created_ts ioc.active_timerange.start El campo created_ts en el registro sin procesar se asigna al campo start en el objeto ioc de UDM.
obj.created_ts entity.metadata.threat.first_discovered_time El campo created_ts en el registro sin procesar se asigna al campo first_discovered_time en el objeto de amenaza de UDM.
obj.expiration_ts entity.metadata.interval.end_time El campo expiration_ts en el registro sin procesar se asigna al campo end_time en el objeto de entidad de UDM.
obj.expiration_ts ioc.active_timerange.end El campo expiration_ts del registro sin procesar se asigna al campo end del objeto ioc de UDM.
obj.id entity.metadata.product_entity_id El campo id del registro sin procesar se asigna al campo product_entity_id del objeto de entidad del UDM.
obj.ip entity.entity.ip El campo ip del registro sin procesar se combina con el campo ip del objeto de la entidad del UDM.
obj.ip ioc.ip_and_ports.ip_address El campo ip del registro sin procesar se asigna al campo ip_address del objeto ioc de UDM.
obj.itype ioc.categorization El campo itype del registro sin procesar se asigna al campo de categorización del objeto ioc de UDM.
obj.itype entity.metadata.threat.category_details El campo itype del registro sin procesar se combina con el campo category_details del objeto de amenaza del UDM.
obj.latitude entity.entity.location.region_latitude El campo de latitud en el registro sin procesar se asigna al campo region_latitude en el objeto de entidad del UDM.
obj.longitude entity.entity.location.region_longitude El campo de longitud del registro sin procesar se asigna al campo region_longitude del objeto de entidad del UDM.
obj.meta.detail2 ioc.description El campo detail2 del registro sin procesar se asigna al campo description del objeto IOC del UDM.
obj.meta.detail2 entity.metadata.threat.description El campo detail2 del registro sin procesar se asigna al campo description del objeto de amenaza del UDM.
obj.meta.severity ioc.raw_severity El campo de gravedad en el registro sin procesar se asigna al campo raw_severity en el objeto ioc de UDM.
obj.meta.severity entity.metadata.threat.severity El campo de gravedad del registro sin procesar se asigna al campo de gravedad del objeto de amenaza del UDM. Si la gravedad es "muy alta", se asigna a "CRÍTICA".
obj.meta.severity entity.metadata.threat.severity_details El campo de gravedad en el registro sin procesar se asigna al campo severity_details en el objeto de amenaza de UDM.
obj.modified_ts entity.metadata.threat.last_updated_time El campo modified_ts del registro sin procesar se asigna al campo last_updated_time del objeto de amenaza de UDM.
obj.org entity.entity.administrative_domain El campo org en el registro sin procesar se asigna al campo administrative_domain en el objeto de entidad de UDM.
obj.resource_uri entity.metadata.threat.url_back_to_product El campo resource_uri en el registro sin procesar se asigna al campo url_back_to_product en el objeto de amenaza del UDM.
obj.retina_confidence entity.metadata.threat.confidence_score El campo retina_confidence en el registro sin procesar se asigna al campo confidence_score en el objeto de amenaza de UDM.
obj.source ioc.feed_name El campo de origen en el registro sin procesar se asigna al campo feed_name en el objeto ioc de UDM.
obj.source entity.metadata.threat.threat_name El campo de origen en el registro sin procesar se asigna al campo threat_name en el objeto de amenaza de UDM.
obj.status entity.metadata.threat.threat_status El campo de estado del registro sin procesar se asigna al campo threat_status del objeto de amenaza de UDM.
obj.subtype entity.entity.file.sha1 El campo de subtipo en el registro sin procesar se asigna al campo sha1 en el objeto de entidad del UDM si el subtipo es "SHA1".
obj.subtype entity.entity.file.sha256 El campo de subtipo en el registro sin procesar se asigna al campo sha256 en el objeto de entidad del UDM si el subtipo es "SHA256".
obj.tags entity.metadata.source_labels El campo de etiquetas del registro sin procesar se asigna al campo source_labels del objeto de entidad de UDM.
obj.tags.id entity.metadata.source_labels El campo id del array de etiquetas del registro sin procesar se asigna al campo source_labels del objeto de entidad de UDM.
obj.tags.name entity.metadata.source_labels El campo name en el array de etiquetas del registro sin procesar se asigna al campo source_labels en el objeto de la entidad del UDM.
obj.threatscore entity.metadata.threat.risk_score El campo threatscore del registro sin procesar se asigna al campo risk_score del objeto de amenaza de UDM.
obj.threat_type entity.metadata.threat.detection_fields El campo threat_type en el registro sin procesar se asigna al campo detection_fields en el objeto de amenaza de UDM.
obj.type entity.entity.file.md5 El campo type del registro sin procesar se asigna al campo md5 del objeto de entidad del UDM si el tipo es "md5".
obj.type entity.entity.hostname El campo de tipo en el registro sin procesar se asigna al campo de nombre de host en el objeto de entidad del UDM si el tipo es "dominio".
obj.type entity.entity.ip El campo type del registro sin procesar se combina con el campo ip del objeto de entidad del UDM si el tipo es "ip" o "ipv6".
obj.type entity.entity.url El campo type del registro sin procesar se asigna al campo url del objeto de entidad del UDM si el tipo es "url" o "string".
obj.type entity.entity.user.email_addresses El campo de tipo en el registro sin procesar se combina con el campo email_addresses en el objeto de entidad del UDM si el tipo es "email".
obj.type entity.metadata.entity_type El campo type del registro sin procesar se asigna al campo entity_type del objeto de entidad del UDM. Si el tipo es "ip" o "ipv6", se asigna a "IP_ADDRESS". Si el tipo es "dominio", se asigna a "DOMAIN_NAME". Si el tipo es "md5" o el campo itype contiene "md5", se asigna a "FILE". Si el tipo es "url" o "cadena", se asigna a "URL". Si el tipo es "correo electrónico", se asigna a "USER". De lo contrario, se asigna a "UNKNOWN_ENTITYTYPE".
obj.uuid entity.additional.fields El campo uuid del registro sin procesar se asigna al campo fields del objeto de entidad de UDM.
obj.value entity.entity.ip El campo de valor en el registro sin procesar se combina con el campo de IP en el objeto de entidad del UDM si el campo de tipo es "ip" y el campo de IP está vacío.
obj.value entity.entity.ip El campo de valor en el registro sin procesar se combina con el campo ip en el objeto de entidad del UDM si el campo ip_field_not_exists es verdadero y el campo de valor es una dirección IP.
obj.value entity.entity.url El campo de valor en el registro sin procesar se asigna al campo de URL en el objeto de entidad del UDM si el campo de tipo es "url" o "string".
obj.value ioc.domain_and_ports.domain El campo de valor en el registro sin procesar se asigna al campo de dominio en el objeto IOC del UDM si el campo de tipo no es "ip".
obj.value ioc.ip_and_ports.ip_address El campo de valor en el registro sin procesar se asigna al campo ip_address en el objeto IOC del UDM si el campo de tipo es "ip" y el campo de IP está vacío.
cn1 ioc.confidence_score El campo cn1 en el registro sin procesar se asigna al campo confidence_score en el objeto ioc de UDM.
cn2 entity.metadata.threat.rule_id El campo cn2 en el registro sin procesar se asigna al campo rule_id en el objeto de amenaza de UDM.
cs1 ioc.raw_severity El campo cs1 en el registro sin procesar se asigna al campo raw_severity en el objeto ioc de UDM.
cs2 entity.metadata.threat.threat_name El campo cs2 en el registro sin procesar se asigna al campo threat_name en el objeto de amenaza de UDM.
cs3 entity.metadata.threat.threat_status El campo cs3 en el registro sin procesar se asigna al campo threat_status en el objeto de amenaza de UDM. Si el campo cs3 es "activo", se asigna a "ACTIVE". Si el campo cs3 está "borrado", se asigna a "CLEARED". Si el campo cs3 es "falsePositive" o "falsepos", se asigna a "FALSE_POSITIVE". Si el campo cs3 es "threat_status_unspecified", se asigna a "THREAT_STATUS_UNSPECIFIED".
cs4 entity.entity.administrative_domain El campo cs4 en el registro sin procesar se asigna al campo administrative_domain en el objeto de entidad de UDM.
cs5 ioc.description El campo cs5 del registro sin procesar se asigna al campo de descripción del objeto IOC del UDM.
cs5 entity.metadata.threat.detection_fields El campo cs5 del registro sin procesar se asigna al campo detection_fields del objeto de amenaza de UDM.
cs5 entity.metadata.threat.description El campo cs5 del registro sin procesar se asigna al campo de descripción del objeto de amenaza de UDM.
cs6 entity.metadata.threat.category_details El campo cs6 del registro sin procesar se combina con el campo category_details del objeto de amenaza del UDM.
device_product entity.metadata.product_name El campo device_product en el registro sin procesar se asigna al campo product_name en el objeto de entidad del UDM.
device_vendor entity.metadata.vendor_name El campo device_vendor del registro sin procesar se asigna al campo vendor_name del objeto de la entidad del UDM.
device_version entity.metadata.product_version El campo device_version del registro sin procesar se asigna al campo product_version del objeto de entidad de UDM.
msg entity.metadata.threat.summary El campo msg en el registro sin procesar se asigna al campo summary en el objeto de amenaza de UDM.
shost entity.entity.hostname El campo shost en el registro sin procesar se asigna al campo hostname en el objeto de la entidad de UDM.
shost entity.entity.url El campo shost del registro sin procesar se asigna al campo url del objeto de entidad de UDM.
shost ioc.domain_and_ports.domain El campo shost del registro sin procesar se asigna al campo domain del objeto ioc de UDM.
src entity.entity.ip El campo src del registro sin procesar se combina con el campo ip del objeto de entidad de UDM.
src ioc.ip_and_ports.ip_address El campo src del registro sin procesar se asigna al campo ip_address del objeto ioc de UDM.
entity.metadata.threat.confidence HIGH_CONFIDENCE El campo de confianza del objeto de amenaza del UDM se establece en "HIGH_CONFIDENCE" si el campo confidence_score es mayor o igual que 75.
entity.metadata.threat.confidence LOW_CONFIDENCE El campo de confianza del objeto de amenaza del UDM se establece en "LOW_CONFIDENCE" si el campo confidence_score es menor o igual a 50.
entity.metadata.threat.confidence MEDIUM_CONFIDENCE El campo de confianza del objeto de amenaza del UDM se establece en "MEDIUM_CONFIDENCE" si el campo confidence_score es mayor que 50 y menor o igual que 74.
entity.metadata.threat.confidence UNKNOWN_CONFIDENCE El campo de confianza del objeto de amenaza del UDM se establece en "UNKNOWN_CONFIDENCE" si el campo confidence_score no es un número entero válido.
entity.metadata.vendor_name ANOMALI_IOC El campo vendor_name del objeto de la entidad del UDM se establece en "ANOMALI_IOC".

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.