Um estudo mostrou que o DDR4 permanece vulnerável a ataques RowHammer, apesar da proteção adicional. Confira os detalhes dessa pesquisa.
Uma equipe de pesquisadores da Universidade Livre de Amsterdã, da Escola Superior Suíça de Zurique e da Qualcomm conduziu um estudo sobre a eficácia da proteção contra ataques RowHammer usados em chips de memória DDR4, que permitem alterar o conteúdo de bits individuais de memória dinâmica de acesso aleatório (DRAM).
Os resultados foram decepcionantes, pois o DDR4 permanece vulnerável (CVE-2020 a 10.255) ao RowHammer, pois essa falha permite que o conteúdo de bits de memória individuais seja distorcido pela leitura cíclica de dados das células de memória vizinhas.
DDR4 permanece vulnerável a ataques RowHammer, apesar da proteção adicional
Como a DRAM é uma matriz bidimensional de células, cada uma das quais consiste em um capacitor e um transistor, a leitura contínua da mesma área de memória leva a flutuações e anormalidades de tensão, causando uma pequena queda de pressão nas células vizinhas. .
Se a intensidade da leitura for grande o suficiente, a célula poderá perder uma quantidade de carga grande o suficiente e o próximo ciclo de regeneração não terá tempo para restaurar seu estado original, levando a uma alteração no valor dos dados armazenados em o celular.
Para bloquear esse efeito, os chips DDR4 modernos usam a tecnologia TRR (Target Row Refresh), projetada para impedir a distorção celular durante um ataque ao RowHammer.
O problema é que não há uma abordagem unificada para a implementação do TRR e cada fabricante de CPU e memória interpreta o TRR de sua própria maneira, usando suas próprias opções de proteção e sem revelar detalhes da implementação.
O estudo dos métodos usados pelos fabricantes para bloquear o RowHammer tornou mais fácil encontrar maneiras de ignorar a proteção.
Durante a checagem, verificou-se que o princípio de “segurança obscura” usado pelos fabricantes durante a implementação do TRR apenas ajuda a proteger em casos especiais, cobrindo ataques típicos que manipulam a alteração na carga da célula em uma ou duas linhas adjacentes.
O utilitário desenvolvido pelos pesquisadores nos permite testar a suscetibilidade dos chips às opções de ataque multilateral do RowHammer, que tentam influenciar a carga de várias linhas de células de memória ao mesmo tempo.
Tais ataques podem ignorar a proteção TRR implementada por alguns fabricantes e levar à distorção dos bits de memória, mesmo em novos computadores com memória DDR4.
Dos 42 DIMMs estudados, 13 estavam vulneráveis a opções de ataque não-padrão do RowHammer, apesar da proteção reivindicada. SK Hynix, Micron e Samsung lançam módulos problemáticos, cujos produtos cobrem 95% do mercado de DRAM.
Além do DDR4, também foram estudados os chips LPDDR4 usados em dispositivos móveis, que também eram sensíveis às opções avançadas de ataque do RowHammer. Em particular, a memória usada nos smartphones Google Pixel, Google Pixel 3, LG G7, OnePlus 7 e Samsung Galaxy S10 foi afetada.
Os pesquisadores foram capazes de reproduzir várias técnicas de exploração em chips DDR4 problemáticos.
O uso do exploit RowHammer para PTE (entradas da tabela de páginas) necessário para obter o privilégio de um núcleo de ataque em 2,3 segundos a três horas e quinze segundos, dependendo dos chips sendo testados.
Um ataque por danos a uma chave pública RSA-2048 armazenada na memória levou de 74,6 segundos a 39 minutos e 28 segundos. Um ataque para evitar autorização, modificando a memória do processo sudo, levou 54 minutos e 16 segundos.
Para testar os chips de memória DDR4 usados pelos usuários, o utilitário TRRespass foi lançado. Um ataque bem-sucedido requer informações sobre o design dos endereços físicos usados no controlador de memória em relação a bancos e linhas de células de memória.
Para determinar o layout, o utilitário drama foi desenvolvido ainda mais, o que requer iniciar com privilégios de root. Em um futuro próximo, também está planejado publicar um aplicativo para testar a memória dos smartphones.
As empresas Intel e AMD recomendam proteger o uso da memória com correção de erros (ECC), drivers de memória com suporte a MAC e aplicar uma taxa de atualização mais alta.
- Como instalar o driver para o controle do Xbox no Ubuntu
- Como instalar o NeoGeo Pocket Emulator no Linux via Snap
- Como instalar o jogo Space Station 14 no Linux via Flatpak
- Como habilitar o repositório Games no openSUSE