Usar la exportación avanzada de BigQuery

Disponible en:

En este documento se describe cómo acceder a sus datos de Google SecOps en BigQuery y usarlos con la función Exportación avanzada a BigQuery. Si eres cliente de Enterprise Plus, puedes usar esta función para acceder a tus datos de seguridad casi en tiempo real a través de una canalización de datos de streaming totalmente gestionada. Esta función puede ayudar a abordar el problema crítico de la latencia de los datos en las operaciones de seguridad y a detectar y responder a las amenazas de forma más oportuna y eficaz.

Antes de empezar

Te recomendamos que revises los siguientes puntos, que definen los requisitos y las acciones necesarias:

  • Solo para clientes de Enterprise Plus: esta función solo está disponible para los clientes de Google SecOps Enterprise Plus. Para el resto de los clientes, consulte Configurar la exportación de datos a BigQuery en un proyecto autogestionado Google Cloud .

  • Activación de función necesaria: esta función se habilita bajo petición y puede requerir una configuración inicial en la instancia de Google SecOps de tu organización. Ponte en contacto con tu representante de Google SecOps para confirmar que la función está habilitada, si es necesario.

  • Alerta de migración: Cuando activas esta función, se anula el método anterior, que se describe en Datos de Google SecOps en BigQuery. Durante la migración a la exportación avanzada de BigQuery, mantendremos activa tu antigua canalización durante un periodo de transición. Esta operación dual se ha diseñado para que puedas cambiar a la nueva función sin interrupciones. Recibirás una notificación antes de que se inhabilite la antigua canalización de exportación en tu cuenta.

Información general sobre la función

La exportación avanzada de BigQuery aprovisiona y gestiona automáticamente conjuntos de datos esenciales de Google SecOps, incluidos los eventos del modelo de datos unificado (UDM), las detecciones de reglas y las coincidencias de indicadores de riesgo (IoCs), en un proyecto de BigQuery seguro y gestionado por Google. Obtendrás acceso seguro y de solo lectura a estos datos a través de un conjunto de datos vinculado de BigQuery, que aparecerá directamente en tu propio Google Cloud proyecto. Esta función te permite consultar tus datos de seguridad como si estuvieran almacenados localmente, pero sin la sobrecarga de gestionar la canalización de datos o el almacenamiento.

Google SecOps exporta las siguientes categorías de datos de seguridad a BigQuery:

  • Registros de eventos de UDM: registros de UDM creados a partir de los datos de registro insertados por los clientes. Estos registros se enriquecen con información de alias.
  • Coincidencias de reglas (detecciones): instancias en las que una regla coincide con uno o varios eventos.
  • Coincidencias de IoC: artefactos (por ejemplo, dominios o direcciones IP) de eventos que coinciden con feeds de IoC. Esto incluye las coincidencias con feeds globales y específicos de clientes.
  • Métricas de ingesta: estadísticas como el número de líneas de registro ingeridas, el número de eventos producidos a partir de registros y el número de errores de registro que indican que no se han podido analizar los registros.
  • Gráfico de entidades y relaciones entre entidades: descripción de las entidades y sus relaciones con otras entidades.

Principales ventajas

Estas son las principales ventajas de la exportación avanzada a BigQuery:

  • Datos casi en tiempo real: una arquitectura de streaming hace que sus datos de seguridad estén disponibles para realizar consultas a los pocos minutos de la ingestión. Los eventos de UDM, las detecciones de reglas y las coincidencias de IoCs están disponibles con una latencia prevista de entre 5 y 10 minutos.
  • Modelo de costes simplificado y predecible: Google SecOps cubre todos los costes de ingestión y almacenamiento de datos en el proyecto de BigQuery gestionado. Tu organización solo es responsable de los costes de análisis de BigQuery en los que incurras al ejecutar consultas.
  • Acceso a los datos sin mantenimiento: Google gestiona por completo la infraestructura subyacente, lo que permite a tu equipo centrarse en el análisis de datos en lugar de en la ingeniería de datos.

Casos prácticos habituales

La exportación avanzada de BigQuery se ha diseñado para analistas de seguridad, cazadores de amenazas, científicos de datos e ingenieros de seguridad que necesitan acceso directo y de alto rendimiento a datos de seguridad actualizados para realizar investigaciones ad hoc, analíticas personalizadas e integraciones con herramientas de inteligencia empresarial.

Entre los casos de uso habituales de la exportación avanzada de BigQuery se incluyen los siguientes:

  • Ejecuta consultas ad hoc directamente en BigQuery.
  • Usa tus propias herramientas de inteligencia empresarial, como Microsoft Power BI, para crear paneles de control, informes y analíticas.
  • Combina datos de Google SecOps con conjuntos de datos de terceros.

Arquitectura

La arquitectura de la exportación avanzada de BigQuery usa una canalización de streaming continua. Los datos de tu instancia de Google SecOps se envían a un proyecto de arrendatario seguro y gestionado por Google mediante la API Storage Write de BigQuery de alto rendimiento.

Google SecOps usa la función de compartir de BigQuery para crear un listado de datos seguro y proporcionarte acceso. En el panel Explorador de BigQuery, tu proyecto Google Cloud se suscribe automáticamente a esta ficha, que se muestra como el secops_linked_data conjunto de datos vinculado.

Este modelo admite un aislamiento de datos sólido y, al mismo tiempo, te ofrece un acceso de solo lectura a las consultas.

Usar la exportación avanzada de BigQuery

En esta sección se describe cómo acceder a sus datos de Google SecOps y usarlos en BigQuery.

Términos y conceptos clave

A continuación, se indican algunos términos y conceptos clave de BigQuery Export avanzado:

  • Conjunto de datos vinculado: conjunto de datos de BigQuery de solo lectura que actúa como enlace simbólico o puntero a un conjunto de datos compartido en otro proyecto. Te permite consultar datos sin copiarlos, lo que proporciona un acceso seguro mientras el proveedor de datos gestiona el almacenamiento físico.
  • Uso compartido de BigQuery: el Google Cloud servicio que permite a las organizaciones compartir de forma segura recursos de datos y analíticas, como conjuntos de datos de BigQuery, tanto de forma interna como externa.
  • Proyecto de cliente: proyecto propiedad de Google SecOps y gestionado por este. Google Cloud Este proyecto es donde se almacenan y gestionan físicamente los datos de seguridad exportados. No tienes acceso directo a este proyecto.
  • Tu proyecto: el Google Cloud proyecto que posee tu organización y que está vinculado a tu instancia de Google SecOps. Este es el proyecto en el que aparece el conjunto de datos vinculado y en el que se ejecutan las consultas y se incurre en costes de análisis.
  • ID de proyecto: identificador único global de tu proyecto.
  • Modelo de datos unificado (UDM): esquema estándar y extensible de Google para analizar y normalizar datos de telemetría de seguridad de cientos de productos de proveedores en un formato coherente.

Configurar el sistema

Sigue estos pasos para configurar tu sistema de forma que use la exportación avanzada de BigQuery y empieza a consultar tus datos:

  1. Confirma tu licencia: asegúrate de que tu organización tiene una licencia de Google SecOps Enterprise Plus.
  2. Identifica tu proyecto: inicia sesión en la Google Cloud consola y selecciona el Google Cloud proyecto vinculado a tu instancia de Google SecOps.
  3. Localiza el conjunto de datos vinculado: en la consola de BigQuery, usa el panel Explorador para desplazarte a los recursos de tu proyecto. Verás un conjunto de datos vinculado llamado secops_linked_data. Este conjunto de datos es un puntero de solo lectura a los datos de seguridad activos gestionados por Google SecOps.
  4. Verifica los permisos de gestión de identidades y accesos (IAM): para consultar los datos, tu usuario o cuenta de servicio debe tener los siguientes roles de IAM asignados en tu proyecto:

    • roles/bigquery.dataViewer
    • roles/bigquery.jobUser

    Estos roles permiten que los usuarios (como los analistas de seguridad y los consumidores de datos) consulten datos en el conjunto de datos vinculado y ejecuten tareas de BigQuery en su proyecto.

  5. Ejecuta una consulta de prueba: abre el espacio de trabajo de SQL de BigQuery y ejecuta una consulta básica para verificar que tu acceso esté configurado correctamente. Puedes usar el siguiente fragmento de código (sustituye PROJECT_ID por el Google Cloud ID de tu proyecto):

    SELECT *
    FROM `PROJECT_ID.secops_linked_data.events`
    LIMIT 10;
    

Consultar datos de BigQuery

Puedes ejecutar consultas directamente en BigQuery o conectar tu propia herramienta de inteligencia empresarial, como Microsoft Power BI, a BigQuery.

Consulta la siguiente información sobre las consultas:

Periodo de conservación de datos en BigQuery

El periodo de retención de tus datos en BigQuery es idéntico al periodo de retención de datos configurado para tu arrendatario de Google SecOps. No hay ningún ajuste independiente y configurable para personalizar la política de conservación de datos en BigQuery. Los datos se purgan automáticamente de las tablas de BigQuery a medida que superan el periodo de retención de tu arrendatario.

Conjuntos de datos vinculados

Los conjuntos de datos vinculados contienen varias tablas, cada una de las cuales corresponde a un tipo de datos de seguridad diferente.

En la siguiente tabla se resumen los conjuntos de datos disponibles, la actualización de datos objetivo y las claves principales que se usan para asegurar la integridad de los datos:

Nombre del conjunto de datos Descripción Mejor actualización esperada Claves principales para la anulación de duplicados
events Eventos de seguridad normalizados en el esquema de UDM.
Para obtener información sobre el esquema, consulta Esquema de eventos de Google SecOps.
< 5 minutos metadata.id
(Representación de cadena)
rule_detections Detecciones generadas por las reglas del motor de detección de Google SecOps.
Para obtener información sobre el esquema, consulta Ver alertas e IoCs en Google SecOps.
< 5 minutos Ninguno
ioc_matches Coincidencias de IoCs encontradas en eventos de UDM.
Para obtener información sobre el esquema, consulta Ver alertas e IoCs en Google SecOps.
< 5 minutos Ninguno
entity_graph Datos contextuales sobre entidades (usuarios y recursos) y sus relaciones.
Para obtener información sobre el esquema, consulta Enriquecer datos de eventos y entidades con Google SecOps.
~4 horas
(lote)
Ninguno
ingestion_metrics Estadísticas sobre el volumen de ingestión de registros y las fuentes de datos.
Para obtener información sobre los esquemas, consulte Esquema de métricas de ingestión y Referencia de métricas de ingestión para Looker y BigQuery en Google SecOps.
Unos 5 minutos Ninguno
(serie temporal de solo anexión)

Consultas de ejemplo

En los siguientes ejemplos se muestra cómo consultar los conjuntos de datos para casos prácticos de seguridad habituales. Recuerda que debes sustituir PROJECT_ID por el Google Cloud ID de tu proyecto.

Ejemplo: Buscar todas las conexiones de red de una dirección IP específica en las últimas 24 horas

Esta consulta busca en la tabla events actividad de red reciente de una dirección IP sospechosa.

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_data.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);

Ejemplo: Contar las 10 detecciones de reglas más frecuentes

Esta consulta en la tabla rule_detections ayuda a identificar las amenazas o infracciones de las políticas más habituales que se detectan en tu entorno.

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_data.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;

Prácticas recomendadas

A continuación, se indican algunas prácticas recomendadas para hacer consultas con la exportación avanzada de BigQuery:

  • Optimizar los costes: evita SELECT *. En tu consulta, especifica solo las columnas que necesites para reducir la cantidad de datos analizados y los costes de la consulta.
  • Usar filtros de partición: la tabla events se divide en particiones por la columna hour_time_bucket. Incluye siempre un filtro de cláusula WHERE en esta columna para limitar las consultas al periodo más breve posible, lo que mejora significativamente el rendimiento y reduce los costes.
  • Escribe consultas eficientes: el esquema de UDM es amplio y disperso. Para filtrar de forma eficiente tipos de eventos específicos, usa WHERE... IS NOT NULL en los campos pertinentes. Por ejemplo, para encontrar solo consultas de DNS, filtra WHERE network.dns.questions.name IS NOT NULL.
  • Validar consultas: usa el validador de consultas de la interfaz de BigQuery antes de ejecutar una consulta. El validador de consultas proporciona una estimación del proceso de datos, lo que te ayuda a evitar consultas inesperadamente grandes y costosas.

Limitaciones conocidas

Estas son las limitaciones conocidas de la función Exportación avanzada de BigQuery:

  • Latencia del gráfico de entidades: el conjunto de datos entity_graph se exporta mediante un proceso por lotes y tiene una actualización de datos de aproximadamente cuatro horas.
  • Claves de cifrado gestionadas por el cliente (CMEK): la exportación avanzada de BigQuery no está disponible para los clientes que hayan habilitado CMEK en su instancia de Google SecOps.
  • Columnas del esquema de UDM: BigQuery tiene un límite flexible de 10.000 columnas por tabla. El esquema de UDM contiene más de 27.000 campos y está poco poblado. La canalización de exportación incluye de forma inteligente solo las columnas rellenadas de un evento determinado, por lo que la mayoría de los clientes no superan el límite. SecOps de Google monitoriza el uso de las columnas y solicita de forma proactiva un aumento del límite del proyecto de tu arrendatario si se acerca a este umbral.
  • Política de retención: el periodo de retención de datos de todos los datos de seguridad exportados a BigQuery se sincroniza automáticamente con el periodo de retención de datos de tu proyecto de Google SecOps y no se puede configurar por separado.
  • Datos que llegan tarde: en raras ocasiones, si los datos llegan con mucho retraso a la canalización de procesamiento, es posible que no se combinen correctamente. El sistema se ha diseñado para minimizar este problema, pero es una característica conocida de los sistemas de streaming de alto rendimiento que se basan en la coherencia final.
  • Datos enriquecidos: la cobertura se limita a los eventos de UDM enriquecidos una sola vez. Los eventos de UDM re-enriquecidos no se exportan a la instancia de BigQuery del proyecto de su arrendatario.
  • Datos históricos: la exportación de datos comienza en el momento en que se habilita la exportación avanzada de BigQuery. Los datos anteriores siguen estando accesibles en tu proyecto. Para consultar los datos exportados antes de activar la exportación avanzada a BigQuery, debes usar una sola consulta que combine los datos de ambos proyectos o ejecutar dos consultas independientes en los proyectos correspondientes (una para el conjunto de datos antiguo y otra para el nuevo).

Solución de problemas y asistencia

En la siguiente tabla se ofrecen soluciones a los problemas habituales que pueden surgir:

Síntoma observado Causa posible Acción recomendada
Las consultas fallan con Access Denied: User does not have permission. El usuario o la cuenta de servicio no tiene los roles de gestión de identidades y accesos de BigQuery necesarios en el Google Cloud proyecto vinculado a tu instancia de Google SecOps. Asigna los roles Lector de datos de BigQuery y Usuario de tareas de BigQuery a la entidad de seguridad. Verificar con gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com"
El conjunto de datos secops_linked_data no se ve en mi proyecto de BigQuery. 1. No estás en el proyecto de Google Cloud correcto.
2. Tu organización no tiene el nivel Enterprise Plus.
3. Tu organización tiene el nivel Enterprise Plus, pero la exportación avanzada de BigQuery no está habilitada en tu instancia de Google SecOps.
1. En la Google Cloud consola, comprueba que has seleccionado el proyecto vinculado a tu instancia de Google SecOps.
2. Ponte en contacto con tu representante de Google para confirmar tu nivel de licencia de Google SecOps.
3. Ponte en contacto con tu representante de Google SecOps y pídele que habilite la exportación avanzada de BigQuery en tu instancia de Google SecOps.
Veo eventos que parecen duplicados en los resultados de las consultas. Esto puede deberse a que los datos llegan tarde en una secuencia de alto rendimiento. El sistema usa la semántica de entrega al menos una vez. Si sospechas que hay duplicados, agrupa tu consulta por las claves principales que se indican en Conjuntos de datos para obtener un recuento.

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