- Los ataques Rowhammer en memoria GDDR6 permiten corromper tablas de páginas de la GPU y obtener acceso de lectura y escritura a toda la memoria de la CPU.
- Investigaciones como GDDRHammer, GeForge, GPUBreach y GPUHammer demuestran escaladas de privilegios y degradaciones extremas en modelos de IA sobre GPUs NVIDIA.
- Las mitigaciones principales pasan por habilitar IOMMU y ECC, actualizar controladores y limitar la ejecución de código no confiable en la GPU, aunque ninguna defensa es totalmente infalible.
Las tarjetas gráficas de NVIDIA con memoria GDDR6 se han convertido en el nuevo frente de batalla de la ciberseguridad. Lo que durante años se consideró un problema casi exclusivo de la RAM del sistema, hoy salta de lleno a las GPUs modernas, con implicaciones muy serias tanto para equipos personales como para servidores y entornos de IA.
Varios equipos académicos han demostrado que distintos ataques de tipo Rowhammer, como GDDRHammer, GeForge, GPUBreach y GPUHammer, permiten desde degradar de forma brutal la precisión de modelos de inteligencia artificial hasta obtener control completo de la memoria de la CPU y lograr acceso de administrador o root en el sistema. Y todo ello explotando un defecto físico en cómo funciona la memoria DRAM y, en particular, la GDDR6 utilizada por muchas GPUs de NVIDIA.
Qué es Rowhammer y por qué es tan peligroso
Los ataques Rowhammer se apoyan en una vulnerabilidad física de la memoria DRAM, descubierta hace más de una década, que rompe el principio básico de aislamiento entre celdas de memoria. Al acceder de forma extremadamente rápida y repetitiva a determinadas filas (rows), se generan perturbaciones eléctricas que pueden provocar que los bits en filas vecinas cambien de valor.
Este fenómeno, conocido como bit-flip o vuelco de bits, hace que un 0 pueda convertirse en 1 y viceversa sin que el sistema lo detecte como un error convencional de software. Es un fallo inherente al diseño y densidad de los chips DRAM modernos, no un simple bug de programación que se pueda corregir con un parche sin más.
En 2014 se demostró por primera vez que, con un patrón de acceso cuidadosamente diseñado, era posible inducir cambios de bits a distancia con solo “martillear” filas concretas de la memoria. Poco después, otro grupo de investigación probó que dirigiendo esos cambios a filas que contenían datos sensibles o estructuras críticas (como tablas de páginas) se podía escalar privilegios de un usuario sin permisos a administrador o, directamente, saltarse las protecciones de sandboxing.
Los primeros ataques prácticos se centraron en memorias DDR3 y luego DDR4, asociadas a CPUs tradicionales. El patrón se repetía: un atacante lograba corromper celdas vecinas realizando miles o millones de accesos a las mismas direcciones, aprovechando fugas de energía y las limitaciones de las medidas de refresco de fila objetivo (TRR) diseñadas para frenar estos fenómenos.
Durante años se asumió que activar ECC (Error Correction Code) era una defensa sólida contra Rowhammer, ya que esta tecnología puede corregir errores de un solo bit de forma transparente. Sin embargo, investigaciones recientes han dejado claro que ECC no es una panacea: ciertos patrones de ataque pueden provocar múltiples cambios de bits en la misma palabra de memoria, superando la capacidad de corrección de ECC o incluso ocultando los cambios bajo el umbral de lo que el sistema detecta como error.
De la RAM del sistema a la memoria GDDR6 de las GPUs
El salto cualitativo llega cuando varios grupos de investigación demuestran que las GPUs modernas de NVIDIA con memoria GDDR6 sufren vulnerabilidades de Rowhammer similares, pero con un impacto mucho más amplio que una simple corrupción de datos de la GPU.
Equipos de la UNC Chapel Hill, Georgia Tech y otros centros han publicado estudios independientes (GDDRHammer, GeForge y GPUBreach, entre otros) donde muestran cadenas completas de explotación que parten de código sin privilegios ejecutado en la GPU y terminan con el control total de la memoria de la CPU anfitriona.
La idea clave es que la memoria GDDR6 de la GPU no solo almacena texturas o datos de cálculo de gráficos e IA, sino que también aloja estructuras internas críticas como las tablas de páginas que gestionan las direcciones virtuales y físicas de la propia GPU. Si el atacante consigue provocar bit-flips en esas estructuras, puede redirigir punteros, romper el aislamiento entre regiones protegidas y forzar a la GPU a leer o escribir donde no debería.
En los experimentos, se han probado al menos 25 modelos de tarjetas NVIDIA con GDDR6, encontrando vulnerabilidades en múltiples variantes de la arquitectura Ampere (como la RTX A6000 y la RTX 3060) y también en modelos Ada Lovelace concretos (como la RTX 6000 Ada), aunque con diferencias según la versión de memoria utilizada.
Se han observado cifras muy significativas, como 1.171 bit-flips en una RTX 3060 bajo ciertos patrones de ataque o más de 1.000 cambios de bits por gigabyte en algunas pruebas, multiplicando por decenas la tasa de alteraciones lograda en investigaciones previas sobre Rowhammer en GPU.
GDDRHammer y GeForge: ataques que rompen el aislamiento GPU-CPU
Las cadenas de ataque bautizadas como GDDRHammer y GeForge son especialmente reveladoras porque demuestran no solo que se pueden inducir bit-flips en la GDDR6, sino que esos cambios pueden transformarse en una escalada real de privilegios con control total sobre el sistema operativo.
El punto de partida es simple: el atacante ejecuta código estándar y sin privilegios en la GPU, por ejemplo, un kernel CUDA aparentemente inocuo. Este kernel se diseña para “golpear” filas específicas de la memoria GDDR6, empleando patrones cuidadosamente ajustados para evadir las defensas de refresco de fila objetivo (TRR) y maximizar la probabilidad de bit-flips en ubicaciones elegidas.
En el caso de GeForge, los investigadores idearon patrones de acceso no uniformes que abarcan múltiples intervalos de actualización de la memoria, variando la intensidad y el orden de activación de las filas para saltarse los mecanismos de protección del hardware. Esto incluye explotar la asignación no lineal de direcciones físicas a conjuntos de caché L2, usando técnicas de anclaje de páginas para aplicar mapas de direcciones físicos obtenidos mediante perfiles fuera de línea.
El equipo de GDDRHammer, por su parte, descubrió que las filas de DRAM en las GPUs siguen una geometría no monótona, lo que les permitió construir patrones de doble cara muy efectivos incluso cuando las direcciones físicas parecían muy separadas entre sí. Repartiendo bancos de memoria entre distintos multiprocesadores de streaming (SM) y sincronizando parcialmente la ejecución, lograron mantener un ritmo de activación muy alto sin ser frenados por el muestreo de seguridad.
Todos estos trucos llevan a un resultado concreto: corromper las tablas de páginas jerárquicas gestionadas por la unidad de gestión de memoria de la GPU. Como estas tablas suelen ubicarse en zonas protegidas o difíciles de predecir, los ataques recurren al “masajeo de memoria”, es decir, técnicas de asignación y liberación masiva para forzar que esas estructuras críticas terminen en direcciones físicas que el atacante ya haya identificado como vulnerables a Rowhammer.
En GDDRHammer, por ejemplo, se usan mapeos de memoria compartida para inundar el asignador, reduciendo la distancia entre las regiones que contienen tablas de páginas y la memoria controlada directamente por el usuario. GeForge se centra más específicamente en corromper entradas del Directorio de Páginas 0 (PD0), pieza clave en el árbol de tablas de páginas.
Una vez que el atacante consigue colocar una tabla de páginas en una subpágina determinada de 4 KB, solo necesita un bit-flip concreto para modificar el puntero de dirección física de una entrada, de modo que apunte a una tabla de páginas falsa bajo su completo control. A partir de ahí, la GPU cree que esa estructura comprometida es legítima.
El siguiente paso es devastador: las entradas de tabla de páginas de NVIDIA incluyen un campo de apertura que indica si la dirección física corresponde a memoria local de la GPU o a la memoria del host. Si el atacante altera este campo en la tabla falsificada, puede hacer que cualquier lectura o escritura posterior de la GPU vaya dirigida, a través del bus PCIe, directamente a la RAM física del sistema anfitrión.
Esto contorna por completo la unidad de gestión de memoria de la CPU y las protecciones habituales de copia en escritura (Copy-on-Write) del sistema operativo. En su demostración práctica, los investigadores llegaron a sobrescribir el segmento de código de la biblioteca estándar de C directamente en la memoria del host, inyectando código máquina en una función utilizada por un programa legítimo con privilegios elevados. Cuando esa función se ejecutó, el atacante obtuvo acceso de superusuario al sistema.
Modelos afectados, impacto en sistemas reales y papel de ECC
Los estudios sobre GDDRHammer analizan un conjunto amplio de hardware: 25 tarjetas gráficas de gama alta de NVIDIA. De entre 17 modelos RTX A6000 basados en arquitectura Ampere evaluados, 16 resultaron vulnerables a ataques Rowhammer en la GDDR6. En el ámbito de consumo, modelos como la GeForce RTX 3060 también mostraron tasas elevadas de bit-flips.
En el segmento profesional, las GPUs de estaciones de trabajo como las RTX 6000 y RTX A6000 han sido comprometidas mediante cadenas de ataque completas, llegando a escaladas de privilegios hasta administrador o root en sistemas Linux. En algunos experimentos, incluso con IOMMU activado, los investigadores lograron explotar fallos recientes en el controlador de NVIDIA para aprovechar el acceso arbitrario de la GPU a la memoria de la CPU.
En paralelo, otros equipos han observado que los ataques pueden degradar la integridad de los cálculos de IA sin necesidad de tomar el control del sistema. En el caso de la vulnerabilidad denominada GPUHammer, se probó en una NVIDIA RTX A6000 con 48 GB de GDDR6 orientada a entornos de IA. Bastó provocar cambios de un solo bit en posiciones estratégicas para que la precisión de modelos de clasificación de imágenes preentrenados (ImageNet) cayera desde aproximadamente un 80 % hasta un ridículo 0,1 %.
Este desplome demuestra que incluso un ataque “solo” orientado a corromper la memoria de la GPU puede destruir por completo la fiabilidad de un sistema de IA sin que necesariamente se llegue a comprometer el sistema operativo. En entornos donde la precisión y la confianza en el modelo son cruciales (sanidad, automatización industrial, conducción autónoma), este tipo de manipulación silenciosa de resultados puede ser tan peligrosa como una toma de control tradicional.
Respecto a ECC, NVIDIA y los investigadores coinciden en que habilitar el modo de corrección de errores en la GPU reduce considerablemente la efectividad de muchos ataques Rowhammer, ya que los bit-flips de un solo bit son corregidos al vuelo. De hecho, la propia NVIDIA ha recomendado en varios comunicados activar ECC mediante herramientas como “nvidia-smi -e 1” y reiniciar el sistema, y también revisar cómo configurar la integridad de memoria en Windows.
El problema es que ECC tiene un coste nada despreciable: una pérdida aproximada del 10 % de rendimiento en inferencia IA y una reducción de alrededor del 6,25 % en la cantidad de memoria utilizable. Además, los estudios alertan de que hay escenarios en los que los atacantes podrían seguir provocando patrones de bit-flips que se escapen al umbral de corrección de ECC, o bien inducir fallos de varios bits en la misma palabra, con lo que el mecanismo deja de ser totalmente fiable.
Por si fuera poco, muchas GPUs de consumo con GDDR6, como gran parte de la gama GeForce, ni siquiera incorporan soporte de ECC. Y en el espacio profesional, donde sí existe esta característica, a menudo se encuentra desactivada por defecto para exprimir el máximo rendimiento, lo que deja la puerta abierta a estos exploits si el administrador no toma medidas adicionales.
GPUBreach: Rowhammer que llega al navegador web
Además de GDDRHammer y GeForge, destaca la aparición de GPUBreach, otra variante avanzada de Rowhammer que se centra directamente en la VRAM GDDR6, pero introduciendo una novedad muy preocupante: la posibilidad de explotar la vulnerabilidad desde el propio navegador.
GPUBreach reutiliza el concepto de Rowhammer aplicado a GPUs, lanzando un patrón de accesos extremadamente rápidos y repetitivos a filas concretas de la memoria de vídeo. Con ello, genera interferencias electromagnéticas suficientes para causar bit-flips en filas adyacentes, igual que en los otros ataques, pero su vector de entrada puede ser tan sencillo como cargar una página web maliciosa.
En las pruebas se ha demostrado que GPUBreach puede aprovechar tecnologías como WebGL y WebGPU para ejecutar código que dispara estos patrones de acceso directamente desde el navegador, sin necesidad de que el usuario instale nada ni dé permisos especiales. El escenario es incómodo: un simple sitio web podría forzar a la GPU a manipular datos críticos o a debilitar el aislamiento de memoria.
Las investigaciones apuntan a que este exploit afecta a una amplia gama de arquitecturas de NVIDIA, incluyendo las series Turing (RTX 20), Ampere (RTX 30) e, incluso, potencialmente, Ada Lovelace (RTX 40). Al alterar bits de control en posiciones estratégicas, un atacante podría escalar privilegios, acceder a información sensible procesada por la GPU o influir en la estabilidad general del sistema operativo.
Uno de los puntos más delicados de GPUBreach es su capacidad para burlar el IOMMU en ciertas configuraciones, debilitando una de las defensas de hardware que deberían aislar los accesos de dispositivos como la GPU a la memoria del host. Todo ello refuerza la idea de que la raíz del problema es física y de diseño, tanto en la GDDR6 como en el controlador de memoria de NVIDIA.
Por ahora, los expertos coinciden en que no existe un parche de software sencillo que elimine este riesgo sin afectar notablemente al rendimiento. Se habla de la necesidad de rediseñar las protecciones a nivel de hardware en futuras generaciones de tarjetas, algo que podría empezar a verse en memorias más nuevas como GDDR7 y en arquitecturas de GPUs próximas, donde se están revisando los mecanismos de refresco y aislamiento interno.
IOMMU, TRR y otras mitigaciones: hasta dónde llegan realmente
En ausencia de soluciones definitivas de hardware, las medidas de mitigación actuales se basan en configuraciones de BIOS, opciones del sistema operativo y características ya integradas en la memoria y los controladores. Ninguna es perfecta, pero combinadas pueden elevar bastante el listón de dificultad para un atacante.
Una de las defensas más citadas es activar la IOMMU (Input/Output Memory Management Unit) en la BIOS. La IOMMU actúa como una especie de gestor de memoria para dispositivos de E/S como la GPU, mapeando direcciones virtuales de dispositivo a direcciones físicas de la memoria del host y, sobre todo, limitando qué regiones puede tocar la GPU.
Los investigadores y la propia NVIDIA han señalado que habilitar IOMMU en sistemas Linux con GPUs Ampere, por ejemplo, es una forma efectiva de cerrar muchas de las cadenas de explotación conocidas, en concreto aquellas que dependen de que la GPU tenga acceso libre a la memoria física del host. Algunos ataques, especialmente los enfocados a GDDR6 de la RTX 6000 generación Ampere, dejan de ser viables cuando IOMMU está correctamente configurado.
Sin embargo, otros trabajos, como parte de las pruebas de GDDRHammer y GeForge, han mostrado que no todas las configuraciones de IOMMU son iguales y que, en algunos escenarios, aún con IOMMU activo, es posible construir exploits que logren escalar privilegios manipulando fallos en el controlador de NVIDIA o aprovechando huecos en cómo se implementa el aislamiento entre la GPU y la memoria del host.
A esto se suma el hecho de que en muchos sistemas Linux comerciales y estaciones de trabajo, la IOMMU viene desactivada por defecto por motivos de compatibilidad o rendimiento. Esto deja expuesto a un buen número de equipos que, de otra manera, estarían al menos parcialmente protegidos frente a estos ataques.
Otra línea de defensa es el uso de TRR (Target Row Refresh), una técnica integrada en la propia DRAM (incluida GDDR6) para refrescar de forma proactiva filas vecinas cuando se detecta un número elevado de accesos a una fila concreta, algo que conviene considerar en el contexto del overclocking seguro en GPU y memoria.
Los ataques más avanzados combinan accesos a múltiples filas, variando las distancias y los tiempos, para evadir los umbrales que usa TRR para decidir cuándo debe refrescar una fila. De esta forma, se logran alterar muchos más bits de los que los diseñadores de la memoria anticipaban, reabriendo la puerta a la corrupción de datos a pesar de las mejoras de seguridad.
Finalmente, está la ya mencionada activación de ECC y el endurecimiento software a nivel de controlador y sistema operativo. NVIDIA ha publicado documentación de referencia y guías (como las asociadas al ataque GPUHammer previo) para que los administradores comprueben si sus entornos son vulnerables y qué pasos tomar, incluyendo la combinación de IOMMU, ECC, actualizaciones de drivers y configuración cuidadosa de entornos de cómputo compartido.
A día de hoy, las recomendaciones prácticas pasan por que cualquier organización que utilice GPUs NVIDIA con GDDR6 en producción (especialmente en servidores, estaciones de trabajo de misión crítica o plataformas de IA) revise con lupa su configuración de IOMMU, active ECC siempre que sea posible, mantenga los drivers actualizados y limite la ejecución de código no confiable en la GPU, tanto de forma local como a través de contenedores o tareas remotas.
Por ahora, no se conocen casos públicos de ataques Rowhammer sobre GPUs explotados masivamente “en la vida real”, lo que deja a la comunidad de seguridad y a los fabricantes cierto margen para reforzar sus defensas antes de que estos métodos se popularicen. No obstante, los investigadores advierten de que, dado el enorme despliegue de GPUs de NVIDIA en todos los segmentos (gaming, IA, centros de datos, estaciones de trabajo), ignorar estas vulnerabilidades sería un error estratégico.
En conjunto, las pruebas sobre GDDRHammer, GeForge, GPUBreach y GPUHammer han dejado claro que la frontera entre la seguridad de la CPU y la GPU está mucho más difuminada de lo que se pensaba. Lo que empezó como un fallo incómodo en las celdas DRAM tradicionales se ha convertido en un vector capaz de comprometer sistemas completos, degradar modelos de IA casi hasta la inutilidad y poner contra las cuerdas a las defensas de hardware actuales, obligando a replantear el diseño de futuras generaciones de memoria y de tarjetas gráficas si se quiere mantener a raya la próxima ola de ataques Rowhammer.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.