O ataque GPUThor coloca servidores equipados com GPUs NVIDIA em alerta ao demonstrar que é possível contornar, em determinadas condições, a proteção ECC da memória GDDR6 por meio de uma nova abordagem baseada no Rowhammer. A pesquisa, conduzida por pesquisadores da Universidade de Toronto, mostra que um atacante pode provocar múltiplas inversões de bits e superar mecanismos que antes eram considerados uma defesa importante contra esse tipo de ameaça.
O problema vai além da simples corrupção de dados. Nos experimentos, o GPUThor foi capaz de provocar negação de serviço (DoS) e, em uma cadeia de exploração específica, permitir a corrupção de tabelas de páginas da GPU para obter acesso arbitrário à memória. Em determinadas condições, isso pode contribuir para o escalonamento de privilégios até root no Linux, aumentando significativamente o risco para ambientes de computação de alto desempenho.
A descoberta é especialmente relevante para data centers, infraestrutura de inteligência artificial, nuvens privadas e ambientes multi-tenant que executam código CUDA de diferentes usuários. A pesquisa também reforça uma preocupação crescente: mecanismos de segurança presentes no hardware da GPU precisam ser tratados como parte da superfície de ataque, e não apenas como recursos de confiabilidade.
Como funciona o ataque GPUThor contra GPUs NVIDIA
O Rowhammer é uma técnica que explora características físicas das células de memória. Ao realizar repetidamente operações sobre determinadas linhas, o atacante pode provocar interferência elétrica em linhas próximas e causar alterações nos valores armazenados, conhecidas como bit flips.
Em GPUs modernas, existem mecanismos destinados a reduzir esse risco. Entre eles está o Target Row Refresh (TRR), que tenta identificar padrões anormais de ativação e atualizar linhas de memória potencialmente vulneráveis antes que ocorra uma quantidade suficiente de perturbações para provocar corrupção.
O GPUThor, entretanto, utiliza uma estratégia diferente. Em vez de simplesmente bombardear uma linha de memória de maneira uniforme, o ataque utiliza padrões não uniformes de acesso, dificultando que o mecanismo TRR reconheça o comportamento como uma tentativa tradicional de Rowhammer.
A técnica explora ainda características específicas do gerenciamento de memória das GPUs para produzir uma quantidade muito maior de ativações efetivas sobre determinadas regiões da GDDR6. Com isso, os pesquisadores conseguiram provocar uma quantidade significativa de inversões de bits mesmo em hardware equipado com mecanismos de proteção.
Segundo os resultados divulgados pelos pesquisadores, o método alcançou até 377.552 inversões de bits por GB em uma RTX A5000. Em comparação com o GPUHammer, trabalho anterior do mesmo grupo de pesquisa, o novo método apresentou um aumento expressivo na taxa de bit flips.
Essa diferença é importante porque ataques anteriores contra GDDR6 podiam ser parcialmente contidos pelo ECC. Com uma taxa de corrupção muito maior, porém, aumentam as chances de o atacante atingir justamente regiões críticas da memória.

Por que o ECC não conseguiu impedir o GPUThor
O ECC (Error-Correcting Code) é uma das principais tecnologias utilizadas para preservar a integridade da memória em ambientes profissionais e de servidores. Seu objetivo é detectar e, dependendo do tipo de erro, corrigir alterações provocadas por falhas físicas ou perturbações na memória.
Um mecanismo SECDED, por exemplo, consegue corrigir determinados erros de um bit e detectar determinados erros de dois bits. O problema aparece quando o atacante consegue provocar múltiplas inversões dentro da mesma unidade protegida pelo código de correção.
É exatamente essa situação que torna o ataque GPUThor relevante. Os pesquisadores demonstraram erros envolvendo dois e três bits, criando condições em que o ECC deixa de ser capaz de simplesmente recuperar o conteúdo original.
Um erro de múltiplos bits pode resultar em um erro não corrigível ou, em determinadas situações, em uma correção incorreta. Para um servidor de IA, isso pode significar desde a interrupção de uma aplicação até corrupção de estruturas utilizadas pelo processamento de dados.
O impacto também pode ser observado durante cargas de trabalho prolongadas. Uma GPU submetida ao ataque pode apresentar erros ECC, falhas de execução e reinicializações, transformando uma vulnerabilidade de integridade em um problema de disponibilidade.
Isso é particularmente preocupante em clusters de IA. Um único acelerador instável pode interromper jobs distribuídos, provocar perda de tempo de processamento e afetar aplicações que dependem de dezenas ou centenas de GPUs.
GPUThor pode transformar corrupção de memória em acesso root
A consequência mais grave da pesquisa está relacionada às tabelas de páginas da GPU. Essas estruturas são utilizadas para controlar o mapeamento entre endereços virtuais e regiões de memória acessíveis aos programas executados no dispositivo.
Se um atacante conseguir alterar determinados bits dessas estruturas, pode tentar modificar os mapeamentos e transformar uma aplicação CUDA aparentemente limitada em um processo capaz de acessar regiões de memória que não deveria alcançar.
Essa técnica não significa que qualquer usuário remoto possa simplesmente executar o GPUThor e obter root. Existe uma condição fundamental: o atacante precisa conseguir executar código CUDA na GPU afetada, além de encontrar as condições necessárias para completar a cadeia de exploração.
Entretanto, essa exigência pode ser relevante em plataformas que permitem execução de workloads fornecidos por diferentes usuários. Em ambientes multi-tenant, um cliente pode ter permissão para executar uma aplicação na GPU sem possuir privilégios administrativos no servidor.
A partir daí, uma cadeia envolvendo corrupção de tabelas de páginas, acesso arbitrário à memória e vulnerabilidades na interação entre GPU, driver e host pode aumentar o impacto do ataque.
Pesquisas anteriores, como o GPUBreach, já haviam demonstrado caminhos para transformar corrupção de memória da GPU em comprometimento do sistema host. O GPUThor é importante porque demonstra que uma das principais barreiras contra esse tipo de ataque, o ECC, pode ser contornada em determinadas GPUs.
Por isso, o risco para servidores Linux deve ser analisado principalmente sob a perspectiva de isolamento entre usuários e workloads. Quanto maior a exposição a código CUDA não confiável, maior a importância das camadas adicionais de proteção.
Quais GPUs são afetadas pelo ataque GPUThor
Os pesquisadores demonstraram o comportamento do GPUThor em GPUs NVIDIA Ampere equipadas com memória GDDR6, incluindo:
- NVIDIA RTX A4000;
- NVIDIA RTX A4500;
- NVIDIA RTX A5000;
- NVIDIA RTX A6000.
É importante evitar uma generalização: isso não significa que todas as GPUs NVIDIA estejam vulneráveis ao mesmo ataque.
A pesquisa está concentrada em determinadas combinações de arquitetura e tecnologia de memória. Os testes divulgados também não demonstraram o mesmo comportamento nas memórias GDDR6X, HBM e GDDR7.
Essa distinção é fundamental para administradores. A presença de uma GPU NVIDIA em um servidor não é, por si só, suficiente para concluir que a máquina está vulnerável ao GPUThor.
Como proteger servidores Linux contra o ataque GPUThor
A mitigação precisa trabalhar com várias camadas. A primeira recomendação é manter o SYS-ECC habilitado nas GPUs compatíveis.
O ECC não impediu o GPUThor, mas continua sendo uma proteção importante. Ele pode corrigir diversos erros simples e detectar outros padrões de corrupção, reduzindo a superfície disponível para ataques e falhas acidentais.
Outra camada fundamental é o IOMMU, responsável por restringir operações de DMA realizadas pelos dispositivos. Em servidores Linux, o isolamento adequado ajuda a impedir que uma GPU consiga acessar livremente regiões arbitrárias da memória física do host.
Em plataformas Intel, administradores podem avaliar a utilização de VT-d e das configurações correspondentes do IOMMU. Em sistemas AMD, a tecnologia equivalente é baseada no AMD-Vi/IOMMU. A configuração exata deve considerar o hardware, o kernel e o modelo de virtualização utilizado.
Também é importante monitorar os contadores ECC e eventos de erro das GPUs. A ferramenta nvidia-smi pode ajudar administradores a identificar erros corrigíveis e não corrigíveis, além de eventos anormais relacionados ao funcionamento do acelerador.
Uma quantidade inesperada de erros, reinicializações de GPU ou degradação repentina durante workloads CUDA deve ser investigada, principalmente quando ocorre em ambientes que executam código de terceiros.
Por fim, organizações que oferecem GPUs compartilhadas precisam avaliar cuidadosamente quais usuários e aplicações podem executar código CUDA. Restringir workloads não confiáveis e separar cargas de diferentes níveis de confiança pode reduzir significativamente o risco.
O que o GPUThor revela sobre a segurança das GPUs
O ataque GPUThor representa um alerta importante para quem administra infraestrutura moderna de IA. A pesquisa demonstra que mecanismos como ECC e TRR, embora fundamentais, não devem ser tratados como barreiras absolutas contra ataques físicos e lógicos à memória.
Para administradores Linux, a principal lição é adotar defesa em profundidade. SYS-ECC, IOMMU, isolamento de workloads, monitoramento de telemetria e controle sobre código CUDA devem funcionar em conjunto.
A descoberta também evidencia um desafio para os fabricantes: conforme as GPUs assumem funções cada vez mais críticas em servidores, a segurança de sua memória passa a ter impacto direto sobre a segurança do sistema operacional.
Em ambientes corporativos e de nuvem, portanto, o ideal é revisar as políticas de isolamento de GPU, confirmar a configuração do ECC e do IOMMU e acompanhar as orientações oficiais relacionadas às arquiteturas e memórias utilizadas.
O GPUThor não transforma todas as GPUs NVIDIA em dispositivos automaticamente comprometidos, mas muda uma premissa importante: o ECC, sozinho, não deve ser considerado uma proteção suficiente contra Rowhammer em GPUs.
Para quem administra servidores de IA, clusters Linux ou plataformas multi-tenant, essa é uma boa oportunidade para revisar as camadas de segurança antes que uma falha de memória deixe de ser apenas um problema de confiabilidade e se transforme em um vetor de comprometimento do host.