Nesta página, você encontra uma visão geral da Detecção de ameaças a máquinas virtuais.
Visão geral
A Detecção de ameaças a máquinas virtuais é um serviço integrado do Security Command Center disponível nos níveis Enterprise e Premium. Esse serviço verifica instâncias do Compute Engine para detectar aplicativos potencialmente maliciosos, como softwares de mineração de criptomoedas, rootkits no modo kernel e malwares em execução em ambientes de nuvem comprometidos.
A VM Threat Detection faz parte do pacote de detecção de ameaças do Security Command Center e foi projetada para complementar os recursos atuais do Event Threat Detection e do Container Threat Detection.
As descobertas da VM Threat Detection são ameaças de alta gravidade. Recomendamos corrigi-las imediatamente. Você pode ver as descobertas da VM Threat Detection no Security Command Center.
Para organizações inscritas no Security Command Center Premium, as verificações do VM Threat Detection são ativadas automaticamente. Se necessário, desative ou ative o serviço no nível do projeto. Para mais informações, consulte Ativar ou desativar a detecção de ameaças da VM.
Como funciona a VM Threat Detection
A VM Threat Detection é um serviço gerenciado que verifica projetos do Compute Engine e instâncias de máquina virtual (VM) ativados para detectar aplicativos potencialmente maliciosos em execução nas VMs, como software de mineração de criptomoedas e rootkits no modo kernel.
A figura a seguir é uma ilustração simplificada que mostra como o mecanismo de análise do VM Threat Detection processa metadados da memória de convidado da VM e grava as descobertas no Security Command Center.
A VM Threat Detection é integrada ao hipervisor do Google Cloud, uma plataforma segura que cria e gerencia todas as VMs do Compute Engine.
O VM Threat Detection executa periodicamente verificações do hipervisor na memória de uma VM convidada em execução sem pausar a operação do convidado. Ele também verifica periodicamente os clones de disco. Como esse serviço opera fora da instância da VM convidada, ele não requer agentes convidados ou configuração especial do sistema operacional convidado e é resistente a contramedidas usadas por malware sofisticado. Nenhum ciclo de CPU é usado na VM convidada, e a conectividade de rede não é necessária. As equipes de segurança não precisam atualizar assinaturas nem gerenciar o serviço.
Como funciona a detecção de mineração de criptomoedas
Com base nas regras de detecção de ameaças do Google Cloud, o VM Threat Detection analisa informações sobre software em execução nas VMs, incluindo uma lista de nomes de aplicativos, uso de CPU por processo, hashes de páginas de memória, contadores de desempenho de hardware da CPU e informações sobre código de máquina executado para determinar se o aplicativo corresponde a assinaturas de criptomineração conhecidas. Quando possível, a VM Threat Detection determina o processo de execução associado à correspondência com a assinatura detectada e inclui informações sobre esse processo na descoberta.
Como funciona a detecção de rootkit no modo kernel
A detecção de ameaças da VM infere o tipo de sistema operacional em execução na VM e usa essas informações para determinar o código do kernel, as regiões de dados somente leitura e outras estruturas de dados do kernel na memória. O VM Threat Detection aplica várias técnicas para determinar se essas regiões foram adulteradas, comparando-as com hashes pré-computados esperados para a imagem do kernel e verificando a integridade de estruturas de dados importantes do kernel.
Como a detecção de malware funciona
O VM Threat Detection cria clones de curta duração do disco permanente da VM, sem interromper as cargas de trabalho, e verifica os clones do disco. Esse serviço analisa arquivos executáveis na VM para determinar se algum arquivo corresponde a assinaturas de malware conhecidas. A descoberta gerada contém informações sobre o arquivo e as assinaturas de malware detectadas.
Frequência de análise
Para a verificação de memória, a VM Threat Detection verifica cada instância de VM imediatamente após a criação. Além disso, a VM Threat Detection verifica cada instância de VM a cada 30 minutos.
- Para a detecção de mineração de criptomoedas, a Detecção de ameaças da VM gera uma descoberta por processo, por VM e por dia. Cada descoberta inclui apenas as ameaças associadas ao processo identificado pela descoberta. Se a VM Threat Detection encontrar ameaças, mas não conseguir associá-las a nenhum processo, para cada VM, a VM Threat Detection vai agrupar todas as ameaças não associadas em uma única descoberta que será emitida uma vez para cada uma por cada período de 24 horas. Para quaisquer ameaças que persistam por mais de 24 horas, o VM Threat Detection gera novas descobertas a cada 24 horas.
- Para a detecção rootkit no modo kernel, que está em pré-lançamento, a detecção de ameaças da VM gera uma descoberta por categoria, por VM, a cada três dias.
Para a verificação de disco permanente, que detecta a presença de malware conhecido, a detecção de ameaças da VM verifica cada instância de VM pelo menos uma vez por dia.
Se você ativar o nível Premium do Security Command Center, as verificações da VM Threat Detection são ativadas automaticamente. Se necessário, desative o serviço e/ou ative-o no nível do projeto. Para mais informações, consulte Ativar ou desativar a detecção de ameaças da VM.
Descobertas
Esta seção descreve as descobertas de ameaças geradas pela VM Threat Detection.
A detecção de ameaças da VM tem as seguintes ameaças.
Descobertas de ameaças de mineração de criptomoedas
A detecção de ameaças da VM detecta as seguintes categorias de descoberta usando correspondência de hash ou regras YARA.
Categoria | Módulo | Descrição |
---|---|---|
Execution: Cryptocurrency Mining Hash Match
|
CRYPTOMINING_HASH
|
Corresponde os hashes de memória da execução de programas a hashes de memória conhecidos de software de mineração de criptomoeda. |
Execution: Cryptocurrency Mining YARA Rule
|
CRYPTOMINING_YARA
|
Corresponde aos padrões de memória, como constantes de prova de trabalho, conhecidas por serem usadas por software de mineração de criptomoeda. |
Execution: Cryptocurrency Mining Combined Detection
|
|
Identifica uma ameaça que foi detectada pelos módulos
CRYPTOMINING_HASH e CRYPTOMINING_YARA .
Para mais informações, consulte Detecções combinadas.
|
Descobertas de ameaças do rootkit no modo kernel
A VM Threat Detection analisa a integridade do kernel no ambiente de execução para detectar técnicas comuns de evasão usadas por malware.
O módulo KERNEL_MEMORY_TAMPERING
detecta ameaças fazendo uma comparação de hash no código e na memória de dados somente leitura do kernel de uma máquina virtual.
O módulo KERNEL_INTEGRITY_TAMPERING
detecta ameaças verificando
a integridade de estruturas de dados importantes do kernel.
Categoria | Módulo | Descrição |
---|---|---|
Rootkit | ||
Defense Evasion: Rootkit
|
|
Uma combinação de indicadores correspondentes a um rootkit conhecido no modo kernel está presente. Para receber resultados dessa categoria, verifique se os dois módulos estão ativados. |
Adulteração de memória do kernel | ||
Defense Evasion: Unexpected kernel code modification Pré-lançamento
|
KERNEL_MEMORY_TAMPERING
|
Há modificações inesperadas da memória de código do kernel. |
Defense Evasion: Unexpected kernel read-only data modification Pré-lançamento
|
KERNEL_MEMORY_TAMPERING
|
Há modificações inesperadas da memória de dados somente leitura do kernel. |
Adulteração de integridade do kernel | ||
Defense Evasion: Unexpected ftrace handler Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
Os pontos ftrace estão presentes com callbacks que apontam para regiões que não estão no
intervalo de código do módulo ou kernel esperado.
|
Defense Evasion: Unexpected interrupt handler Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
São interrompidos os gerenciadores que não estão nas regiões esperadas de kernel ou módulo de código. |
Defense Evasion: Unexpected kernel modules Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
As páginas de código do kernel que não estão nas regiões de código de kernel ou módulo esperadas estão presentes. |
Defense Evasion: Unexpected kprobe handler Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
Os pontos kprobe estão presentes com callbacks que apontam para regiões que não estão no intervalo de código do módulo ou kernel esperado.
|
Defense Evasion: Unexpected processes in runqueue Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
Há processos inesperados na fila de execução do programador. Esses processos estão na fila de execução, mas não na lista de tarefas do processo. |
Defense Evasion: Unexpected system call handler Pré-lançamento
|
KERNEL_INTEGRITY_TAMPERING
|
Os gerenciadores de chamadas do sistema que não estão nas regiões de código de módulo ou kernel esperado estão presentes. |
Descobertas de ameaças de malware
A VM Threat Detection detecta as seguintes categorias de descobertas ao verificar o disco permanente de uma VM em busca de malware conhecido.
Categoria | Módulo | Descrição |
---|---|---|
Malware: Malicious file on disk (YARA)
|
MALWARE_DISK_SCAN_YARA
|
Corresponde a assinaturas usadas por malware conhecido. |
Limitações
A VM Threat Detection é compatível com instâncias de VM do Compute Engine, com as seguintes limitações:
Suporte limitado para VMs do Windows:
Para detecção de mineração de criptomoedas, o VM Threat Detection se concentra principalmente nos binários do Linux e tem cobertura limitada de mineradores de criptomoedas executados no Windows.
Para a detecção de rootkit no modo kernel, a VM Threat Detection é compatível apenas com sistemas operacionais Linux.
Sem suporte para VMs do Compute Engine que usam VM confidencial. As instâncias de VM confidenciais usam criptografia para proteger o conteúdo da memória à medida que ela entra e sai da CPU. Assim, a VM Threat Detection não pode verificá-las.
Limitações da verificação de disco:
Não é possível usar discos persistentes criptografados com chaves de criptografia fornecidas pelo cliente (CSEK, na sigla em inglês) ou chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês).
Somente as partições
vfat
,ext2
eext4
são verificadas.
A VM Threat Detection exige que o Security Center Service Agent seja capaz de listar as VMs nos projetos e clonar os discos para projetos de propriedade do Google. Algumas configurações de segurança e políticas, como perímetros do VPC Service Controls e restrições de política da organização, podem interferir nessas operações. Nesse caso, a verificação da VM Threat Detection pode não funcionar.
A VM Threat Detection depende dos recursos do hipervisor do Google Cloud e do Compute Engine. Portanto, a VM Threat Detection não pode ser executada em ambientes locais ou em outros ambientes de nuvem pública.
Privacidade e segurança
A VM Threat Detection acessa os clones de disco e a memória de uma VM em execução para análise. O serviço analisa apenas o que é necessário para detectar ameaças.
O conteúdo da memória da VM e dos clones de disco são usados como entradas no pipeline de análise de risco da VM Threat Detection. Os dados são criptografados em trânsito e processados por sistemas automatizados. Durante o processamento, os dados são protegidos pelos sistemas de controle de segurança do Google Cloud.
Para fins de monitoramento e depuração, a VM Threat Detection armazena informações básicas de diagnóstico e estatísticas sobre projetos protegidos pelo serviço.
A VM Threat Detection verifica o conteúdo da memória da VM e os clones de disco nas respectivas regiões. No entanto, os resultados e metadados (como números de projeto e de organização) podem ser armazenados fora dessas regiões.
A seguir
- Saiba como usar a VM Threat Detection.
- Saiba como investigar as descobertas da VM Threat Detection.
- Saiba como inspecionar uma VM para verificar se há sinais de adulteração da memória do kernel.