Mise à jour du 24/07/23 à 13h30 HP : AMD a répondu avec des détails clés et a publié un avis de sécurité avec les dates prévues pour les nouveaux firmwares, dont beaucoup n’arrivent pas avant la fin de l’année. Nous avons ajouté ces informations à l’article original ci-dessous.
Article original publié le 24/07/23 à 8h45 PT :
Tavis Ormandy, chercheur chez Google Information Security, a publié aujourd’hui une nouvelle vulnérabilité qu’il a découverte indépendamment dans les processeurs Zen 2 d’AMD. La vulnérabilité « Zenbleed » couvre l’ensemble de la pile de produits Zen 2, y compris les processeurs de centre de données EPYC d’AMD et les processeurs Ryzen 3000/4000/5000, permettant le vol d’informations protégées du processeur, telles que les clés de cryptage et les connexions des utilisateurs. L’attaque ne nécessite pas d’accès physique à l’ordinateur ou au serveur et peut même être exécutée via javascript sur une page Web.
AMD n’avait pas d’avis prêt au moment de la publication, mais la société a ajouté le bulletin AMD-SB-7008 quelques heures plus tard. AMD a maintenant des correctifs prêts pour ses processeurs EPYC 7002 «Rome», mais il ne corrigera pas ses puces grand public Zen 2 Ryzen 3000, 4000 et certaines séries 5000 avant novembre et décembre de cette année. Les processeurs d’AMD utilisés pour alimenter la PS5, les Xbox Series X et S et Steam Deck sont tous également alimentés par des puces Zen 2, mais il n’est pas clair si ceux-ci sont impactés. Nous suivons pour plus de détails. Nous avons ajouté des détails ci-dessous sur les calendriers d’atténuation.
AMD n’a pas donné de détails spécifiques sur les impacts sur les performances, mais a publié la déclaration suivante pour Le matériel de Tom: « Tout impact sur les performances variera en fonction de la charge de travail et de la configuration du système. AMD n’a connaissance d’aucun exploit connu de la vulnérabilité décrite en dehors de l’environnement de recherche.
La déclaration d’AMD implique que les correctifs auront un impact sur les performances, mais nous devrons effectuer des tests de performance indépendants lorsque les correctifs arriveront pour les produits grand public Ryzen. En attendant, nous avons demandé à AMD tous les chiffres approximatifs qu’il peut partager.
La vulnérabilité Zenbleed est classée CVE-2023-20593 et permet l’exfiltration (vol) de données à un taux de 30 Ko par cœur, par seconde, fournissant ainsi un débit adéquat pour voler les informations sensibles qui transitent par le processeur. Cette attaque fonctionne sur tous les logiciels exécutés sur le processeur, y compris les machines virtuelles, les bacs à sable, les conteneurs et les processus. La capacité de cette attaque à lire les données sur les machines virtuelles est particulièrement menaçante pour les fournisseurs de services cloud et ceux qui utilisent des instances cloud.
L’attaque peut être accomplie via l’exécution de code arbitraire non privilégié. Ormandy a publié un référentiel de recherche sur la sécurité et le code de l’exploit. L’attaque fonctionne en manipulant les fichiers de registre pour forcer une commande erronée, comme décrit ci-dessous :
« Le bogue fonctionne comme ceci, tout d’abord vous devez déclencher quelque chose appelé XMM Register Merge Optimization2, suivi d’un changement de nom de registre et d’un vzeroupper mal prédit. Tout cela doit se produire dans une fenêtre précise pour fonctionner.
Nous savons maintenant que les opérations de base comme strlen, memcpy et strcmp utiliseront les registres vectoriels – nous pouvons donc espionner efficacement ces opérations qui se produisent n’importe où sur le système ! Peu importe qu’ils se produisent dans d’autres machines virtuelles, bacs à sable, conteneurs, processus, peu importe !
Cela fonctionne car le fichier de registre est partagé par tout sur le même noyau physique. En fait, deux hyperthreads partagent même le même fichier de registre physique », dit Ormandi.
AMD décrit l’exploit beaucoup plus simplement, en disant : « Dans des circonstances microarchitecturales spécifiques, un registre dans les processeurs « Zen 2 » peut ne pas être écrit correctement à 0. Cela peut entraîner le stockage de données d’un autre processus et/ou d’un thread dans le registre YMM, ce qui peut permettre à un attaquant d’accéder potentiellement à des informations sensibles.
Ormandy dit que le bogue peut être corrigé via une approche logicielle pour plusieurs systèmes d’exploitation (par exemple, Windows – « vous pouvez définir le morceau de poulet DE_CFG[9] »), mais cela pourrait entraîner une baisse des performances. Ormandy dit qu’il est fortement recommandé d’obtenir la mise à jour du microcode, mais son article contient également des exemples d’atténuations logicielles pour d’autres systèmes d’exploitation.
Voici une liste des processeurs impactés et le calendrier de sortie des versions AGESA pour les OEM :
Processeur | Micrologiciel Agesa | Disponibilité pour les OEM | Microcode |
Processeurs AMD EPYC Rome de 2e génération | RomePI 1.0.0.H | Maintenant | 0x0830107A |
Série Ryzen 3000 « Matisse » | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | Objectif décembre 2023 pour les deux | ? |
Série Ryzen 4000 « Renoir » AM4 | CombinéAM4v2PI_1.2.0.C | Objectif décembre 2023 | ? |
Threadripper série 3000 « Caslle Peak » | CastlePeakPI-SP3r3 1.0.0.A | Objectif octobre 2023 | ? |
Threadripper PRO série 3000WX « Castle Peak » | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.7 | Objectif novembre 2023 | Objectif décembre 2023 | ? |
Ryzen Série 5000 Mobile « Lucienne » | CézannePI-FP6_1.0.1.0 | Objectif décembre 2023 | ? |
Ryzen Série 4000 Mobile « Renoir » | RenoirPI-FP6_1.0.0.D | Objectif novembre 2023 | ? |
Série Ryzen 7020 « Mendocino » | MendocinoPI-FT6_1.0.0.6 | Objectif décembre 2023 | ? |
- Processeurs AMD Ryzen série 3000
- Processeurs AMD Ryzen PRO série 3000
- Processeurs AMD Ryzen Threadripper série 3000
- Processeurs AMD Ryzen série 4000 avec carte graphique Radeon
- Processeurs AMD Ryzen PRO série 4000
- Processeurs AMD Ryzen série 5000 avec carte graphique Radeon
- Processeurs AMD Ryzen série 7020 avec carte graphique Radeon
- Processeurs AMD EPYC « Rome »
Ormandy dit avoir signalé le problème à AMD le 15 mai 2023, mais on ne sait toujours pas s’il s’agissait d’une divulgation coordonnée – AMD ne semblait pas préparé à l’annonce. Ormandy crédite également ses collègues; « Je n’aurais pas pu le trouver sans l’aide de mes collègues, en particulier Eduardo Vela Nava et Alexandra Sandulescu. J’ai également eu de l’aide pour analyser le bug de Josh Eads. »