Ataques GDDRHammer e GeForge que distorcem a memória da GPU para acessar toda a memória da CPU

Pesquisadores de várias universidades dos EUA e da Austrália desenvolveram dois ataques da classe Rowhammer — GDDRHammer e GeForge, que permitem, ao executar um núcleo CUDA não privilegiado em GPUs NVIDIA, a distorção de bits individuais nos chips de memória de vídeo GDDR. Ao contrário do método GPUHammer apresentado no ano passado, os novos ataques não se limitam a afetar os dados processados na memória da GPU, mas permitem acesso total a toda a memória principal relacionada ao espaço de endereçamento da CPU. Os pesquisadores demonstraram exploits que fornecem acesso root ao sistema principal ao executar um núcleo CUDA não privilegiado na GPU.

Ambos os ataques provocam a perda prematura de carga em determinadas células de memória de vídeo às quais os atacantes não têm acesso direto, resultando na alteração dos bits armazenados nessas células. A capacidade de leitura e escrita na memória relacionada ao espaço de endereçamento da CPU é realizada através da interferência no funcionamento do alocador de memória da GPU (cudaMalloc) para violar a separação da memória da GPU e mapear endereços virtuais da GPU em endereços físicos arbitrários da GPU ou da CPU.

A interferência é realizada por meio da distorção de valores de bits na memória de vídeo, onde são armazenadas as tabelas de páginas da memória da GPU, responsáveis pela tradução de endereços virtuais em físicos. As diferenças entre os ataques GDDRHammer e GeForge residem no fato de que o método GDDRHammer modifica a tabela de páginas de nível mais baixo (PT — Last Level Page Table), enquanto o método GeForge modifica o diretório de páginas de nível mais baixo (PD0 — Last Level Page Directory).

Entre outras coisas, as tabelas de tradução de endereços mencionadas são usadas para organizar o acesso direto da GPU à memória da CPU, portanto, alterar um endereço na tabela de páginas da GPU para um endereço físico na memória RAM principal e ativar a flag APERTURE, que habilita o modo de mapeamento da memória da CPU, permite a leitura e gravação de dados acessando a memória principal através do barramento PCIe com o IOMMU desativado (por padrão, desativado).

Ataques GDDRHammer e GeForge que distorcem a memória da GPU para acessar toda a memória da CPU
Ataques GDDRHammer e GeForge que distorcem a memória da GPU para acessar toda a memória da CPU

Ataques bem-sucedidos foram demonstrados em placas de vídeo profissionais de alto desempenho NVIDIA RTX A6000, baseadas na microarquitetura Ampere (o custo das novas placas começa em $6850, enquanto modelos usados começam em $4000), bem como em modelos domésticos NVIDIA RTX 3060 ($250-300). A técnica desenvolvida para contornar a proteção contra Rowhammer, combinada com o uso de recursos de paralelização de operações fornecidos pela GPU, permitiu aumentar em 64 vezes a frequência de ocorrência de distúrbios nas células em comparação com ataques anteriores. Como uma medida temporária para bloquear ataques, o comando "nvidia-smi -e 1" pode ativar o modo de correção de erros ECC (Error Correcting Codes), mas isso traz custos adicionais e pode ser contornado usando métodos de ataque como ECCploit e ECC.fail.

O ataque RowHammer permite distorcer o conteúdo de bits individuais na memória DRAM lendo ciclicamente dados de células de memória vizinhas. Como a memória DRAM é um array bidimensional de células, cada uma consistindo em um capacitor e um transistor, a leitura contínua de uma mesma área da memória leva a flutuações de tensão e anomalias, causando uma pequena perda de carga nas células vizinhas. Se a intensidade da leitura for alta, a célula vizinha pode perder uma quantidade suficiente de carga, e o próximo ciclo de regeneração pode não conseguir restaurar seu estado inicial, resultando na alteração do valor dos dados armazenados na célula.

O método de ataque Rowhammer foi proposto em 2014, desencadeando um jogo de 'gato e rato' entre pesquisadores de segurança e fabricantes de hardware - os fabricantes de chips de memória tentaram bloquear a vulnerabilidade, enquanto os pesquisadores encontraram novas formas de contorná-la. Por exemplo, para proteção contra Rowhammer, os fabricantes de chips adicionaram o mecanismo TRR (Target Row Refresh), mas constatou-se que ele bloqueia a corrupção das células apenas em casos específicos, não protegendo contra todas as possíveis variantes de ataque. Métodos de ataque foram desenvolvidos para chips DDR3, DDR4 e DDR5 em sistemas com processadores Intel, AMD e ARM, assim como para memória GDDR de GPUs NVIDIA. Além disso, foram encontrados métodos para contornar a correção de erros ECC e propostas opções para realizar ataques pela rede e via execução de código JavaScript no navegador.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster