Ataque Rowhammer a GPUs NVIDIA con GDDR6: así afecta a la seguridad de tus equipos

  • Nuevas variantes de Rowhammer permiten atacar memorias GDDR6 en GPUs NVIDIA y tomar el control del sistema.
  • Investigaciones como GDDRHammer, GeForge y GPUBreach logran acceso de lectura/escritura a la RAM de la CPU.
  • Modelos con GDDR6 como GeForce RTX 3060, RTX 6000 y RTX A6000 se han demostrado vulnerables.
  • Mitigaciones recomendadas: activar IOMMU y ECC, a costa de rendimiento y memoria disponible.

Seguridad en GPUs NVIDIA con memoria GDDR6

Una vieja conocida del mundo de la ciberseguridad ha vuelto a la primera línea, pero esta vez por la puerta grande de las tarjetas gráficas. La vulnerabilidad Rowhammer, hasta ahora asociada sobre todo a la memoria RAM de las CPU, se ha demostrado efectiva también contra las memorias GDDR6 usadas en diversas GPUs de NVIDIA, abriendo la puerta a ataques que pueden terminar en el control total del sistema.

Varios equipos académicos han presentado de forma casi simultánea cadenas de ataque completas contra GPUs NVIDIA con GDDR6, con nombres como GDDRHammer, GeForge o GPUBreach. Más allá de los tecnicismos, el mensaje para usuarios, empresas y entornos de nube en Europa es claro: determinadas gráficas, muy presentes en PCs domésticos, estaciones de trabajo y servidores, pueden ser el vector que permita a un atacante lograr privilegios de administrador en el sistema operativo.

Qué es Rowhammer y por qué ahora apunta a las GPUs con GDDR6

Rowhammer es una vulnerabilidad física que aprovecha la forma en que se fabrican y cargan las celdas de memoria DRAM. Si se accede de manera muy rápida y repetida («martillear») a determinadas filas de memoria, se generan perturbaciones eléctricas que pueden provocar cambios de bits en filas adyacentes, los conocidos bit-flips: un 0 pasa a 1 o al revés sin que el software lo haya ordenado.

Los primeros trabajos académicos, allá por la época de las memorias DDR3 y posteriormente DDR4, demostraron que esta técnica podía emplearse para romper el aislamiento entre procesos, manipular datos sensibles y escalar privilegios desde un usuario sin permisos hasta un administrador del sistema. Durante años se pensó que las mitigaciones implementadas y el avance del hardware habían acotado el problema, pero la realidad es que la superficie de ataque se ha ampliado.

Las investigaciones recientes muestran que la memoria GDDR6 de las GPUs modernas no está a salvo. En lugar de atacar la RAM principal vinculada a la CPU, los equipos han centrado sus esfuerzos en la memoria dedicada de la tarjeta gráfica, explotando patrones de acceso muy agresivos y técnicas específicas para esquivar las protecciones internas de actualización de filas (TRR) presentes en estos chips.

Lo novedoso aquí no es solo que Rowhammer funcione sobre GDDR6, sino que los atacantes pueden pasar de corromper la memoria de la GPU a manipular directamente la memoria de la CPU anfitriona, utilizando la propia lógica de gestión de memoria de la tarjeta y las características del bus PCIe.

Investigaciones GDDRHammer y GeForge: del bit-flip a tomar el control del sistema

Dos grupos de investigación, trabajando de forma independiente en universidades de Estados Unidos, han publicado estudios bajo los nombres de GDDRHammer y GeForge. Ambos comparten idea de base: inducir bit-flips en memoria GDDR6 de la GPU y convertir esas alteraciones físicas en un compromiso total del sistema.

En sus pruebas, los investigadores analizaron al menos 25 modelos de GPUs NVIDIA con GDDR6, incluyendo tarjetas de consumo y modelos profesionales basados en las arquitecturas Ampere y Ada Lovelace. Entre las tarjetas en las que se han observado bit-flips y explotación exitosa se encuentran la GeForce RTX 3060, así como las profesionales RTX 6000 y RTX A6000.

Los resultados son llamativos: el método GeForge llegó a inducir más de 1.100 alteraciones de bits en una RTX 3060 de consumo y algo más de 200 en una RTX A6000 profesional. Por su parte, GDDRHammer alcanzó promedios superiores a un millar de bit-flips por gigabyte de memoria, una cifra muy por encima de intentos anteriores sobre hardware gráfico.

Para lograrlo, los equipos han tenido que sortear las mitigaciones TRR integradas en los chips de memoria GDDR6. Se han empleado patrones de acceso no uniformes a varias filas, variando frecuencia, orden e intensidad, de forma que el hardware no detecta el comportamiento como sospechoso pero sí se generan suficientes perturbaciones como para forzar los cambios de bits.

Una vez demostrada la capacidad de provocar bit-flips de forma fiable, el siguiente paso ha sido dirigir esos cambios a estructuras de memoria especialmente sensibles, en este caso las tablas de páginas que gestiona la unidad de memoria de la GPU.

Cómo se manipulan las tablas de páginas de la GPU para llegar a la RAM de la CPU

El corazón de estos ataques está en las tablas de páginas jerárquicas que usa la GPU para traducir direcciones virtuales a direcciones físicas, tanto en su memoria local como en la memoria del sistema anfitrión. Normalmente, estas estructuras se asignan en regiones de memoria difíciles de predecir o poco accesibles para el código sin privilegios.

Los exploits GDDRHammer y GeForge emplean llamadas estándar de memoria (como las basadas en cudaMalloc y Memoria Virtual Unificada) para realizar un auténtico «masajeo de memoria»: se asignan y liberan bloques de forma muy controlada hasta forzar que determinadas tablas de páginas acaben ubicadas en posiciones físicas que el atacante sabe que son vulnerables a Rowhammer.

Una vez localizadas estas regiones, el objetivo es corromper una entrada concreta de la tabla de páginas mediante un bit-flip. Alterando un bit específico del puntero de dirección física, la entrada deja de apuntar a la tabla legítima y pasa a dirigirse a una tabla falsificada construida por el atacante en memoria controlada.

A partir de ahí, la GPU cree estar utilizando una tabla de páginas válida, pero en realidad todas las operaciones de lectura y escritura a través de esa ruta se redirigen a ubicaciones de memoria elegidas por el código malicioso. Lo crítico es que estas direcciones ya no tienen por qué residir en la memoria de la GPU, sino en la RAM física del sistema anfitrión.

En las demostraciones prácticas, los investigadores consiguieron con este método acceso arbitrario de lectura y escritura sobre toda la memoria de la CPU. En un escenario presentado, el exploit sobrescribía parte del código de una biblioteca del sistema (por ejemplo, funciones de la libc) directamente en la RAM del host, de forma que, al ejecutarse un programa legítimo con privilegios elevados, se lanzaba el código inyectado y se obtenía una consola de superusuario.

GPUBreach: la tercera vía que combina Rowhammer y fallos de driver

Además de GDDRHammer y GeForge, los investigadores han descrito un tercer vector denominado GPUBreach, considerado ya el tercer ataque confirmado de tipo Rowhammer contra GPUs. En este caso, el enfoque no se limita a la física de la memoria, sino que se apoya también en vulnerabilidades recientes en los controladores de NVIDIA.

GPUBreach demuestra que es posible comprometer el kernel del sistema operativo incluso cuando IOMMU está activo, algo especialmente preocupante para servidores y estaciones de trabajo que ya habían adoptado esta medida como defensa principal. El estudio se ha centrado sobre todo en la NVIDIA RTX A6000, una GPU de gama alta muy presente en centros de datos, entornos de cálculo intensivo y proyectos de inteligencia artificial.

En este escenario, el ataque sigue empezando por corromper las tablas de páginas de la GPU utilizando Rowhammer, pero luego encadena esa capacidad con la explotación de errores en el driver para escalar aún más los privilegios. De este modo, la GPU deja de ser solo un acelerador de cómputo para convertirse en el trampolín desde el que tomar el control del sistema host.

La combinación de vulnerabilidad física (Rowhammer) y fallos lógicos en el software del controlador coloca a GPUBreach en un punto especialmente delicado, ya que limita la eficacia de barreras que hasta ahora se consideraban razonablemente sólidas en entornos profesionales.

Modelos afectados y estado de la vulnerabilidad en NVIDIA

Los estudios publicados hasta la fecha no ofrecen un listado exhaustivo de todos los modelos afectados, pero sí han confirmado varios ejemplos concretos. Entre ellos destacan la GeForce RTX 3060 para consumo y las GPUs profesionales RTX 6000 y RTX A6000, todas ellas con memoria GDDR6 y basadas en la arquitectura Ampere.

En pruebas más amplias, uno de los grupos de investigación comprobó 25 tarjetas gráficas de gama alta con GDDR6, detectando que 16 de 17 modelos RTX A6000 analizados eran susceptibles a los ataques Rowhammer propuestos. También se han realizado ensayos con modelos de la familia Ada, encontrando trazas similares de vulnerabilidad, aunque aún continúan los test sobre una gama mayor de productos.

En el lado opuesto, las investigaciones apuntan a que las memorias GDDR6X y GDDR7 no se ven afectadas por los mismos métodos, al menos con las técnicas actuales. Lo mismo ocurre con memorias como HBM2 o HBM3 que integran mecanismos de corrección de errores a nivel de chip (On-Die ECC), donde no se han observado los mismos patrones de fallo.

Desde NVIDIA, las comunicaciones públicas han sido prudentes. La compañía ha remitido a documentación de seguridad ya publicada con anterioridad en relación con ataques Rowhammer previos sobre GPU, como GPUHammer, y anima a los clientes preocupados a consultar las guías de mitigación. Por ahora no se han detallado actualizaciones de firmware o drivers específicas que bloqueen completamente estos nuevos vectores.

Conviene subrayar, en cualquier caso, que no se conocen incidentes activos en el mundo real que estén explotando estos métodos contra GPUs NVIDIA con GDDR6. Se trata, de momento, de pruebas de concepto académicas, aunque su impacto potencial es lo bastante serio como para que fabricantes, proveedores cloud y grandes organizaciones estén ya tomando nota.

Limitaciones de antivirus y por qué el ataque es tan difícil de detectar

Una de las conclusiones más inquietantes de estos trabajos es que, al producirse la escalada de privilegios a nivel de hardware, las soluciones de seguridad tradicionales tienen una visibilidad muy limitada. Los antivirus y muchas herramientas de monitorización operan principalmente en el espacio del sistema operativo, pero aquí el problema nace antes, en la propia interacción de la GPU con la memoria.

Cuando la tarjeta gráfica obtiene acceso directo de lectura y escritura a la memoria física del host, las operaciones se canalizan a través del bus PCIe, eludiendo parte de los controles de la CPU. Desde el punto de vista del sistema, muchas de estas acciones se confunden con tráfico legítimo de cómputo acelerado, por lo que no saltan alarmas claras.

Además, los patrones de hammering se han diseñado para pasar desapercibidos ante las protecciones de los chips de memoria, lo que dificulta que un software de seguridad pueda distinguir entre un acceso intensivo normal (por ejemplo, de una aplicación de IA o de renderizado) y un intento de ataque.

Todo esto hace que las medidas puramente de software (antivirus, EDR, etc.) no sean suficientes por sí solas para frenar este tipo de ataques. Las defensas más efectivas pasan por cambios de configuración del hardware y, a medio plazo, por ajustes en el diseño de GPUs, memorias y controladores.

Mitigaciones: IOMMU, ECC y ajustes de configuración

Los diferentes equipos de investigación coinciden en dos grandes líneas de defensa inmediatas para sistemas que utilizan GPUs NVIDIA con memoria GDDR6: activar IOMMU en la BIOS y habilitar la memoria con corrección de errores (ECC) en las tarjetas que lo permitan.

La Unidad de Gestión de Memoria de Entrada/Salida, IOMMU, asigna direcciones virtuales visibles para los dispositivos (como la GPU) a direcciones físicas concretas en la memoria del host. De este modo, es posible restringir qué porciones de RAM puede tocar directamente la tarjeta, reduciendo el alcance de un posible exploit.

En teoría, tener IOMMU activado debería evitar que un mapeo de apertura falsificado por la GPU apunte libremente a toda la memoria de la CPU. Sin embargo, las investigaciones señalan que no siempre está habilitado por defecto en muchas distribuciones y sistemas Linux comerciales, ya sea por compatibilidad o por rendimiento, lo que deja expuestos a un número considerable de equipos.

La segunda gran defensa es la activación de ECC en la GPU. Esta función permite que la memoria corrija automáticamente muchos errores de un solo bit, de manera que buena parte de los bit-flips provocados por Rowhammer se neutralizan antes de ser explotables. El problema es que ECC acarrea un coste: reduce la memoria útil disponible y puede suponer una pérdida de rendimiento apreciable, algo que lleva a muchos usuarios profesionales a mantenerla desactivada.

Para colmo, algunos estudios apuntan a que no todos los ataques Rowhammer quedan bloqueados por ECC. Ciertos patrones podrían provocar fallos de varios bits que superen la capacidad de corrección, o bien introducir errores que no se detectan como corregibles, de modo que, aunque ECC eleva notablemente el listón, no es una solución perfecta.

Impacto en Europa: PCs domésticos, estaciones de trabajo y nube

En el contexto europeo, el alcance de estas vulnerabilidades es especialmente relevante para tres grandes grupos de usuarios: particulares con PCs gaming o de creación de contenido, empresas con estaciones de trabajo gráficas y proveedores de servicios en la nube que comparten GPUs entre múltiples clientes.

En el ámbito doméstico, muchos equipos de gama media y alta montan tarjetas como la GeForce RTX 3060, uno de los modelos concretos donde se han observado bit-flips y cadenas de ataque funcionales en laboratorio. No obstante, el riesgo práctico hoy por hoy se considera bajo: los exploits son complejos, requieren un conocimiento profundo del sistema y no se han visto campañas activas que los apliquen a gran escala.

Donde el asunto se vuelve más serio es en entornos corporativos y centros de datos. Las GPUs profesionales RTX 6000 y RTX A6000, pensadas para cálculo científico, IA, diseño avanzado o virtualización gráfica, son habituales en organizaciones europeas de sectores como la ingeniería, la automoción, la banca o la investigación pública.

En escenarios de nube compartida, una única GPU puede servir a varios clientes a la vez. Si uno de ellos consiguiera ejecutar un ataque Rowhammer exitoso desde su contenedor o máquina virtual, podría forzar una escalada de privilegios que afectase al hipervisor o a otros inquilinos del mismo servidor, con un impacto potencial en confidencialidad y disponibilidad de datos.

Los grandes proveedores de cloud en Europa suelen aplicar políticas de seguridad más estrictas que un PC doméstico: configuración afinada de IOMMU, segmentación de recursos, monitorización más agresiva y, en muchos casos, activación de ECC por defecto en sus GPUs. Aun así, estas investigaciones sirven como recordatorio de que ni siquiera los aceleradores gráficos de gama alta están exentos de riesgos.

Qué pueden hacer ahora mismo usuarios y organizaciones

Para quienes utilizan GPUs NVIDIA con GDDR6 en su día a día, ya sea en España o en el resto de Europa, hay una serie de pasos razonables que pueden tomarse sin necesidad de entrar en pánico. El primero es revisar la configuración de la BIOS y del sistema operativo para comprobar si IOMMU está activado y funcionando correctamente.

En entornos profesionales y servidores, especialmente si se trabaja con estaciones de trabajo con RTX 6000 o RTX A6000, conviene valorar seriamente la activación de ECC, aun a costa de perder algo de rendimiento y memoria disponible. En muchos casos, la reducción de riesgo compensa sobradamente ese impacto, sobre todo cuando se manejan datos sensibles o cargas críticas.

También es recomendable mantener actualizados drivers y firmware de las tarjetas gráficas, y seguir de cerca los avisos de seguridad que publique NVIDIA y las actualizaciones críticas en Chrome. Aunque a día de hoy no exista un parche milagroso que elimine por completo la amenaza, es probable que vayan apareciendo actualizaciones que mitiguen algunos vectores (por ejemplo, corrigiendo fallos de driver aprovechados por GPUBreach).

Para usuarios domésticos con una RTX 3060 u otros modelos Ampere con GDDR6, el consejo más práctico pasa por no desactivar medidas de seguridad por motivos de rendimiento sin un motivo claro, evitar instalar software de procedencia dudosa que pueda ejecutar código en la GPU y, en general, tratar la tarjeta gráfica como un componente tan sensible como la propia CPU.

En el caso de administradores de sistemas y responsables de seguridad, estas investigaciones justifican revisar las políticas de segmentación de recursos GPU en entornos virtualizados, fortalecer el aislamiento entre inquilinos y, si es posible, limitar el acceso directo a las APIs de bajo nivel de la GPU a procesos realmente necesarios.

Todo apunta a que la relación entre memoria, hardware gráfico y ciberseguridad va a seguir estrechándose en los próximos años. Rowhammer, lejos de ser una curiosidad académica del pasado, se ha colado de lleno en el terreno de las GPUs modernas y ha demostrado que puede cruzar la frontera entre la memoria gráfica y la del sistema anfitrión.

Las pruebas de GDDRHammer, GeForge y GPUBreach evidencian que es posible pasar de un simple bit-flip en GDDR6 a una shell con privilegios de root en el sistema operativo, incluso esquivando parte de las defensas actuales. Aunque hoy la amenaza se mantenga en el plano teórico y de laboratorio, para usuarios, empresas y proveedores cloud en Europa el mensaje es claro: conviene ajustar configuraciones, habilitar las medidas de protección disponibles y seguir muy de cerca cómo responden la industria y los fabricantes ante esta nueva generación de ataques Rowhammer sobre GPUs.

Android desactiva WebGPU en Chrome con Protección Avanzada
Artículo relacionado:
Android desactiva WebGPU en Chrome con Protección Avanzada

Síguenos en Google News