Il y a des avantages majeurs à exécuter des charges de travail d’IA localement, 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.
Comme le rapporte BipOrdinateurcette nouvelle faille de sécurité (tracée comme CVE-2023-4969) a été surnommé LeftoverLocals après avoir été découvert 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 de grands modèles de langage (LLM) et les processus d’apprentissage automatique au niveau local. 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.
Selon un article de blog Selon 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 encore plus loin en créant une preuve de concept (disponible sur GitHub) qui montre comment la vulnérabilité LeftoverLocals peut être exploitée pour récupérer 5,5 Mo de données par invocation de GPU, bien que la quantité exacte de données récupérées dépende de la structure du GPU. Par exemple, sur un GPU AMD Radeon RX 7900 XT En exécutant le LLM open source llama.cpp, un attaquant pourrait récupérer jusqu’à 181 Mo de données d’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.
Vos appareils sont peut-être déjà patchés
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 iPhone 12 Pro sont vulnérables, Apple iPhone15 ligne ainsi que la MacBook M3 et les autres ordinateurs portables et ordinateurs alimentés par 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 qui sont 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.