探索:AI Agent 未經授權的服務帳戶 API 呼叫

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

總覽

AI 代理程式身分未經授權發出跨專案 API 呼叫。發現項目預設為嚴重程度。

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

回應方式

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

查看發現項目詳細資料

  1. 按照「查看結果」一文的指示,開啟 Discovery: AI Agent Unauthorized Service Account API Call 發現項目。查看「摘要」和「JSON」分頁中的詳細資料。

    • 偵測到的內容,尤其是下列欄位:
      • 主體電子郵件地址:執行修改作業的帳戶。
      • 方法名稱:呼叫的方法。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:服務帳戶嘗試存取或修改的資源。
    • 相關連結
      • Cloud Logging URI:記錄項目連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
  2. 找出這個資源在類似時間發生的其他發現事項。 相關發現可能指出這項活動是惡意活動,而非未遵循最佳做法。

  3. 查看受影響資源的設定。

  4. 查看受影響資源的記錄。

    1. 在Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往「Logs Explorer」
    2. 查看 protoPayload.methodNameprotoPayload.resourceName 欄位,瞭解 API 呼叫和目標資源。
    3. 使用下列篩選條件,檢查主體執行的其他動作:

      • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"
      • protoPayload.methodName="METHOD_NAME"
      • protoPayload.resourceName="RESOURCE_NAME"

      更改下列內容:

      • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主體電子郵件」欄位中記下的值。
      • METHOD_NAME:發現詳細資料中「方法名稱」欄位的值。
      • RESOURCE_NAME:調查結果詳細資料中「資源完整名稱」欄位的值。

研究攻擊和回應方法

查看這類發現項目的 MITRE ATT&CK 架構項目: 雲端基礎架構探索

實作回覆內容

如需回應建議,請參閱「回應 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": "Discovery: AI Agent Unauthorized Service Account API Call",
    "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",
    "access": {
      "callerIp": "IP_ADDRESS",
      "callerIpGeo": {
        "regionCode": "COUNTRY_CODE"
      },
      "userAgent": "USER_AGENT",
      "serviceName": "SERVICE_NAME",
      "methodName": "METHOD_NAME",
      "principalSubject": "principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID"
    },
    "mitreAttack": {
      "primaryTactic": "DISCOVERY",
      "primaryTechniques": [
        "CLOUD_INFRASTRUCTURE_DISCOVERY"
      ]
    },
    "parentDisplayName": "Event Threat Detection",
    "domains": [
      {
        "category": "AI"
      },
      {
        "category": "IDENTITY_AND_ACCESS"
      }
    ],
    "logEntries": [
      {
        "cloudLoggingEntry": {
          "insertId": "INSERT_ID",
          "logId": "cloudaudit.googleapis.com/activity",
          "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_unauthorized_service_account_api_call"
    },
    "detectionPriority": "LOW",
    "affectedResources": [
      {
        "gcpResourceName": "RESOURCE_NAME",
      },
      {
        "gcpResourceName": "RESOURCE_NAME",
      }
    ],
    "evidence": [
      {
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "TIMESTAMP_SECONDS",
            "nanos": TIMESTAMP_NANOS
          },
          "insertId": "INSERT_ID",
          "logId": "cloudaudit.googleapis.com/activity"
        }
      }
    ],
    "findingId": "FINDING_ID",
    "contextUris": {
      "mitreUri": {
        "displayName": "MITRE Link",
        "url": "https://attack.mitre.org/techniques/T1580"
      },
      "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"
      }
    ]
  }
}

後續步驟