Usa la exportación avanzada a BigQuery
En este documento, se describe cómo acceder a tus datos de Google SecOps y usarlos en BigQuery con la función de Exportación avanzada de BigQuery. Como cliente de Enterprise Plus, puedes usar la función para acceder a tus datos de seguridad casi en tiempo real a través de una canalización de datos de transmisión completamente administrada. Esta capacidad puede ayudar a abordar el desafío crítico de la latencia de datos en las operaciones de seguridad y generar una detección y respuesta ante amenazas más oportunas y eficaces.
Antes de comenzar
Te recomendamos que revises los siguientes puntos que definen los requisitos de elegibilidad 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 todos los demás clientes, consulta Cómo configurar la exportación de datos a BigQuery en un proyecto Google Cloud autoadministrado.
Se requiere la activación de la función: Esta función se habilita a pedido y puede requerir una configuración inicial en la instancia de Google SecOps de tu organización. Si es necesario, comunícate con tu representante de Google SecOps para confirmar que la función esté habilitada.
Alerta de migración: Cuando activas esta función, se anula el método anterior, que se describe en Datos de SecOps de Google en BigQuery. Durante la migración a la exportación avanzada de BigQuery, mantendremos activa tu canalización anterior durante un período de transición. Esta operación doble está diseñada para respaldar tu migración a la nueva función sin interrupciones. Recibirás una notificación antes de que se inhabilite la canalización de exportación anterior para tu cuenta.
Descripción general de las funciones
La versión avanzada de BigQuery Export aprovisiona y administra 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 Indicador de compromiso (IoC), en un proyecto de BigQuery seguro y administrado por Google. Obtienes acceso seguro de solo lectura a estos datos a través de un conjunto de datos vinculado de BigQuery, que aparece directamente en tu propio proyecto de Google Cloud . Esta funcionalidad te permite consultar tus datos de seguridad como si estuvieran almacenados de forma local, pero sin la sobrecarga de administrar la canalización de datos o el almacenamiento.
Google SecOps exporta las siguientes categorías de datos de seguridad a BigQuery:
- Registros de eventos del UDM: Son registros del UDM creados a partir de los datos de registro que los clientes transfieren. Estos registros se enriquecen con información de alias.
- Coincidencias de reglas (detecciones): Son las instancias en las que una regla coincide con uno o más eventos.
- Coincidencias de IoC: Son artefactos (por ejemplo, dominios o direcciones IP) de eventos que coinciden con los feeds de IoC. Esto incluye las coincidencias con los feeds globales y los feeds específicos del cliente.
- Métricas de transferencia: Estadísticas, como la cantidad de líneas de registro transferidas, la cantidad de eventos producidos a partir de registros y la cantidad de errores de registro que indican que no se pudieron analizar los registros.
- Gráfico de entidades y relaciones entre entidades: Es la descripción de las entidades y sus relaciones con otras entidades.
Ventajas clave
Entre los principales beneficios de la exportación avanzada a BigQuery, se incluyen los siguientes:
- Actualización de datos casi en tiempo real: Una arquitectura de transmisión hace que tus datos de seguridad estén disponibles para consultas en cuestión de minutos después de la transferencia. Los eventos de UDM, las detecciones de reglas y las coincidencias de IoC están disponibles con una latencia esperada de entre 5 y 10 minutos.
- Modelo de costos simplificado y predecible: Google SecOps cubre todos los costos de almacenamiento y transferencia de datos dentro del proyecto administrado de BigQuery. Tu organización solo es responsable de los costos de análisis de BigQuery en los que incurras cuando ejecutes consultas.
- Acceso a los datos sin mantenimiento: Google administra completamente la infraestructura subyacente, lo que permite que tu equipo se enfoque en el análisis de datos en lugar de la ingeniería de datos.
Casos de uso típicos
La exportación avanzada a BigQuery está diseñada para analistas de seguridad, cazadores de amenazas, científicos de datos e ingenieros de seguridad que requieren acceso directo y de alto rendimiento a datos de seguridad actualizados para realizar investigaciones ad hoc, análisis personalizados y la integración con herramientas de inteligencia empresarial.
Estos son algunos casos de uso típicos de Advanced BigQuery Export:
- Ejecuta consultas ad hoc directamente en BigQuery.
- Usa tus propias herramientas de inteligencia empresarial, como Microsoft Power BI, para crear paneles, informes y análisis.
- Unir los datos de Google SecOps con conjuntos de datos de terceros
Arquitectura
La arquitectura de BigQuery Export avanzado usa una canalización de transmisión continua. Los datos de tu instancia de Google SecOps se envían a un proyecto de usuario seguro administrado por Google a través de la API de BigQuery Storage Write de alta capacidad de procesamiento.
Las Operaciones de seguridad de Google usan el uso compartido de BigQuery para crear una lista de datos segura y brindarte acceso. En el panel Explorador de BigQuery, tu proyecto Google Cloud se suscribe automáticamente a esta ficha, que se muestra como el conjunto de datos vinculadosecops_linked_data
.
Este modelo admite un aislamiento de datos sólido y, al mismo tiempo, te brinda acceso de solo lectura a las consultas sin problemas.
Usa la exportación avanzada a BigQuery
En esta sección, se describe cómo acceder a tus datos de Google SecOps y usarlos en BigQuery.
Términos y conceptos clave
A continuación, se incluyen algunos términos y conceptos clave de BigQuery Export avanzado:
- Conjunto de datos vinculado: Es un conjunto de datos de BigQuery de solo lectura que funciona como un vínculo simbólico o un puntero a un conjunto de datos compartido en otro proyecto. Te permite consultar datos sin copiarlos, lo que proporciona acceso seguro mientras el proveedor de datos administra el almacenamiento físico.
- Uso compartido de BigQuery: Es el servicio Google Cloud que permite a las organizaciones compartir de forma segura recursos de datos y análisis, como conjuntos de datos de BigQuery, tanto de forma interna como externa.
- Proyecto de usuario: Es un proyecto que pertenece a Google SecOps y que este administra. Google Cloud En este proyecto, se almacenan y administran físicamente los datos de seguridad exportados. No tienes acceso directo a este proyecto.
- Tu proyecto: Es el proyecto Google Cloud que posee tu organización y que se vincula a tu instancia de Google SecOps. Este es el proyecto en el que aparece el conjunto de datos vinculado y en el que ejecutas tus consultas y generas costos de análisis.
- ID del proyecto: Es el identificador único global de tu proyecto.
- Modelo de datos unificado (UDM): Es el esquema estándar y extensible de Google para analizar y normalizar los datos de telemetría de seguridad de cientos de productos de proveedores en un formato coherente.
Configura tu sistema
Sigue estos pasos para configurar tu sistema para usar la Exportación avanzada de BigQuery y comenzar a consultar tus datos:
- Confirma tu licencia: Asegúrate de que tu organización tenga una licencia de Google SecOps Enterprise Plus.
- Identifica tu proyecto: Accede a la consola de Google Cloud y selecciona el proyecto Google Cloud que está vinculado a tu instancia de Google SecOps.
- Ubica el conjunto de datos vinculado: En la consola de BigQuery, usa el panel Explorador para navegar 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 que administra Google SecOps. Verifica los permisos de Identity and Access Management (IAM): Para consultar los datos, tu usuario o cuenta de servicio deben tener los siguientes roles de IAM otorgados en tu proyecto:
roles/bigquery.dataViewer
roles/bigquery.jobUser
Estos roles permiten a los usuarios (como los analistas de seguridad y los consumidores de datos) consultar datos en el conjunto de datos vinculado y ejecutar trabajos de BigQuery dentro de su proyecto.
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 (reemplaza PROJECT_ID por tu Google Cloud ID del proyecto real):
SELECT * FROM `PROJECT_ID.secops_linked_data.events` LIMIT 10;
Consulta tus 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 para obtener más detalles sobre las consultas:
- Para obtener información sobre cómo acceder a BigQuery y ejecutar consultas, abre Ejecuta una consulta y aprende a ejecutar una consulta interactiva y ejecutar una consulta por lotes.
- Para obtener información sobre cómo consultar tablas particionadas, consulta Consulta tablas particionadas.
Período de retención de datos en BigQuery
El período de retención de tus datos en BigQuery es idéntico al período de retención de datos configurado para tu arrendatario de Google SecOps. No hay un parámetro de configuración independiente que se pueda configurar para personalizar tu política de retención de datos en BigQuery. Los datos se borran automáticamente de las tablas de BigQuery a medida que superan el período de retención de tu arrendatario.
Conjuntos de datos vinculados
Los conjuntos de datos vinculados contienen varias tablas, cada una correspondiente a un tipo diferente de datos de seguridad.
En la siguiente tabla, se proporciona un resumen de los conjuntos de datos disponibles, su actualización de datos objetivo y las claves primarias que se usan para garantizar la integridad de los datos:
Nombre del conjunto de datos | Descripción | Mejor actualización esperada | Claves primarias para la anulación de duplicación |
---|---|---|---|
events |
Son eventos de seguridad normalizados en el esquema del UDM. Para obtener información sobre el esquema, consulta Esquema de eventos de Google SecOps. |
Menos de 5 minutos | metadata.id (representación de cadena) |
rule_detections |
Son las detecciones que generan las reglas del motor de detección de Google SecOps. Para obtener información sobre el esquema, consulta Cómo ver alertas y IOC en Google SecOps. |
Menos de 5 minutos | Ninguno |
ioc_matches |
Son las coincidencias de IoC que se encontraron en los eventos del UDM. Para obtener información sobre el esquema, consulta Cómo ver alertas y IoC en Google SecOps. |
Menos de 5 minutos | Ninguno |
entity_graph |
Son datos contextuales sobre las entidades (usuarios, recursos) y sus relaciones. Para obtener información sobre el esquema, consulta Enriquece los datos de eventos y entidades con Google SecOps. |
Aprox. 4 horas (por lotes) |
Ninguno |
ingestion_metrics |
Estadísticas sobre el volumen de transferencia de registros y las fuentes de datos. Para obtener información sobre los esquemas, consulta Esquema de métricas de transferencia y Referencia de métricas de transferencia para Looker y BigQuery en Google SecOps. |
Aproximadamente 5 minutos | Ninguno (serie temporal de solo anexión) |
Consultas de muestra
En los siguientes ejemplos, se muestra cómo consultar los conjuntos de datos para casos de uso de seguridad comunes. Recuerda reemplazar PROJECT_ID por tu ID del proyecto Google Cloud real.
Ejemplo: Cómo encontrar todas las conexiones de red desde una dirección IP específica en las últimas 24 horas
Esta consulta busca actividad de red reciente en la tabla events desde 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: Recuento de las 10 detecciones de reglas más frecuentes
Esta consulta en la tabla rule_detections ayuda a identificar las amenazas o los incumplimientos de políticas más comunes 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 incluyen algunas prácticas recomendadas para realizar consultas con la Exportación avanzada de BigQuery:
- Optimiza los costos: Evita
SELECT *
. En tu consulta, especifica solo las columnas que necesitas para reducir la cantidad de datos analizados y disminuir los costos de la consulta. - Usa filtros de partición: La tabla events está particionada por la columna
hour_time_bucket
. Siempre incluye un filtro de cláusulaWHERE
en esta columna para limitar las consultas al período más corto posible, lo que mejora significativamente el rendimiento y reduce el costo. - Escribe consultas eficientes: El esquema del UDM es amplio y disperso. Para filtrar de manera eficiente tipos de eventos específicos, usa
WHERE... IS NOT NULL
en los campos pertinentes. Por ejemplo, para encontrar solo las consultas de DNS, filtraWHERE network.dns.questions.name IS NOT NULL
. - Valida las consultas: Usa el validador de consultas en la IU 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
Las siguientes son limitaciones conocidas de la función BigQuery Export avanzado:
- Latencia del gráfico de entidades: El conjunto de datos de
entity_graph
se exporta con un proceso por lotes y tiene una actualización de datos de aproximadamente cuatro horas. - Claves de encriptación administradas por el cliente (CMEK): La función BigQuery Export avanzado no está disponible para los clientes que habilitaron la CMEK en su instancia de Google SecOps.
- Columnas del esquema del UDM: BigQuery tiene un límite flexible de 10,000 columnas por tabla. El esquema del UDM contiene más de 27,000 campos y está escasamente propagado. La canalización de exportación incluye de forma inteligente solo las columnas completadas para un evento determinado, lo que mantiene a la mayoría de los clientes muy por debajo del límite. Google SecOps supervisa el uso de las columnas y solicita de forma proactiva un aumento del límite para tu proyecto de arrendatario si se acerca a este umbral.
- Política de retención: El período de retención de datos para todos los datos de seguridad exportados a BigQuery se sincroniza automáticamente con el período de retención de datos de tu proyecto de Google SecOps y no se puede configurar por separado.
- Datos que llegan tarde: En circunstancias excepcionales, si los datos llegan con una demora significativa a la canalización de procesamiento, existe una pequeña probabilidad de que no se combinen correctamente. El sistema está diseñado para minimizar esto, pero es una característica conocida de los sistemas de transmisión de alta capacidad de procesamiento que dependen de la coherencia eventual.
- Datos enriquecidos: La cobertura se limita a los eventos de UDM enriquecidos de una sola vez. Los eventos del UDM enriquecidos nuevamente no se exportan a la instancia de BigQuery del proyecto de tu arrendatario.
- Datos históricos: La exportación de datos comienza desde el momento en que se habilita la Exportación avanzada a BigQuery, y los datos anteriores siguen estando accesibles en tu proyecto existente. Para consultar los datos exportados antes de la activación de la Exportación avanzada de BigQuery, debes usar una sola consulta que una los datos de ambos proyectos o ejecutar dos consultas separadas en los proyectos respectivos (una para el conjunto de datos anterior y otra para el nuevo).
Solución de problemas y asistencia
En la siguiente tabla, se proporcionan soluciones para los problemas comunes que puedes encontrar:
Síntoma observado | Causa posible | Acción recomendada |
---|---|---|
Las búsquedas fallan con Access Denied: User does not have permission. |
La cuenta de usuario o de servicio no tiene los roles de IAM de BigQuery necesarios en el proyecto Google Cloud vinculado a tu instancia de Google SecOps. | Otorga los roles de visualizador de datos de BigQuery y usuario de trabajo de BigQuery a la principal. Verifica esto 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 está visible en mi proyecto de BigQuery. |
1. No estás en el proyecto Google Cloud correcto. 2. Tu organización no está en el nivel de Enterprise Plus. 3. Tu organización utiliza el nivel Enterprise Plus, pero la exportación avanzada de BigQuery no está habilitada en tu instancia de Google SecOps. |
1. En la consola de Google Cloud , verifica que hayas seleccionado el proyecto vinculado a tu instancia de Google SecOps. 2. Comunícate con tu representante de Google para confirmar el nivel de tu licencia de Google SecOps. 3. Comunícate con tu representante de Google SecOps y pídele que habilite la exportación avanzada de BigQuery en tu instancia de Google SecOps. |
Aparecen eventos que parecen duplicados en los resultados de la consulta. | Esto puede deberse a datos que llegan tarde en un flujo de alta capacidad de procesamiento. 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? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.