權限提升:資料存取權的異常多步驟服務帳戶委派項目

本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具在雲端資源中偵測到潛在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱威脅發現項目索引

總覽

Anomalous Multistep Service Account Delegation:檢查資料存取稽核記錄,確認服務帳戶模擬要求是否出現任何異常狀況。

Event Threat Detection 是這項發現項目的來源。

回應方式

如要回應這項發現項目,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目」一文的說明,開啟 Privilege Escalation: Anomalous Multistep Service Account Delegation for Data Access 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud
      • 服務名稱:參與模擬要求服務的 API 名稱 Google Cloud
      • 方法名稱:呼叫的方法
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的委派人是模擬要求呼叫者
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄項目連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和應變方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認該動作是否由合法擁有者執行。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 與「服務帳戶委派資訊」清單中的模擬呼叫端擁有者聯絡。確認是否為合法擁有者所為。

步驟 3:實作回應

下列應變計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方式。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。請先由安全團隊找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正權限過多的角色,請使用 IAM 建議工具

發現項目 JSON 範例

以下是發現項目 JSON 的範例。

{
  "findings": {
    "access": {
      "principalEmail": "PRINCIPAL_EMAIL",
      "callerIp": "IP_ADDRESS",
      "callerIpGeo": {},
      "serviceName": "storage.googleapis.com",
      "methodName": "storage.buckets.list",
      "serviceAccountDelegationInfo": [
        {
          "principalEmail": "PRINCIPAL_EMAIL"
        },
        {
          "principalEmail": "PRINCIPAL_EMAIL"
        },
        {
          "principalEmail": "PRINCIPAL_EMAIL"
        }
      ]
    },
    "assetDisplayName": "PROJECT_ID",
    "assetId": "organizations/ORGANIZATION_ID/assets/ASSET_ID",
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "Privilege Escalation: Anomalous Multistep Service Account Delegation for Data Access",
    "cloudDlpInspection": {},
    "contacts": {
      "security": {
        "contacts": [
          {
            "email": "EMAIL_ADDRESS"
          }
        ]
      }
    },
    "createTime": "2023-02-09T03:26:04.611Z",
    "database": {},
    "eventTime": "2023-02-09T03:26:05.403Z",
    "exfiltration": {},
    "findingClass": "THREAT",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/etd",
    "indicator": {},
    "kernelRootkit": {},
    "kubernetes": {},
    "mitreAttack": {
      "primaryTactic": "INITIAL_ACCESS",
      "primaryTechniques": [
        "VALID_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": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "severity": "MEDIUM",
    "sourceDisplayName": "Event Threat Detection",
    "state": "ACTIVE",
    "vulnerability": {},
    "workflowState": "NEW"
  },
  "resource": {
    "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "display_name": "PROJECT_ID",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_ID",
    "parent_name": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
    "parent_display_name": "ORGANIZATION",
    "type": "google.cloud.resourcemanager.Project",
    "folders": []
  },
  "sourceProperties": {
    "sourceId": {
      "projectNumber": "PROJECT_NUMBER",
      "customerOrganizationNumber": "ORGANIZATION_ID"
    },
    "detectionCategory": {
      "ruleName": "anomalous_sa_delegation_multistep_data_access"
    },
    "detectionPriority": "MEDIUM",
    "affectedResources": [
      {
        "gcpResourceName": "//storage.googleapis.com/"
      },
      {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }
    ],
    "evidence": [
      {
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1675913160",
            "nanos": 929341814
          },
          "insertId": "o5ii7hddddd"
        }
      }
    ],
    "properties": {},
    "findingId": "FINDING_ID",
    "contextUris": {
      "mitreUri": {
        "displayName": "MITRE Link",
        "url": "https://attack.mitre.org/techniques/T1078/"
      }
    }
  }
}

後續步驟