Impacto: violação do perímetro de VPC da importação de documentos da API Discovery Engine do Gemini

Este documento descreve um tipo de descoberta de ameaças no Security Command Center. Essas descobertas são geradas por detectores de ameaças quando detectam um risco nos recursos da nuvem. Para ver uma lista completa, consulte Índice de descobertas de ameaças.

Visão geral

Uma tentativa de importar documentos para um repositório de dados do Gemini Enterprise gerou uma violação do perímetro de serviço do VPC Service Controls. As descobertas são classificadas com gravidade baixa por padrão.

O Event Threat Detection é a origem dessa descoberta.

Como responder

Para responder a essa descoberta:

Etapa 1: verificar os detalhes da descoberta

  1. Abra a descoberta Impact: Gemini Discovery Engine API Document Import VPC Perimeter Violation, conforme explicado em Analisar uma descoberta. O painel de detalhes da descoberta é aberto na guia Resumo.

  2. Na guia Resumo, confira as informações nas seções abaixo.

    • O que foi detectado, especialmente os seguintes campos:
      • E-mail do principal: o endereço de e-mail do usuário, da conta de serviço ou do agente de IA que tentou importar o documento.
      • Nome do método: o método da API que foi chamado (google.cloud.discoveryengine.v1.DocumentService.ImportDocuments).
    • Recurso afetado:
      • Nome completo do recurso: o nome completo do recurso do projeto, da pasta ou da organização em que o repositório de dados do Gemini Enterprise reside.
    • Links relacionados, principalmente os seguintes campos:
      • URI do Cloud Logging: link para as entradas de registro.
      • Método MITRE ATT&CK: link para a documentação do MITRE ATT&CK.

Etapa 2: verificar os registros

  1. Na guia Resumo do painel de detalhes da descoberta, clique no link URI do Cloud Logging para abrir a Análise de registros.
  2. Na página carregada, procure operações de importação de documentos do Gemini Enterprise que geraram uma violação do VPC Service Controls usando os seguintes filtros:
    • protoPayload.serviceName="discoveryengine.googleapis.com"
    • protoPayload.methodName="google.cloud.discoveryengine.v1.DocumentService.ImportDocuments"
  3. Inspecione protoPayload.status e protoPayload.metadata (especificamente VpcServiceControlAuditMetadata) para identificar o perímetro de serviço violado, o repositório de dados de destino e o recurso de origem.

Etapa 3: pesquisar métodos de ataque e resposta

  1. Revise as entradas do framework MITRE ATT&CK para esse tipo de descoberta: Manipulação de dados: manipulação de dados armazenados.
  2. Para desenvolver um plano de resposta, combine os resultados da investigação com a pesquisa do MITRE.

Etapa 4: implementar a resposta

O plano de resposta a seguir pode ser apropriado para essa descoberta, mas também pode afetar as operações. Avalie cuidadosamente as informações coletadas na investigação para determinar a melhor maneira de resolver as descobertas.

  1. Entre em contato com o proprietário do projeto que contém o repositório de dados afetado do Gemini Enterprise para determinar se a tentativa de importação foi um erro de configuração benigno ou uma tentativa de acesso não autorizado entre perímetros.
  2. Considere revogar as permissões de principalEmail se a tentativa não tiver sido autorizada.
  3. Se a violação ocorreu no modo de teste, verifique se o perímetro de serviço do VPC Service Controls está sendo aplicado para bloquear importações de dados não autorizadas entre perímetros.

Para recomendações de resposta, consulte Responder a descobertas de ameaças de IA.

Exemplo de JSON de descoberta

Veja a seguir um exemplo do JSON da descoberta, com os valores padrão omitidos.

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

A seguir