Anfänglicher Zugriff: abgelehnte Aktionen aufgrund übermäßiger Berechtigungen der Identität des KI-Agents

In diesem Dokument wird ein bestimmter Typ von Bedrohungsergebnissen in Security Command Center beschrieben. Bedrohungsergebnisse werden von Bedrohungsdetektoren generiert, wenn sie eine potenzielle Bedrohung in Ihren Cloud-Ressourcen erkennen. Eine vollständige Liste der verfügbaren Bedrohungsergebnisse finden Sie im Index der Bedrohungsergebnisse.

Übersicht

Ein KI-Agent hat wiederholt permission denied-Fehler für mehrere Methoden und Dienste ausgelöst.

Die Quelle von diesem Ergebnis ist Event Threat Detection.

Maßnahmen

So reagieren Sie auf dieses Ergebnis:

Schritt 1: Ergebnisdetails prüfen

  1. Öffnen Sie das Initial Access: AI Agent Identity Excessive Permission Denied Actions Ergebnis, wie unter Ergebnisse prüfen beschrieben.
  2. Notieren Sie sich in den Ergebnisdetails auf dem Tab Zusammenfassung die Werte der folgenden Felder.

    Unter Was erkannt wurde:

    • E-Mail-Adresse des Hauptkontos: Das Hauptkonto, das mehrere Fehler vom Typ „permission denied“ ausgelöst hat
    • Dienstname: Der API-Name des Google Cloud-Dienstes, für den der letzte Fehler vom Typ „permission denied“ aufgetreten ist
    • Methodenname: Die Methode, die aufgerufen wurde, als der letzte Fehler vom Typ „permission denied“ aufgetreten ist
  3. Notieren Sie sich in den Ergebnisdetails auf dem Tab Quellattribute die Werte der folgenden Felder im JSON-Code:

    • properties.failedActions: Die aufgetretenen Fehler vom Typ „permission denied“. Für jeden Eintrag sind Details wie Dienstname, Methodenname, Anzahl der fehlgeschlagenen Versuche und der Zeitpunkt des letzten Auftretens des Fehlers enthalten. Es werden maximal 10 Einträge angezeigt.

Schritt 2: Protokolle prüfen

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf. Klicken Sie dazu auf auf den Link unter Cloud Logging-URI.
  2. Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Projekt aus.
  3. Suchen Sie auf der Seite, die geladen wird, mit dem folgenden Filter nach zugehörigen Protokollen:

    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"
    • protoPayload.status.code=7

    Ersetzen Sie PRINCIPAL_EMAIL durch den Wert, den Sie in den Ergebnisdetails im Feld E-Mail-Adresse des Hauptkontos notiert haben.

Schritt 3: Angriffs- und Reaktionsmethoden untersuchen

  1. Sehen Sie sich den MITRE-ATT&CK-Framework-Eintrag für diesen Ergebnistyp an: Gültige Konten: Cloudkonten.
  2. Um einen Antwortplan zu entwickeln, kombinieren Sie Ihre Prüfungsergebnisse mit der MITRE-Studie.

Schritt 4: Antwort implementieren

Der folgende Reaktionplan ist möglicherweise für dieses Ergebnis geeignet, kann sich jedoch auch auf Abläufe auswirken. Prüfen Sie die Informationen, die Sie im Rahmen Ihrer Untersuchung erfasst haben, sorgfältig, um die beste Lösung für die Behebung der Ergebnisse zu finden.

  • Wenden Sie sich im Feld E-Mail-Adresse des Hauptkontos an den Inhaber des Kontos. Bestätigen Sie, dass die Aktion vom rechtmäßigen Inhaber ausgeführt wurde.
  • Löschen Sie Projektressourcen, die von diesem Konto erstellt wurden, z. B. unbekannte Compute Engine-Instanzen, Snapshots, Dienstkonten und IAM-Nutzer.
  • Wenden Sie sich an den Inhaber des Projekts mit dem Konto und löschen oder deaktivieren Sie das Konto gegebenenfalls.

Beispiel für ein Ergebnis-JSON

Im Folgenden sehen Sie ein Beispiel für das Ergebnis-JSON, wobei die Standardwerte ausgelassen wurden.

{
  "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"
      }
    ]
  }
}

Nächste Schritte