GPUHammer — uma variante do ataque Rowhammer na memória GPU

Pesquisadores da Universidade de Toronto apresentaram o primeiro ataque da classe Rowhammer, aplicado para corromper o conteúdo da memória de vídeo. A possibilidade de realizar um ataque que resulta na substituição de até 8 bits de dados foi demonstrada em uma GPU discreta NVIDIA A6000 com memória GDDR6. Como exemplo prático, foi mostrado como essa corrupção pode ser utilizada para interferir na execução de modelos de aprendizado de máquina, resultando em uma redução significativa (de 80% para 0,1%) na precisão dos resultados apresentados ao alterar o valor de apenas um bit.

GPUHammer é uma variante do ataque Rowhammer direcionada à memória GPU.

Até agora, a criação de ataques da classe Rowhammer para memória de vídeo foi dificultada pela complexidade de determinar a disposição física da memória em chips GDDR, latências de acesso à memória muito maiores (4 vezes mais lentas) e uma frequência de atualização de memória mais alta. Além disso, a pesquisa foi dificultada pela implementação em chips GDDR de mecanismos proprietários de proteção contra manipulações que levam à perda prematura de carga, análise que exigiu a criação de plataformas de teste de hardware especializadas baseadas em FPGA.

Para estudar a memória de vídeo, os pesquisadores desenvolveram uma nova técnica de engenharia reversa para GDDR DRAM, e o ataque utilizou otimizações de acesso à memória aplicadas em cálculos paralelos, que foram usadas como amplificadores da intensidade de acesso a células individuais. Para conduzir o ataque na GPU NVIDIA, foi utilizado código CUDA de baixo nível.

No código CUDA do usuário, não há acesso a endereços físicos da memória, mas no driver da NVIDIA, a memória virtual era refletida na mesma memória física, o que foi aproveitado pelos pesquisadores para calcular o deslocamento da memória virtual e determinar a disposição dos bancos de memória. O reconhecimento de acessos a diferentes bancos de memória foi feito através da análise de latências que diferiam ao acessar um único banco ou bancos de memória diferentes.

Em sistemas que compartilham GPU, como servidores Para executar modelos de aprendizado de máquina, o ataque permite que um usuário altere o conteúdo da memória de vídeo com dados de outro usuário. Como medida de proteção, a NVIDIA recomenda ativar os códigos de correção de erros (ECC, Error Correction Codes) com o comando "nvidia-smi -e 1" ou usar séries de placas gráficas com suporte a OD-ECC (On-Die ECC), como GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 e GH200.

De acordo com os pesquisadores, ativar o ECC em sistemas com GPU A6000 resulta em uma redução de desempenho na execução de modelos de aprendizado de máquina de cerca de 10% e uma diminuição na capacidade de memória de 6,25%. Ferramentas para realizar o ataque e realizar engenharia reversa da disposição de baixo nível da memória de vídeo em sistemas com GPU NVIDIA foram publicadas no GitHub.

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, após o qual começou 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 maneiras de contorná-la. Por exemplo, para se proteger contra o RowHammer, os fabricantes de chips adicionaram o mecanismo TRR (Target Row Refresh), mas descobriu-se que ele bloqueia a distorção de células apenas em casos específicos, sem proteger contra todas as possíveis variantes do ataque. Métodos de ataque foram desenvolvidos para chips DDR3, DDR4 e DDR5 em sistemas com processadores Intel, AMD e ARM. Além disso, foram encontrados modos de contornar a correção de erros ECC e foram propostas opções para realizar ataques pela rede e por meio da 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