Nuevo exploit de JavaScript ahora puede llevar a cabo ataques DDR4 Rowhammer

Académicos de la Universidad de Vrije en Amsterdam y ETH Zurich han publicado un nuevo artículo de investigación que describe otra variación del ataque Rowhammer.

Apodada SMASH (martillo sincronizado de múltiples lados), la técnica se puede utilizar para desencadenar con éxito el ataque de JavaScript en tarjetas RAM DDR4 modernas, a pesar de las extensas mitigaciones que los fabricantes han implementado durante los últimos siete años.

«A pesar de sus mitigaciones en DRAM Target Row Refresh (TRR), algunos de los módulos DDR4 más recientes siguen siendo vulnerables a los cambios de bits de Rowhammer de múltiples lados», dijeron los investigadores.

«SMASH explota el conocimiento de alto nivel de las políticas de reemplazo de caché para generar patrones de acceso óptimos para Rowhammer multifacético basado en el desalojo. Para evitar las mitigaciones de TRR en DRAM, SMASH programa cuidadosamente los aciertos y fallos de caché para activar con éxito el bit Rowhammer multifacético sincronizado voltea».

Al sincronizar las solicitudes de memoria con los comandos de actualización de DRAM, los investigadores desarrollaron un exploit de JavaScript de extremo a extremo que puede comprometer por completo el navegador Firefox en un promedio de 15 minutos, lo que demuestra que los usuarios web continúan estando en riesgo de tales ataques.

¿Qué es Rowhammer?

Primero, una introducción rápida sobre Rowhammer , un término general que se refiere a una clase de exploits que aprovechan una peculiaridad del diseño de hardware en los sistemas DDR4. Las tarjetas de memoria RAM guardan datos dentro de lo que se llama celdas de memoria (cada una de las cuales consta de un capacitor y un transistor) que están dispuestas en el chip de silicio de la RAM en forma de matriz.

Pero dada la tasa de descarga natural de los capacitores, las celdas de memoria tienden a perder su estado con el tiempo y, por lo tanto, requieren una lectura y reescritura periódicas de cada celda para restaurar la carga en el capacitor a su nivel original. Por otro lado, el aumento de la densidad de los circuitos integrados DRAM ha permitido un aumento de las tasas de interacciones electromagnéticas entre las celdas de memoria y una mayor posibilidad de pérdida de datos.

De TRRespass a SMASH

Si bien TRRespass tiene como objetivo lograr una omisión de TRR utilizando código nativo, no había métodos disponibles para activarlos en el navegador desde JavaScript. Ahí es donde entra SMASH, que le otorga al atacante una primitiva de lectura y escritura arbitraria en el navegador.

Específicamente, la cadena de exploits se inicia cuando una víctima visita un sitio web malicioso bajo el control del adversario o un sitio web legítimo que contiene un anuncio malicioso, aprovechando los cambios de bits de Rowhammer que se activan desde el sandbox de JavaScript para controlar el navegador de la víctima.

«La versión actual de SMASH se basa en [páginas enormes transparentes] para la construcción de patrones eficientes de autodesalojo», dijeron los investigadores. «La desactivación de THP, al tiempo que introduce cierta sobrecarga de rendimiento, detendría la instancia actual de SMASH».

«Además, nuestro exploit se basa específicamente en la corrupción de punteros en el navegador para romper ASLR y girar a un objeto falsificado. Proteger la integridad de punteros en software o hardware (por ejemplo, usando PAC [23]) detendría el exploit SMASH actual».