Processeur CPU

La sécurité, ce parent pauvre

AMD, Apple, Qualcomm : quand les GPU laissent fuiter des données, l’IA trinque

Processeur CPU

Abonnez-vous pour tout dévorer et ne rien manquer.

Déjà abonné ? Se connecter

Abonnez-vous

Des chercheurs ont découvert une importante vulnérabilité dans les GPU de plusieurs constructeurs. Exploitée, elle peut permettre la récupération d’une grande partie des données présentes dans la mémoire des puces graphiques. Le danger est significatif dans le cadre des grands modèles de langage.

Poussées par la demande explosive en matière d’IA, les ventes de GPU n’ont jamais été aussi importantes. Le besoin en calculs semble exponentiel, au point que les grandes entreprises impliquées – Microsoft, Google, Amazon… – produisent toutes désormais leurs propres puces. En parallèle, NVIDIA bat tous ses records. La demande est telle qu’il faut souvent attendre plusieurs mois les livraisons de certaines puces, notamment A100 et H100.

Dans ce contexte tendu, une équipe de chercheurs de la société The Trail of Bits vient d’annoncer les résultats de ses recherches. Ils font la démonstration d’une vulnérabilité, nommée LeftoverLocals (CVE-2023-4969). Elle est capable de révéler une partie de ce que contient la mémoire graphique, par tranches de 5 à 180 Mo. Quelques bits pouvant parfois suffire à créer un problème de sécurité, le danger est concret.

Des fuites massives

L’exploitation de LeftoverLocals demande quelques prérequis, notamment de posséder déjà un certain niveau d’accès au système d’exploitation. Ce peut être accompli via un accès physique bien sûr, mais également via l’enchainement de plusieurs failles pour parvenir à une escalade de privilèges. Un bon exemple de ce type d’attaque est la campagne Triangulation menée contre les iPhone d’employés de Kaspersky l’année dernière.

En temps normal, des sécurités existent pour isoler les utilisateurs d’une même machine, que ce soit un ordinateur ou un serveur. Même chose dans le cas d’un serveur virtualisé. Or, avec LeftoverLocals, ces barrières disparaissent. Un pirate serait ainsi en mesure d’exfiltrer une grande quantité de données directement depuis la mémoire, sans distinction des droits d’accès.

Les données en question peuvent être de différents types, dont les requêtes et réponses générées par les grands modèles de langage (LLM). Plus généralement, toutes les données transitant dans les modèles d'IA peuvent ainsi être récupérées. Et il suffit que le système d'IA lié manipule des données sensibles pour que la fuite devienne vite majeure.

Dix lignes de code

Les chercheurs indiquent dans leur page dédiée qu’il ne leur a fallu que dix lignes de code pour mettre au point un processus capable d’écouter. Dans leur démonstration, ils montrent comment ce processus peut transmettre, en temps réel, les questions et réponses d’un LLM à un autre processus, chargé d’écrire ces valeurs en mémoire.

Le processus peut faire fuiter environ 5,5 Mo de données pour chaque invocation de GPU sur une Radeon RX 7900XT. En faisant fonctionner un modèle 7B sur llama.cpp, chaque requête vers le modèle permet de récupérer 181 Mo. Une quantité largement suffisante « pour reconstruire la réponse du LLM avec une grande précision », indiquent les chercheurs.

Ils pointent un manque flagrant d’isolation dans la mémoire, alors qu’elle est répandue pour les CPU. « Nous avons observé que sur les GPU impactés, il est possible pour un noyau – potentiellement d'un utilisateur co-résident sur la même machine – d'observer des valeurs dans la mémoire locale écrites par un autre noyau ».

Apple, AMD, Imagination et Qualcomm touchées

Les quatre entreprises ont confirmé que leurs puces étaient touchées.

Chez Apple, et malgré une communication apparemment difficile, les puces A17 et M3 (les plus récentes) contiennent des correctifs. Les chercheurs expliquent que des tests menés sur un iPhone 15 et un Mac M3 n’ont effectivement rien donné. Apple n’a répondu que le 13 janvier, mais avait visiblement déjà commencé à déployer des correctifs : « Nous avons retesté la faille le 10 janvier et il semble que certains appareils aient été mise à jour, par exemple l'Apple iPad Air 3 (A12) ». En revanche, lors des tests en janvier, la faille pouvait toujours être exploitée sur un MacBook Air M2.

Côté AMD, c’est encore un peu plus compliqué. L’enquête est en cours, mais le plan est actuellement de publier des « atténuations optionnelles » en mars. La société a publié un bulletin de sécurité recensant les nombreux produits touchés par cette faille, des séries 3000 aux séries 7000 des Athlon/Ryzen, toutes les Radeon RX depuis la série 5000, tous les modèles PRO W5000 à W7000, ou encore de nombreux modèles Instinct (dont les récentes MI300A et MI300X) pour centres de données.

« AMD prévoit de créer un nouveau mode qui empêche les processus de s'exécuter en parallèle sur le GPU et efface la mémoire locale entre les processus sur les produits pris en charge. Ce mode serait conçu pour être défini par un administrateur et ne serait pas activé par défaut. La documentation relative à ce nouveau mode, ainsi que les détails concernant la mise à jour des produits AMD, seront fournis dans une prochaine mise à jour de cet avis de sécurité », indique l’entreprise. Rien n’est dit sur une éventuelle perte de performances, comme souvent quand des mesures de sécurité sont intégrées.

Imagination Technologie a mis en ligne un bulletin d’alerte. La société y précise que ses pilotes et firmware ont été mis à jour (version 23.3 de DDK publié en décembre 2023) afin d’ajouter « une protection pour empêcher cette mauvaise utilisation de la mémoire locale ».

À Wired, Qualcomm a déclaré être en train de diffuser des correctifs à ses clients. « Nous encourageons les utilisateurs finaux à appliquer les mises à jour de sécurité dès qu'elles sont disponibles auprès des fabricants de leurs appareils », a ajouté Qualcomm. Les chercheurs ont confirmé que ces mises à jour étaient bel et bien distribuées.

Une situation complexe à régler

La situation force d’autres entreprises à réagir, dont Google. La société de Mountain View a indiqué être « au courant de cette vulnérabilité qui affecte les GPU d'AMD, d'Apple et de Qualcomm. Google a publié des correctifs pour les appareils ChromeOS équipés de GPU AMD et Qualcomm concernés ».

Il ne semble pas, à l’heure actuelle, que les GPU de NVIDIA, Intel ou Arm soient touchés par la faille LeftoverLocals. Le CERT de l’université Carnegie Mellon indique avoir reçu un communiqué de NVIDIA : « Nos équipes de développement ont étudié cette brèche et ont déterminé que nous ne sommes pas concernés par ce problème ». Idem chez Arm : la société affirme avoir « analysé le PoC et les résultats qu'il a produits, et a conclu que les GPU Mali n’étaient pas affectés par ce problème ». Le CERT n’a pas de retour d’Intel pour le moment.

L’équipe de The Trail of Bits rappelle toutefois que des travaux universitaires avaient été menés sur les GPU NVIDIA l’année dernière. Présentés en juillet, ils montraient que des informations pouvaient fuiter. La publication de ces résultats explique peut-être pourquoi NVIDIA n’est pas concernée par LeftoverLocals.

La découverte des chercheurs ayant eu lieu l’été dernier, un travail de coordination a lieu depuis, avec l’US-CERT et le consortium Khronos. Cependant, l’équipe prévient que la situation est complexe, à cause du très grand nombre de produits intégrant les puces incriminées. Comme toujours dans ce cas, c’est la diffusion des correctifs qui pose problème.

La sécurité des systèmes d'IA une nouvelle fois sur le devant de la scène

La situation, bien que directement liée au matériel, pose une nouvelle fois la question de la sécurité des systèmes d'IA. Le sujet revient régulièrement sous le feu des projecteurs depuis quelques mois. Depuis le début de l’année, nous y avons déjà consacré deux articles.

Le risque est toujours le même : un contrôle plus ou moins complet des informations circulant dans les modèles, avec à la clé des fuites plus ou moins importantes d’informations.

Le cas rappelle bien sûr les failles Spectre et Meltdown qui ont durement impacté les processus x86, avec des conséquences en cascades. Durant de longs mois, les correctifs se sont enchainés dans les logiciels et systèmes d’exploitation pour s’en prémunir. Ces failles, et d’autres encore, ont forcé les concepteurs de processeurs à revoir une bonne partie de leur sécurité. Ces modifications ont entrainé également une baisse des performances brutes.

Cet aspect revient régulièrement dans les conversations sur l’IA. Ainsi, dans notre article du 9 janvier, le NIST pointait le danger existant entre besoin de puissance et développement rapide des technologies. L’institut américain soulignait que les mesures d’atténuation des risques existaient, mais qu’elles se faisaient au détriment de la précision ou du temps de calcul. Parfois des deux.

IA, GPU, même combat ?

Le constat est le même pour les GPU, qui n’ont pas encore à subir une succession de grandes failles matérielles, comme l’ont été Spectre et Meltdown. Les chercheurs de The Trail of Bits mettent d’ailleurs en garde : la course effrénée aux performances entraine des « risques de sécurité inconnus », de nombreux composants intervenant dans l’apprentissage automatique n’ayant « pas été rigoureusement examinés par des experts en sécurité ».

LeftoverLocals s’inscrit ainsi dans un contexte plus général de sensibilisation aux risques posés par la sécurité des GPU. La question se pose d’autant que la partie graphique est parfois intégrée dans le CPU, comme chez Apple. « Le GPU a accès à l'intégralité de la mémoire et, comme nous le constatons, il peut s'avérer peu sûr. Plutôt que de le séparer, on le place au cœur d'un SoC. Nous devons donc réfléchir sérieusement à la sécurité du GPU, en particulier dans ce contexte où il a désormais potentiellement accès à la mémoire du CPU ».

La faille LeftoverLocals pourrait servir de coup de fouet au monde de la puce graphique et inciter à la prudence. Cependant, les plans étant établis des années à l’avance, il est peu probable que l’on observe des retombées significatives.

Pour l’instant, les recommandations des chercheurs s’orientent vers la modification du code des noyaux graphiques dans les GPU. Les threads devraient en outre toujours vider la mémoire locale après l’avoir utilisée. Les développeurs pourraient s’assurer, de leur côté, que ces instructions de vidage mémoire ne sont pas supprimées par le compilateur. Les chercheurs sont cependant conscients que ces contrôles sont difficiles à mettre en place.

Commentaires (10)


par contre, cette image stock est vraiment horrible, rien ne va avec les pistes plus grosses que les pattes des puces, et qui en plus viennent ENTRE les pattes, les labels dans plus de 2 directions, des labels qui se répètent, des résistances RGB (lol) labellisées comme des condos et vice versa, etc.
Peu importe que les pistes passent entre les pattes, y'a pas de pad. Vu le format, peu de chance qu'il y ait des pads en dessous, j'en conclus donc que les puces sont très certainement... posées. Elles sont là pour faire beau... ah ben ça tombe bien.
Ça ressemble surtout à une vue d'artiste, faite pour illustrer de manière plaisante uniquement.
L'image est la même que celle que l'on trouve il me semble dans le logiciel de conception Altium Design. Les variations de couleur peuvent exister sur les condensateurs en fonction de la céramique utilisée mais je ne souvient pas avoir vu du bleu jusqu'ici.

Concernant les pistes, c'est très joli mais le cuivre s'oxydant très vite, une telle carte ne serait réalisable qu'en cuivre passivé OSP et il faut que la brasure soit réalisée dans les 8 jours calendaires après fabrication. De même, les vernis épargne sont souvent verts, parfois noir, rouge, blanc, mais je n'en ai jamais vu des transparent.

C'est donc joli mais cela fait effectivement saigner les yeux des électroniciens.
Solder mask transparent : https://docs.oshpark.com/services/afterdark/
Pour le reste, oui, j'ai les yeux qui saignent :pleure:
C'est une illustration, pas du factuel...

Pour moi en tout cas, depuis plus de 30 ans, encore jamais vu de pistes de circuits électroniques devenir électroluminescentes comme sur cette vue... d'artiste...

Erwan123

C'est une illustration, pas du factuel...

Pour moi en tout cas, depuis plus de 30 ans, encore jamais vu de pistes de circuits électroniques devenir électroluminescentes comme sur cette vue... d'artiste...
c'est un phénomène quantique :mad2:

anagrys

c'est un phénomène quantique :mad2:
Ils y ont étalé une crème spéciale, à 600€ les 5ml ? :D

Erwan123

Ils y ont étalé une crème spéciale, à 600€ les 5ml ? :D
Le truc, c'est que la crème est à la fois étalée et pas étalée...

Par contre, le principe de Schrödinger ne s'applique pas aux pigeons : qu'on les regarde ou pas, ils se sont fait plumer !

fdorin

Le truc, c'est que la crème est à la fois étalée et pas étalée...

Par contre, le principe de Schrödinger ne s'applique pas aux pigeons : qu'on les regarde ou pas, ils se sont fait plumer !
:mdr2:
Fermer