Un grupo de investigadores de varias universidades de EE. UU. ha desarrollado una nueva técnica de ataque por canales laterales que permite recrear la información visual procesada en la GPU. Con el método propuesto, llamado GPU.zip, un atacante puede determinar la información que se muestra en la pantalla. Entre otras cosas, el ataque se puede llevar a cabo a través de un navegador web; por ejemplo, se ha demostrado cómo una página web maliciosa abierta en Chrome puede obtener información sobre los píxeles que se muestran al renderizar otra página web abierta en el mismo navegador.
La fuente de la filtración de información es la optimización utilizada en las GPU modernas, que permite la compresión de datos gráficos. El problema se manifiesta al utilizar compresión en todas las GPU integradas probadas (AMD, Apple, ARM, Intel, Qualcomm) y en las tarjetas gráficas discretas de NVIDIA. Los investigadores han descubierto que las GPU integradas de Intel y AMD siempre activan la compresión de datos gráficos, incluso si la aplicación no solicita explícitamente dicha optimización. La compresión provoca que el tráfico en la DRAM y la carga en la caché correlacionen con la naturaleza de los datos procesados, que se pueden recrear píxel por píxel mediante un análisis por canales laterales.
El método es bastante lento; por ejemplo, en un sistema con una GPU integrada AMD Ryzen 7 4800U, el ataque para determinar el nombre de usuario con el que el usuario inició sesión en Wikipedia en otra pestaña tardó 30 minutos y permitió determinar el contenido de los píxeles con una precisión del 97%. En sistemas con una GPU integrada Intel i7-8700, un ataque similar tardó 215 minutos con una precisión del 98%.
Al ejecutar el ataque a través del navegador, el sitio objetivo se abre cíclicamente en un iframe para iniciar el renderizado. Para determinar la información mostrada, la salida del iframe se convierte en una representación en blanco y negro a la que se aplica un filtro SVG, que superpone secuencialmente máscaras que introducen y no introducen una mayor redundancia durante la compresión. En función de la evaluación del cambio en el tiempo de renderizado de muestras de referencia, se destaca la presencia de píxeles oscuros o claros en una posición determinada. La imagen completa se recrea mediante un chequeo píxel por píxel utilizando dichas máscaras.

Los fabricantes de GPU y navegadores fueron informados sobre el problema en marzo, pero ningún proveedor ha preparado una solución, ya que ejecutar un ataque en la práctica no es viable en condiciones ideales y el problema tiene más interés teórico. Google aún no ha tomado una decisión sobre la conveniencia de bloquear el ataque a nivel del navegador Chrome. Chrome es vulnerable ya que permite la carga de iframes de otros sitios sin limpiar las Cookies, permite aplicar filtros SVG a iframes y delega la ejecución del renderizado al GPU. Firefox y Safari no son vulnerables, ya que no cumplen con estos criterios. El ataque tampoco se aplica a los sitios que prohíben la incrustación a través de iframes en otros sitios (por ejemplo, mediante el establecimiento del encabezado HTTP X-Frame-Options en el valor "SAMEORIGIN" o "DENY", así como a través de las configuraciones de acceso utilizando el encabezado Content-Security-Policy).
Fuente: opennet.ru
