Ativar e usar a avaliação de vulnerabilidades do Google Cloud

A Avaliação de Vulnerabilidades do Google Cloud permite descobrir vulnerabilidades de software e secrets expostos em recursos do Google Cloud sem instalar agentes. A Avaliação de Vulnerabilidades do Google Cloud verifica instâncias de VM do Compute Engine em execução, nós em clusters do GKE Standard, contêineres em execução em clusters do GKE Standard e do GKE Autopilot e contêineres em execução em cargas de trabalho do Cloud Run (pré-lançamento).

Como funciona a avaliação de vulnerabilidades para Google Cloud

Os tipos de recursos verificados dependem do nível de serviço do Security Command Center e incluem:

  • Executar instâncias de VM do Compute Engine
  • Nós em clusters do GKE Standard
  • Contêineres em execução nos clusters do GKE Standard e do GKE Autopilot.
  • Contêineres em execução em serviços do Cloud Run, revisões ativas, jobs e pools de workers (pré-lançamento).

Para instâncias de VM e clusters do GKE, a Avaliação de Vulnerabilidades do Google Cloud funciona clonando os discos da instância de VM, montando-os em outra instância de VM segura e verificando-os com o SCALIBR. O clone da instância de VM tem as seguintes propriedades:

  • Ele é criado na mesma região da instância de VM de origem.
  • Ela é criada em um projeto do Google, então não aumenta seus custos.

Para ajudar a identificar vulnerabilidades nos recursos do Cloud Run, a Avaliação de Vulnerabilidades do Google Cloud correlaciona dados das seguintes fontes para cargas de trabalho do Cloud Run (pré-lançamento):

  • Verifique ocorrências de vulnerabilidades e secrets de contêineres no Artifact Analysis.
  • Informações sobre recursos ativos do Cloud Run do Inventário de recursos do Cloud.

As descobertas geradas são anexadas diretamente ao serviço, job ou pool de workers ativo do Cloud Run.

Diferenças de recursos entre os níveis de serviço

Os seguintes recursos de avaliação de vulnerabilidade para o Google Cloud variam de acordo com o nível de serviço:

  • A frequência de verificação
  • A gravidade das descobertas criadas
  • Quais descobertas são enriquecidas com dados de avaliação de CVE da Mandiant
  • O tempo até que uma descoberta seja marcada como INACTIVE

Consulte Descobertas geradas pela Avaliação de Vulnerabilidades para Google Cloud para mais informações sobre essas diferenças.

Limitações

Considere as seguintes limitações ao identificar os recursos que você quer verificar:

Compute Engine e discos

  • Os agentes de serviço do Security Command Center precisam listar as instâncias de VM do projeto e clonar os discos delas para projetos do Google. Verifique se as configurações de segurança e política, como restrições de política da organização, não interferem na capacidade do agente de serviço de acessar e verificar esses recursos.

    Como solução, recomendamos adicionar a organização google.com, usando o ID da organização 433637338589, às políticas de lista de permissões. Veja a seguir um exemplo de como colocar a organização na lista de permissões:

    name: organizations/Org-A/policies/compute.storageResourceUseRestrictions
    spec:
      rules:
      – values:
        allowedValues:
        - under:organizations/433637338589

    Para mais informações, consulte Visão geral da política da organização.

  • Ao verificar instâncias de VM com discos permanentes criptografados com chaves de criptografia gerenciadas pelo cliente (CMEK), a chave precisa ser armazenada na mesma região do disco. Esse é o local global ou o mesmo local geográfico do disco ao usar chaves multirregionais.

  • A Avaliação de Vulnerabilidades para o Google Cloud não é compatível com a verificação de discos criptografados com CMEK e que estão dentro dos perímetros do VPC Service Controls.

  • A Avaliação de Vulnerabilidades para o Google Cloud não é compatível com instâncias de VM com discos permanentes criptografados com chaves de criptografia fornecidas pelo cliente (CSEK).

  • A Avaliação de Vulnerabilidades para Google Cloud verifica apenas as partições de disco VFAT, EXT2, EXT4, XFS e NTFS.

  • A Avaliação de Vulnerabilidades do Google Cloud não verifica máquinas virtuais de Computação Confidencial.

Google Kubernetes Engine

A Avaliação de Vulnerabilidades do Google Cloud não faz o seguinte:

  • Suporte à verificação de contêineres em nós do GKE configurados para usar discos SSD locais para armazenamento temporário. O scanner depende da clonagem de discos permanentes. Como o Compute Engine não pode criar snapshots de SSDs locais anexados fisicamente, as imagens do contêiner armazenadas neles não são verificadas.

  • Inclua rótulos de cluster nas descobertas ao verificar clusters do GKE.

  • Verificar nós confidenciais do Google Kubernetes Engine.

Cloud Run

  • Para cargas de trabalho do Cloud Run, a Avaliação de Vulnerabilidades do Google Cloud avalia os resultados da verificação de imagens de contêiner em vez de verificar as cargas de trabalho diretamente. A Avaliação de Vulnerabilidades do Google Cloud gera descobertas apenas se a imagem do contêiner estiver armazenada em um repositório do Artifact Registry que pertença à mesma organização doGoogle Cloud que o serviço, job ou pool de workers do Cloud Run, com exceções para espelhos de contêineres públicos verificados do Google.

  • Para jobs do Cloud Run, a Avaliação de Vulnerabilidades do Google Cloud avalia apenas imagens de execuções que foram iniciadas com sucesso nos últimos 14 dias. As execuções não realizadas ou com falha são ignoradas.

  • Se um serviço ou pool de workers do Cloud Run for executado por mais de 30 dias sem uma implantação, extração de imagem ou inicialização a frio, a verificação contínua de vulnerabilidades e exposições comuns (CVE, na sigla em inglês) será pausada até que uma nova extração ou implantação ocorra. Após uma nova extração ou implantação de imagem, as descobertas podem levar até 24 horas para refletir as CVEs recém-publicadas. As descobertas atuais permanecem ativas no Security Command Center e estão sujeitas às políticas de retenção de dados para descobertas.

  • As descobertas só aparecem quando o Artifact Analysis verifica ou analisa novamente a imagem. A implantação de uma imagem enviada anteriormente não aciona uma verificação, então as descobertas aparecem após a próxima reanálise. Se você implantar um serviço, job ou pool de workers do Cloud Run com uma imagem que foi enviada para o Artifact Registry anteriormente, as descobertas dessa carga de trabalho normalmente aparecem em cerca de 4 horas.

Considerações ao fazer upgrade e downgrade de níveis de serviço

Quando você muda os níveis de serviço, os recursos da Avaliação de Vulnerabilidades para Google Cloud mudam para os que são compatíveis com o nível de serviço ativo.

As descobertas geradas pela ativação anterior vão permanecer ativas pelo tempo definido pelo nível de serviço anterior. Ao fazer downgrade do nível Premium para o Standard, por exemplo, as descobertas geradas no nível Premium permanecem ativas por 72 horas (3 dias). As novas descobertas geradas no nível Standard permanecem ativas por 195 horas.

Antes de começar

Se você tiver perímetros do VPC Service Controls configurados, crie as regras de saída e entrada necessárias.

Permissões para ativar a avaliação de vulnerabilidades do Google Cloud

As permissões necessárias dependem do nível de ativação do Security Command Center. Para informações sobre as permissões necessárias para ativações do Security Command Center Premium, consulte Ativar o Security Command Center Premium para uma organização.

Ativações do nível Standard no nível da organização

Para ativar a Avaliação de Vulnerabilidades para o Google Cloud com uma ativação do nível Standard no nível da organização, você precisa dos seguintes papéis do IAM:

  • Administrador da Central de segurança (roles/securitycenter.admin)
  • Um dos seguintes papéis:

    • Administrador de segurança (roles/iam.securityAdmin)
    • Administrador da organização (roles/resourcemanager.organizationAdmin)

Ativações do nível Premium ou Standard para envolvidos no projeto

Para ativar a Avaliação de Vulnerabilidades para o Google Cloud em um projeto quando o Security Command Center estiver ativado somente no nível do projeto, você precisa dos seguintes papéis do IAM:

  • Administrador da Central de segurança (roles/securitycenter.admin)
  • Administrador de segurança (roles/iam.securityAdmin)

Agentes de serviço para verificar discos

A Avaliação de Vulnerabilidades do serviço do Google Cloud usa agentes de serviço do Security Command Center para identidade e permissão de acesso aos recursos do Google Cloud .

Para ativações no nível da organização do Security Command Center, a Avaliação de Vulnerabilidades para Google Cloud usa o seguinte agente de serviço:

service-org-ORGANIZATION_ID@security-center-api.

Para ativações do Security Command Center no nível do projeto, a Avaliação de Vulnerabilidades para Google Cloud usa o seguinte agente de serviço:

service-project-PROJECT_NUMBER@security-center-api.

Ativar ou desativar a avaliação de vulnerabilidades para Google Cloud

Nos níveis Premium e Enterprise, a avaliação de vulnerabilidades do Google Cloud é ativada automaticamente para todas as instâncias de VM, quando possível.

No nível Standard, é preciso ativar manualmente a Avaliação de Vulnerabilidades para o Google Cloud no nível da organização, da pasta ou do projeto.

Para mudar as configurações da Avaliação de Vulnerabilidades para Google Cloud , faça o seguinte:

  1. No console do Google Cloud , acesse a página Visão geral de riscos:

    Acessar a Visão geral de riscos

  2. Selecione uma organização para ativar a Avaliação de Vulnerabilidades para o Google Cloud.

  3. Clique em Configurações.

  4. Na seção Avaliação de vulnerabilidade, clique em Gerenciar configurações.

  5. Na guia Google Cloud, ative ou desative a Avaliação de Vulnerabilidades para Google Cloud no nível da organização, da pasta ou do projeto na coluna Avaliação de Vulnerabilidades sem Agente. Os níveis mais baixos podem herdar o valor dos níveis mais altos.

Verificar discos criptografados com CMEK

Para permitir que a Avaliação de vulnerabilidades do Google Cloud verifique discos criptografados com CMEK, conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) aos seguintes agentes de serviço:

service-org-ORGANIZATION_ID@security-center-api.
service-PROJECT_ID@compute-system.

Se você tiver o seguinte agente de serviço, também precisará conceder o papel a ele:

service-org-ORGANIZATION_ID@ctd-ia-org-sa-prod.

Configurar permissões no nível da chave

  1. Acesse a página Segurança > Gerenciamento de chaves.
  2. Selecione o keyring que contém a chave.
  3. Selecione a chave.
  4. No painel de informações, clique em Permissões.
  5. Insira o nome do agente de serviço que você inseriu no campo Novos principais.
  6. No menu Selecionar papel, escolha Criptografador/descriptografador de CryptoKey do Cloud KMS.
  7. Clique em Salvar.

Configurar permissões de chave para envolvidos no projeto

  1. Acesse IAM e administrador > IAM.
  2. Clique em Conceder acesso.
  3. Insira o nome do agente de serviço que você inseriu no campo Novos principais.
  4. No menu Selecionar papel, escolha Criptografador/descriptografador de CryptoKey do Cloud KMS.

Para que as verificações sejam executadas corretamente, a chave precisa estar na mesma região do disco. A Avaliação de Vulnerabilidades do Google Cloud tenta verificar discos criptografados usando CMEK. Se você não conceder as permissões necessárias, o Google Cloud vai gerar o seguinte erro no registro de auditoria: Cloud KMS error when using key.

Descobertas geradas pela avaliação de vulnerabilidade para Google Cloud

A avaliação de vulnerabilidades do serviço do Google Cloud gera uma descoberta no Security Command Center quando detecta o seguinte:

  • Vulnerabilidades de software em uma instância de VM do Compute Engine.
  • Vulnerabilidades de software em nós em um cluster do GKE ou contêineres em execução no GKE.
  • Vulnerabilidades de software e secrets expostos em serviços, revisões, jobs e pools de workers do Cloud Run (pré-lançamento).
  • Vulnerabilidades de imagens de contêiner nos seguintes recursos:

    • Pods do GKE
    • Serviços do App Engine
    • Serviços e jobs do Cloud Run

Frequência de análise

A frequência das verificações varia de acordo com o nível de serviço:

Nível Standard Níveis Premium e Enterprise
Uma vez por semana Aproximadamente a cada 12 horas

Gravidade das descobertas criadas

A Avaliação de Vulnerabilidades do Google Cloud publica descobertas com as seguintes gravidades, que variam de acordo com o nível de serviço:

Nível Standard Níveis Premium e Enterprise
Descobertas com a gravidade Critical Descobertas com a gravidade Critical e High

Ciclo de vida das descobertas

Quando a Avaliação de Vulnerabilidades para Google Cloud cria uma descoberta, ela permanece no estado ACTIVE pelo seguinte período de estado ativo, que varia de acordo com o nível de serviço:

Nível Standard Níveis Premium e Enterprise
195 horas 72 horas (3 dias)

Se a Avaliação de Vulnerabilidades do Google Cloud detectar a descoberta novamente dentro do período de estado ativo (com base no nível de serviço), o contador será redefinido e a descoberta permanecerá no estado ACTIVE por outro período de estado ativo. Para mais informações sobre o tempo de retenção das descobertas, consulte Retenção de dados para descobertas.

Se a Avaliação de Vulnerabilidades do Google Cloud não detectar a descoberta novamente dentro do período de estado ativo (com base no nível de serviço), a Avaliação de Vulnerabilidades do Google Cloud vai definir a descoberta como INACTIVE. A Avaliação de Vulnerabilidades para Google Cloud não vai detectar a descoberta nas seguintes condições:

  • A condição que causou a descoberta foi corrigida.
  • A instância de VM está parada.
  • A instância de VM ou o projeto é excluído.

Para mais informações sobre atualizações de descobertas quando um recurso é excluído, consulte Visão geral do ciclo de vida da descoberta.

Informações disponíveis nas descobertas

As descobertas contêm as seguintes informações comuns:

  • Uma descrição da vulnerabilidade, incluindo as seguintes informações:
    • O pacote de software que contém a vulnerabilidade e o local dele.
    • Informações do registro de CVE associado
    • Uma avaliação do Security Command Center sobre a gravidade da vulnerabilidade
  • Se disponíveis, as etapas para corrigir o problema, incluindo o patch ou o upgrade de versão para resolver a vulnerabilidade
  • Os seguintes valores de propriedade:

    • Classe: Vulnerability ou Secret
    • Provedor de serviços de nuvem: Google Cloud
    • Origem: Vulnerability Assessment
    • Categoria: um dos seguintes valores:
      • Container Image Vulnerability
      • OS vulnerability
      • Software vulnerability
      • Secrets in Cloud Run

Algumas descobertas, que variam de acordo com o nível de serviço, são enriquecidas com informações sobre o impacto e a capacidade de exploração de uma CVE usando as avaliações de CVE da Mandiant.

Nível Standard Níveis Premium e Enterprise
As CVEs com gravidade crítica incluem informações de avaliação da Mandiant As CVEs com gravidade crítica ou alta incluem informações de avaliação da Mandiant

As descobertas geradas nos níveis de serviço Premium e Enterprise incluem as seguintes informações:

  • Uma pontuação de exposição a ataques que ajuda a priorizar a correção.
  • Uma representação visual do caminho que um invasor pode seguir para recursos de alto valor expostos pela vulnerabilidade.

Descobertas de vulnerabilidades de software detectadas

As descobertas de vulnerabilidades de software detectadas contêm as seguintes informações adicionais:

  • O nome completo do recurso da instância de VM ou do cluster do GKE afetado.
  • Informações sobre o objeto afetado quando a descoberta está relacionada a uma carga de trabalho do GKE, por exemplo:

    • CronJob
    • DaemonSet
    • Deployment
    • Job
    • Pod
    • ReplicationController
    • ReplicaSet
    • StatefulSet

Como a Avaliação de Vulnerabilidades do Google Cloud pode identificar a mesma vulnerabilidade em vários contêineres, ela agrega vulnerabilidades no nível da carga de trabalho do GKE ou do pod do Google Cloud . Em uma descoberta, é possível ver vários valores em um único campo, por exemplo, no campo files.elem.path.

Descobertas de vulnerabilidades detectadas em imagens de contêiner

As descobertas de vulnerabilidades detectadas em imagens de contêiner contêm as seguintes informações adicionais:

  • O nome completo do recurso da imagem do contêiner.
  • Se a imagem vulnerável estiver em execução em qualquer um dos serviços a seguir, a descoberta vai incluir uma contagem dos recursos de ambiente de execução afetados:
    • Pod do GKE
    • App Engine
    • Serviço e revisão do Cloud Run
    • Job e execução do Cloud Run

Descobertas de vulnerabilidades e secrets detectados no Cloud Run

As descobertas de serviços, jobs e pools de workers do Cloud Run contêm as seguintes informações adicionais:

  • Nome do recurso: o nome completo do recurso do serviço (//run.googleapis.com/projects/.../locations/.../services/...), job (//run.googleapis.com/projects/.../locations/.../jobs/...) ou pool de workers (//run.googleapis.com/projects/.../locations/.../workerPools/...) afetado do Cloud Run.
  • Revisões ativas: para serviços do Cloud Run, a descoberta lista os nomes de recursos de até cinco revisões ativas que montam a imagem do contêiner vulnerável e veiculam tráfego. Para pools de workers, a descoberta lista os nomes de recursos das revisões ativas que executam instâncias.
  • Arquivos secundários de contêiner: em serviços, jobs e pools de workers de vários contêineres, a descoberta especifica o nome exato do contêiner e o resumo da imagem do contêiner resolvido que contém a vulnerabilidade do pacote ou o secret exposto.

Ciclo de vida e retenção de descobertas para o Cloud Run

Para cargas de trabalho do Cloud Run, uma descoberta permanece ACTIVE enquanto uma revisão ativa ou um job executado fizer referência à imagem de contêiner vulnerável. Quando uma nova revisão com uma imagem limpa substitui a revisão vulnerável ou quando a alocação de tráfego ou instância para a revisão vulnerável cai para 0%, a descoberta faz a transição automática para INACTIVE.

Para saber por quanto tempo as descobertas são retidas, consulte Retenção de dados para descobertas.

Localização do pacote

O local do arquivo de uma vulnerabilidade em uma descoberta se refere aos arquivos de metadados binários ou de pacote. Essas informações dependem do extrator SCALIBR usado pela Avaliação de Vulnerabilidades para Google Cloud . Para vulnerabilidades que a Avaliação de Vulnerabilidades para Google Cloud encontra em um contêiner, esse é o caminho dentro do contêiner.

A tabela a seguir mostra exemplos de locais de vulnerabilidade para vários extratores do SCALIBR.

Extrator SCALIBR Localização do pacote
Pacote Debian (dpkg) /var/lib/dpkg/status
Binário do Go /usr/bin/google_osconfig_agent
arquivo Java /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar
PHP /var/www/html/vkumark/backend_api/composer.lock
Python /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA
Ruby /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec

Analisar descobertas no console

É possível ver as descobertas da Avaliação de Vulnerabilidades para Google Cloud no console do Google Cloud . Antes de fazer isso, verifique se você tem os papéis apropriados.

Para analisar as descobertas da Avaliação de Vulnerabilidades para Google Cloud no console do Google Cloud , siga estas etapas:

  1. No console do Google Cloud , acesse a página Descobertas do Security Command Center.

    Acessar descobertas

  2. Selecione Google Cloud o projeto ou a organização.
  3. Na seção Filtros rápidos, na subseção Nome de exibição da origem, selecione Avaliação de vulnerabilidade. Os resultados da consulta de descobertas são atualizados para mostrar apenas as descobertas dessa fonte.
  4. Para visualizar os detalhes de uma descoberta específica, clique no nome dela na coluna Categoria. O painel de detalhes da descoberta é aberto e mostra a guia Resumo.
  5. Na guia Resumo, revise os detalhes da descoberta, incluindo informações sobre o que foi detectado, o recurso afetado e, se disponível, as etapas que você pode seguir para corrigir a descoberta.
  6. Opcional: para conferir a definição JSON completa da descoberta, clique na guia JSON.