Investigadores de cuatro universidades estadounidenses han desarrollado un nuevo ataque de canal lateral de GPU que aprovecha la compresión de datos para filtrar información sensible de las tarjetas gráficas modernas cuando se visitan páginas web.

Los investigadores han demostrado la efectividad de este ataque llamado GPU.zip al llevar a cabo ataques de robo de píxeles a través de filtros SVG de origen cruzado mediante el navegador Chrome.

Los investigadores revelaron la vulnerabilidad a los fabricantes de tarjetas de video afectadas en marzo de 2023. Sin embargo, hasta septiembre de 2023, ninguno de los proveedores de GPU afectados (AMD, Apple, Arm, NVIDIA, Qualcomm) ni Google (Chrome) ha lanzado parches para solucionar el problema.

La nueva vulnerabilidad se describe en un artículo elaborado por investigadores de la Universidad de Texas en Austin, la Universidad Carnegie Mellon, la Universidad de Washington y la Universidad de Illinois en Urbana-Champaign, y se presentará en el 45º Simposio de Seguridad y Privacidad de la IEEE.

Filtración a través de la compresión

En general, la compresión de datos crea un tráfico de DRAM y una utilización de la caché dependientes de los datos, lo que puede ser aprovechado para filtrar secretos, por lo que el software desactiva la compresión al manejar datos sensibles.

Los investigadores de GPU.zip explican que todas las unidades de procesamiento gráfico modernas, especialmente las integradas en chips Intel y AMD, realizan una compresión de datos visible para el software incluso cuando no se les solicita explícitamente.

Las GPU modernas siguen esta práctica como estrategia de optimización, ya que ayuda a ahorrar ancho de banda de memoria y mejorar el rendimiento sin depender del software.

Esta compresión a menudo no está documentada y es específica del fabricante, y los investigadores han encontrado una manera de explotarla para filtrar datos visuales de las GPU.

Específicamente, demostraron un ataque que extrae datos individuales de píxeles a través de un navegador web en diversos dispositivos y arquitecturas de GPU, como se muestra a continuación.

El ataque de prueba demuestra el robo del nombre de usuario de un iframe de Wikipedia, lo que es posible en 30 minutos en GPUs Ryzen y 215 minutos en GPUs Intel, con precisión del 97% y 98.3%, respectivamente.

El iframe tiene una página web cuyos píxeles están aislados y se convierten en binario, es decir, se transforman en dos colores posibles.

A continuación, estos píxeles se amplían, y se aplica una pila de filtros SVG especializados para crear texturas que son compresibles o no. Midiendo el tiempo que tarda la textura en renderizarse, los investigadores pueden deducir el color/estado original del píxel objetivo.

Gravedad de GPU.zip

GPU.zip afecta a casi todos los principales fabricantes de GPU, incluidos AMD, Apple, Arm, Intel, Qualcomm y NVIDIA, pero no todas las tarjetas se ven igualmente afectadas.

El hecho de que ninguno de los fabricantes afectados haya decidido solucionar el problema optimizando su enfoque de compresión de datos y limitando su funcionamiento a casos no sensibles aumenta aún más el riesgo.

Aunque GPU.zip podría afectar a la gran mayoría de portátiles, smartphones, tablets y computadoras de escritorio en todo el mundo, el impacto inmediato en los usuarios se ve moderado por la complejidad y el tiempo necesario para llevar a cabo el ataque.

Además, los sitios web que niegan la incrustación de iframes de origen cruzado no pueden utilizarse para filtrar datos de usuario mediante este tipo de ataques de canal lateral.

"La mayoría de los sitios web sensibles ya niegan la incrustación por parte de sitios web de origen cruzado. Como resultado, no son vulnerables al ataque de robo de píxeles que realizamos con GPU.zip", explican los investigadores en un FAQ en el sitio web del equipo.

Finalmente, los investigadores señalan que Firefox y Safari no cumplen con todos los criterios necesarios para que GPU.zip funcione, como permitir la carga de iframes de origen cruzado con cookies, renderizar filtros SVG en iframes y delegar tareas de renderización en la GPU.