Après le douloureux épisode Meltdown/Spectre (et leurs variantes) sur les processeurs, les chercheurs de l'université de Riverside en Californie se sont penchés sur les cartes graphiques NVIDIA.
Ils affirment pouvoir utiliser les GPU « pour espionner les activités Web, voler les mots de passe et entrer dans des applications cloud ». Dans tous les cas, il faut d'abord que l'utilisateur télécharge sur sa machine un logiciel malveillant, qui se chargera ensuite d'espionner le GPU de la machine.
Les chercheurs expliquent que « les GPU sont généralement programmés à l'aide d'API telles que OpenGL. OpenGL est accessible à n’importe quelle application sur un poste de travail avec des privilèges utilisateur ».
La première attaque permet de suivre l'activité sur Internet car « chaque site possède une trace unique en termes d'utilisation de la mémoire sur le GPU ». En surveillant les allocations mémoires ou les « performance counters », l'application espionne peut ainsi identifier les sites visités par fingerprinting.
La seconde attaque permet d'essayer de récupérer des mots de passe. « Chaque fois qu'un utilisateur tape un caractère, la zone de texte du mot de passe est chargée sur le GPU en tant que texture ».
En surveillant les intervalles de temps, il est possible de connaître le nombre de caractères du mot de passe et le délai précis entre chaque pression de touche. Partant de là, il est possible de le retrouver avec des techniques déjà connues.
Enfin, la dernière attaque concerne les applications utilisant des réseaux de neurones. En lançant en parallèle un travail sur le GPU, l'application espionne pourrait récupérer le nombre de neurones d'une couche spécifique d’un réseau profond.
Bien évidemment, les chercheurs ont contacté NVIDIA. Le fabricant leur a répondu qu'une option sera proposée via un patch pour que les applications avec des privilèges utilisateur n'accèdent plus aux « performance counters ». Elle permettra de contourner le problème, mais sans s'attaquer à sa source.
Un brouillon a également été envoyé à AMD et Intel avant la mise en ligne de la version finale afin qu'ils puissent vérifier si leurs GPU sont également touchés. Rien n'est indiqué concernant une éventuelle réponse de leur part.
Par la suite, l'équipe de l'université de Riverside prévoit de s'attaquer au GPU des terminaux Android.
Commentaires (21)
#1
“Dans tous les cas, il faut d’abord que l’utilisateur télécharge sur sa machine un logiciel malveillant”A partir de cet instant, faille GPU ou pas, c’est quand même mal barré our l’utilisateur…
#2
toujours impressionné par l’ingéniosité de ces méthodes " />
(bon au final faut valider/lancer le logiciel, ça relativise " /> )
#3
Exactement.
Personnellement, je suis dubitatif quant aux attaques trouvées, semblant au mieux très approximatives, au pire carrément divinatoires !
Et puis, avec la main-mise sur le système, il y a de toute façon des méthodes bien plus simples pour mener à bien ces attaques que celles décrites ici (keylogger…).
#4
Si l’utilisateur télécharge un programme malveillant, c’est de toute façon mort pour lui. " />
C’est se compliquer la vie d’utiliser une technique comme ça. " />
#5
La seconde attaque permet d’essayer de récupérer des mots de passe. « Chaque fois qu’un utilisateur tape un caractère, la zone de texte du mot de passe est chargée sur le GPU en tant que texture ».
Ça suppose que le mot de passe tapé est affiché de manière visible à l’écran, ce qui en général n’est pas le cas.
J’avais déjà imaginé ce genre d’attaque en développant un programme de chiffrement de fichiers il y a quelques années, mais je ne savais pas si les API le permettait. J’ai maintenant ma réponse…
#6
Pourquoi s’embeter avec une technique aussi poussée et intrusive, alors que développer une extension chrome est plus simple et sortira les mots de passe et l’historique en clair :-p
#7
Dans tous les cas, il faut d’abord que l’utilisateur télécharge sur sa machine un logiciel malveillant
Geforce Experience ? " />
#8
A noter que si l’on en est à installer un programme malveillant, celui-ci peut simplement charger la base de mots de passe de la plupart des navigateurs (firefox permet de la chiffrer, mais je crois bien que c’est mort chez chrome, IE, edge, etc).
#9
Sinon, j’ai trouvé une faille dans windows, il suffit d’avoir un accés physique à la machine et connaitre tous les mots de passe. " /> C’est qu’on envoie les infos pour toucher le chèque ?
#10
#11
Pas si sur mais de toute façon à partir du moment où tu peux installezr un truc sur le poste clientil ets plus vraiment necessaire de s’embetter a interroger le gpu…
#12
Sauf à vouloir exploiter une faille CPU discrétos.
Sinon,; les pilotes nVidia sont déjà très bavards par eux-mêmes :https://www.cpchardware.com/vie-privee-comment-vos-appareils-vous-espionnent/4/
#13
#14
Ce que vous semblez tous vouloir ignorer, c’est que cette attaque permettra probablement de sauter par-dessus les barrières de virtualisation (comme Meltdown) une fois qu’elle aura été raffinée.
En clair, l’attaquant provisionnera une machine virtuelle sur Amazon ou Azure, y installera le soft malveillant, et pour peu que le GPU est accessible (virtualisé) il pourra l’utiliser comme side channel pour espionner les autres VMs sur la même machine physique.
#15
un attaquant étatique (coucou les usa) peut facilement rajouter ce genre de logiciel malveillant dans les pilotes officiels…
#16
#17
LOL, heureusement qu’ils n’ont pas inventer l’eau chaude.
Du moment que tu a accès à la carte graphique (de n’importe quelle marque et n’importe quel modèle),
pas besoin des décryptages de fou ni des privilèges sur la machine pour voir les activités de l’utilisateur.
Il suffit d’envoyer en streaming ce qui est affiché à l’écran vers un serveur pirate.
Tout ce qui est affiché à l’écran passe par la carte graphique, non ???
Je te jure des fois….
Bientôt ils vont nous inventer le moteur qui consomme du détritus fermenté depuis des millions d’années enfoui dans le sol qu’on appelle plus communément le pétrole. LOL
#18
À part bien nous faire comprendre que tu n’as pas saisi toute la subtilité de l’attaque, qu’essaies-tu de nous dire par ce “LOL” dédaigneux ?
Encore une fois, le problème vient ici qu’une application sans privilège pourrait espionner un mot de passe que l’utilisateur tape dans l’écran UAC de Windows (et un probable équivalent sous Linux que je ne pourrais nommer) qui n’est pas censé être observable par une application tierce.
Et par pitié, merci de relire l’article - voire essayer de le comprendre - avant de fanfaronner “hahaha mais le mot de passe n’est pas affiché en clair”. Il n’est pas ici question de faire de l’OCR sur ce qui est affiché mais du micro-timing entre les pressions de touche en observant les pics d’activité de la carte graphique. Et des études ont démontré que ces timings précis permettent de deviner avec une grande probabilité les touches tapées, ce qui permet de restreindre de façon considérable le nombre de tentative en force brute…
J’te jure, des fois…
#19
Wtf, je savais pas ça. Oo
Même pour Steam ! Y’a des astuces pour empêcher ça?
J’utilise déjà ce fichier host : https://github.com/StevenBlack/hosts
Merci.
#20
Faut savoir s’informer. Il me semble que NXI en a parlé aussi…
Après… bah.
REM — Désactiver la télémétrie depuis le Panneau de Configuration Nvidia (dans le menu “Aide”… “Autoriser le programme d’amélioration de l’expérience”)
REG ADD “HKEY_CURRENT_USER\SOFTWARE\NVIDIA Corporation\NVControlPanel2\Client” /v “OptInOrOutPreference” /t REG_DWORD /d “0” /f
REM — Désactiver les tâches relatives à la télémétrie Nvidia, opérant dès le login et se renouvellant chaque heure, mais semble inopérant sans Geforce Experience
Schtasks /Change /TN “\NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
Schtasks /Change /TN “\NvTmRep_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
Schtasks /Change /TN “\NvTmRepOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
Schtasks /Change /TN “\NvTmRepCR1_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
Schtasks /Change /TN “\NvTmRepCR2_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
Schtasks /Change /TN “\NvTmRepCR3_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}” /Disable
REM — Désactiver le service de Télémétrie Nvidia, apparement une nouveauté des 38X.XX
SC Config NvTelemetryContainer Start=Disabled
SC STOP NvTelemetryContainer
REM — Juste pour s’assurer que les services de télémétrie ne redémarrent pas en douce
REG ADD “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NvTelemetryContainer” /v “FailureActions” /t REG_BINARY /d “0A000000000000000000000003000000” /f
Pour Steam, on repassera…
#21
Je savais qu’ils étaient bavards, mais pas à ce point, non plus pour Steam.
Je modifie mon fichier HOST donc je pense être déjà très alerte à ce sujet. " />
Je télécharge les drivers Nvidia en mode “Clean version” sur Guru3D et la telemetry est supprimé d’office.