本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具偵測到雲端資源中可能存在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱威脅發現項目索引。
總覽
系統會使用 AI 代理服務帳戶憑證,調查與該服務帳戶相關聯的角色和權限。這項發現指出服務帳戶憑證可能遭盜用,應立即採取行動。
Event Threat Detection 是這項發現項目的來源。
回應方式
如要回應這項發現項目,請按照下列步驟操作:
步驟 1:查看調查結果詳細資料
按照本頁稍早「查看調查結果詳細資料」一節的說明,開啟
Discovery: AI Agent Service Account Self-Investigation發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。在「摘要」分頁中,查看下列各節的資訊:
- 偵測到的內容,尤其是下列欄位:
- 嚴重程度:指派給發現項目的風險等級。如果觸發這項發現項目 的 API 呼叫未經授權,也就是服務帳戶沒有權限透過
projects.getIamPolicyAPI 查詢自己的 IAM 權限,則嚴重程度為HIGH。 - 主體電子郵件地址:可能遭盜用的服務帳戶。
- 呼叫端 IP:內部或外部 IP 位址
- 嚴重程度:指派給發現項目的風險等級。如果觸發這項發現項目 的 API 呼叫未經授權,也就是服務帳戶沒有權限透過
- 受影響的資源,尤其是下列欄位:
- 資源完整名稱:
- 專案完整名稱:包含可能外洩帳戶憑證的專案。
- 相關連結,尤其是下列欄位:
- Cloud Logging URI:記錄項目連結。
- MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
- 相關發現項目:任何相關發現項目的連結。
- 如要查看發現項目的完整 JSON,請按一下「JSON」分頁標籤。
- 偵測到的內容,尤其是下列欄位:
步驟 2:檢查專案和服務帳戶權限
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
如有需要,請選取發現項目 JSON 的
projectID欄位中列出的專案。在隨即顯示的頁面中,於「Filter」(篩選器) 方塊中輸入「Principal email」(主體電子郵件) 中列出的帳戶名稱,並檢查已指派的權限。如果看不到服務帳戶,可能是 Google 提供的 Agent Runtime 服務帳戶。在這種情況下,請選取「包含 Google 提供的角色授予項目」,即可查看服務帳戶。
如果是非 Google 提供的服務帳戶,請前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
如果是非 Google 提供的服務帳戶,請在隨即顯示的頁面中,於「篩選器」方塊輸入遭入侵的服務帳戶名稱,並檢查服務帳戶的金鑰和金鑰建立日期。
步驟 3:檢查記錄
- 在發現項目詳細資料面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「Logs Explorer」。
- 必要時,請選取專案。
- 在隨即載入的頁面中,使用下列篩選器檢查新或更新的 IAM 資源活動記錄:
proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"protoPayload.methodName="SetIamPolicy"protoPayload.authenticationInfo.principalEmail="principalEmail"
步驟 4:研究攻擊和應變方法
- 請參閱這類發現項目的 MITRE ATT&CK 框架項目: 權限群組探索:雲端群組。
- 如要制定回應計畫,請將調查結果與 MITRE 研究結合。
步驟 5:實作回應
下列應變計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方式。
- 請與遭盜用的帳戶的專案擁有者聯絡。
- 如果遭入侵的服務帳戶是 Google 提供的 Agent Runtime 服務帳戶,您無法直接刪除。在這種情況下,請將服務帳戶的權限限制在最低需求。否則,請刪除遭入侵的服務帳戶,並輪替及刪除遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源將無法存取。
- 刪除遭盜用的帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
發現項目 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": "Discovery: AI Agent Service Account Self-Investigation", "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID/securityMarks" }, "eventTime": "TIMESTAMP", "createTime": "TIMESTAMP", "severity": "LOW", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/locations/global/findings/FINDING_ID", "findingClass": "THREAT", "contacts": { "security": { "contacts": [ { "email": "USER_EMAIL" } ] } }, "access": { "principalEmail": "PRINCIPAL_EMAIL", "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "COUNTRY_CODE" }, "userAgent": "USER_AGENT", "serviceName": "cloudresourcemanager.googleapis.com", "methodName": "GetIamPolicy", "principalSubject": "serviceAccount:PRINCIPAL_EMAIL" }, "mitreAttack": { "primaryTactic": "DISCOVERY", "primaryTechniques": [ "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS" ] }, "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_iam_anomalous_behavior", "subRuleName": "agent_engine_service_account_gets_own_iam_policy" }, "detectionPriority": "LOW", "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": { "serviceAccountGetsOwnIamPolicy": { "principalEmail": "PRINCIPAL_EMAIL", "projectId": "PROJECT_ID", "callerIp": "IP_ADDRESS", "callerUserAgent": "USER_AGENT", "rawUserAgent": "USER_AGENT" } }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1069/003/" }, "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" } ] } }
後續步驟
- 瞭解如何在 Security Command Center 中處理威脅調查結果。
- 請參閱威脅發現項目索引。
- 瞭解如何透過 Google Cloud 控制台查看發現項目。
- 瞭解產生威脅發現項目的服務。