Investigadores de la firma de consultoría e investigación en ciberseguridad Trail of Bits han descubierto un Vulnerabilidad que podría permitir a los atacantes leer la memoria local de la GPU de las GPU Apple, Qualcomm, AMD e Imagination afectadas.. En particular, la vulnerabilidad, que los investigadores denominaron LeftoverLocals, puede acceder a conversaciones realizadas con grandes modelos de lenguaje y modelos de aprendizaje automático en las GPU afectadas.
¿Qué GPU se ven afectadas por la vulnerabilidad LeftoverLocals y qué se ha parcheado?
Las GPU de Apple, Qualcomm, AMD e Imagination se ven afectadas. Los cuatro proveedores han publicado algunas soluciones, como se muestra a continuación:
- Apple ha publicado correcciones para los procesadores de las series A17 y M3 y para algunos dispositivos específicos, como el Apple iPad Air 3rd G (A12); Apple no proporcionó una lista completa de los dispositivos protegidos. A partir del 16 de enero, el Apple MacBook Air (M2) era vulnerable, según Trail of Bits. Los recientes iPhone 15 de Apple no parecen ser vulnerables. Cuando TechRepublic le pidió más detalles, Apple proporcionó una declaración escrita previamente agradeciendo a los investigadores por su trabajo.
- AMD planea lanzar un nuevo modo para solucionar el problema en marzo de 2024. AMD publicó una lista de productos afectados.
- Controladores y firmware actualizados de Imagination para prevenir la vulnerabilidad, que afectó a las versiones de DDK hasta la 23.2 inclusive.
- Qualcomm lanzó un parche para algunos dispositivos, pero no proporcionó una lista completa de qué dispositivos están afectados y qué no.
¿Cómo funciona la vulnerabilidad LeftoverLocals?
En pocas palabras, es posible usar una región de memoria de GPU llamada memoria local para conectar dos núcleos de GPU, incluso si los dos núcleos no están en la misma aplicación ni los usa la misma persona. El atacante puede utilizar aplicaciones informáticas de GPU como OpenCL, Vulkan o Metal para escribir un kernel de GPU que vuelque la memoria local no inicializada en el dispositivo de destino.
Las CPU normalmente aíslan la memoria de una manera que no sería posible utilizar un exploit como este; Las GPU a veces no lo hacen.
VER: Se descubrió que los actores de amenazas del estado-nación estaban explotando dos vulnerabilidades en Ivanti Secure VPN a principios de enero (TechRepublic)
En el caso de modelos de lenguaje grande de código abierto, el proceso LeftoverLocals se puede utilizar para «escuchar» las operaciones de álgebra lineal realizadas por el LLM e identificar el LLM mediante pesos de entrenamiento o patrones de diseño de memoria. A medida que continúa el ataque, el atacante puede ver la conversación interactiva de LLM.
En ocasiones, el oyente puede devolver tokens incorrectos u otros errores, como palabras semánticamente similares a otras incrustaciones. Trail of Bits descubrió que su oyente extrajo la palabra «Facebook» en lugar del token de entidad nombrada similar, como «Google» o «Amazon», que el LLM realmente produjo.
El NIST rastrea LeftoverLocals como CVE-2023-4969.
¿Cómo pueden las empresas y los desarrolladores defenderse de LeftoverLocals?
Además de aplicar las actualizaciones de los proveedores de GPU mencionados anteriormente, los investigadores Tyler Sorensen y Heidy Khlaaf de Trail of Bits advierten que mitigar y verificar esta vulnerabilidad en dispositivos individuales puede resultar difícil.
Los archivos binarios de GPU no se almacenan explícitamente y no existen muchas herramientas de análisis para ellos. Los programadores deberán modificar el código fuente de todos los núcleos de GPU que utilizan memoria local. Deben asegurarse de que los subprocesos de la GPU borren la memoria de cualquier ubicación de memoria local que no se utilice en el kernel y verificar que el compilador no elimine estas instrucciones de borrado de memoria posteriormente.
Los desarrolladores que trabajan en aprendizaje automático o los propietarios de aplicaciones que utilizan aplicaciones de aprendizaje automático deben tener especial cuidado. «Muchas partes de la pila de desarrollo de ML tienen riesgos de seguridad desconocidos y no han sido revisadas rigurosamente por expertos en seguridad», escribieron Sorensen y Khlaaf.
Trail of Bits ve esta vulnerabilidad como una oportunidad para que la comunidad de sistemas GPU refuerce la pila del sistema GPU y las especificaciones correspondientes.