Una falla de diseño en los controladores de GPU fabricados por Apple, Qualcomm, AMD y posiblemente Imagination puede ser explotada por malhechores en un sistema compartido para espiar a otros usuarios.
Esto significa que personas indeseables pueden observar, por ejemplo, los grandes modelos de lenguaje y otro software de aprendizaje automático que está siendo acelerado por los procesadores para otros usuarios. Esto será preocupante para aquellos que entrenan o ejecutan modelos de lenguaje grandes en un servidor compartido en la nube. En un sistema no compartido, el malware que logra ejecutarse en la máquina podría abusar de esta vulnerabilidad para espiar las actividades de la GPU del usuario solitario.
Es crucial destacar que los chips gráficos y sus controladores deberían prevenir este tipo de monitoreo, aislando completamente la memoria y otros recursos utilizados por cada proceso de usuario entre sí. Sin embargo, en la realidad, muchos no implementan de manera segura esta funcionalidad, permitiendo el robo de datos.
La vulnerabilidad, identificada como CVE-2023-4969 y llamada LeftoverLocals, fue descubierta por Tyler Sorensen, ingeniero de seguridad en el equipo de aseguramiento de IA y ML de Trail of Bits y profesor asistente en la Universidad de California, Santa Cruz.
La investigación hecha pública el martes detalló cómo los malhechores pueden aprovechar la vulnerabilidad para leer datos a los que no deberían tener acceso en la memoria local de la GPU de un sistema. Además, se publicó un código de prueba de concepto para espiar a un chatbot LLM en conversación con otro usuario en una máquina compartida acelerada por GPU.
Para explotar la falta de seguridad, el atacante solo necesita tener acceso suficiente a una GPU compartida para ejecutar código de aplicación en ella. Este código, a pesar de las protecciones de aislamiento, en una configuración vulnerable puede extraer datos de la memoria local en áreas que han sido utilizadas por otros programas como caché de datos. La explotación implica inspeccionar estas áreas de caché en busca de valores escritos por otros usuarios y procesos, y exfiltrar esa información.
Idealmente, cada caché debería borrarse después de que un programa termine de usarla, evitando el robo de datos. Esta eliminación no ocurre automáticamente, permitiendo que otras aplicaciones en la GPU observen los contenidos restantes. De ahí el nombre, LeftoverLocals.
«Esta fuga de datos puede tener graves consecuencias de seguridad, especialmente dada la proliferación de sistemas de aprendizaje automático, donde la memoria local se utiliza para almacenar entradas, salidas y pesos del modelo», según Sorensen y Heidy Khlaaf, directora de ingeniería de Trail of Bits para aseguramiento de IA y ML.
Aunque la vulnerabilidad potencialmente afecta a todas las aplicaciones de GPU en chips vulnerables, es especialmente preocupante para aquellas que procesan aplicaciones de aprendizaje automático debido a la cantidad de datos que estos modelos manejan utilizando GPU, y por lo tanto, la cantidad de información potencialmente sensible que podría ser robada al explotar este problema.
«LeftoverLocals puede filtrar ~5.5 MB por invocación de GPU en un AMD Radeon RX 7900 XT que, al ejecutar un modelo de 7B en llama.cpp, suma ~181 MB para cada consulta de LLM», explicaron Sorensen y Khlaaf. «Esto es suficiente información para reconstruir la respuesta del LLM con alta precisión».
Los cazadores de errores han estado trabajando con los fabricantes de GPU afectados y el Centro de Coordinación CERT para abordar y divulgar las fallas desde septiembre de 2023.
AMD, en un boletín de seguridad emitido el martes, dijo que planea comenzar a implementar mitigaciones en marzo a través de actualizaciones de controladores. La empresa también confirmó que muchos de sus productos son vulnerables a la fuga de memoria, incluyendo múltiples versiones de sus procesadores de escritorio y móviles Athlon y Ryzen, tarjetas gráficas Radeon y GPUs para centros de datos Radeon e Instinct.
Cuando se le preguntó acerca de LeftoverLocals, un portavoz de AMD dirigió a The Register al boletín con sus planes de mitigación y envió la siguiente declaración:
Según nuestra comprensión actual de los investigadores, si un usuario está ejecutando software malicioso en la misma máquina local, los contenidos finales de la memoria de rascador del programa de GPU que se utiliza para el almacenamiento temporal de datos durante la operación podrían ser visibles para un actor malintencionado. Es importante señalar que no hay exposición a ninguna otra parte del sistema y no se comprometen los datos del usuario. Dado que la explotación requiere instalar software malicioso, AMD recomienda que los usuarios sigan las mejores prácticas de seguridad, incluida la protección del acceso a su sistema y no descargar software desconocido.
Google señaló a Trail of Bits que algunas GPU de Imagination se ven afectadas y que el diseñador del procesador lanzó una solución para sus vulnerabilidades el mes pasado.
Además, un portavoz de Google le dio a The Register la siguiente declaración:
Google es consciente de esta vulnerabilidad que afecta a las GPU de AMD, Apple y Qualcomm. Google ha lanzado soluciones para los dispositivos ChromeOS con GPU de AMD y Qualcomm afectadas como parte de las versiones 120 y 114 en los canales Estable y LTS, respectivamente. Los usuarios de dispositivos ChromeOS que no están anclados a una versión no necesitan tomar ninguna medida. Los clientes que están anclados a una versión no compatible deben actualizar para recibir la solución.
Mientras tanto, Apple le dijo a The Register que sus procesadores de las series M3 y A17 tienen soluciones para la vulnerabilidad y se negó a comentar sobre la evaluación de los científicos de que «el problema parece seguir presente en el Apple MacBook Air (M2)».
«Además, el recientemente lanzado Apple iPhone 15 no parece verse afectado, a diferencia de las versiones anteriores», agregó el equipo de Trail of Bits.
Un portavoz de Apple también nos dijo que la empresa gigante agradece el trabajo de los investigadores, ya que avanza en la comprensión de este tipo de amenazas.
Qualcomm ha emitido un parche de firmware, aunque según los investigadores solo soluciona el problema para algunos dispositivos. El gigante de los chips no respondió a las preguntas de The Register.
Nvidia y Arm, según se informa, no se ven afectados. Esa es la buena noticia: muchos aceleradores de IA en la nube provienen de Nvidia, por lo que si estás entrenando o ejecutando en esos, estarás bien. Los demás, especialmente Apple, Imagination y Qualcomm, no son conocidos por su presencia en las piscinas públicas de GPU en la nube, por lo que el riesgo allí es limitado.