VMScape: A nova vulnerabilidade que quebra o isolamento entre máquinas virtuais e o hipervisor

vulnerabilidade

Pesquisadores da ETH Zurich anunciaram em uma postagem de blog um novo ataque chamado VMScape (CVE-2025-40300) capaz de burlar as proteções Spectre-BTI e comprometer a segurança em ambientes virtualizados. Esse método permite que um processo dentro de uma máquina virtual extraia dados sensíveis de componentes do hipervisor em execução no espaço do usuário, como o QEMU-KVM.

O aspecto preocupante é que a memória desses componentes pode conter informações críticas , como chaves de acesso a discos criptografados ou resquícios de dados sensíveis de outros sistemas convidados. Pesquisadores demonstraram a viabilidade do ataque com uma vulnerabilidade que vazou com sucesso chaves de criptografia de um driver virtio no QEMU, atingindo uma taxa de vazamento de 32 bytes por segundo em sistemas com CPUs AMD Zen 4.

Como funciona o VMScape

O VMScape depende da manipulação do buffer de destino de ramificação ( BTB ), que as CPUs usam para prever ramificações durante a execução especulativa. Ao injetar destinos de ramificação manipulados, um atacante pode forçar previsões errôneas e explorar o cache do processador para deduzir informações confidenciais.

Embora os sistemas modernos já incluam defesas contra Spectre-BTI, estas não levaram em conta o fato de que os processos convidados e os componentes do hipervisor em espaço de usuário compartilham o mesmo nível de proteção . Isso permitiu que as entradas do BTB se tornassem indistinguíveis entre os dois, quebrando o isolamento esperado.

Nossa análise sistemática do isolamento do domínio de proteção mostra que os mecanismos atuais são muito gerais: em todas as CPUs AMD Zen, incluindo a mais recente Zen 5, o preditor de ramificação não consegue distinguir entre execução no host e no convidado, permitindo práticas primitivas de ataque BTI (vBTI) de virtualização cruzada. Embora as CPUs Intel mais recentes ofereçam melhor isolamento, ainda existem deficiências.

Usando uma dessas primitivas vBTI, criamos um exploit abrangente chamado VMScape. O VMScape permite que um convidado KVM malicioso vaze informações confidenciais, como chaves de criptografia/descriptografia, de um hipervisor de espaço do usuário como o QEMU. Abaixo, você pode ver uma demonstração do VMScape em execução no AMD Zen 4.

O custo em segurança é significativo, pois o impacto depende da frequência com que o sistema transfere o controle para o espaço do usuário. Em ambientes com dispositivos emulados (o padrão no QEMU), a queda de desempenho pode chegar a 10% em média , enquanto em testes intensivos, como operações de disco com virtio, observou-se uma degradação de até 51%. Sob cargas de trabalho leves, como o UnixBench, o impacto mal chega a 1%.

Processadores afetados

A vulnerabilidade afeta todos os processadores AMD Zen (incluindo a quinta geração), processadores Hygon e modelos Intel mais antigos, como os baseados em Coffee Lake (2017). CPUs mais recentes, como Cascade Lake e Alder Lake, apresentam um risco parcial. Em contrapartida, as gerações mais recentes de processadores Intel incluem a tecnologia eIBRS, que melhora o isolamento entre o host e o convidado, embora não elimine completamente ataques baseados em manipulação do histórico de ramificação (vBHI).

Limitações do ataque

Atualmente, o VMScape foi demonstrado apenas em sistemas que utilizam KVM com QEMU para emulação de dispositivos em espaço de usuário. Hipervisores como o Xen não são afetados, enquanto outros, como VMware e Hyper-V, ainda não foram avaliados a fundo.

Mitigações no kernel Linux

Para combater esse ataque, foram lançadas atualizações para o kernel do Linux (versões 6.16.7, 6.12.47, 6.6.106, 6.1.152, 5.15.193 e 5.10.244). A solução implementa o uso da instrução IBPB (Indirect Branch Prediction Barrier), que limpa o estado do preditor de desvios após cada transição da máquina virtual para o espaço do usuário.

A proteção pode ser ativada através da opção de inicialização do kernel :

vmscape={desligado|ibpb|forçar}

Com o ibpb, a mitigação é ativada apenas em CPUs vulneráveis , enquanto o force a aplica a todas as arquiteturas. O status da vulnerabilidade e as proteções ativas podem ser visualizados em:

/sys/dispositivos/sistema/cpu/vulnerabilidades/vmscape

Por fim, se tiver interesse em saber mais, você pode encontrar os detalhes no seguinte link.


Adicionar como fonte preferencial no Google