本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具在雲端資源中偵測到潛在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱「威脅發現項目索引」。
總覽
系統會檢查稽核記錄,偵測 BigQuery 資料竊取事件,包括以下兩種情況:
- 資源會儲存至貴機構外部的 Cloud Storage bucket。
- 資源會儲存至貴機構擁有的公開存取 Cloud Storage bucket。
如果在專案層級啟用 Security Command Center Premium 方案,只有在父項機構啟用 Standard-legacy 方案時,才能使用這項發現項目。
Event Threat Detection 是這項發現項目的來源。
回應方式
如要回應這項發現項目,請按照下列步驟操作:
步驟 1:查看調查結果詳細資料
- 按照「查看發現項目」一文的說明,開啟
Exfiltration: BigQuery Data Extraction發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。 在發現項目詳細資料面板的「摘要」分頁中,查看下列各節列出的值:
- 偵測到的內容:
- 主要電子郵件地址:用來外洩資料的帳戶。
- 外洩來源:資料外洩的資料表詳細資料。
- 資料竊取目標:遭竊資料儲存位置的詳細資料。
- 受影響的資源:
- 資源完整名稱:遭外洩資料的 BigQuery 資源名稱。
- 專案完整名稱:包含來源 BigQuery 資料集的 Google Cloud 專案。
- 相關連結:
- Cloud Logging URI:記錄項目連結。
- MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
- 相關發現項目:任何相關發現項目的連結。
- 偵測到的內容:
在發現項目詳細資料面板中,按一下「JSON」分頁標籤。
請注意 JSON 中的下列欄位。
sourceProperties:evidence:sourceLogId:projectId:包含來源 BigQuery 資料集的 Google Cloud 專案。
properties:extractionAttempt:jobLink:外洩資料的 BigQuery 工作連結
步驟 2:檢查權限和設定
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
如有需要,請選取在發現項目 JSON
projectId欄位中列出的專案 (來自步驟 1)。在隨即顯示的頁面中,於「篩選條件」方塊中輸入「主體電子郵件」 (來自步驟 1) 中列出的電子郵件地址,並查看指派給該帳戶的權限。
步驟 3:檢查記錄
- 在發現項目詳細資料面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「Logs Explorer」。
- 使用下列篩選器,找出與 BigQuery 工作相關的管理員活動記錄:
protoPayload.methodName="Jobservice.insert"protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"
步驟 4:研究攻擊和應變方法
- 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間。
- 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,按一下「相關發現項目」資料列的連結。相關發現項目是指同一執行個體和網路上的相同發現項目類型。
- 如要制定回應計畫,請將調查結果與 MITRE 研究結合。
步驟 5:實作回應
下列應變計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方式。
- 與遭外洩資料的專案擁有者聯絡。
- 在調查完成前,請考慮撤銷發現項目詳細資料「摘要」分頁中「主體電子郵件」列所列主體的權限。
- 如要防止資料外洩,請為受影響的 BigQuery 資料集新增限制性身分與存取權管理政策,這些資料集會顯示在調查結果詳細資料「摘要」分頁的「資料外洩來源」欄位中。
- 如要掃描受影響資料集中的私密資訊,請使用 Sensitive Data Protection。您也可以將 Sensitive Data Protection 資料傳送至 Security Command Center。視資訊量而定,Sensitive Data Protection 的費用可能相當高昂。請遵循最佳做法,控管 Sensitive Data Protection 費用。
- 如要限制 BigQuery API 的存取權,請使用 VPC 服務控管。
- 如果您是值區擁有者,請考慮撤銷公開存取權限。
- 如要找出並修正權限過多的角色,請使用 IAM 建議工具。
發現項目 JSON 範例
以下是發現項目 JSON 的範例。
{ "finding": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "resource_name": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID", "state": "ACTIVE", "category": "Exfiltration: BigQuery Data Extraction", "sourceProperties": { "affectedResources": [ { "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER" } ], "detectionCategory": { "technique": "storage_bucket_exfiltration", "indicator": "audit_log", "ruleName": "big_query_exfil", "subRuleName": "exfil_to_cloud_storage" }, "detectionPriority": "LOW", "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1567/002/" }, "cloudLoggingQueryUri": [{ "displayName": "Cloud Logging Query Link", "url": "LOGGING_LINK" }], "relatedFindingUri": { "displayName": "Related BigQuery Exfiltration Extraction findings", "url": "RELATED_FINDINGS_LINK" } }, "evidence": [{ "sourceLogId": { "projectId": PROJECT_ID, "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "0", "nanos": 0.0 }, "insertId": "INSERT_ID" } }], "properties": { "extractionAttempt": { "jobLink": "https://console.cloud.google.com/bigquery?j=JOB_ID&project=SOURCE_PROJECT_ID&page=queryresults", "job": { "projectId": "SOURCE_PROJECT_ID", "jobId": "JOB_ID", "location": "US" }, "sourceTable": { "projectId": "DESTINATION_PROJECT_ID", "datasetId": "DATASET_ID", "tableId": "TABLE_ID", "resourceUri": "FULL_URI" }, "destinations": [ { "originalUri": "gs://TARGET_STORAGE_BUCKET_NAME/TARGET_FILE_NAME", "collectionType": "STORAGE_BUCKET", "collectionName": "TARGET_STORAGE_BUCKET_NAME", "objectName": "TARGET_FILE_NAME" } ] }, "principalEmail": "PRINCIPAL_EMAIL" }, "findingId": "FINDING_ID" }, "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks" }, "eventTime": "2022-03-31T21:22:11.359Z", "createTime": "2022-03-31T21:22:12.689Z", "severity": "LOW", "workflowState": "NEW", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "mute": "UNDEFINED", "findingClass": "THREAT", "mitreAttack": { "primaryTactic": "EXFILTRATION", "primaryTechniques": ["EXFILTRATION_OVER_WEB_SERVICE", "EXFILTRATION_TO_CLOUD_STORAGE"] }, "access": { "principalEmail": "PRINCIPAL_EMAIL", "callerIp": "IP", "callerIpGeo": { }, "serviceName": "bigquery.googleapis.com", "methodName": "google.cloud.bigquery.v2.JobService.InsertJob" }, "exfiltration": { "sources": [ { "name": "//bigquery.googleapis.com/projects/SOURCE_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID" } ], "targets": [ { "name": "TARGET_STORAGE_URI" } ] } }, "resource": { "name": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID", "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectDisplayName": "PROJECT_ID", "parentName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER/datasets/DATASET_ID", "parentDisplayName": "PROJECT_ID:DATASET_ID", "type": "google.cloud.bigquery.Table", "folders": [{ "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER", "resourceFolderDisplayName": "FOLDER_NAME" }], "displayName": "PROJECT_ID:DATASET_ID.TABLE_ID" } }
後續步驟
- 瞭解如何在 Security Command Center 中處理威脅調查結果。
- 請參閱威脅發現項目索引。
- 瞭解如何透過 Google Cloud 控制台查看發現項目。
- 瞭解產生威脅發現項目的服務。