Les GPU de tous les principaux fournisseurs sont vulnérables à une nouvelle attaque de vol de pixels
-
Un canal latéral de compression jusqu’alors inconnu dans les GPU peut exposer des images considérées comme privées.
Les GPU des six principaux fournisseurs sont vulnérables à une attaque récemment découverte qui permet à des sites Web malveillants de lire les noms d’utilisateur, les mots de passe et d’autres données visuelles sensibles affichées par d’autres sites Web, ont démontré des chercheurs dans un article publié mardi.
L’attaque multi-origine permet à un site Web malveillant d’un domaine (par exemple, exemple.com) de lire efficacement les pixels affichés par un site Web d’exemple.org ou d’un autre domaine différent. Les attaquants peuvent alors les reconstruire de manière à pouvoir visualiser les mots ou les images affichés par ce dernier site. Cette fuite viole un principe de sécurité essentiel qui constitue l’une des barrières de sécurité les plus fondamentales protégeant Internet. Connue sous le nom de politique de même origine , elle exige que le contenu hébergé sur un domaine de site Web soit isolé de tous les autres domaines de site Web.
Optimiser la bande passante à un coûtGPU.zip, comme l’attaque de preuve de concept a été nommée, commence par un site Web malveillant qui place un lien vers la page Web qu’il souhaite lire dans une iframe, un élément HTML courant qui permet aux sites d’intégrer des publicités, des images , ou tout autre contenu hébergé sur d’autres sites Web. Normalement, la même politique d’origine empêche l’un ou l’autre site d’inspecter le code source, le contenu ou le produit visuel final de l’autre. Les chercheurs ont découvert que la compression des données utilisée par les GPU internes et discrets pour améliorer les performances agit comme un canal secondaire dont ils peuvent abuser pour contourner la restriction et voler les pixels un par un.
“Nous avons constaté que les GPU modernes tentent automatiquement de compresser ces données visuelles, sans aucune implication de l’application”, a écrit Yingchen Wang, auteur principal et chercheur à l’Université du Texas à Austin, dans un e-mail. « Ceci est fait pour économiser la bande passante mémoire et améliorer les performances. Puisque la compressibilité dépend des données, cette optimisation crée un canal secondaire qui peut être exploité par un attaquant pour révéler des informations sur les données visuelles.
Pour que GPU.zip fonctionne, une page malveillante doit être chargée dans les navigateurs Chrome ou Edge. Les différences cachées dans le fonctionnement de Firefox et Safari empêchent l’attaque de réussir lorsque ces navigateurs traitent une page d’attaque. Une autre exigence est que la page liée dans l’iframe ne doit pas être configurée pour refuser d’être intégrée par des sites Web d’origine croisée.
Les menaces de sécurité qui peuvent résulter de l’intégration de HTML dans des iframes sur des sites Web malveillants sont bien connues depuis plus d’une décennie. La plupart des sites Web restreignent l’intégration multi-origine de pages affichant des noms d’utilisateur, des mots de passe ou d’autres contenus sensibles via les en-têtes X-Frame-Options ou Content-Security-Policy. Cependant, ce n’est pas le cas de tous. Un exemple est Wikipédia, qui affiche les noms d’utilisateur des personnes qui se connectent à leurs comptes. Une personne qui souhaite rester anonyme tout en visitant un site en lequel elle n’a pas confiance pourrait être démasquée si celui-ci contenait une iframe contenant un lien vers https://en.wikipedia.org/wiki/Main_Page.
PoC volant des pixels pour désanonymiser un utilisateur, exécuté avec d’autres onglets ouverts pour lire la vidéo. « Ground Truth » est l’iframe de la victime (Wikipedia connecté sous le nom « Yingchenw »). « AMD » est le résultat de l’attaque sur un Ryzen 7 4800U après 30 minutes, avec une précision de 97 %. « Intel » est le résultat de l’attaque d’un i7-8700 après 215 minutes avec une précision de 98 %.Les chercheurs ont montré comment GPU.zip permet à un site Web malveillant qu’ils ont créé pour leur PoC de voler les pixels un par un pour le nom d’utilisateur Wikipédia d’un utilisateur. L’attaque fonctionne sur les GPU fournis par Apple, Intel, AMD, Qualcomm, Arm et Nvidia. Sur le Ryzen 7 4800U d’AMD, GPU.zip a mis environ 30 minutes pour restituer les pixels ciblés avec une précision de 97 %. L’attaque a nécessité 215 minutes pour reconstruire les pixels lorsqu’ils étaient affichés sur un système exécutant un Intel i7-8700.
Tous les GPU analysés utilisent des formes propriétaires de compression pour optimiser la bande passante disponible dans le bus de données mémoire du PC, du téléphone ou de tout autre appareil affichant le contenu ciblé. Les schémas de compression diffèrent d’un fabricant à l’autre et ne sont pas documentés, c’est pourquoi les chercheurs ont procédé à une rétro-ingénierie de chacun d’entre eux. Les informations ont donné naissance à une méthode qui utilise le SVG, ou format d’image graphique vectoriel évolutif, pour maximiser les différences de trafic DRAM entre les pixels cibles noirs et blancs en présence de compression. Bien que leur article traite de GPU.zip tel qu’il s’applique aux iGPU ou aux GPU internes, la technique s’applique également aux GPU autonomes ou discrets.
Dans leur article, les chercheurs ont écrit :
Nous démontrons qu’un attaquant peut exploiter le canal de compression basé sur iGPU pour effectuer des attaques de vol de pixels d’origine croisée dans le navigateur à l’aide de filtres SVG (la dernière version de Google Chrome en avril 2023), même si les filtres SVG sont implémentés à temps constant. La raison en est que l’attaquant peut créer des modèles hautement redondants ou hautement non redondants en fonction d’un seul pixel secret dans le navigateur. Comme ces modèles sont traités par l’iGPU, leurs différents degrés de redondance font que la sortie de compression sans perte dépend du pixel secret. Le résultat de la compression dépendant des données se traduit directement par un trafic DRAM dépendant des données et une occupation du cache dépendant des données. Par conséquent, nous montrons que, même dans le modèle de menace le plus passif, dans lequel un attaquant ne peut observer que des informations de redondance à granularité grossière d’un modèle à l’aide d’un minuteur à granularité grossière dans le navigateur et n’a pas la capacité de sélectionner l’entrée de manière adaptative, des pixels individuels peuvent être fuite. Notre attaque de preuve de concept réussit sur une gamme d’appareils (y compris des ordinateurs et des téléphones) provenant de divers fournisseurs de matériel dotés d’architectures GPU distinctes (Intel, AMD, Apple, Nvidia). Étonnamment, notre attaque réussit également sur les GPU discrets, et nous avons des résultats préliminaires indiquant la présence d’une compression transparente par logiciel sur ces architectures également.
Une menace maintenant ? Probablement pas. Mais…
La compression des données est une fonctionnalité courante permettant d’augmenter les performances des logiciels et du matériel. Il utilise des mathématiques complexes pour représenter les redondances dans un fichier ou un morceau de données et réduire le nombre de bits dont il dispose. La compression est également un canal secondaire courant qui constitue la pierre angulaire de plusieurs attaques au cours de la dernière décennie. Les exemples incluent : l’exploit CRIME , ou Compression Ratio Info-leak Made Easy, pour décrypter une partie du trafic HTTPS ; une autre attaque contre le cryptage HTTPS connue sous le nom de BREACH , abréviation de Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext ; une attaque connue sous le nom de VORACLE de 2018 ; et, en 2021, les attaques par canal latéral de synchronisation pratique contre la compression de la mémoire .
Comme indiqué précédemment, GPU.zip ne fonctionne que lorsque le site Web malveillant de l’attaquant est chargé dans Chrome ou Edge. La raison : Pour que l’attaque fonctionne, le navigateur doit :
- permettre aux iframes d’origine croisée d’être chargées avec des cookies
- autoriser le rendu des filtres SVG sur les iframes et
- déléguer les tâches de rendu au GPU
Un représentant de Google n’a pas précisé si l’entreprise envisageait de modifier le comportement de Chrome en réponse aux résultats.
“Il s’agit d’une recherche marquante sur le fonctionnement du matériel”, a déclaré le représentant. « Les en-têtes largement adoptés peuvent empêcher l’intégration de sites, ce qui empêche cette attaque, et les sites utilisant l’en-tête par défaut. SameSite=Laxle comportement des cookies bénéficie d’une atténuation significative contre la fuite de données personnalisées. Ces protections, ainsi que la difficulté et le temps requis pour exploiter ce comportement, atténuent considérablement la menace pour les utilisateurs quotidiens. Nous sommes en communication et collaborons activement avec les chercheurs qui rapportent. Nous cherchons toujours à améliorer encore la protection des utilisateurs de Chrome.
Un représentant d’Intel a quant à lui déclaré dans un e-mail que le fabricant de puces avait “évalué les conclusions des chercheurs qui ont été fournies et déterminé que la cause première ne résidait pas dans nos GPU mais dans des logiciels tiers”. Un représentant de Qualcomm a déclaré que “le problème ne fait pas partie de notre modèle de menace car il affecte plus directement le navigateur et peut être résolu par l’application du navigateur si cela est justifié, donc aucun changement n’est actuellement prévu.” Apple, Nvidia, AMD et ARM n’ont pas fourni de commentaire officiel lors de la publication de cet article.
Pour l’instant, GPU.zip est plus une curiosité qu’une menace réelle, mais cela suppose que les développeurs Web empêchent correctement les pages sensibles d’être intégrées par des sites Web d’origine croisée. Les utilisateurs finaux qui souhaitent vérifier si une page a de telles restrictions en place doivent rechercher les en-têtes X-Frame-Options ou Content-Security-Policy dans la source. Pour faire ça:
- Ouvrir la page Web
- Ouvrez la console du développeur
- Recharger la page Web
- Allez dans l’onglet réseau et vérifiez la demande de document principale
- Vérifiez si X-Frame-Options ou Content-Security-Policy y sont définis
La vérification de www.gmail.com montre que X-Frame-Options est défini sur SAMEORIGIN. Cependant, la vérification de https://en.wikipedia.org/wiki/Main_Page montre qu’aucun en-tête de ce type n’est défini.
de mardi Le document de recherche sera présenté lors du 45e Symposium de l’IEEE sur la sécurité et la confidentialité, prévu en mai à San Francisco. Les chercheurs ont un article informatif ici . Même si la menace actuelle posée par GPU.zip est faible, la recherche et les résultats surprenants qu’elle produit sont néanmoins importants pour les concepteurs de matériel et de logiciels.
“Il y a aussi des raisons, au-delà du simple vol de pixels, pour lesquelles les gens pourraient vouloir s’en soucier”, a déclaré Wang. « Premièrement, GPU.zip pourrait permettre d’autres attaques encore à découvrir, au-delà du vol de pixels, qui présentent un plus grand risque pour les utilisateurs finaux. Deuxièmement, GPU.zip est encore un autre exemple d’optimisation matérielle créant un canal secondaire que le logiciel est mal placé pour atténuer. Cela souligne, une fois de plus, que nous, utilisateurs, devons repenser notre confiance dans le matériel en tant que racine de confiance.
-
cool, là je suis content d’utiliser Firefox ^^
-
@Rapace Bof toutes cette guéguerre de navigateurs n’a pu lieu d’être, tout comme celle de Linux/Mac/apple (Google Chrome est peut être à part )
Tiens une des dernières failles 0day exploitant webp est … magie, aussi exploitée sous Firefox :
https://www.it-connect.fr/mozilla-firefox-correctif-faille-zero-day-cve-2023-4863/
Ce n’est pas pour dénigrer Firefox (bien au contraire) c’est juste un exemple parmi tant d’autres. TOUT les systèmes sont vulnérables à un moment ou à un autre, idem pour les applications.
-
Ils sont malins ont peut pas leur enlever ça