本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具偵測到雲端資源中可能存在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱威脅發現項目索引。
總覽
檢查稽核記錄,偵測可能可疑的 IAM 角色繫結新增作業。
以下是異常授予的權限範例:
- 從 Google Cloud 控制台邀請外部使用者 (例如 gmail.com 使用者) 擔任專案擁有者
- 授予敏感權限的服務帳戶
- 授予敏感權限的自訂角色
- 從機構或專案外部新增的服務帳戶
IAM Anomalous Grant 發現項目獨特之處在於包含子規則,可提供每個發現項目例項的更具體資訊。這項發現項目的嚴重性分類取決於子規則。每個子規則可能需要不同的回應。
以下列出所有可能的子規則及其嚴重程度:
external_service_account_added_to_policy:external_member_invited_to_policy:HIGHexternal_member_added_to_policy:custom_role_given_sensitive_permissions:MEDIUMservice_account_granted_sensitive_role_to_member:HIGHpolicy_modified_by_default_compute_service_account:HIGH
Event Threat Detection 是這項發現項目的來源。
回應方式
如要回應這項發現項目,請按照下列步驟操作:
步驟 1:查看調查結果詳細資料
按照「查看發現項目」一文的說明,開啟
Persistence: IAM Anomalous Grant發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。在「摘要」分頁中,查看下列各節的資訊:
- 偵測到的內容,尤其是下列欄位:
- 主體電子郵件地址:指派角色的使用者或服務帳戶的電子郵件地址。
受影響的資源
相關連結,尤其是下列欄位:
- Cloud Logging URI:記錄項目連結。
- MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
- 相關發現項目:任何相關發現項目的連結。
- VirusTotal 指標:連結至 VirusTotal 分析頁面。
- 偵測到的內容,尤其是下列欄位:
按一下「JSON」分頁標籤。畫面上會顯示發現項目的完整 JSON。
在調查結果的 JSON 中,請注意下列欄位:
detectionCategory:subRuleName:提供發生異常授權的具體資訊。子規則會決定這項發現項目的嚴重性分類。
evidence:sourceLogId:projectId:包含發現項目的專案 ID。
properties:sensitiveRoleGrant:bindingDeltas:Action:使用者採取的動作。Role:指派給使用者的角色。member:獲派角色的使用者電子郵件地址。
步驟 2:檢查記錄
- 在發現項目詳細資料面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「Logs Explorer」。
- 在隨即載入的頁面中,使用下列篩選器尋找新的或更新的 IAM 資源:
protoPayload.methodName="SetIamPolicy"protoPayload.methodName="google.iam.admin.v1.UpdateRole"protoPayload.methodName="google.iam.admin.v1.CreateRole"
步驟 3:研究攻擊和回應方法
- 查看這類發現項目的 MITRE ATT&CK 框架項目: 有效帳戶:雲端帳戶。
- 按一下發現項目詳細資料「摘要」分頁中「相關發現項目」列的連結,即可查看相關發現項目。 相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
- 如要制定回應計畫,請將調查結果與 MITRE 研究結合。
步驟 4:實作回應
下列應變計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方式。
- 請與遭盜用的帳戶的專案擁有者聯絡。
- 刪除遭入侵的服務帳戶,並輪替及刪除遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源將無法存取。
- 刪除未經授權帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
- 如要限制新增 gmail.com 使用者,請使用機構政策。
- 如要找出並修正權限過多的角色,請使用 IAM 建議工具。
發現項目 JSON 範例
以下是發現項目 JSON 的範例。
{ "findings": { "access": { "principalEmail": "PRINCIPAL_EMAIL", "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "REGION_CODE" }, "serviceName": "SERVICE_NAME", "methodName": "METHOD_NAME", "principalSubject": "PRINCIPAL_SUBJECT", "serviceAccountKeyName": "SERVICE_ACCOUNT_KEY_NAME" }, "assetDisplayName": "ASSET_DISPLAY_NAME", "assetId": "organizations/ORGANIZATION_ID/assets/ASSET_ID", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "category": "Persistence: IAM Anomalous Grant", "cloudDlpInspection": {}, "contacts": { "security": { "contacts": [ { "email": "EMAIL_ADDRESS_1" }, { "email": "EMAIL_ADDRESS_2" } ] }, "technical": { "contacts": [ { "email": "EMAIL_ADDRESS_3" }, { "email": "EMAIL_ADDRESS_4" } ] } }, "createTime": "CREATE_TIMESTAMP", "database": {}, "eventTime": "EVENT_TIMESTAMP", "exfiltration": {}, "findingClass": "THREAT", "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/etd", "iamBindings": [ { "action": "ADD", "role": "IAM_ROLE", "member": "serviceAccount:ACCOUNT_NAME" } ], "indicator": {}, "kernelRootkit": {}, "kubernetes": {}, "mitreAttack": { "primaryTactic": "INITIAL_ACCESS", "primaryTechniques": [ "VALID_ACCOUNTS", "CLOUD_ACCOUNTS" ] }, "mute": "UNDEFINED", "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "parentDisplayName": "Event Threat Detection", "resourceName": "RESOURCE_FULL_NAME", "severity": "SEVERITY_CLASSIFICATION", "state": "ACTIVE", "vulnerability": {}, "workflowState": "NEW" }, "resource": { "name": "RESOURCE_FULL_NAME", "display_name": "RESOURCE_DISPLAY_NAME", "project_name": "//RESOURCE/projects/PROJECT_NUMBER", "project_display_name": "PROJECT_ID", "parent_name": "RESOURCE_PARENT_NAME", "parent_display_name": "PARENT_DISPLAY_NAME", "type": "RESOURCE_TYPE", "folders": [ { "resourceFolderDisplayName": "RESOURCE_FOLDER_DISPLAY_NAME", "resourceFolder": "RESOURCE_FOLDER_ID" } ] }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "technique": "persistence", "indicator": "audit_log", "ruleName": "iam_anomalous_grant", "subRuleName": "TYPE_OF_ANOMALOUS_GRANT" }, "detectionPriority": "HIGH", "affectedResources": [ { "gcpResourceName": "GOOGLE_CLOUD_RESOURCE_NAME" } ], "evidence": [ { "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "1678897327", "nanos": 26483000 }, "insertId": "INSERT_ID" } } ], "properties": { "sensitiveRoleGrant": { "principalEmail": "PRINCIPAL_EMAIL", "bindingDeltas": [ { "action": "ADD", "role": "roles/GRANTED_ROLE", "member": "serviceAccount:SERVICE_ACCOUNT_NAME", } ], "members": [ "serviceAccount:SERVICE_ACCOUNT_NAME" ] } }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1078/004/" }, "cloudLoggingQueryUri": [ { "displayName": "Cloud Logging Query Link", "url": "LINK_TO_LOG_QUERY" } ], "relatedFindingUri": { "displayName": "Related Anomalous Grant Findings", "url": "LINK_TO_RELATED_FINDING" } } } }
後續步驟
- 瞭解如何在 Security Command Center 中處理威脅調查結果。
- 請參閱威脅發現項目索引。
- 瞭解如何透過 Google Cloud 控制台查看發現項目。
- 瞭解產生威脅發現項目的服務。