Um grupo de pesquisadores da Universidade Livre de Amsterdã, da ETH Zurich e da Qualcomm estudou a eficácia da proteção contra ataques de , que permitem alterar o conteúdo de bits individuais da memória dinâmica (DRAM). Os resultados foram desanimadores e os chips DDR4 dos principais fabricantes ainda permanecem vulneráveis ().
A vulnerabilidade RowHammer permite distorcer o conteúdo de bits individuais na memória por meio da leitura cíclica de dados de células de memória adjacentes. Como a memória DRAM é um array bidimensional de células, cada uma composta por 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 que causam uma pequena perda de carga em células vizinhas. Se a intensidade da leitura for alta o suficiente, a célula pode perder uma quantidade considerável de carga e o próximo ciclo de regeneração pode não restaurar seu estado original, resultando na alteração dos dados armazenados na célula.
Para bloquear esse efeito, os chips DDR4 modernos utilizam a tecnologia TRR (Target Row Refresh), projetada para evitar a distorção das células durante um ataque RowHammer. O problema é que não existe uma abordagem única para a implementação do TRR, e cada fabricante de CPU e memória interpreta o TRR de maneira diferente, aplicando suas próprias variantes de proteção e não revelando os detalhes da implementação.
O estudo dos métodos de bloqueio do RowHammer adotados pelos fabricantes permitiu encontrar facilmente maneiras de contornar a proteção. Na verificação, constatou-se que o princípio praticado pelos fabricantes de " (security by obscurity) na implementação do TRR ajuda apenas na proteção em casos específicos, abrangendo ataques típicos que manipulam a alteração da carga de células em uma ou duas linhas adjacentes.
A ferramenta desenvolvida pelos pesquisadores permite verificar a suscetibilidade dos chips a variantes multifacetadas do ataque RowHammer, em que a tentativa de influência na carga é feita simultaneamente em várias linhas de células de memória. Esses ataques conseguem contornar a proteção TRR implementada por alguns fabricantes e levam à corrupção de bits de memória, mesmo em novos equipamentos com memória DDR4.
Dos 42 módulos DIMM estudados, 13 mostraram-se vulneráveis a variantes não padronizadas do ataque RowHammer, apesar da proteção declarada. Os módulos problemáticos foram fabricados por SK Hynix, Micron e Samsung, cujos produtos 95% do mercado de DRAM.
Além da DDR4, foram analisados também os chips LPDDR4 utilizados em dispositivos móveis, que também se mostraram sensíveis a variantes avançadas do ataque RowHammer. Em particular, a memória usada em smartphones como Google Pixel, Google Pixel 3, LG G7, OnePlus 7 e Samsung Galaxy S10 foi comprometida.
Os pesquisadores conseguiram reproduzir em chips DDR4 problemáticos várias técnicas de exploração. Por exemplo, a aplicação do exploit RowHammer para PTE (Entradas de Tabela de Páginas) exigiu, para obter privilégios de kernel, a realização do ataque por um período variando de 2,3 segundos a três horas e quinze segundos, dependendo dos chips testados. A exploração por danos na chave pública RSA-2048 armazenada na memória levou de 74,6 segundos a 39 minutos e 28 segundos. O ataque para contornar a verificação de privilégios através da modificação da memória do processo sudo levou 54 minutos e 16 segundos. Para testar os chips de memória DDR4 utilizados pelos usuários, foi publicada a ferramenta
TRRespass drama publicado um aplicativo para testar a memória de smartphones. publicar um aplicativo para testar a memória dos smartphones.
À empresa e Foi recomendado usar memória com correção de erros (ECC), controladores de memória que suportam Maximum Activate Count (MAC) e aplicar uma frequência de regeneração elevada para proteção. No entanto, os pesquisadores acreditam que não há uma solução garantida para proteger os chips já lançados contra Rowhammer, e que a aplicação de ECC e o aumento da frequência de regeneração da memória se mostraram ineficazes. Por exemplo, já foi sugerido anteriormente de ataque à memória DRAM que contorna a proteção ECC, além de demonstrar a possibilidade de realizar um ataque à DRAM através , a partir de e executando JavaScript no navegador.
Fonte: opennet.ru
