Rowhammer
folcloresegurançaprogramação
Um ataque de hardware que inverte bits de memória ao acessar rapidamente linhas vizinhas.
O Rowhammer explora interferência elétrica em DRAM densa: martelar uma linha pode inverter bits em uma linha adjacente, corrompendo a memória e permitindo escalonamento de privilégios. Ele borra a fronteira entre segurança de software e de hardware.
O Rowhammer é um ataque físico expresso em software. Acessar repetidamente uma linha de células de memória em alta velocidade pode, por interferência elétrica, inverter um bit numa linha adjacente que o atacante não tem permissão de tocar. Não exige vulnerabilidade de software alguma.
As consequências são severas porque um único bit invertido no lugar certo basta. Pesquisadores demonstraram escalada de privilégio invertendo bits em entradas de tabela de páginas, escape de máquinas virtuais, e derrota de proteções de memória que funcionavam exatamente como projetadas. O modelo de segurança supunha que memória é armazenamento confiável, e o Rowhammer mostra que, em densidade suficiente, ela é um sistema físico com modos de falha analógicos.
As mitigações têm sido parciais e repetidamente contornadas. Memória com correção de erros ajuda e não elimina, mudanças na taxa de atualização elevam o custo, e implementações de atualização direcionada de linha já se mostraram vulneráveis a padrões mais novos. É boa ilustração de que abstrações vazam também para baixo: o raciocínio de segurança em software repousa sobre suposições a respeito do hardware e, quando o hardware deixa de satisfazê-las, nenhuma quantidade de software correto resolve.
Também conhecido como: Rowhammer
Fontes
- Rowhammer (2014)