Persistência: novo método de API 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

Atividade de administrador anômala para serviços de IA por um ator potencialmente malicioso foi detectada em uma organização, pasta ou projeto. A atividade anômala pode ser:

  • Nova atividade de um principal em uma organização, pasta ou projeto
  • Atividade que não ocorre há algum tempo, realizada por um principal em uma organização, pasta ou projeto.

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 Persistence: New AI API Method, conforme instruído em Como verificar descobertas.
  2. Nos detalhes da descoberta, na guia Resumo, observe os valores dos seguintes campos:

    • Em O que foi detectado:
      • E-mail do principal: a conta que fez a chamada
      • Nome do método: o método que foi chamado
      • Recursos de IA: os recursos de IA potencialmente afetados, como os recursos da Agent Platform e o modelo de IA.
    • Em Recurso afetado:
      • Nome de exibição do recurso: o nome do recurso afetado, que pode ser igual ao nome da organização, da pasta ou do projeto
      • Caminho do recurso: é o local na hierarquia de recursos em que a atividade ocorreu

Etapa 2: pesquisar métodos de ataque e resposta

  1. Verifique as entradas do framework do MITRE ATT&CK em busca deste tipo de descoberta: Persistência.
  2. Investigue se a ação foi garantida na organização, na pasta ou no projeto e se a ação foi realizada pelo proprietário legítimo da conta. A organização, a pasta ou o projeto é exibido no campo Caminho do recurso, e a conta é exibida na linha E-mail principal.
  3. Para desenvolver um plano de resposta, combine os resultados da investigação com a pesquisa do MITRE.

Exemplo de JSON de descoberta

Confira a seguir um exemplo do JSON de descoberta.

{
    "findings": {
        "access": {
         "principalEmail": "PRINCIPAL_EMAIL",
         "callerIp": "IP_ADDRESS",
         "callerIpGeo": {
            "regionCode": "US"
          },
         "serviceName": "aiplatform.googleapis.com",
         "methodName": "METHOD_NAME",
         "principalSubject": "PRINCIPAL_SUBJECT",
         "serviceAccountKeyName": "SERVICE_ACCOUNT_KEY_NAME"
        },
        "assetDisplayName": "ASSET_DISPLAY_NAME",
        "assetId": "organizations/ORGANIZATION_NUMBER/assets/ASSET_ID",
        "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
        "category": "Persistence: New AI API Method",
        "contacts": {
         "security": {
           "contacts": [
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             }
           ]
         },
         "technical": {
           "contacts": [
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             },
             {
               "email": "EMAIL_ADDRESS"
             }
           ]
         }
        },
        "createTime": "2023-01-12T10:35:47.381Z",
        "database": {},
        "eventTime": "2023-01-12T10:35:47.270Z",
        "exfiltration": {},
        "findingClass": "THREAT",
        "findingProviderId": "organizations/ORGANIZATION_NUMBER/firstPartyFindingProviders/etd",
        "indicator": {},
        "kernelRootkit": {},
        "kubernetes": {},
        "mitreAttack": {
          "primaryTactic": "PERSISTENCE",
        },
        "muteInfo": {
          "staticMute": {
            "state": "UNDEFINED",
            "applyTime": "1970-01-01T00:00:00Z"
          }
        },
        "domains": [
          {
            "category": "AI"
          },
          {
            "category": "IDENTITY_AND_ACCESS"
          }
        ],
        "aiModel": {
          "name": "//aiplatform.googleapis.com/projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_NAME",
          "deploymentPlatform": "VERTEX_AI"
        },
        "name": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
        "parent": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID",
        "parentDisplayName": "Event Threat Detection",
        "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
        "severity": "LOW",
        "state": "ACTIVE",
        "vulnerability": {},
        "workflowState": "NEW"
    },
    "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_NUMBER"
        },
        "detectionCategory": {
         "ruleName": "ai_anomalous_behavior_new_api_method",
        },
        "detectionPriority": "LOW",
        "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": "1673519681",
               "nanos": 728289000
             },
             "insertId": "INSERT_ID"
           }
         }
        ],
        "properties": {
         "newApiMethod": {
           "newApiMethod": {
             "serviceName": "SERVICE_NAME",
             "methodName": "METHOD_NAME"
           },
           "principalEmail": "PRINCIPAL_EMAIL",
           "callerIp": "IP_ADDRESS",
           "callerUserAgent": "CALLER_USER_AGENT",
           "resourceContainer": "projects/PROJECT_NUMBER"
         }
        },
        "findingId": "FINDING_ID",
        "contextUris": {
         "mitreUri": {
           "displayName": "MITRE Link",
           "url": "https://attack.mitre.org/tactics/TA0003/"
         }
        }
    }
}

A seguir