GDDRHammer e GeForge: dois novos ataques Rowhammer contra GPUs

Pontos chave:
  • Pesquisadores desenvolvem técnicas para amplificar ataques Rowhammer em memórias GDDR6, conseguindo milhares de alterações de bits.
  • Os ataques GDDRHammer e GeForge manipulam o alocador de memória para colocar tabelas de páginas em setores vulneráveis.
  • Alterar um bit na tabela de páginas permite que o atacante redirecione ponteiros de memória para estruturas controladas por ele.
  • Ao modificar o campo de abertura do sistema na entrada da tabela, a GPU obtém acesso direto de leitura e gravação à memória física do host.
  • A vulnerabilidade afeta modelos como o RTX 3060 e o RTX A6000, exigindo a ativação do IOMMU como principal medida de defesa.

Ataques de GPU Rowhammer

Pesquisadores de segurança demonstraram que A vulnerabilidade física de Rowhammer representa uma ameaça grave. para unidades de processamento gráfico modernas, apresentando duas cadeias de ataque completas chamadas GeForce e GDDRHammerAo contrário das pesquisas preliminares, que mal conseguiam induzir uma quantidade mínima de alterações de bits para degradar a inferência de redes neurais, esses novos tipos de ataque alcançam comprometimento absoluto no nível do sistema.

Ao executar código padrão, sem privilégios, em uma GPU NVIDIA, um Um atacante pode corromper as estruturas de memória interna do dispositivo para obter acesso arbitrário de leitura e gravação. em toda a memória física da CPU do host. Essa manipulação cruzada permite que o invasor eleve seus privilégios e obtenha um console de superusuário no sistema operacional principal.

Evasão de medidas de mitigação e padrões

O sucesso desses ataques depende de técnicas sem precedentes. para contornar as mitigações de atualização de linha alvo (TRR) implementadas na memória GDDR6. A pesquisa GeForge Introduz padrões não uniformes que abrangem múltiplos intervalos de atualização., variando a intensidade e a ordem das ativações das linhas de memória para evitar a detecção por hardware.

Para aplicar mapas de endereços físicos obtidos por meio de perfilamento offline a alocações de memória dinâmica, Eles desenvolveram uma técnica de ancoragem de página que explora a atribuição não linear. dos endereços físicos aos conjuntos de cache L2.

Simultaneamente, A equipe GDDRHammer descobriu que as linhas de memória DRAM em placas gráficas Elas seguem um arranjo geométrico não monótono.Isso permitiu que eles construíssem padrões de dupla face altamente eficazes, mesmo que os endereços físicos parecessem distantes. Ao atribuir tarefas individuais de bancos de memória a diferentes multiprocessadores de fluxo e sincronizar parcialmente a execução, eles conseguiram maximizar o desempenho da ativação, contornando a amostragem de segurança.

Essas abordagens geraram resultados expressivos; O método GeForge induziu 1,171 alterações de bits em uma RTX 3060 para consumidores e 202 em uma RTX A6000 profissional., enquanto o GDDRHammer atingiu uma média de 1,032 alterações por gigabyte, representando um aumento de 64 vezes em relação às tentativas anteriores.

Manipulando tabelas de páginas e massagem de memória

Para usar essas perturbações elétricas como arma, o Os atacantes estão visando as tabelas de páginas hierárquicas gerenciadas pela unidade de gerenciamento de memória da GPU.Como o controlador normalmente aloca essas estruturas em regiões protegidas ou imprevisíveis, os exploits dependem de técnicas de manipulação de memória para forçar a colocação de entradas da tabela de páginas em locais físicos que o atacante sabe serem vulneráveis.

Ataque O GDDRHammer usa mapeamentos de memória compartilhada para inundar o alocador., reduzindo a diferença entre as regiões da tabela de páginas e a memória controlada pelo usuário. O GeForge se concentra especificamente em corromper entradas no diretório de páginas. 0 (PD0).

Ao alocar e liberar cuidadosamente fragmentos da Memória Virtual Unificada, o atacante direciona a criação de novas estruturas PD0 diretamente para uma subpágina específica de 4 kilobytes. Uma vez posicionada, o processo altera um bit no ponteiro de endereço físico da entrada, redirecionando-a para uma tabela de páginas falsificada, totalmente controlada pelo código malicioso.

Elevação de privilégios via barramento PCIe

El O controle sobre a tabela de páginas da placa gráfica se traduz diretamente em controle sobre o processador central do computador.As entradas da tabela de páginas da NVIDIA contêm um campo de abertura específico que determina se o endereço físico associado reside na memória local do dispositivo ou na memória do sistema host. Ao alterar este campo na entrada falsificada, qualquer operação leitura ou escrita posterior Os dados gerados pela GPU são encaminhados através do barramento PCIe diretamente para a RAM física. do hospedeiro.

Esse acesso direto à memória ignora a unidade de gerenciamento de memória da CPU e as proteções contra gravação do sistema operacional. Em sua demonstração prática, os investigadores Eles usaram essa capacidade para sobrescrever o segmento de código da biblioteca padrão C diretamente na memória do host. Especificamente, eles injetaram código de máquina na função de fechamento do log, que foi posteriormente executada por um programa legítimo com privilégios elevados, concedendo imediatamente ao atacante acesso absoluto ao sistema.

Prevalência de hardware e medidas de mitigação

LaTestes extensivos confirmaram que essa vulnerabilidade é generalizada no hardware atual.O estudo GDDRHammer avaliou 25 placas gráficas de alta gama, constatando que 16 dos 17 modelos RTX A6000 baseados na arquitetura Ampere eram suscetíveis a esses ataques. Embora a memória com código de correção de erros (ECC) possa mitigar a vulnerabilidade do ataque corrigindo erros de um único bit, esse recurso é desativado por padrão em muitas placas para estações de trabalho devido à perda de desempenho e está completamente ausente em modelos de mercado de massa.

A defesa imediata mais eficaz contra comprometimento do host é o Aplicação de uma Unidade de Gerenciamento de Memória de Entrada/Saída (IOMMU). Quando ativado, o IOMMU restringe o acesso direto da GPU a frames de páginas do host explicitamente autorizados, neutralizando o mapeamento aberto forjado. No entanto, ambas as equipes de pesquisa observam que o IOMMU é frequentemente desativado por padrão em sistemas Linux comerciais por motivos de compatibilidade, deixando um número significativo de máquinas vulneráveis ​​a esse vetor de ataque.

Por fim, se tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir