このドキュメントでは、Security Command Center の脅威の検出結果のタイプについて説明します。脅威の検出結果は、クラウド リソースで潜在的な脅威が検出されたときに、脅威検出機能によって生成されます。使用可能な脅威の検出結果の一覧については、脅威の検出結果のインデックスをご覧ください。
概要
AI エージェントが複数のメソッドとサービスで権限拒否エラーを繰り返しトリガーしました。
この検出結果のソースは Event Threat Detection です。
対処方法
この検出結果に対応する手順は次のとおりです。
ステップ 1: 検出結果の詳細を確認する
- 検出結果の確認の説明に従って、
Initial Access: AI Agent Identity Excessive Permission Denied Actionsの検出結果を開きます。 [検出の詳細] の [概要] タブで、次のフィールドの値をメモします。
検出された内容:
- プリンシパルのメール: 複数の権限拒否エラーをトリガーしたプリンシパル
- サービス名: 権限拒否エラーが最後に発生した Google Cloud サービスの API 名
- メソッド名: 最後の権限拒否エラーが発生したときに呼び出されたメソッド
[検出の詳細] の [参照元プロパティ] タブで、JSON 形式の次のフィールドの値をメモします。
- properties.failedActions: 発生した権限拒否エラー。各エントリの詳細には、サービス名、メソッド名、失敗した試行回数、エラーが最後に発生した時刻が含まれます。最大 10 個のエントリが表示されます。
ステップ 2: ログを確認する
- Google Cloud コンソールで、Cloud Logging URI のリンクをクリックして [ログ エクスプローラ] に移動します。
- Google Cloud コンソールのツールバーでプロジェクトを選択します。
読み込まれたページで、次のフィルタを使用して関連ログを見つけます。
protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"protoPayload.status.code=7
PRINCIPAL_EMAIL は、[検出の詳細] の [プリンシパルのメール] フィールドからメモした値に置き換えます。
ステップ 3: 攻撃とレスポンスの手法を調査する
- この検出結果タイプに対応する MITRE ATT&CK フレームワーク エントリ(Valid Accounts: Cloud Accounts)を確認します。
- 対応計画を策定するには、独自の調査結果と MITRE の調査を組み合わせる必要があります。
ステップ 4: レスポンスを実装する
次の対応計画は、この検出結果に適切な場合もありますが、運用に影響する可能性もあります。調査で収集した情報を慎重に評価して、検出結果を解決する最適な方法を判断してください。
- [プリンシパルのメール] フィールドにあるアカウントのオーナーに連絡します。正当なオーナーが操作を行ったかどうかを確認します。
- 覚えのない 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": "Initial Access: AI Agent Identity Excessive Permission Denied Actions", "securityMarks": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/locations/global/findings/FINDING_ID/securityMarks" }, "eventTime": "TIMESTAMP", "createTime": "TIMESTAMP", "severity": "MEDIUM", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/locations/global/findings/FINDING_ID", "findingClass": "THREAT", "contacts": { "security": { "contacts": [ { "email": "USER_EMAIL" } ] }, "technical": { "contacts": [ { "email": "USER_EMAIL" } ] } }, "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": "INITIAL_ACCESS", "primaryTechniques": [ "VALID_ACCOUNTS", "CLOUD_ACCOUNTS" ] }, "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/folders/FOLDER_ID", "parentDisplayName": "FOLDER_NAME", "folders": [ { "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_ID", "resourceFolderDisplayName": "FOLDER_NAME" } ], "organization": "organizations/ORGANIZATION_ID" }, "resourcePath": { "nodes": [ { "nodeType": "GCP_PROJECT", "id": "projects/PROJECT_NUMBER", "displayName": "PROJECT_ID" }, { "nodeType": "GCP_FOLDER", "id": "folders/FOLDER_ID", "displayName": "FOLDER_NAME" }, { "nodeType": "GCP_ORGANIZATION", "id": "organizations/ORGANIZATION_ID" } ] }, "resourcePathString": "organizations/ORGANIZATION_ID/folders/FOLDER_ID/projects/PROJECT_NUMBER" }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "ruleName": "agent_engine_excessive_failed_attempt" }, "detectionPriority": "MEDIUM", "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/activity" } } ], "properties": { "failedActions": [ { "methodName": "METHOD_NAME", "serviceName": "SERVICE_NAME", "attemptTimes": "TIMES", "lastOccurredTime": "TIMESTAMP" }, { "methodName": "METHOD_NAME", "serviceName": "SERVICE_NAME", "attemptTimes": "TIMES", "lastOccurredTime": "TIMESTAMP" } ] }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1078/004/" }, "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 コンソールで検出結果を確認する方法を学習する。
- 脅威の検出結果を生成するサービスについて学習する。