Lo que hasta hace poco requería horas, ahora se hace en cuestión de minutos.

Las tarjetas gráficas NVIDIA utilizan una memoria especial con corrección de errores, capaz de detectar y corregir fallos aleatorios de datos. El nuevo ataque GPUThor demostró que incluso esa protección se puede eludir y provocar corrupción de memoria, fallo de la GPU y elevación de privilegios a root.
Los especialistas de la Universidad de Toronto probaron GPUThor en tarjetas gráficas de la generación Ampere con memoria GDDR6, incluyendo RTX A4000, RTX A4500, RTX A5000 y RTX A6000. El ataque pertenece a la clase Rowhammer. Este método accede repetidamente a regiones concretas de memoria hasta que los bits en áreas adyacentes comienzan a cambiar de forma espontánea.
Normalmente, estos fallos están protegidos por ECC, o código de corrección de errores, un mecanismo de detección y corrección de errores de memoria. GPUThor elude la protección adicional Target Row Refresh, que debe refrescar las filas de memoria cuando hay accesos sospechosamente frecuentes. Para ello, los autores modificaron la secuencia de solicitudes y tuvieron en cuenta las particularidades del funcionamiento del controlador de memoria de la GPU.
La nueva técnica resultó notablemente más eficaz que las variantes anteriores. Sin la corrección de errores activada, los especialistas observaron entre 72.000 y 377.000 cambios de bits por gigabyte de memoria. Un fallo adecuado para su explotación apareció aproximadamente en 1,1 minutos. La técnica anterior, GPUHammer, necesitaba alrededor de 21,9 horas para la misma tarea.
Con la corrección de errores activada, GPUThor provocó 387 fallos dobles que la protección detectó pero no pudo corregir, además de dos errores triples con restauración de datos incorrecta. En la RTX A6000, los especialistas demostraron por separado una denegación de servicio, o DoS, en la que la tarjeta gráfica se reiniciaba periódicamente y terminaba todas las tareas en ejecución.
Una prueba más peligrosa afectó las tablas de páginas de la GPU, que determinan a qué áreas de memoria puede acceder un programa. Tras su corrupción, un programa no privilegiado en la plataforma CUDA obtuvo acceso arbitrario a la memoria y pudo abrir una shell con privilegios de root en el sistema principal. Los autores consideran que un escenario similar podría darse también en las NVIDIA A100 para servidores.
NVIDIA recibió información sobre GPUThor el 29 de abril y el 21 de agosto publicó recomendaciones. La empresa aconseja activar la corrección de errores de memoria y el aislamiento de hardware del acceso directo a memoria, supervisar los errores de la GPU y limitar la ejecución de cargas no confiables. Los autores también recomiendan, cuando sea posible, no compartir un mismo GPU entre diferentes arrendatarios de una infraestructura en la nube.