本文档介绍了 Security Command Center 中的一种威胁发现结果类型。当威胁检测器在您的云资源中检测到潜在威胁时,会生成威胁发现结果。如需查看可用威胁发现结果的完整列表,请参阅威胁发现结果索引。
概览
有人尝试从您组织或项目之外的外部 Google Cloud 资源(例如外部 Cloud Storage 存储桶或 BigQuery 数据集)将文档导入 Gemini Enterprise 数据存储区。默认情况下,发现结果会被归类为中严重程度。
Event Threat Detection 是此发现结果的来源。
如何应答
如需响应此发现结果,请执行以下操作:
第 1 步:查看发现结果详情
按照查看发现结果中所述,打开
Impact: Gemini Discovery Engine API Document Import from External Resource发现结果。系统会打开发现结果详细信息面板,以显示摘要标签页。在摘要标签页上,查看以下部分中的信息:
- 检测到的内容,尤其是以下字段:
- 主账号邮箱:发起文档导入的用户、服务账号或 AI 智能体的邮箱。
- 方法名称:所调用的 API 方法 (
google.cloud.discoveryengine.v1.DocumentService.ImportDocuments)。
- 受影响的资源:
- 资源全名:Gemini Enterprise 数据存储区所在的项目、文件夹或组织的完整资源名称。
- 相关链接,尤其是以下字段:
- Cloud Logging URI:指向日志条目的链接。
- MITRE ATT&CK 方法:指向 MITRE ATT&CK 文档的链接。
- 检测到的内容,尤其是以下字段:
第 2 步:检查日志
- 在发现结果详细信息面板的摘要标签页上,点击 Cloud Logging URI 链接以打开 Logs Explorer。
- 在加载的页面上,使用以下过滤条件查找 Gemini Enterprise 文档导入操作:
protoPayload.serviceName="discoveryengine.googleapis.com"protoPayload.methodName="google.cloud.discoveryengine.v1.DocumentService.ImportDocuments"
- 检查
protoPayload.request以确定目标数据存储区 (parent) 和外部来源资源(例如gcsSource.inputUris、bigquerySource、cloudSqlSource、spannerSource、firestoreSource、alloyDbSource、bigtableSource或fhirStoreSource)。
第 3 步:研究攻击和响应方法
- 查看此发现结果类型的 MITRE ATT&CK 框架条目:数据操纵:存储的数据操纵。
- 如需制定响应方案,请将您的调查结果与 MITRE 研究相结合。
第 4 步:实现响应
以下响应方案可能适合此发现结果,但也可能会影响运营。 请仔细评估您在研究中收集的信息,以确定解析发现结果的最佳方法。
- 与包含受影响的 Gemini Enterprise 数据存储区的项目的所有者联系,验证从外部资源导入的操作是否已获得授权。如果合法,请配置可信的跨项目资源访问权限,或从内部存储桶中注入。
- 在调查完成之前,请考虑撤消发起导入的主账号的权限。
- 检查并完全清除导入到 Gemini Enterprise 数据存储区中的任何未经授权或不受信任的文档,以防止知识存储区中毒或间接提示词注入。
- 为防止数据跨组织边界移动,请围绕 Gemini Enterprise 和存储资源配置 VPC Service Controls 服务边界。
如需了解响应建议,请参阅响应 AI 威胁发现结果。
JSON 发现结果示例
以下是发现结果 JSON 的示例,其中省略了默认值。
{ "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": "Impact: Gemini Discovery Engine API Document Import from External Resource", "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID/securityMarks" }, "eventTime": "TIMESTAMP", "createTime": "TIMESTAMP", "severity": "MEDIUM", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/locations/global/findings/FINDING_ID", "findingClass": "THREAT", "access": { "principalEmail": "PRINCIPAL_EMAIL", "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "COUNTRY_CODE" }, "userAgent": "USER_AGENT", "serviceName": "discoveryengine.googleapis.com", "methodName": "google.cloud.discoveryengine.v1.DocumentService.ImportDocuments", "principalSubject": "user:PRINCIPAL_EMAIL" }, "mitreAttack": { "primaryTactic": "IMPACT", "additionalTactics": [ "DEFENSE_EVASION", "PERSISTENCE" ] }, "parentDisplayName": "Event Threat Detection", "domains": [ { "category": "AI" } ], "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": "gemini_enterprise_document_import_attempt_from_external_resource" }, "detectionPriority": "MEDIUM", "affectedResources": [ { "gcpResourceName": "//discoveryengine.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID/branches/0" }, { "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" } } ], "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1565/001/" }, "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" } ] } }
后续步骤
- 了解如何在 Security Command Center 中处理威胁发现结果。
- 请参阅威胁发现结果索引。
- 了解如何通过 Google Cloud 控制台查看发现结果。
- 了解生成威胁发现结果的服务。