En este documento, se describe un tipo de hallazgo de amenazas de Security Command Center. Los detectores de amenazas generan hallazgos de amenazas cuando identifican una posible amenaza en tus recursos de Cloud. Para obtener una lista completa de los hallazgos de amenazas disponibles, consulta el Índice de hallazgos de amenazas.
Descripción general
Un recurso se guardó fuera de tu organización o proyecto iniciado por un agente de IA.
Event Threat Detection es la fuente de este hallazgo.
Cómo se debe responder
Para responder a este hallazgo, sigue los pasos que se indican a continuación:
Paso 1: Revisa los detalles del hallazgo
- Abre un hallazgo de
Exfiltration: AI Agent Initiated BigQuery Data Exfiltration to External Tablecomo se indica en Revisa los hallazgos. En la pestaña Resumen del panel de detalles del hallazgo, revisa los valores que se indican en las siguientes secciones:
- Qué se detectó:
- Correo electrónico principal: Es la cuenta que se usó para robar los datos.
- Fuentes de robo de datos: Son detalles sobre las tablas de las que se robaron datos.
- Objetivos de robo de datos: Son detalles sobre las tablas en las que se almacenaron los datos robados.
- Recurso afectado:
- Nombre completo del recurso: Es el nombre completo del recurso del proyecto, la carpeta o la organización desde los que se filtraron los datos.
- Vínculos relacionados:
- URI de Cloud Logging: Es el vínculo a las entradas de Logging.
- Método MITRE ATT&CK: Es el vínculo a la documentación de MITRE ATT&CK.
- Hallazgos relacionados: Son los vínculos a los hallazgos relacionados.
- Qué se detectó:
Haz clic en la pestaña Propiedades fuente y revisa los campos que se muestran, en especial los siguientes de esta lista:
evidence:sourceLogId:projectId: Es el proyecto de Google Cloud que contiene el conjunto de datos de BigQuery de origen.
propertiesdataExfiltrationAttemptjobLink: Es el vínculo al trabajo de BigQuery que robó datos.query: la consulta en SQL que se ejecuta en el conjunto de datos de BigQuery.
De manera opcional, haz clic en la pestaña JSON para ver la ficha completa de las propiedades JSON del hallazgo.
Paso 2: Revisa los permisos y la configuración
En la consola de Google Cloud , dirígete a la página IAM.
Si es necesario, elige el proyecto que aparece en el campo
projectIddel JSON del hallazgo.En la página que aparece, en el cuadro Filtro, escribe la dirección de correo electrónico que aparece en correo electrónico principal y comprueba qué permisos se asignaron a la cuenta.
Paso 3: Comprueba los registros
- En la pestaña Resumen del panel de detalles del hallazgo, haz clic en el vínculo URI de Cloud Logging para abrir el Explorador de registros.
Busca los registros de actividad del administrador relacionados con los trabajos de BigQuery con los siguientes filtros:
protoPayload.methodName="Jobservice.insert"protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"
Paso 4: Investiga los métodos de ataque y respuesta
- Revisa la entrada del framework de MITRE ATT&CK para este tipo de hallazgo: Robo de datos en Cloud Storage.
- Haz clic en el vínculo de Hallazgos relacionados en la fila Hallazgos relacionados de la pestaña Resumen de los detalles del hallazgo para revisar los hallazgos relacionados. Los hallazgos relacionados son del mismo tipo y tienen la misma instancia y red.
- Para elaborar un plan de respuesta, combina los resultados de la investigación con la investigación de MITRE.
Paso 5: Implementa la respuesta
El siguiente plan de respuesta podría ser adecuado para este hallazgo, pero también podría afectar las operaciones. Evalúa con cuidado la información que recopilas durante la investigación para determinar la mejor manera de resolver los hallazgos.
- Comunícate con el propietario del proyecto del cual se robaron datos.
- Considera revocar los permisos de
userEmailhasta que se complete la investigación. - Para detener el robo de datos, agrega políticas de IAM restrictivas a los conjuntos de datos afectados de BigQuery (
exfiltration.sourcesyexfiltration.targets). - Para analizar conjuntos de datos afectados en busca de información sensible, usa Sensitive Data Protection. También puedes enviar datos de Sensitive Data Protection a Security Command Center. Según la cantidad de información, los costos de Sensitive Data Protection pueden ser significativos. Sigue las prácticas recomendadas para mantener los costos de Sensitive Data Protection bajo control.
- Para limitar el acceso a la API de BigQuery, usa los Controles del servicio de VPC.
- Para identificar y corregir los roles demasiado permisivos, usa el recomendador de IAM.
JSON de ejemplo del hallazgo
A continuación, se muestra un ejemplo del JSON del hallazgo, con los valores predeterminados omitidos.
{ "finding": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global", "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "state": "ACTIVE", "category": "Exfiltration: AI Agent Initiated BigQuery Data Exfiltration to External Table", "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID/securityMarks" }, "eventTime": "TIMESTAMP", "createTime": "TIMESTAMP", "severity": "HIGH", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/locations/global/findings/FINDING_ID", "findingClass": "THREAT", "access": { "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "COUNTRY_CODE" }, "userAgent": "USER_AGENT", "serviceName": "bigquery.googleapis.com", "methodName": "google.cloud.bigquery.v2.JobService.InsertJob", "principalSubject": "principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID" }, "mitreAttack": { "primaryTactic": "EXFILTRATION", "primaryTechniques": [ "EXFILTRATION_OVER_WEB_SERVICE", "EXFILTRATION_TO_CLOUD_STORAGE" ] }, "exfiltration": { "sources": [ { "name": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID" } ], "targets": [ { "name": "//bigquery.googleapis.com/projects/TARGET_PROJECT_ID/datasets/TARGET_DATASET_ID/tables/TARGET_TABLE_ID" } ] }, "parentDisplayName": "Event Threat Detection", "domains": [ { "category": "AI" }, { "category": "IDENTITY_AND_ACCESS" } ], "logEntries": [ { "cloudLoggingEntry": { "insertId": "INSERT_ID", "logId": "cloudaudit.googleapis.com/data_access", "resourceContainer": "projects/PROJECT_ID", "timestamp": "TIMESTAMP" } } ] }, "resource": { "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "displayName": "PROJECT_ID", "type": "google.cloud.resourcemanager.Project", "cloudProvider": "GOOGLE_CLOUD_PLATFORM", "service": "cloudresourcemanager.googleapis.com", "gcpMetadata": { "project": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectDisplayName": "PROJECT_ID", "parent": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID", "parentDisplayName": "ORGANIZATION_DISPLAY_NAME", "organization": "organizations/ORGANIZATION_ID" }, "resourcePath": { "nodes": [ { "nodeType": "GCP_PROJECT", "id": "projects/PROJECT_NUMBER", "displayName": "PROJECT_ID" }, { "nodeType": "GCP_ORGANIZATION", "id": "organizations/ORGANIZATION_ID" } ] }, "resourcePathString": "organizations/ORGANIZATION_ID/projects/PROJECT_NUMBER" }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "ruleName": "agent_engine_big_query_exfil", "subRuleName": "agent_engine_exfil_to_external_table" }, "detectionPriority": "HIGH", "affectedResources": [ { "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER" } ], "evidence": [ { "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "TIMESTAMP_SECONDS", "nanos": TIMESTAMP_NANOS }, "insertId": "INSERT_ID", "logId": "cloudaudit.googleapis.com/data_access" } } ], "properties": { "dataExfiltrationAttempt": { "jobState": "SUCCEEDED", "jobLink": "https://console.cloud.google.com/bigquery?j=bq:BIGQUERY_JOB_LOCATION:BIGQUERY_JOB_ID&project=PROJECT_ID&page=queryresults", "job": { "projectId": "PROJECT_ID", "jobId": "BIGQUERY_JOB_ID", "location": "BIGQUERY_JOB_LOCATION" }, "query": "QUERY", "sourceTables": [ { "resourceUri": "https://console.cloud.google.com/bigquery?p=PROJECT_ID&d=DATASET_ID&t=TABLE_ID&page=table", "projectId": "PROJECT_ID", "datasetId": "DATASET_ID", "tableId": "TABLE_ID" } ], "destinationTables": [ { "resourceUri": "https://console.cloud.google.com/bigquery?p=TARGET_PROJECT_ID&d=TARGET_DATASET_ID&t=TARGET_TABLE_ID&page=table", "projectId": "TARGET_PROJECT_ID", "datasetId": "TARGET_DATASET_ID", "tableId": "TARGET_TABLE_ID" } ] } }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1567/002/" }, "cloudLoggingQueryUri": [ { "displayName": "Cloud Logging Query Link", "url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%22TIMESTAMP%22%0AinsertId%3D%22INSERT_ID%22?project=PROJECT_ID" } ] }, "domains": [ { "category": "AI" }, { "category": "IDENTITY_AND_ACCESS" } ] } }
¿Qué sigue?
- Aprende a trabajar con los hallazgos de amenazas en Security Command Center.
- Consulta el Índice de hallazgos de amenazas.
- Aprende a revisar un hallazgo con la consola de Google Cloud .
- Obtén información sobre los servicios que generan hallazgos de amenazas.