Escalonamento de privilégios: falsificador de identidade anômalo de conta de serviço para acesso aos dados

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

O Anomalous Service Account Impersonator é detectado examinando os registros de auditoria de acesso a dados para ver se ocorreu uma anomalia em uma solicitação de identidade temporária de conta de serviç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 uma descoberta Privilege Escalation: Anomalous Service Account Impersonator for Data Access, 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 principal: a conta de serviço final da solicitação de representação usada para acessar o Google Cloud
    • Nome do serviço: o nome da API do serviço do Google Cloud envolvido na solicitação de representação
    • Nome do método: o método que foi chamado
    • Informações de delegação da conta de serviço: detalhes das contas de serviço da cadeia de delegação, o principal na parte inferior da lista é o autor da chamada da solicitação de representação.

Etapa 2: pesquisar métodos de ataque e resposta

  1. Entre em contato com o proprietário da conta de serviço no campo E-mail do principal. Confirme se o proprietário legítimo realizou a ação.
  2. Investigue os principais da cadeia de delegação para verificar se a solicitação é anormal e se alguma conta foi comprometida.
  3. Entre em contato com o proprietário do autor da chamada da representação da lista de informações de delegação da conta de serviço. Confirme se o proprietário legítimo realizou a ação.

Etapa 3: 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 com o proprietário do projeto em que a ação foi realizada.
  • Considere excluir a conta de serviço potencialmente comprometida, bem como trocar e excluir todas as chaves de acesso da conta de serviço do projeto comprometido. Após a exclusão, os recursos que usam a conta de serviço para autenticação perdem o acesso. Antes de prosseguir, sua equipe de segurança precisa identificar todos os recursos afetados e trabalhar com aqueles que detém recursos para garantir a continuidade de negócios.
  • Trabalhe com sua equipe de segurança para identificar recursos desconhecidos, inclusive instâncias do Compute Engine, snapshots, contas de serviço e usuários do IAM. Exclua recursos não criados com contas autorizadas.
  • Responda a todas as notificações do Google Cloud Suporte.
  • Para limitar quem pode criar contas de serviço, use o Serviço de políticas da organização.
  • Para identificar e corrigir papéis excessivamente permissivos, use o Recomendador do IAM.

Exemplo de JSON de descoberta

Confira a seguir um exemplo do JSON de descoberta.

{
  "findings": {
    "access": {
      "principalEmail": "PRINCIPAL_EMAIL",
      "callerIp": "IP_ADDRESS",
      "callerIpGeo": {},
      "serviceName": "storage.googleapis.com",
      "methodName": "storage.buckets.list",
      "serviceAccountDelegationInfo": [
        {
          "principalEmail": "PRINCIPAL_EMAIL"
        },
        {
          "principalEmail": "PRINCIPAL_EMAIL"
        }
      ]
    },
    "assetDisplayName": "PROJECT_ID",
    "assetId": "organizations/ORGANIZATION_ID/assets/ASSET_ID",
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "Privilege Escalation: Anomalous Service Account Impersonator for Data Access",
    "cloudDlpInspection": {},
    "contacts": {
      "security": {
        "contacts": [
          {
            "email": "EMAIL_ADDRESS"
          }
        ]
      }
    },
    "createTime": "2023-02-09T03:26:04.611Z",
    "database": {},
    "eventTime": "2023-02-09T03:26:05.403Z",
    "exfiltration": {},
    "findingClass": "THREAT",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/etd",
    "indicator": {},
    "kernelRootkit": {},
    "kubernetes": {},
    "mitreAttack": {
      "primaryTactic": "INITIAL_ACCESS",
      "primaryTechniques": [
        "VALID_ACCOUNTS"
      ]
    },
    "mute": "UNDEFINED",
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "parentDisplayName": "Event Threat Detection",
    "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "severity": "MEDIUM",
    "sourceDisplayName": "Event Threat Detection",
    "state": "ACTIVE",
    "vulnerability": {},
    "workflowState": "NEW"
  },
  "resource": {
    "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "display_name": "PROJECT_ID",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_ID",
    "parent_name": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
    "parent_display_name": "ORGANIZATION",
    "type": "google.cloud.resourcemanager.Project",
    "folders": []
  },
  "sourceProperties": {
    "sourceId": {
      "projectNumber": "PROJECT_NUMBER",
      "customerOrganizationNumber": "ORGANIZATION_ID"
    },
    "detectionCategory": {
      "ruleName": "anomalous_sa_delegation_impersonator_data_access"
    },
    "detectionPriority": "MEDIUM",
    "affectedResources": [
      {
        "gcpResourceName": "//storage.googleapis.com/"
      },
      {
        "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/"
      }
    }
  }
}

A seguir