Persistência: nova região geográfica para o serviço de IA

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

Essa descoberta não está disponível para envolvidos no projeto.

Um usuário ou conta de serviço do IAM está acessando Google Cloud serviços de IA de um local anômalo, com base na geolocalização do endereço IP solicitante.

O Event Threat Detection é a origem dessa descoberta.

Como responder

Para responder a essa descoberta:

Etapa 1: verificar os detalhes da descoberta

  1. Abra uma descoberta Persistence: New Geography for AI Service, conforme direcionado em Como verificar detalhes da descoberta anteriormente nesta página. O painel de detalhes da descoberta é aberto na guia Resumo.

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

  • O que foi detectado, especialmente os seguintes campos:
    • E-mail principal: a conta do usuário que pode estar comprometida.
    • Recursos de IA: os recursos de IA potencialmente afetados, como os recursos da Agent Platform e o modelo de IA.
  • Recurso afetado, especialmente os seguintes campos:
    • Nome completo do projeto: contém a conta de usuário potencialmente comprometida.
  • Links relacionados, principalmente os seguintes campos:
    • URI do Cloud Logging: link para as entradas do Logging.
    • Método MITRE ATT&CK: link para a documentação do MITRE ATT&CK.
    • Descobertas relacionadas: links para quaisquer descobertas relacionadas.
  1. Na visualização detalhada da descoberta, clique na guia JSON.
  2. No JSON, observe os seguintes campos sourceProperties:

    • affectedResources:
      • gcpResourceName: o recurso afetado;
    • evidence:
      • sourceLogId:
      • projectId: o ID do projeto que contém a descoberta.
    • properties:
      • anomalousLocation:
      • anomalousLocation: o local atual estimado do usuário.
      • callerIp: o endereço IP externo.
      • notSeenInLast: o período usado para estabelecer um valor de referência para o comportamento normal.
      • typicalGeolocations: os locais onde o usuário geralmente acessa Google Cloud recursos.
    • aiModel:
    • vertexAi:
      • datasets: os conjuntos de dados da Agent Platform afetados
      • pipelines: os pipelines de treinamento da Agent Platform afetados

Etapa 2: verificar as permissões do projeto e da conta

  1. No Google Cloud console, acesse a página IAM.

    Acessar IAM

  2. Se necessário, selecione o projeto listado no campo projectID no JSON de descoberta.

  3. Na página exibida, na caixa Filtro, insira o nome da conta listado em E-mail principal e verifique os papéis concedidos.

Etapa 3: 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. Se necessário, selecione o projeto.
  3. Na página carregada, verifique os registros em busca de atividades em recursos novos ou atualizados do IAM usando estes filtros:
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

Etapa 4: pesquisar métodos de ataque e resposta

  1. Verifique a entrada do framework do MITRE ATT&CK em busca deste tipo de descoberta: Contas válidas: contas do Cloud.
  2. Para desenvolver um plano de resposta, combine os resultados da investigação com a pesquisa do MITRE.

Etapa 5: 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.

  • Entre em contato a pessoa a quem o projeto com a conta violada pertence.
  • Confira os campos anomalousLocation, typicalGeolocations e notSeenInLast para verificar se o acesso está anormal e se a conta foi comprometida.
  • Exclua recursos do projeto criados por contas não autorizadas, como instâncias desconhecidas do Compute Engine, snapshots, contas de serviço e usuários do IAM.
  • Para restringir a criação de novos recursos a regiões específicas, consulte Como restringir locais de recursos.
  • Para identificar e corrigir papéis excessivamente permissivos, use IAM Recomendador.

Exemplo de JSON de descoberta

Confira a seguir um exemplo do JSON de descoberta.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
    "state": "ACTIVE",
    "category": "Persistence: New Geography for AI Service",
    "serviceName": "aiplatform.googleapis.com",
    "methodName": "METHOD_NAME",
    "mitreAttack": {
      "primaryTactic": "PERSISTENCE",
      "primaryTechniques": [
        "CLOUD_ACCOUNTS"
      ]
    },
    "domains": [
      {
        "category": "AI"
      },
      {
        "category": "IDENTITY_AND_ACCESS"
      }
    ],
    "aiModel": {
      "name": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
      "deploymentPlatform": "VERTEX_AI"
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "2021-04-09T18:59:43.860Z",
    "createTime": "2021-04-09T18:59:44.440Z",
    "severity": "LOW",
    "workflowState": "NEW",
    "canonicalName": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID"
  },
  "resource": {
    "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "displayName": "projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
    "gcpMetadata": {
      "project": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "projectDisplayName": "PROJECT_ID",
      "parent": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "parentDisplayName": "PROJECT_ID",
      "organization": "organizations/ORGANIZATION_ID"
    },
    "type": "google.aiplatform.Model",
    "folders": []
  },
  "sourceProperties": {
    "sourceId": {
      "projectNumber": "PROJECT_NUMBER",
      "customerOrganizationNumber": "ORGANIZATION_ID"
    },
    "detectionCategory": {
      "ruleName": "ai_iam_anomalous_behavior_ip_geolocation"
    },
    "detectionPriority": "MEDIUM",
    "affectedResources": [
      {
        "gcpResourceName": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME"
      },
      {
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }
    ],
    "evidence": [
      {
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1675913160",
            "nanos": 929341814
          },
          "insertId": "o5ii7hddddd"
        }
      }
    ],
    "properties": {},
    "findingId": "FINDING_ID",
    "contextUris": {
      "mitreUri": {
        "displayName": "MITRE Link",
        "url": "https://attack.mitre.org/techniques/T1078/004/"
      }
    }
  }
}

A seguir