Recopila registros de Tanium Threat Response

Compatible con:

En este documento, se explica cómo transferir registros de Tanium Threat Response a Google Security Operations con la funcionalidad nativa de exportación a AWS S3 de Tanium Connect. Tanium Threat Response genera alertas de detección de amenazas, hallazgos de investigaciones y datos de respuesta a incidentes en formato JSON, que se pueden exportar directamente a S3 con Tanium Connect sin necesidad de funciones Lambda personalizadas. El analizador transforma los datos JSON sin procesar de Tanium Threat Response en un modelo de datos unificado (UDM). Primero, intenta analizar el mensaje entrante como JSON, controla los posibles errores y, luego, extrae y asigna los campos pertinentes a la estructura del UDM, incluidos los detalles sobre el host, el usuario, el proceso, la actividad de red y los hallazgos de seguridad afectados.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Tanium Core Platform 7.0 o una versión posterior
  • El módulo Tanium Threat Response está instalado y configurado.
  • Módulo Tanium Connect instalado con una licencia válida
  • Tanium Direct Connect 1.9.30 o posterior para las capacidades de investigación
  • Acceso privilegiado a la consola de Tanium con derechos de administrador
  • Acceso privilegiado a AWS (S3, IAM)

Configura la cuenta de servicio de Tanium Threat Response

  1. Accede a la consola de Tanium.
  2. Ve a Modules > Threat Response.
  3. Haz clic en Configuración en la esquina superior derecha.
  4. En la sección Cuenta de servicio, configura lo siguiente:
    • Usuario de cuenta de servicio: Selecciona un usuario con los permisos adecuados de Respuesta ante amenazas.
    • Verifica que la cuenta tenga el privilegio de rol de usuario de conexión.
    • Confirma el acceso a las alertas de Respuesta ante amenazas y a los datos de investigación.
  5. Haz clic en Guardar para aplicar la configuración de la cuenta de servicio.

Recopila los requisitos previos de Tanium Threat Response

  1. Accede a la consola de Tanium como administrador.
  2. Ve a Administración > Permisos > Usuarios.
  3. Crea o identifica un usuario de cuenta de servicio con los siguientes roles:
    • Rol de Administrador de respuesta ante amenazas o Usuario de solo lectura de respuesta ante amenazas
    • Privilegio de rol de Connect User
    • Acceso a los grupos de computadoras supervisadas (se recomienda el grupo All Computers).
    • Permiso de Read Saved Question para los conjuntos de contenido de Respuesta ante amenazas.

Configura el bucket de AWS S3 y el IAM para Google SecOps

  1. Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Crea un bucket
  2. Guarda el Nombre y la Región del bucket para futuras referencias (por ejemplo, tanium-threat-response-logs).
  3. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  4. Selecciona el usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  7. Selecciona Servicio de terceros como el Caso de uso.
  8. Haz clic en Siguiente.
  9. Opcional: Agrega una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. Haz clic en Agregar permisos en la sección Políticas de permisos.
  15. Selecciona Agregar permisos.
  16. Selecciona Adjuntar políticas directamente.
  17. Busca y selecciona la política AmazonS3FullAccess.
  18. Haz clic en Siguiente.
  19. Haz clic en Agregar permisos.

Configura el destino de AWS S3 de Tanium Connect

  1. Accede a la consola de Tanium.
  2. Ve a Módulos > Conectar.
  3. Haz clic en Create Connection.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre: Ingresa un nombre descriptivo (por ejemplo, Threat Response Alerts to S3 for SecOps).
    • Descripción: Es una descripción opcional (por ejemplo, Export threat detection alerts and investigation findings to AWS S3 for Google SecOps ingestion).
    • Habilitar: Selecciona esta opción para habilitar la conexión y que se ejecute según el programa.
  5. Haz clic en Siguiente.

Configura la fuente de conexión

  1. En la sección Fuente, proporciona los siguientes detalles de configuración:
    • Tipo de fuente: Selecciona Pregunta guardada.
    • Pregunta guardada: Selecciona una de las siguientes preguntas guardadas relacionadas con la Respuesta ante amenazas:
      • Respuesta ante amenazas: Alertas para las alertas de detección de amenazas
      • Threat Response - Investigation Results para los hallazgos de la investigación
      • Threat Response - Intel Matches para las coincidencias de inteligencia sobre amenazas
      • Threat Response - Endpoint Activity para la actividad sospechosa del endpoint
      • Respuesta a amenazas: Conexiones de red para amenazas basadas en la red
    • Grupo de computadoras: Selecciona Todas las computadoras o grupos de computadoras específicos para supervisar.
    • Intervalo de actualización: Establece un intervalo adecuado para la recopilación de datos (por ejemplo, 10 minutos para las alertas de amenazas).
  2. Haz clic en Siguiente.

Configura el destino de AWS S3

  1. En la sección Destino, proporciona los siguientes detalles de configuración:
    • Tipo de destino: Selecciona AWS S3.
    • Nombre de destino: Ingresa un nombre único (por ejemplo, Google SecOps ThreatResponse S3 Destination).
    • Clave de acceso de AWS: Ingresa la clave de acceso de AWS del archivo CSV que descargaste en el paso de configuración de AWS S3.
    • Clave de acceso secreta de AWS: Ingresa la clave de acceso secreta de AWS del archivo CSV que descargaste en el paso de configuración de AWS S3.
    • Nombre del bucket: Ingresa el nombre de tu bucket de S3 (por ejemplo, tanium-threat-response-logs).
    • Región: Selecciona la región de AWS en la que se encuentra tu bucket de S3.
    • Prefijo de clave: Ingresa un prefijo para los objetos de S3 (por ejemplo, tanium/threat-response/).
  2. Haz clic en Siguiente.

Cómo configurar filtros

  1. En la sección Filtros, configura las opciones de filtrado de datos:
    • Enviar solo elementos nuevos: Selecciona esta opción para enviar solo las alertas de amenazas nuevas desde la última exportación.
    • Filtros de columnas: Agrega filtros basados en atributos de alertas específicos si es necesario (por ejemplo, filtra por gravedad de la alerta, tipo de amenaza o estado de la investigación).
  2. Haz clic en Siguiente.

Formatea datos para AWS S3

  1. En la sección Formato, configura el formato de datos:
    • Formato: Selecciona JSON.
    • Opciones:
      • Incluir encabezados: Anula la selección para evitar los encabezados en el resultado de JSON.
      • Incluir celdas vacías: Selecciona según tu preferencia.
    • Opciones avanzadas:
      • Nombres de archivos: Usa la nomenclatura predeterminada basada en marcas de tiempo.
      • Compresión: Selecciona Gzip para reducir los costos de almacenamiento y el tiempo de transferencia.
  2. Haz clic en Siguiente.

Programa la conexión

  1. En la sección Programación, configura la programación de la exportación:
    • Habilitar programa: Selecciona esta opción para habilitar las exportaciones programadas automáticas.
    • Tipo de programación: Selecciona Recurrente.
    • Frecuencia: Selecciona Cada 10 minutos para recibir alertas oportunas sobre respuestas a amenazas.
    • Hora de inicio: Establece la hora de inicio adecuada para la primera exportación.
  2. Haz clic en Siguiente.

Cómo guardar y verificar la conexión

  1. Revisa la configuración de la conexión en la pantalla de resumen.
  2. Haz clic en Guardar para crear la conexión.
  3. Haz clic en Probar conexión para verificar la configuración.
  4. Si la prueba se realiza correctamente, haz clic en Ejecutar ahora para realizar una exportación inicial.
  5. Supervisa el estado de la conexión en la página Connect Overview.

Configura un feed en Google SecOps para transferir registros de Tanium Threat Response

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en + Agregar feed nuevo.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Tanium Threat Response logs).
  4. Selecciona Amazon S3 V2 como el Tipo de fuente.
  5. Selecciona Tanium Threat Response como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. Especifica valores para los siguientes parámetros de entrada:
    • URI de S3: s3://tanium-threat-response-logs/tanium/threat-response/
    • Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
    • Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días especificada. El valor predeterminado es de 180 días.
    • ID de clave de acceso: Clave de acceso del usuario con acceso al bucket de S3.
    • Clave de acceso secreta: Clave secreta del usuario con acceso al bucket de S3.
    • Espacio de nombres del recurso: Es el espacio de nombres del recurso.
    • Etiquetas de transmisión: Es la etiqueta que se aplica a los eventos de este feed.
  8. Haz clic en Siguiente.
  9. Revisa la nueva 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
ID de alerta security_result.rule_instance El valor de este campo se toma del campo "Alert Id" en el registro sin procesar.
IP de la computadora principal.ip El valor de este campo se toma del campo "IP de la computadora" en el registro sin procesar.
IP de la computadora target.ip El valor de este campo se toma del campo "IP de la computadora" en el registro sin procesar.
Nombre de la computadora principal.hostname El valor de este campo se toma del campo "Nombre de la computadora" en el registro sin procesar.
Nombre de la computadora target.hostname El valor de este campo se toma del campo "Nombre de la computadora" en el registro sin procesar.
id target.resource.attribute.labels El valor de este campo se toma del campo "id" en el registro sin procesar. La clave está codificada como "id".
ID de Intel security_result.rule_id El valor de este campo se toma del campo "ID de Intel" en el registro sin procesar.
Etiquetas de Intel security_result.description El valor de este campo se toma del campo "Intel Labels" en el registro sin procesar.
Nombre de Intel security_result.summary El valor de este campo se toma del campo "Intel Name" en el registro sin procesar.
Nombre de Intel security_result.threat_name El valor de este campo se toma del campo "Intel Name" en el registro sin procesar.
Tipo de Intel security_result.rule_type El valor de este campo se toma del campo "Tipo de Intel" en el registro sin procesar.
MatchDetails.finding.system_info.bits principal.asset.platform_software.bits El valor de este campo se toma del campo "MatchDetails.finding.system_info.bits" en el registro sin procesar.
MatchDetails.finding.system_info.os principal.asset.platform_software.platform_version El valor de este campo se toma del campo "MatchDetails.finding.system_info.os" en el registro sin procesar.
MatchDetails.finding.system_info.patch_level principal.asset.platform_software.platform_patch_level El valor de este campo se toma del campo "MatchDetails.finding.system_info.patch_level" en el registro sin procesar.
MatchDetails.finding.system_info.platform principal.asset.platform_software.platform El valor de este campo se toma del campo "MatchDetails.finding.system_info.platform" en el registro sin procesar.
MatchDetails.match.contexts.0.event.registrySet.keyPath target.registry.registry_key El valor de este campo se toma del campo "MatchDetails.match.contexts.0.event.registrySet.keyPath" en el registro sin procesar.
MatchDetails.match.contexts.0.event.registrySet.valueName target.registry.registry_value_name El valor de este campo se toma del campo "MatchDetails.match.contexts.0.event.registrySet.valueName" en el registro sin procesar.
MatchDetails.match.properties.args security_result.about.process.command_line El valor de este campo se toma del campo "MatchDetails.match.properties.args" en el registro sin procesar.
MatchDetails.match.properties.file.fullpath target.process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.file.md5 target.process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.file.md5" en el registro sin procesar.
MatchDetails.match.properties.file.sha1 target.process.file.sha1 El valor de este campo se toma del campo "MatchDetails.match.properties.file.sha1" en el registro sin procesar.
MatchDetails.match.properties.file.sha256 target.process.file.sha256 El valor de este campo se toma del campo "MatchDetails.match.properties.file.sha256" en el registro sin procesar.
MatchDetails.match.properties.fullpath target.process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.fullpath" en el registro sin procesar.
MatchDetails.match.properties.local_port principal.port El valor de este campo se toma del campo "MatchDetails.match.properties.local_port" en el registro sin procesar.
MatchDetails.match.properties.md5 target.process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.args security_result.about.process.command_line El valor de este campo se toma del campo "MatchDetails.match.properties.parent.args" en el registro sin procesar.
MatchDetails.match.properties.parent.file.fullpath target.process.parent_process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.parent.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.parent.file.md5 target.process.parent_process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.parent.file.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.file.fullpath target.process.parent_process.parent_process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.file.md5 target.process.parent_process.parent_process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.file.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.file.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.parent_process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.parent_process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.file.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.full_path El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5 target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.md5 El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5" en el registro sin procesar.
MatchDetails.match.properties.parent.pid target.process.parent_process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.parent.pid" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.pid target.process.parent_process.parent_process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.pid" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.pid" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.parent_process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.pid" en el registro sin procesar.
MatchDetails.match.properties.parent.parent.parent.parent.parent.pid target.process.parent_process.parent_process.parent_process.parent_process.parent_process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.parent.parent.parent.parent.parent.pid" en el registro sin procesar.
MatchDetails.match.properties.pid target.process.pid El valor de este campo se toma del campo "MatchDetails.match.properties.pid" en el registro sin procesar.
MatchDetails.match.properties.protocol network.ip_protocol El valor de este campo se toma del campo "MatchDetails.match.properties.protocol" en el registro sin procesar.
MatchDetails.match.properties.remote_ip target.ip El valor de este campo se toma del campo "MatchDetails.match.properties.remote_ip" en el registro sin procesar.
MatchDetails.match.properties.remote_port target.port El valor de este campo se toma del campo "MatchDetails.match.properties.remote_port" en el registro sin procesar.
MatchDetails.match.properties.sha1 target.process.file.sha1 El valor de este campo se toma del campo "MatchDetails.match.properties.sha1" en el registro sin procesar.
MatchDetails.match.properties.sha256 target.process.file.sha256 El valor de este campo se toma del campo "MatchDetails.match.properties.sha256" en el registro sin procesar.
MatchDetails.match.properties.user target.administrative_domain El nombre de dominio se extrae del campo "MatchDetails.match.properties.user" en el registro sin procesar buscando un carácter de barra inversa (""). Los caracteres que aparecen antes de la barra inversa se consideran el nombre de dominio.
MatchDetails.match.properties.user target.user.userid El nombre de usuario se extrae del campo "MatchDetails.match.properties.user" en el registro sin procesar buscando un carácter de barra inversa (""). Los caracteres después de la barra inversa se consideran el nombre de usuario.
Técnicas de MITRE security_result.threat_id El valor de este campo se toma del campo "Técnicas de MITRE" en el registro sin procesar.
params security_result.detection_fields El valor de este campo se toma del campo "params" en el registro sin procesar. La clave está codificada como "params_" concatenada con el índice del parámetro.
Marca de tiempo metadata.event_timestamp El valor de este campo se toma del campo "Timestamp" en el registro sin procesar.
N/A is_alert Este campo está codificado como "verdadero" si el campo "IP de la computadora" en el registro sin procesar no está vacío.
N/A metadata.log_type Este campo está codificado como "TANIUM_THREAT_RESPONSE".
N/A metadata.product_event_type Este campo está codificado como "Tanium Signal".
N/A metadata.product_name Este campo está codificado como "Respuesta ante amenazas".
N/A metadata.vendor_name Este campo está codificado como "Tanium".
N/A network.http.method Este campo está codificado de forma rígida como "POST" si el valor del campo "method" en el registro sin procesar es "submit".

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