Recoger registros de IOC de ThreatConnect mediante la API v3

Disponible en:

La feed de ThreatConnect en Google Security Operations te permite obtener automáticamente indicadores de compromiso (IOCs), como direcciones IP, dominios, URLs y hashes de archivos, junto con su contexto (por ejemplo, tipo de amenaza, puntuación de confianza y etiquetas) de tu cuenta de ThreatConnect. Al ingerir estos indicadores de compromiso, se enriquecen tus datos de seguridad en Google Security Operations, lo que mejora las funciones de detección e investigación de amenazas.

En este documento se describe cómo configurar Google SecOps para que ingiera IOCs de su instancia de ThreatConnect mediante el conector de la API ThreatConnect v3. Esta versión del conector utiliza la API REST v3 de ThreatConnect y es una versión actualizada del conector actual, que usa la API REST v2 de ThreatConnect.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Una instancia de ThreatConnect activa y una cuenta de usuario con permisos suficientes para acceder a los indicadores necesarios mediante la API v3. Por lo general, esto implica permisos para leer indicadores y sus atributos.
  • Una instancia de Google Security Operations
  • Permisos de gestión de identidades y accesos suficientes en tu Google Cloud proyecto para gestionar feeds de Google SecOps

Pasos del proceso de configuración

Sigue estos pasos para configurar el feed de IOC de ThreatConnect:

Obtener las credenciales de la API ThreatConnect v3

  1. Inicia sesión en tu instancia de ThreatConnect.
  2. Ve a la sección Gestión de usuarios de la API para crear un usuario de la API o usar uno que ya tengas y que esté designado para tu integración de Google SecOps.
  3. Para crear un usuario de API, sigue estos pasos:

    1. Ve a Ajustes > Ajustes de la organización.
    2. Ve a la pestaña Suscripción de la página Configuración de la organización.
    3. Haz clic en Create API User (Crear usuario de API).
    4. Rellena los campos de la ventana Administración de usuarios de la API:

      • Nombre: introduce el nombre del usuario de la API.
      • Last Name (Apellidos): introduce los apellidos del usuario de la API.
      • Rol del sistema: selecciona el rol del sistema Usuario de la API o Administrador de Exchange.

      • Rol de la organización: selecciona el rol de la organización del usuario de la API.

      • Incluir en observaciones y falsos positivos: marca la casilla para permitir que los datos proporcionados por el usuario de la API se incluyan en los recuentos.

      • Inhabilitado: marca la casilla para inhabilitar la cuenta de un usuario de la API en caso de que el administrador quiera conservar la integridad de los registros.

  4. Copia y almacena de forma segura el ID de acceso y la clave secreta.

  5. Haz clic en Guardar.

  6. Obtén el ID de acceso y la clave secreta del usuario de la API correspondiente y ve al siguiente paso.

Configurar el feed de ThreatConnect en Google Security Operations

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir nuevo feed.
  3. En la página siguiente, haga clic en Configurar un solo feed.
  4. En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, ThreatConnect Logs).
  5. En Tipo de fuente, selecciona API de terceros.
  6. En Log Type (Tipo de registro), selecciona ThreatConnect IOC V3.
  7. Haz clic en Siguiente.
  8. Introduce los siguientes detalles de la API ThreatConnect v3:
    • Access ID (ID de acceso): introduce el ID de acceso de ThreatConnect que has obtenido en el paso 1.
    • Clave secreta: introduce la clave secreta de ThreatConnect que has obtenido en el paso 1.
    • Nombre de host de la API: el FQDN de tu instancia de ThreatConnect (por ejemplo, <myinstance>.threatconnect.com).
    • Propietarios: especifica la organización, la comunidad o la fuente de ThreatConnect de la que se extraerán los indicadores. Escribe un propietario por línea. Para obtener más información, consulta el artículo Descripción general de los propietarios.
    • TQL la consulta TQL necesaria para obtener los IoCs en función de tus requisitos de ingesta (consulta Cómo escribir consultas TQL).
    • Campos: nombres de los campos adicionales que se van a obtener y que no se obtienen de forma predeterminada. Escriba un campo por línea (consulte la lista de campos predeterminados y adicionales).
  9. Haz clic en Siguiente.
  10. Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.

Validar la ingesta

  1. Después de enviar la configuración, espera un tiempo para que se extraigan los datos iniciales.
  2. Compruebe el estado del feed en la lista Feeds (Feeds). El estado debería ser Completado o Activo.
  3. Comprueba que los datos se están ingiriendo consultando los registros en la página de búsqueda de Google Security Operations:
    • Usa la consulta: log_type = "THREATCONNECT_IOC_V3"
  4. Examina los registros insertados para asegurarte de que los campos se analizan correctamente.

Cómo escribir consultas de TQL

En ThreatConnect, puedes crear consultas estructuradas con un lenguaje de consulta similar a SQL llamado ThreatConnect Query Language (TQL) para realizar búsquedas muy específicas en tus datos. Una consulta TQL incluye un nombre de parámetro, un operador y un valor o una lista de valores. Además, puedes combinar varias consultas con paréntesis y lógica Y/O.

  • La siguiente consulta TQL busca indicadores de red de alta confianza (IPs, hosts y URLs) añadidos en los últimos 30 días que estén asociados a Cobalt Strike, APTs o phishing. También filtra explícitamente los falsos positivos conocidos y los datos de pruebas internas.

    typeName IN ("Address", "Host", "URL")
    AND confidence > 75
    AND dateAdded > "NOW() - 30 DAYS"
    AND (summary CONTAINS "cobalt" OR tag STARTSWITH "APT" OR tag ENDSWITH "Phish")
    AND NOT tag = "False_Positive"
    AND source != "Internal_Testing"
    

Para obtener más información sobre TQL, consulta la documentación de TQL de ThreatConnect.

Lista de campos predeterminados y adicionales

En esta sección se detallan los puntos de datos específicos obtenidos de la API de ThreatConnect, clasificados según si se incluyen de forma predeterminada o si requieren una configuración manual.

Campos predeterminados

La API obtiene los siguientes campos predeterminados de forma predeterminada y no requieren ninguna configuración adicional:

# Campo Descripción Tipo Valor(es) de ejemplo
1 active Indica si el indicador está activo Booleano true, false
2 activeLocked Indica si el estado del indicador activo está bloqueado. Booleano true, false
3 confidence Nivel de confianza del indicador Entero 1, 2, 3, ... 100
4 dateAdded Fecha y hora en que se creó el indicador externamente DateTime "2023-10-04T12:34:56Z"
5 id El ID del indicador Entero 1, 2, 3, ... 100
6 ip Dirección IP asociada al indicador de dirección. Cadena "107.180.48.66"
7 lastModified Fecha y hora en las que se modificó el indicador por última vez de forma externa. DateTime "2023-10-04T12:34:56Z"
8 legacyLink URL antigua (con acceso restringido) para acceder a los detalles del indicador en la aplicación ThreatConnect URL "https://app.threatconnect.com/auth/indicators/..."
9 ownerId El ID del propietario al que pertenece el indicador Entero 1, 2, 3, ... 100
10 ownerName Nombre del propietario al que pertenece el indicador. Cadena "Demo Community"
11 privateFlag Indica si el indicador es privado. Booleano true, false
12 rating Valoración de la amenaza del indicador Decimal grande 1.0, 2.0, 3.0, 4.0 y 5.0
13 summary El valor del indicador en función del tipo de indicador "type": "Host","summary": "zayla.co" ; "type": "Address","summary": "107.180.48.66"
14 type Tipo de indicador que se está creando. Cadena "Address", "Host", "Registry Key" (lista de valores aceptados)
15 webLink URL (con acceso restringido) para acceder a los detalles del indicador en la aplicación ThreatConnect URL "https://app.threatconnect.com/#/details/indicators/10/overview"

Otros campos

Cuando recuperes datos, puedes usar el campo de entrada Campos para incluir campos adicionales que no estén en la lista de campos predeterminados.

Para incluir uno o varios campos adicionales en la respuesta de la API, rellena el campo de valor en líneas independientes en el cuadro de entrada Campo al configurar tu feed. Por ejemplo, para incluir datos de grupos y etiquetas asociados en una respuesta de la API, escribe associatedGroups en la línea 1, pulsa Enter y, a continuación, introduce tags en la línea 2.

Para obtener más información sobre los atributos de indicador, consulte el artículo Información general sobre los indicadores. Para obtener más información sobre los campos adicionales, consulte Incluir campos adicionales en las respuestas de la API.

Solucionar problemas frecuentes

  • Error de autenticación: comprueba el host de la API, el ID de acceso y la clave secreta. Asegúrate de que el usuario de la API tenga los permisos correctos para la API v3 y no esté bloqueado. Verifica que no haya cortafuegos de red que bloqueen el acceso de Google SecOps al host de la API de ThreatConnect.
  • No se han insertado datos:
    • Confirme que los filtros que ha definido (por ejemplo, confianza, etiquetas y tipos) coincidan con los indicadores disponibles en su instancia de ThreatConnect.
    • Comprueba los permisos del usuario de la API de ThreatConnect.
    • Comprueba el estado más reciente del feed en la interfaz de usuario de Google SecOps para ver los mensajes de error.
  • Límites de frecuencia de la API: ThreatConnect puede aplicar límites de frecuencia de la API. El conector debe gestionar los límites de frecuencia estándar, pero un número excesivo de solicitudes podría provocar retrasos. Consulta la documentación de la API de ThreatConnect para obtener información sobre los límites.
  • Problemas de análisis de datos: si los registros se ingieren, pero no se analizan correctamente, compare el registro sin procesar de Google SecOps con el resultado JSON esperado de la API ThreatConnect v3 para los indicadores. Ponte en contacto con el Google Cloud equipo de Asistencia si sospechas que hay un problema con el analizador.

Migrar desde el conector v2

Si utilizabas el feed anterior de ThreatConnect basado en la API v2, ten en cuenta lo siguiente:

  • Diferencias principales: la API v3 puede tener una estructura de datos diferente, parámetros de filtrado distintos o nuevas funciones. Consulta la documentación de la API ThreatConnect v3 para conocer los cambios relevantes para los indicadores que estás ingiriendo.
  • Configurar el feed de la versión 3: configure el nuevo feed (como se ha descrito anteriormente) con sus credenciales de la API v3. Puedes usar los feeds de las versiones 2 y 3 simultáneamente durante un periodo de transición.
  • Validar los datos: compare los datos insertados por el feed de la versión 3 con los datos del feed de la versión 2 para asegurarse de que estén completos y sean correctos. Anota los cambios o las mejoras que se hayan hecho en los campos.
  • Inhabilitar el feed antiguo: cuando tengas la certeza de que el feed de la versión 3 funciona correctamente, puedes inhabilitar o eliminar la configuración del feed antiguo que usa la API de la versión 2 para evitar que se dupliquen los datos y reducir las llamadas a la API.

Más información

Para obtener más información sobre la API REST de ThreatConnect v3, consulta la documentación de ThreatConnect.

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