Há alguns dias, uma equipe de pesquisadores divulgou informações sobre o desenvolvimento do primeiro ataque Rowhammer que foi direcionado com sucesso para la Memória de vídeo GDDR6 de uma GPU, especificamente uma NVIDIA A6000.
A técnica, apelidado de GPUHammer, permite que bits individuais na DRAM da GPU sejam manipulados, degradando drasticamente a precisão dos modelos de aprendizado de máquina, alterando apenas um bit de seus parâmetros. Essas inversões de bits permitem que um usuário mal-intencionado da GPU manipule os dados da GPU de outro usuário em ambientes compartilhados e com intervalos de tempo.
Até agora, A aplicação do Rowhammer às memórias de vídeo foi considerada impraticável devido a diversas limitações técnicas. O layout físico das células de memória em chips GDDR é difícil de mapear, as latências de acesso são até quatro vezes mais lentas do que em DRAMs convencionais e as taxas de atualização são significativamente maiores. Somam-se a isso mecanismos proprietários de proteção contra perda prematura de carga, cuja engenharia reversa exigiu equipamentos especializados.
Para superar esses obstáculos, Pesquisadores desenvolveram uma nova técnica de engenharia reversa visando GDDR DRAMUtilizando código CUDA de baixo nível, eles executaram o ataque por meio de otimizações específicas que intensificaram o acesso a determinadas células de memória, criando condições propícias à manipulação de bits. A chave para o sucesso residia em alcançar uma computação paralela altamente organizada, que atuava como um amplificador da pressão sobre as células adjacentes.
Como funciona o ataque?
Ataque explora uma fraqueza física na DRAM, onde o acesso intensivo a uma linha de memória (conhecido como “martelo”) pode induzir alterações em fileiras adjacentesEmbora essa vulnerabilidade tenha sido identificada em 2014 e extensivamente estudada na memória DDR da CPU, portá-la para GPUs tem sido um desafio até agora devido a:
- A alta latência de acesso do GDDR6 (até 4 vezes maior que o DDR4).
- A complexidade na alocação física de memória.
- A presença de mitigações proprietárias e mal documentadas, como TRR.
Rowhammer é uma vulnerabilidade de hardware na qual a ativação rápida de uma linha de memória introduz inversões de bits em linhas adjacentes. Desde 2014, essa vulnerabilidade tem sido amplamente estudada em CPUs e memórias baseadas em CPU, como DDR3, DDR4 e LPDDR4. No entanto, como cargas de trabalho críticas de IA e aprendizado de máquina agora são executadas em GPUs discretas na nuvem, avaliar a vulnerabilidade da memória da GPU a ataques Rowhammer é crucial.
Apesar destes obstáculos, a Pesquisadores conseguiram aplicar engenharia reversa sobre alocação de memória virtual/física em CUDA, Eles desenvolveram um método para identificar bancos específicos de memória DRAM e acesso paralelo otimizado usando múltiplos threads e warps, maximizando a taxa de martelamento sem causar latência adicional.
A prova de conceito mostrou como uma inversão de um único bit nos pesos do modelo de rede neural profunda (DNN), especificamente nos expoentes FP16, pode degradar a precisão top-1 dos modelos de classificação de imagens no ImageNet de 80% para 0,1%. Essa descoberta é alarmante para data centers e serviços de nuvem que executam cargas de trabalho de IA em ambientes compartilhados com GPUs.
Mitigações e limitações
A NVIDIA confirmou a vulnerabilidade e recomenda habilitar o suporte ECC. (Código de correção de erros) usando o comando nvidia-smi -e 1. Embora Esta medida pode corrigir erros bit único, Isso implica uma perda de desempenho de até 10%. e uma redução de 6,25% na memória disponível. Também não protege contra ataques futuros envolvendo múltiplas inversões de bits.
Confirmamos flutuações de bits no Rowhammer em GPUs NVIDIA A6000 com memória GDDR6. Outras GPUs GDDR6, como a RTX 3080, não apresentaram flutuações de bits em nossos testes, possivelmente devido a variações no fornecedor da DRAM, características do chip ou condições operacionais, como temperatura. Também não observamos flutuações em uma GPU A100 com memória HBM.
A equipe destaca que GPUHammer foi verificado atualmente apenas na GPU A6000 com GDDR6, e não em modelos como o A100 (HBM) ou RTX 3080. No entanto, como este é um ataque extensível, outros pesquisadores são encorajados a replicar e expandir a análise em diferentes arquiteturas e modelos de GPU.
Por fim, se tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir