Inteligência Artificial

Novos ataques Rowhammer permitem o controle total de máquinas equipadas com GPUs da Nvidia

Publicado porRedacao AIDaily
9 min de leitura
Autor na fonte original: Dan Goodin

Tanto o GDDRHammer quanto o GeForge sobrecarregam a memória da GPU de maneiras que prejudicam o desempenho da CPU.

Compartilhar:
Novos ataques Rowhammer permitem o controle total de máquinas equipadas com GPUs da Nvidia

Tanto o GDDRHammer quanto o GeForge atacam a memória da GPU de maneiras que comprometem a CPU.

O custo das GPUs de alto desempenho, geralmente de US$ 8.000 ou mais, faz com que elas sejam frequentemente compartilhadas entre dezenas de usuários em ambientes de nuvem. Dois novos ataques demonstram como um usuário mal-intencionado pode obter controle total de root sobre uma máquina host ao realizar novos ataques Rowhammer em placas de GPU de alto desempenho fabricadas pela Nvidia.

Os ataques exploram a crescente suscetibilidade do hardware de memória a inversões de bits, nas quais os zeros armazenados na memória mudam para uns e vice-versa. Em 2014, pesquisadores demonstraram pela primeira vez que o acesso repetido e rápido — ou “martelamento” — ao hardware de memória conhecido como DRAM cria perturbações elétricas que invertem bits. Um ano depois, uma equipe de pesquisa diferente mostrou que, ao visar linhas específicas de DRAM que armazenam dados confidenciais, um invasor poderia explorar o fenômeno para elevar um usuário sem privilégios ao nível de root ou contornar proteções de sandbox de segurança. Ambos os ataques visavam gerações DDR3 de DRAM.

Da CPU à GPU: a jornada de uma década do Rowhammer

Ao longo da última década, dezenas de novos ataques Rowhammer evoluíram para, entre outras coisas:

Visar uma gama mais ampla de tipos de DRAM, como DDR3 com proteções de código de correção de erros e gerações DDR4, incluindo aquelas com proteções Target Row Refresh e ECC

Usar novas técnicas de martelamento, como Rowhammer feng shui e RowPress, que se concentram em regiões extremamente pequenas da memória que armazenam dados confidenciais

Usar tais técnicas para fazer com que os ataques funcionem em redes locais, obter acesso root em dispositivos Android e roubar chaves de criptografia de 2048 bits

Pela primeira vez no ano passado, trabalharam contra a DRAM GDDR usada com GPUs Nvidia de alto desempenho

A última façanha provou que a GDDR era suscetível a ataques Rowhammer, mas os resultados foram modestos. Os pesquisadores conseguiram apenas oito bitflips, uma pequena fração do que tem sido possível na DRAM da CPU, e o dano se limitou a degradar a saída de uma rede neural em execução na GPU visada.

Na quinta-feira, duas equipes de pesquisa, trabalhando independentemente uma da outra, demonstraram ataques contra duas placas da geração Ampere da Nvidia que levam o rowhammering de GPU a um território novo — e potencialmente muito mais grave: bitflips de GDDR que dão aos adversários controle total da memória da CPU, resultando no comprometimento total do sistema da máquina hospedeira. Para que o ataque funcione, o gerenciamento de memória IOMMU deve estar desativado, como é o padrão nas configurações da BIOS.

“Nosso trabalho mostra que o Rowhammer, que é bem estudado em CPUs, é uma ameaça séria também em GPUs”, disse Andrew Kwong, coautor de um dos artigos. “GDDRHammer: Greatly Disturbing DRAM Rows — Ataques Rowhammer entre componentes de GPUs modernas.” “Com nosso trabalho, nós… mostramos como um invasor pode induzir bit flips na GPU para obter acesso arbitrário de leitura/gravação a toda a memória da CPU, resultando no comprometimento total da máquina.”

O ataque demonstrado no artigo é o GDDRHammer, cujas quatro primeiras letras significam tanto “Graphics DDR” quanto “Greatly Disturbing DRAM Rows”. Ele funciona contra a RTX 6000 da geração de arquitetura Ampere da Nvidia. O ataque não funciona contra os modelos RTX 6000 da geração Ada mais recente, pois eles utilizam uma forma mais nova de GDDR que os pesquisadores não conseguiram submeter à engenharia reversa.

Utilizando novos padrões de martelamento e uma técnica chamada “memory massaging”, o GDDRHammer induziu uma média de 129 inversões por banco de memória, um aumento de 64 vezes em relação ao GPUHammer mencionado anteriormente, do ano passado. Mais consequentemente, o GDDRHammer pode manipular o alocador de memória para quebrar o isolamento das tabelas de páginas da GPU — que, assim como as tabelas de páginas da CPU, são as estruturas de dados usadas para armazenar mapeamentos entre endereços virtuais e endereços físicos de DRAM — e dos dados do usuário armazenados na GPU. O resultado é que o invasor adquire a capacidade de ler e gravar na memória da GPU.

O que diferencia nosso trabalho das tentativas anteriores é que revelamos que o Rowhammer na memória da GPU tem consequências de segurança tão graves quanto o Rowhammer na CPU e que as medidas de mitigação contra o Rowhammer na memória da CPU são insuficientes quando não levam em conta a ameaça do Rowhammer na memória da GPU.

Existe um vasto conjunto de trabalhos, tanto teóricos quanto amplamente implementados, sobre medidas de mitigação em nível de software e hardware contra o Rowhammer na CPU. No entanto, mostramos que um invasor pode contornar todas essas proteções ao aplicar o Rowhammer na GPU e usar isso para comprometer a CPU. Assim, daqui para frente, as soluções contra o Rowhammer precisam levar em consideração tanto a memória da CPU quanto a da GPU.

O segundo artigo — “GeForge: Hammering GDDR Memory to Forge GPU Page Tables for Fun and Profit” — faz basicamente a mesma coisa, exceto que, em vez de explorar a tabela de páginas de último nível, como faz o GDDRHammer, ele manipula o diretório de páginas de último nível. Ele foi capaz de induzir 1.171 bitflips contra a RTX 3060 e 202 bitflips contra a RTX 6000.

O GeForge também usa novos padrões de martelamento e manipulação de memória para corromper os mapeamentos das tabelas de páginas da GPU na memória GDDR6, a fim de obter acesso de leitura e gravação ao espaço de memória da GPU. A partir daí, ele obtém os mesmos privilégios sobre a memória da CPU do host. A exploração de prova de conceito do GeForge contra a RTX 3060 conclui abrindo uma janela de shell root que permite ao invasor emitir comandos que executam privilégios irrestritos na máquina host. Os pesquisadores afirmaram que tanto o GDDRHammer quanto o GeForge poderiam fazer o mesmo contra a RTX 6000.

“Ao manipular a tradução de endereços da GPU, lançamos ataques que violam a confidencialidade e a integridade em contextos de GPU”, escreveram os autores do artigo sobre o GeForge (que atualmente não está disponível publicamente). “Mais significativamente, forjamos mapeamentos de abertura do sistema em tabelas de páginas corrompidas da GPU para acessar a memória física do host, permitindo a escalada de usuário para root no Linux. Pelo que sabemos, esta é a primeira exploração Rowhammer do lado da GPU que consegue a escalada de privilégios do host.”

Massagem de memória: terapia para exploração de GPU

O driver de GPU da Nvidia armazena tabelas de páginas em uma região reservada da memória de baixo nível, onde os bits armazenados não podem ser invertidos pelo Rowhammering. Para contornar esse design, tanto o GDDRHammer quanto o GeForge direcionam as tabelas para regiões que não estão protegidas contra a perturbação elétrica. No caso do GDDRHammer, a massagem é realizada usando o Rowhammer para inverter bits que alocam acesso à região protegida.

“Como essas tabelas de páginas determinam qual memória é acessível, o invasor pode modificar a entrada da tabela de páginas para obter acesso arbitrário a toda a memória da GPU”, explicou Kwong por e-mail. “Além disso, descobrimos que um invasor pode modificar a tabela de páginas na GPU para apontar para a memória da CPU, dando assim ao invasor a capacidade de ler/gravar toda a memória da CPU também, o que, é claro, compromete completamente a máquina.”

Enquanto isso, Zhenkai Zhang, coautor do artigo sobre o GeForge, descreveu o processo de manipulação da seguinte maneira:

Dado um destino de direção, primeiro isolamos o quadro de página de 2 MB que o contém. Em seguida, usamos acessos esparsos à UVM [memória virtual unificada] para esvaziar o pool padrão de alocação da tabela de páginas de baixa memória do driver e liberar o quadro isolado exatamente no momento certo, para que ele se torne a nova região de alocação da tabela de páginas do driver. Em seguida, avançamos cuidadosamente as alocações para que uma entrada do diretório de páginas caia na subpágina vulnerável dentro desse quadro. Por fim, acionamos a inversão de bits para que a entrada corrompida do diretório de páginas redirecione seu ponteiro para a memória controlada pelo invasor, onde uma tabela de páginas falsificada pode ser preenchida com entradas criadas propositalmente.

Em um e-mail, um representante da Nvidia disse que os usuários que buscam orientação sobre se estão vulneráveis e quais ações devem tomar podem consultar esta página publicada em julho em resposta ao ataque GPUHammer anterior. O representante não deu mais detalhes.

Os pesquisadores afirmaram que tanto as placas RTX 3060 quanto as RTX 6000 são vulneráveis. Alterar as configurações padrão da BIOS para habilitar a IOMMU corrige a vulnerabilidade, segundo eles. Abreviação de unidade de gerenciamento de memória de entrada-saída, a IOMMU mapeia endereços virtuais visíveis ao dispositivo para endereços físicos na memória do host. Ela pode ser usada para tornar certas partes da memória inacessíveis.

“No contexto do nosso ataque, uma IOMMU pode simplesmente impedir que a GPU acesse locais de memória confidenciais no host”, explicou Kwong. “A IOMMU, no entanto, está desativada por padrão na BIOS para maximizar a compatibilidade e porque ativá-la acarreta uma perda de desempenho devido à sobrecarga das traduções de endereço.”

Uma medida de mitigação separada é habilitar os Códigos de Correção de Erros (ECC) na GPU, algo que a Nvidia permite fazer usando uma linha de comando. Assim como o IOMMU, habilitar o ECC acarreta alguma sobrecarga de desempenho, pois reduz a quantidade total de memória disponível para uso. Além disso, alguns ataques Rowhammer podem superar as medidas de mitigação do ECC.

Os usuários de GPU devem entender que as únicas placas conhecidas por serem vulneráveis ao Rowhammer são a RTX 3060 e a RTX 6000 da geração Ampere, lançadas em 2020. Não seria surpreendente se as gerações mais recentes de placas de vídeo da Nvidia e de outras fabricantes fossem suscetíveis aos mesmos tipos de ataques, mas como o ritmo da pesquisa acadêmica normalmente fica muito atrás da velocidade mais rápida do lançamento de produtos, não há como saber isso agora.

Plataformas de nuvem de ponta geralmente oferecem níveis de segurança que vão muito além daqueles disponíveis por padrão em máquinas de entusiastas e consumidores. Outra coisa a lembrar: não há casos conhecidos de ataques Rowhammer sendo usados ativamente na prática.

O verdadeiro valor da pesquisa é alertar tanto os fabricantes de GPUs quanto os usuários de que os ataques Rowhammer nessas plataformas têm o potencial de comprometer a segurança de maneira grave. Mais informações sobre o GDDRHammer e o GeForge estão disponíveis aqui.

O que esta cobertura entrega

  • Atribuicao clara de fonte com link para a publicacao original.
  • Enquadramento editorial sobre relevancia, impacto e proximos desdobramentos.
  • Revisao de legibilidade, contexto e duplicacao antes da publicacao.

Fonte original:

Ars Technica AI

Sobre este artigo

Este artigo foi curado e publicado pelo AIDaily como parte da nossa cobertura editorial sobre desenvolvimentos em inteligência artificial. O conteúdo é baseado na fonte original citada abaixo, enriquecido com contexto e análise editorial. Ferramentas automatizadas podem auxiliar tradução e estruturação inicial, mas a decisão de publicar, a revisão factual e o enquadramento de contexto seguem responsabilidade editorial.

Saiba mais sobre nosso processo editorial