Uma equipe de pesquisadores de cibersegurança revelou detalhes de um novo ataque na memória de acesso aleatório dinâmica (DRAM) que pode permitir que programas maliciosos instalados em um sistema leiam dados de memória de outros processos em execução no mesmo hardware.
Apelidado de RAMBleed e identificado como CVE-2019-0174, o novo ataque é baseado em uma classe bem conhecida de ataque de canal lateral DRAM chamado Rowhammer, tendo várias variantes [ GLitch , RAMpage , Throwhammer , Nethammer , Drammer ] das quais foram demonstradas por pesquisadores. nos últimos anos.
Conhecido desde 2012, o bug Rowhammer é um problema de confiabilidade de hardware que foi encontrado na nova geração de chips DRAM.
Descobriu-se que acessar repetidamente e rapidamente (martelando) uma linha de memória pode fazer com que o bit inverta as linhas adjacentes, ou seja, alterar seus valores de bit de 0 para 1 ou vice-versa.
Nos anos seguintes, os pesquisadores também demonstraram explorações bem-sucedidas para obter escalonamento de privilégios nos computadores vulneráveis, invertendo (escrevendo) bits na memória da vítima.
Descoberto por uma equipe de pesquisadores da Universidade de Michigan, da Universidade de Tecnologia de Graz e da Universidade de Adelaide, o novo RAMBleed também conta com o mecanismo bit-flip; mas em vez de gravar dados nas linhas adjacentes, esse ataque permite que os invasores leiam as informações na memória protegida pertencente a outros programas e usuários.
"Mais especificamente, mostramos como um atacante sem privilégios pode explorar a dependência de dados entre os bits de bits induzidos por Rowhammer e os bits em linhas próximas para deduzir esses bits, incluindo valores pertencentes a outros processos e ao kernel."
"Assim, a principal contribuição deste trabalho é mostrar que o Rowhammer é uma ameaça não apenas à integridade, mas também à confidencialidade".
Como mostrado na imagem, se um invasor quiser ler dados secretos contidos nas células de memória "secretas", ele deverá:
- Encontrar um bit flutuante (página de amostragem) no mesmo deslocamento em uma página de memória que o bit secreto.
- Manipular o layout da memória usando técnicas de massagem de memória para colocar cuidadosamente os dados secretos da vítima nas linhas acima e abaixo da linha de memória do invasor, conforme ilustrado na imagem, para que o bit invertido nas linhas se torne dependente dos valores dos dados secretos da vítima.
- "Martelar" as linhas A0 e A2 e induzir bit flips na linha A1 (página de amostragem), cujo valor inicial foi definido como 1, influenciando seu valor usando os dados da vítima em células "secretas".
"Se o bit for virado, o criminoso deduz que o valor do bit secreto é 0. Caso contrário, o atacante deduz que o valor é 1", disseram os pesquisadores no documento. "Repetir o procedimento com bits transitáveis ??em diferentes deslocamentos na página permite que o invasor recupere todos os bits do segredo da vítima."
Para demonstrar a técnica do canal do lado da leitura, os pesquisadores apresentaram um ataque contra o OpenSSH 7.9 em execução em uma máquina Linux e extraíram com sucesso uma chave RSA-2048 do daemon SSH do nível raiz.
De acordo com pesquisadores, mesmo as proteções de memória ECC (Error Correcting Code) - que podem detectar e corrigir saltos de bits indesejados e também mitigam muitos ataques baseados em Rowhammer - não impedem ataques RAMBleed.
Embora tanto o DDR3 quanto o DDR4 sejam vulneráveis ??a ataques RAMBleed, os pesquisadores aconselharam os usuários a reduzir o risco, atualizando sua memória para o DDR4 com o TRR ativado, já que é mais difícil de explorar.
