L’exécution locale de charges de travail d’IA présente certains avantages majeurs, mais attention : une vulnérabilité récemment découverte peut être exploitée pour obtenir des données restantes des GPU vulnérables d’Apple, AMD, Qualcomm et Imagination Technologies.
Tel que rapporté par BleepingComputer, cette nouvelle faille de sécurité (identifiée comme CVE-2023-4969) a été surnommée LeftoverLocals après avoir été découverte par les chercheurs en sécurité Tyler Sorensen et Heidy Khlaaf de Trail of Bits.
Essentiellement, cette faille permet la récupération des données des GPU concernés exécutant localement des modèles de langage étendus (LLM) et des processus d’apprentissage automatique. Même si un pirate informatique aurait besoin d’un accès physique à un GPU vulnérable sur un système exécutant des charges de travail d’IA pour exploiter cette faille, cette nouvelle méthode d’attaque reste préoccupante.
Que vous exécutiez vous-même des modèles d’IA localement ou que vous soyez simplement préoccupé par les dangers posés par l’IA, voici tout ce que vous devez savoir sur LeftoverLocals, y compris s’il existe déjà un correctif pour cette faille pour vos appareils.
Extraire les données d’IA restantes des GPU vulnérables
AMD Radeon RX 7900 XTX sur fond pastel
Selon un article de blog de Trail of Bits, cette faille de sécurité vient du fait que certains frameworks GPU n’isolent pas complètement leur mémoire. Ainsi, un noyau exécuté sur une machine vulnérable pourrait lire les valeurs stockées dans la mémoire locale qui ont été écrites par un autre noyau.
Les chercheurs en sécurité de Trail of Bits expliquent également qu’un attaquant doit simplement exécuter une application de calcul GPU telle que OpenCL, Vulkan ou Metal pour lire les données laissées dans la mémoire locale d’un GPU par un autre utilisateur. Cela se fait en « écrivant un noyau GPU qui vide la mémoire locale non initialisée », selon les chercheurs.
Ces données récupérées peuvent révéler toutes sortes d’informations sensibles provenant des calculs d’une victime lors de l’exécution locale de modèles d’IA, y compris les entrées, les sorties, les poids et les calculs intermédiaires du modèle.
Les chercheurs en sécurité de Trail of Bits sont allés plus loin en créant une preuve de concept (disponible sur GitHub) qui démontre comment la vulnérabilité LeftoverLocals peut être exploitée pour récupérer 5,5 Mo de données par invocation GPU, bien que la quantité exacte de données récupérées dépende sur le framework GPU. Par exemple, sur un GPU AMD Radeon RX 7900 XT exécutant le LLM open source lama.cpp, un attaquant pourrait récupérer jusqu’à 181 Mo de données IA restantes par requête. C’est plus que suffisant pour reconstruire les réponses d’un LLM avec une grande précision, ce qui permettrait à un attaquant de savoir exactement de quoi vous discutiez avec l’IA en question.
Alors que Trail of Bits a contacté Apple, AMD, Qualcomm et Imagination Technologies en septembre, de nombreuses entreprises ont déjà publié des correctifs pour corriger cette faille ou sont actuellement en train de le faire.
Il convient également de noter que même si le MacBook M2 et l’iPhone 12 Pro sont vulnérables, la gamme iPhone 15 d’Apple ainsi que le MacBook M3 et les autres ordinateurs portables et ordinateurs équipés de M3 ne sont pas affectés.
Selon un bulletin de sécurité d’AMD, certains de ses modèles de GPU sont toujours vulnérables mais ses ingénieurs travaillent sur un correctif. De même, Qualcomm a publié un correctif dans son firmware v2.0.7 qui corrige les LeftoverLocals dans certaines puces mais pas dans d’autres. Pendant ce temps, alors qu’Imagination Technologies a publié un correctif en décembre de l’année dernière avec DDK v23.3, Google a averti ce mois-ci que certains de ses GPU sont toujours vulnérables à cette faille. Heureusement, les GPU Intel, Nvidia et ARM ne sont pas du tout affectés par LeftoverLocals.
Pour les GPU encore vulnérables, Trail of Bits suggère aux entreprises qui les fabriquent de mettre en œuvre un mécanisme d’effacement automatique de la mémoire locale entre les appels du noyau, car cela isole toutes les données sensibles écrites par un seul processus. Cependant, cela peut avoir un impact sur les performances. Néanmoins, étant donné la gravité de la faille LeftoverLocals, ce compromis pourrait en valoir la peine.
Nous en apprendrons probablement davantage sur LeftoverLocals à mesure que les fabricants de GPU s’efforcent d’étouffer cette faille dans l’œuf une fois pour toutes.