Impact : Non-respect du périmètre VPC lors de l'importation de documents de l'API Gemini Discovery Engine

Ce document décrit un type de résultat de détection de menace dans Security Command Center. Ces résultats sont générés par les détecteurs de menaces lorsqu'ils détectent une menace potentielle dans vos ressources cloud. Pour obtenir la liste complète des résultats de détection de menace disponibles, consultez cet index.

Présentation

Une tentative d'importation de documents dans un datastore Gemini Enterprise a généré un non-respect du périmètre de service VPC Service Controls. Par défaut, les résultats sont classés dans le niveau de gravité faible.

Event Threat Detection est la source de ce résultat.

Actions à mettre en place

Pour traiter ce résultat, procédez comme suit :

Étape 1 : Examiner les détails du résultat

  1. Ouvrez le résultat Impact: Gemini Discovery Engine API Document Import VPC Perimeter Violation comme indiqué dans Examiner un résultat. Le panneau des détails du résultat s'ouvre dans l'onglet Résumé.

  2. Dans l'onglet Résumé, examinez les informations des sections suivantes :

    • Risque détecté, en particulier les champs suivants :
      • Adresse e-mail du compte principal : adresse e-mail de l'utilisateur, du compte de service ou de l'agent IA qui a tenté d'importer le document.
      • Nom de la méthode : méthode d'API appelée (google.cloud.discoveryengine.v1.DocumentService.ImportDocuments).
    • Ressource concernée :
      • Nom complet de la ressource : nom de ressource complet du projet, du dossier ou de l'organisation où se trouve le datastore Gemini Enterprise.
    • Liens associés, en particulier les champs suivants :
      • URI Cloud Logging : lien vers les entrées de journal.
      • Méthode MITRE ATT&CK : lien vers la documentation MITRE ATT&CK.

Étape 2 : Vérifier les journaux

  1. Dans l'onglet Résumé du panneau de détails du résultat, cliquez sur le lien URI Cloud Logging pour ouvrir l'explorateur de journaux.
  2. Sur la page qui s'affiche, recherchez les opérations d'importation de documents Gemini Enterprise qui ont généré un cas de non-respect de VPC Service Controls à l'aide des filtres suivants :
    • protoPayload.serviceName="discoveryengine.googleapis.com"
    • protoPayload.methodName="google.cloud.discoveryengine.v1.DocumentService.ImportDocuments"
  3. Inspectez protoPayload.status et protoPayload.metadata (en particulier VpcServiceControlAuditMetadata) pour identifier le périmètre de service non respecté, le datastore cible et la ressource source.

Étape 3 : Rechercher des méthodes d'attaque et de réponse

  1. Examinez les entrées du framework MITRE ATT&CK pour ce type de résultat : Manipulation de données : manipulation de données stockées.
  2. Pour élaborer votre plan de réponse, combinez les résultats de votre enquête aux recherches de MITRE.

Étape 4 : Mettre en œuvre votre réponse

Le plan de réponse suivant peut être adapté à ce résultat, mais il peut également avoir un impact sur vos opérations. Veillez à bien évaluer les informations que vous collectez dans votre enquête pour déterminer quelle est la meilleure réponse à apporter aux problèmes soulevés par les résultats.

  1. Contactez le propriétaire du projet contenant le datastore Gemini Enterprise concerné pour déterminer si la tentative d'importation était une erreur de configuration bénigne ou une tentative d'accès non autorisée entre périmètres.
  2. Envisagez de révoquer les autorisations pour principalEmail si la tentative n'était pas autorisée.
  3. Si la violation s'est produite en mode dry run, assurez-vous que votre périmètre de service VPC Service Controls est appliqué pour bloquer les importations de données non autorisées entre périmètres.

Pour obtenir des recommandations de réponse, consultez Répondre aux résultats de détection des menaces liées à l'IA.

Exemple de résultat JSON

Voici un exemple de résultat JSON, sans les valeurs par défaut.

{
  "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": "Impact: Gemini Discovery Engine API Document Import VPC Perimeter Violation",
    "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": {
      "principalEmail": "PRINCIPAL_EMAIL",
      "callerIp": "IP_ADDRESS",
      "callerIpGeo": {
        "regionCode": "COUNTRY_CODE"
      },
      "userAgent": "USER_AGENT",
      "serviceName": "discoveryengine.googleapis.com",
      "methodName": "google.cloud.discoveryengine.v1.DocumentService.ImportDocuments",
      "principalSubject": "user:PRINCIPAL_EMAIL"
    },
    "mitreAttack": {
      "primaryTactic": "IMPACT",
      "additionalTactics": [
        "DEFENSE_EVASION",
        "INITIAL_ACCESS"
      ]
    },
    "parentDisplayName": "Event Threat Detection",
    "domains": [
      {
        "category": "AI"
      }
    ],
    "logEntries": [
      {
        "cloudLoggingEntry": {
          "insertId": "INSERT_ID",
          "logId": "cloudaudit.googleapis.com/data_access",
          "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": "gemini_enterprise_document_import_vpc_perimeter_violation"
    },
    "detectionPriority": "LOW",
    "affectedResources": [
      {
        "gcpResourceName": "//discoveryengine.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID/branches/0"
      },
      {
        "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/data_access"
        }
      }
    ],
    "findingId": "FINDING_ID",
    "contextUris": {
      "mitreUri": {
        "displayName": "MITRE Link",
        "url": "https://attack.mitre.org/techniques/T1565/001/"
      },
      "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"
      }
    ]
  }
}

Étapes suivantes