GPUThor: mais uma tentativa de ataque a servidores por meio da GPU

Pesquisadores demonstraram um ataque Rowhammer parcialmente efetivo contra aceleradores gráficos

Como um servidor industrial pode ser comprometido por meio da sua GPU sem deixar rastros? Um ataque tão complexo e, a princípio, teórico, normalmente aproveitaria as vulnerabilidades do hardware. Isso nem sequer diz respeito a falhas de projeto no próprio hardware, mas às particularidades de seu funcionamento, às vezes até em nível físico. Um artigo recente de pesquisadores canadenses da Universidade de Toronto descreve o GPUThor: um ataque Rowhammer novo e mais efetivo que explora precisamente esse tipo de comportamento de hardware na memória de vídeo.

Rowhammer e placas de vídeo

O GPUThor baseia-se na ideia por trás do ataque original à RAM, proposto pela primeira vez em 2014 na pesquisa Rowhammer. O Rowhammer e todos os ataques da sua classe baseiam-se em um fato simples: as células de memória não são totalmente isoladas umas das outras. O acesso repetido (ou hammering) à mesma linha de células pode, sob determinadas condições, corromper os dados (ou seja, inverter bits) nas linhas adjacentes. Depois que esse efeito for confirmado como possível, tudo o que resta é encontrar uma maneira de transformá-lo em uma arma: por exemplo, acionando uma negação de serviço ou até mesmo executando um código arbitrário.

Então, o que os servidores e aceleradores gráficos têm a ver com tudo isso? À medida que as tecnologias de inteligência artificial decolaram, também aumentou a demanda por hardware capaz de executar um grande número de cálculos paralelos semelhantes. E os aceleradores integrados nas placas de vídeo de jogos são uma opção natural para esse tipo de carga de trabalho. Isso torna os provedores de nuvem que alugam aceleradores gráficos para todos um alvo atraente para os ataques Rowhammer. O cenário hipotético funciona assim: um invasor compra o acesso a um chip gráfico e o usa para tentar comprometer toda a infraestrutura do provedor. É exatamente por isso que os ataques à memória de vídeo continuam sendo um assunto de interesse especial para os pesquisadores.

Como o ataque GPUThor funciona

Na primavera deste ano, três novos artigos foram publicados, cada um demonstrando um ataque diferente aos aceleradores da Nvidia equipados com memória GDDR6. Todos os artigos forneceram resultados bastante modestos: o maior dano foi causado quando o alvo era uma placa de vídeo para consumidores, enquanto os ataques a um acelerador de uso industrial como o Nvidia A6000 provaram ser muito menos efetivos. Além disso, nenhum dos ataques funcionou com a proteção de memória ECC (código de correção de erros) ativada.

O GPUThor também investiga a possibilidade de atacar aceleradores Ampere mais antigos da Nvidia com memória GDDR6: os pesquisadores estudaram os modelos A4000, A4500, A5000 e A6000. Mas a efetividade do novo método, medida pelo número de células cujos dados foram alterados à força, é muito maior. Os pesquisadores também argumentam que, em teoria, a técnica também poderia ser aplicada a aceleradores mais novos.

Efetividade do ataque GPUThor

Efetividade do GPUThor em comparação com ataques anteriores. Fonte

Como esses resultados foram alcançados? O mecanismo de defesa padrão contra ataques Rowhammer é chamado Target Row Refresh (TRR), que foi examinado mais de perto pelos pesquisadores canadenses. Acontece que, se o TRR detectar tentativas repetidas de acesso, ele forçará uma atualização das células vizinhas, dificultando ou impossibilitando a corrupção de dados. Os invasores geralmente tentam derrotar o TRR acessando células aleatórias, o que confunde o sistema de defesa e reduz a sua efetividade. Os pesquisadores descobriram que nas placas Nvidia Ampere, o TRR é acionado apenas uma vez a cada 72 ciclos de atualização das células de memória. Após essa descoberta, eles aplicaram um padrão de acesso irregular, submetendo as células-alvo a um hammering muito mais intenso do que antes. O resultado: em comparação ao ataque GDDR original conhecido como GPUHammer, o GPUThor acaba sendo cerca de 7 a 23 mil vezes mais efetivo.

Resultados e perspectivas

A combinação desse padrão de ataque mais agressivo com outros refinamentos produziu inversões de 72 a 377 mil bits por gigabyte. As variantes anteriores do Rowhammer produziram apenas algumas centenas, na melhor das hipóteses. Isso permitiu que os pesquisadores alcançassem erros de bits duplos e até triplos. É fácil para o ECC corrigir um erro de bit único, mas não um de bit duplo.

O novo método também demonstra os danos reais que um ataque Rowhammer pode causar: o acesso repetido à memória de vídeo usando o GPUThor aciona uma negação de serviço. Primeiro, o acelerador é reiniciado, perdendo dados no processo e, em seguida, ele sinaliza ao administrador que precisa ser substituído.

Apesar desses resultados impressionantes, os ataques GPUThor não são bem-sucedidos. Por um lado, os pesquisadores não foram capazes de demonstrar a execução arbitrária de código como um resultado da corrupção de dados, embora eles afirmem que isso é possível mesmo com o ECC ativado. Por outro lado, um ataque milhares de vezes mais efetivo sugere a possibilidade teórica de também comprometer os aceleradores mais novos, mas isso ainda não foi comprovado.

Mesmo assim, os pesquisadores canadenses mostraram que os ataques Rowhammer aos aceleradores gráficos ainda têm um potencial inexplorado. Não seria surpreendente se pesquisas futuras demonstrassem ataques semelhantes contra dispositivos muito mais avançados que antes eram considerados bastante resistentes a eles.

Dicas