Phoenix: un ataque Rowhammer contra la memoria DDR5

Investigadores en Suiza han encontrado una forma de atacar los módulos de memoria DDR5.

Phoenix: un ataque Rowhammer contra la memoria DDR5

En septiembre de 2025, investigadores de ETH Zurich (el Instituto Federal de Tecnología de Suiza) publicaron un artículo en el que presentaban Phoenix, una modificación de ataque Rowhammer que funciona en módulos de memoria DDR5. Los autores no solo demostraron la eficacia del nuevo ataque contra los 15 módulos probados, sino que también propusieron tres casos de uso práctico: leer y escribir datos de la memoria, robar una clave de cifrado privada almacenada en la memoria y eludir las protecciones de la utilidad sudo de Linux para escalar privilegios.

Ataque Rowhammer: una breve historia

Para comprender este estudio bastante complejo, primero debemos repasar brevemente la historia de Rowhammer. El ataque Rowhammer se describió por primera vez en un artículo de investigación de 2014. En aquel entonces, investigadores de la Universidad Carnegie Mellon e Intel demostraron cómo el acceso repetido a filas de celdas de memoria podía provocar cambios en el valor de las celdas de memoria adyacentes. Estas celdas vecinas podrían contener datos críticos, cuya alteración podría tener graves consecuencias (como la escalada de privilegios).

Esto ocurre porque cada celda de un chip de memoria es, en esencia, un condensador: un componente sencillo que solo puede almacenar carga eléctrica durante un breve período de tiempo. Por eso, este tipo de memoria es volátil: si se apaga el ordenador o el servidor, los datos desaparecen. Por la misma razón, la carga en las celdas debe actualizarse con frecuencia, incluso si nadie accede a esa región de memoria.

Las celdas de memoria no están aisladas; están organizadas en filas y columnas, interconectadas de manera que pueden causar interferencias. El acceso a una fila puede afectar a una fila vecina; por ejemplo, actualizar una fila puede dañar los datos de otra. Durante años, este efecto solo era conocido por los fabricantes de memorias, quienes hacían todo lo posible por mitigarlo con el fin de mejorar la fiabilidad. Pero, a medida que las celdas se hicieron más pequeñas y, por lo tanto, se agruparon más estrechamente, el efecto “row hammering” (martilleo de fila) pasó a ser explotable en ataques en el mundo real.

Después de que se demostró el ataque Rowhammer, los desarrolladores de memoria comenzaron a introducir defensas, lo que dio lugar a la tecnología de hardware Target Row Refresh (TRR). En teoría, la TRR es sencilla: supervisa el acceso agresivo a las filas y, si se detecta, actualiza a la fuerza las filas adyacentes. En la práctica, no fue tan eficaz. En 2021, los investigadores describieron el ataque Blacksmith, que eludió la TRR utilizando patrones de acceso a células de memoria más sofisticados.

Los desarrolladores volvieron a adaptarse, añadiendo defensas aún más avanzadas contra ataques tipo Rowhammer en los módulos DDR5 y aumentando la frecuencia de actualización forzada. Para impedir nuevos ataques, los fabricantes evitaron revelar qué medidas de protección habían adoptado. Esto llevó a muchos a creer que DDR5 había resuelto eficazmente el problema de Rowhammer. Sin embargo, el año pasado, investigadores de la misma ETH Zurich lograron atacar con éxito los módulos DDR5, aunque bajo ciertas condiciones: la memoria debía estar emparejada con una CPU AMD Zen 2 o Zen 3 e, incluso así, algunos módulos no se vieron afectados.

Características del nuevo ataque

Para desarrollar Phoenix, los investigadores aplicaron ingeniería inversa al mecanismo TRR. Analizaron su comportamiento en varios patrones de acceso a las filas de la memoria y comprobaron si la protección se activaba para las filas adyacentes. Resultó que la TRR se ha vuelto significativamente más compleja y los patrones de acceso conocidos anteriormente ya no funcionan; la protección ahora marca correctamente esos patrones como potencialmente peligrosos y actualiza a la fuerza las filas adyacentes. Como resultado, los investigadores descubrieron que, después de 128 accesos a la memoria rastreados por TRR, aparece una “ventana de oportunidad” de 64 accesos, durante la cual las defensas son más débiles. No es que el sistema de protección falle por completo, pero sus respuestas son insuficientes para evitar un cambio de valor en una celda de memoria específica. La segunda ventana se presenta después de acceder a las celdas de memoria en el transcurso de 2608 intervalos de actualización.

Luego, los investigadores estudiaron estos puntos vulnerables en detalle para lanzar un ataque muy específico contra las células de memoria, al tiempo que neutralizaban las defensas. En pocas palabras, el ataque funciona así: el código malicioso realiza una serie de accesos ficticios que efectivamente adormecen el mecanismo TRR en una falsa sensación de seguridad. Luego, ocurre la fase activa del ataque, que finalmente modifica el valor de la celda objetivo. Como resultado, el equipo confirmó que el ataque funcionaba de forma fiable contra los 15 módulos DDR5 probados que había fabricado SK Hynix, uno de los líderes del mercado.

Tres escenarios de ataque reales

Un ataque realista debe cambiar un valor en una región de memoria definida con precisión, lo cual es una tarea difícil. En primer lugar, un atacante necesita un conocimiento detallado del software objetivo. Debe eludir múltiples controles de seguridad convencionales, y perder el objetivo por solo uno o dos bits puede provocar un fallo del sistema en lugar de un ataque exitoso.

Los investigadores suizos se propusieron demostrar que Phoenix podría usarse para causar daños en el mundo real. Evaluaron tres escenarios de ataque. El primero (PTE) consistió en acceder a la tabla de páginas para crear las condiciones necesarias para la lectura/escritura arbitraria de datos de la RAM. El segundo (RSA) tuvo como objetivo robar una clave de cifrado privada RSA-2048 de la memoria. El tercero (sudo) implicó eludir las protecciones de la utilidad sudo estándar de Linux con el objetivo de escalar privilegios. Los resultados finales del estudio se muestran en la siguiente tabla:

Eficacia del ataque Phoenix

Eficacia del ataque Phoenix. Fuente.

Para algunos módulos, la primera variante de ataque (128 intervalos de actualización) fue eficaz, mientras que para otros solo funcionó el segundo método (intervalos de 2608). En algunos experimentos, el robo de claves RSA y las vulnerabilidades de sudo no tuvieron éxito. Sin embargo, se encontró un método para la lectura/escritura de memoria arbitraria para todos los módulos, y el tiempo de explotación fue relativamente corto para esta clase de ataques, desde unos cinco segundos hasta siete minutos. Eso es suficiente para demostrar que los ataques Rowhammer suponen un riesgo real, aunque en un conjunto de escenarios muy restringido.

Relevancia y contramedidas

El ataque Phoenix demuestra que los ataques Rowhammer pueden llevarse a cabo contra módulos DDR5 con la misma eficacia que contra DDR4 y DDR3. Aunque solo se probaron módulos de un único proveedor, y los investigadores descubrieron una vulnerabilidad bastante sencilla en el algoritmo TRR de ese proveedor que probablemente será fácil de solucionar, esto supone un importante avance en la investigación sobre la seguridad de los módulos de memoria.

Los autores propusieron varias contramedidas ante ataques Rowhammer. Primero, reducir el intervalo de actualización forzado en todas las celdas puede impedir significativamente el ataque. Esto puede aumentar el consumo de energía y la temperatura del chip, pero es una solución sencilla. En segundo lugar, se puede utilizar la memoria con un código de corrección de errores (ECC). Esto complica los ataques Rowhammer, aunque, paradójicamente, no los hace completamente imposibles.

Más allá de estas medidas obvias, los autores mencionan dos más. La primera es el método de protección Fine Granularity Refresh, que ya se está implementando. Integrado en el controlador de memoria del procesador, modifica el comportamiento de actualización de las celdas de memoria para resistir los ataques Rowhammer. En cuanto a la segunda, los investigadores instan a los desarrolladores de módulos de memoria y chips a que dejen de depender de medidas de seguridad propietarias (“seguridad mediante opacidad”). En cambio, recomiendan adoptar un enfoque común en la criptografía, donde los algoritmos de seguridad están disponibles públicamente y sujetos a pruebas independientes.

Consejos