Un grupo de investigadores de la Universidad Libre de Ámsterdam, la Escuela Politécnica Federal de Suiza en Zúrich y la empresa Qualcomm investigó la efectividad de la protección contra ataques de clase que se aplica en los chips de memoria DDR4 actuales , permitiendo modificar el contenido de bits individuales de la memoria de acceso aleatorio dinámica (DRAM). Los resultados fueron desalentadores y los chips DDR4 de los principales fabricantes siguen siendo vulnerables ().
La vulnerabilidad RowHammer permite distorsionar el contenido de bits específicos de la memoria mediante lecturas cíclicas de datos de celdas de memoria adyacentes. Dado que la memoria DRAM consiste en un arreglo bidimensional de celdas, cada una compuesta por un condensador y un transistor, la lectura continua de la misma área de memoria provoca fluctuaciones en el voltaje y anomalías, que resultan en una pequeña pérdida de carga en las celdas cercanas. Si la intensidad de lectura es lo suficientemente alta, una celda puede perder una cantidad considerable de carga y el ciclo de regeneración posterior no será capaz de restaurar su estado original, lo que resultará en un cambio en el valor de los datos guardados en la celda.
Para bloquear este efecto, los chips DDR4 modernos utilizan la tecnología TRR (Target Row Refresh), diseñada para prevenir la distorsión de las celdas durante un ataque RowHammer. El problema es que no hay un enfoque unificado para implementar TRR y cada fabricante de CPU y memoria lo interpreta a su manera, aplicando sus propias variantes de protección y no divulgando los detalles de su implementación.
El estudio de los métodos utilizados por los fabricantes para bloquear RowHammer ha permitido encontrar fácilmente formas de eludir la protección. En las pruebas, se constató que el principio practicado por los fabricantes de " (security by obscurity) en la implementación de TRR solo ayuda en la protección de casos específicos, abarcando ataques típicos que manipulan el cambio de carga en una o dos filas adyacentes.
Una herramienta desarrollada por investigadores permite verificar la vulnerabilidad de los chips a las variantes de ataque RowHammer, donde se intenta influir en la carga de varias filas de celdas de memoria simultáneamente. Tales ataques permiten eludir la protección TRR implementada por algunos fabricantes y resultan en la corrupción de bits de memoria incluso en nuevo hardware con memoria DDR4.
De los 42 módulos DIMM estudiados, 13 módulos resultaron ser vulnerables a variantes no estándar del ataque RowHammer, a pesar de la protección anunciada. Los módulos problemáticos fueron fabricados por SK Hynix, Micron y Samsung, cuyos productos el 95% del mercado de DRAM.
Además de DDR4, se estudiaron los chips LPDDR4 utilizados en dispositivos móviles, que también demostraron ser sensibles a las variantes avanzadas del ataque RowHammer. En particular, la memoria utilizada en los teléfonos inteligentes Google Pixel, Google Pixel 3, LG G7, OnePlus 7 y Samsung Galaxy S10 se vio afectada por el problema.
Los investigadores pudieron reproducir en los chips DDR4 problemáticos varias técnicas de explotación. Por ejemplo, la aplicación de RowHammer- para PTE (Entradas de Tabla de Páginas) requirió que el ataque se llevara a cabo durante un período de entre 2.3 segundos y tres horas y quince segundos, dependiendo de los chips probados. la explotación de la clave pública RSA-2048 almacenada en la memoria tomó de 74.6 segundos a 39 minutos y 28 segundos. la elusión de la verificación de permisos a través de la modificación de la memoria del proceso sudo tomó 54 minutos y 16 segundos.
Para verificar los chips de memoria DDR4 utilizados por los usuarios, se ha publicado una herramienta . Para llevar a cabo el ataque con éxito, se requiere información sobre la asignación de direcciones físicas en el controlador de memoria en relación con los bancos y filas de celdas de memoria. Para determinar la asignación, se ha desarrollado además una herramienta , que debe ejecutarse con privilegios de root. En un futuro cercano también se publicará una aplicación para probar la memoria de los teléfonos inteligentes.
A la empresa y se recomendó utilizar memoria con corrección de errores (ECC), controladores de memoria que soporten Maximum Activate Count (MAC) y aplicar una frecuencia de regeneración más alta. Sin embargo, los investigadores consideran que no hay una solución garantizada para proteger los chips ya lanzados contra RowHammer, y que la implementación de ECC y el aumento de la frecuencia de regeneración de la memoria han demostrado ser ineficaces. Por ejemplo, ya se había sugerido anteriormente ataques a la memoria DRAM eludiendo la protección ECC, así como la posibilidad de realizar un ataque a la DRAM a través de , de y ejecución de JavaScript en el navegador.
Fuente: opennet.ru
