Impatto: importazione di documenti dell'API Discovery Engine di Gemini da una risorsa esterna

Questo documento descrive un tipo di risultato relativo alle minacce in Security Command Center. I risultati delle minacce vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle tue risorse cloud. Per un elenco completo dei risultati relativi alle minacce disponibili, consulta l'indice dei risultati relativi alle minacce.

Panoramica

È stato effettuato un tentativo di importare documenti in un datastore Gemini Enterprise da una risorsa Google Cloud esterna alla tua organizzazione o al tuo progetto, ad esempio un bucket Cloud Storage o un set di dati BigQuery esterno. I risultati sono classificati come Media gravità per impostazione predefinita.

Event Threat Detection è l'origine di questo risultato.

Come rispondere

Per rispondere a questo risultato, segui questi passaggi:

Passaggio 1: esamina i dettagli del risultato

  1. Apri il risultato Impact: Gemini Discovery Engine API Document Import from External Resource come indicato in Revisione dei risultati. Si apre il riquadro dei dettagli del risultato nella scheda Riepilogo.

  2. Nella scheda Riepilogo, esamina le informazioni nelle seguenti sezioni:

    • Che cosa è stato rilevato, in particolare i seguenti campi:
      • Email dell'entità: l'indirizzo email dell'utente, del account di servizio o dell'agente AI che ha avviato l'importazione del documento.
      • Nome metodo: il metodo API chiamato (google.cloud.discoveryengine.v1.DocumentService.ImportDocuments).
    • Risorsa interessata:
      • Nome completo della risorsa: il nome completo della risorsa del progetto, della cartella o dell'organizzazione in cui si trova il datastore Gemini Enterprise.
    • Link correlati, in particolare i seguenti campi:
      • URI Cloud Logging: un link alle voci di Logging.
      • Metodo MITRE ATT&CK: un link alla documentazione di MITRE ATT&CK.

Passaggio 2: controlla i log

  1. Nella scheda Riepilogo del riquadro dei dettagli dei risultati, fai clic sul link URI Cloud Logging per aprire Esplora log.
  2. Nella pagina che viene caricata, cerca le operazioni di importazione dei documenti di Gemini Enterprise utilizzando i seguenti filtri:
    • protoPayload.serviceName="discoveryengine.googleapis.com"
    • protoPayload.methodName="google.cloud.discoveryengine.v1.DocumentService.ImportDocuments"
  3. Esamina protoPayload.request per identificare il datastore di destinazione (parent) e la risorsa di origine esterna (ad esempio gcsSource.inputUris, bigquerySource, cloudSqlSource, spannerSource, firestoreSource, alloyDbSource, bigtableSource o fhirStoreSource).

Passaggio 3: ricerca i metodi di attacco e risposta

  1. Esamina le voci del framework MITRE ATT&CK per questo tipo di risultato: Manipolazione dei dati: manipolazione dei dati archiviati.
  2. Per sviluppare un piano di risposta, combina i risultati dell'indagine con la ricerca MITRE.

Passaggio 4: implementa la risposta

Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte nell'indagine per determinare il modo migliore per risolvere i risultati.

  1. Contatta il proprietario del progetto che contiene il datastore Gemini Enterprise interessato per verificare se l'importazione dalla risorsa esterna è stata autorizzata. Se l'accesso è legittimo, configura l'accesso alle risorse tra progetti attendibili o l'importazione da un bucket interno.
  2. Valuta la possibilità di revocare le autorizzazioni per l'entità che ha avviato l'importazione fino al completamento dell'indagine.
  3. Esamina ed elimina tutti i documenti non autorizzati o non attendibili importati nel datastore di Gemini Enterprise per evitare il poisoning del knowledge store o il prompt injection indiretto.
  4. Per impedire lo spostamento dei dati oltre i confini dell'organizzazione, configura i perimetri di servizio dei Controlli di servizio VPC attorno alle risorse di archiviazione e di Gemini Enterprise.

Per i suggerimenti di risposta, consulta Rispondi ai risultati delle minacce AI.

Esempio di JSON dei risultati

Di seguito è riportato un esempio del JSON del risultato, con i valori predefiniti omessi.

{
  "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 from External Resource",
    "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",
    "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",
        "PERSISTENCE"
      ]
    },
    "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_attempt_from_external_resource"
    },
    "detectionPriority": "MEDIUM",
    "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"
      }
    ]
  }
}

Passaggi successivi