in

GhostRace, la vulnérabilité qui affecte tous les CPU et OS

GhostRace, la vulnérabilité qui affecte tous les CPU et OS

Il semble qu’il n’y ait pas de mois sans que des vulnérabilités ne soient détectées, et ces derniers temps, la plupart d’entre elles ont été graves. Concevoir un processeur complètement sécurisé est impossible, nous le savons tous, mais même si les vulnérabilités sont un problème qui a généralement une solution, cette réponse pour mettre fin à l’insécurité entraîne généralement une pénalité en termes de performances. GhostRace ne semble pas être une exception, et le problème est qu’il affecte l’ensemble du processeur et du système d’exploitation, puisqu’il attaque les soi-disant conditions de course spéculatives (SRC).

Bien que dans le VU de la vulnérabilité, il soit dit qu’elle attaque les processeurs modernes prenant en charge l’exécution spéculative, cela représente aujourd’hui un très grand nombre d’entre eux, pour ne pas dire pratiquement tous, à l’exception des PC très anciens, très anciens.

L’exécution spéculative une fois de plus sous le feu des projecteurs sur la sécurité du processeur

La vulnérabilité a été découverte par le groupe VUSec de VU Amsterdam et IBM, via Hany Ragab, Cristiano Giuffrida, Andrea Mambretti et Anil Kurmus. Encore une fois, une autre vulnérabilité attaque l’exécution dite spéculative, et nous avons déjà l’expérience de toutes celles qui sont apparues, la plus populaire étant probablement Spectre V1.

L’exécution spéculative, pour ceux qui n’en ont aucune idée, est une technique d’implémentation matérielle au sein des processeurs qui optimise un mouvement vraiment curieux au sein du processeur : empêcher et optimiser les performances en fournissant une concurrence supplémentaire lorsque des ressources supplémentaires sont disponibles.

En d’autres termes et en simplifiant, il essaie de « prédire » par spéculation quelle partie du CPU aura des ressources disponibles pour y déplacer les informations sur lesquelles travailler. Le problème est que cela laisse des traces dans les enregistrements, tels que les accès à la mémoire ou au cache, ainsi que dans les prédicteurs de branchement, et c’est précisément là que les vulnérabilités attaquent, ces données spécifiques.

A lire également  Les processeurs AMD Ryzen 7000 sont déjà 27 % moins chers en Chine

GhostRace, la vulnérabilité à laquelle personne n’échappe dans le secteur : ni matérielle ni logicielle

La méthode utilisée est déjà connue, nous allons donc passer à la nouveauté et à ce qui est vraiment intéressant, qui n’est rien de plus que la façon dont elle profite du vide laissé par les CPU pour obtenir l’information. Pour y accéder, l’attaquant utilise des appels SRC (Speculative Race Conditions), qui utilisent des primitives de synchronisation de threads qui utilisent des branches d’allocation conditionnelle pour faire quelque chose d’inédit : contourner microélectroniquement les routes spéculatives en utilisant une vulnérabilité précédente.

Et oui, cette vulnérabilité est Spectre V1. Pour simplifier, on peut dire qu’il s’agit d’une vulnérabilité qui attaque via une autre vulnérabilité qui a déjà été corrigée précédemment, en ignorant complètement ou partiellement ledit correctif via le système d’exploitation ou le micrologiciel (microcode).

En exploitant Spectre V1 via GhostRace, les attaquants vérifient les limites d’accès à la mémoire en utilisant une branche mal spéculée par le processeur, et là ils parviennent à accéder à des informations sensibles. Les chercheurs l’expliquent ainsi :

GhostRace-CPU-attaqué

Matériel : Nous avons confirmé que tous les principaux fournisseurs de matériel sont affectés par les SRC puisque, quelle que soit l’implémentation particulière de l’instruction de comparaison et d’échange, la branche conditionnelle qui suit est sujette à une (mauvaise) prédiction de branche. En d’autres termes, toutes les microarchitectures affectées par Spectre-v1 sont également affectées par les SRC.

Logiciel : toute cible qui s’appuie sur des branches conditionnelles pour déterminer si elle doit entrer dans des régions critiques (un modèle de conception courant qui s’étend bien au-delà de Linux) est vulnérable aux SRC.

En bref, tout logiciel, par exemple un système d’exploitation, un hyperviseur, etc., qui implémente des primitives de synchronisation via des branches conditionnelles sans aucune instruction de sérialisation dans ce chemin et qui s’exécute sur n’importe quelle microarchitecture (par exemple x86, ARM, RISC-V, etc.), qui permet l’exécution spéculative de branches conditionnelles, est vulnérable aux SRC. Comme pour d’autres attaques d’exécution spéculative, cela permet la fuite de données du logiciel cible.

AMD a déjà confirmé qu’il était concerné, le reste, pour l’instant, reste silencieux

GhostRace-perte-performance-CPU-Intel-et-AMD

AMD a été le premier à confirmer qu’il était concerné, la Linux Foundation et Red Hat ont également déclaré qu’ils devaient patcher leur matériel et leurs logiciels. En revanche, Amazon, Arm, Dell, Google, IBM, Intel, Linux Kernel et Xen n’ont pas encore commenté.

A lire également  Une Nintendo Switch est piratée pour exécuter Windows 11 sur Arm

Le pourquoi est simple : la mise à jour de GhostRace va avoir un impact sur les performances, et tout le monde veut s’exprimer lorsqu’il a des données en main ainsi que des mises à jour du microcode avec Linux et Microsoft. Le problème est que tout le monde, y compris AMD, a été pris un peu à contre-pied, car reconnaître le problème n’implique pas avoir de solution, même si les rouges se calment un peu :

AMD recommande de suivre les directives publiées précédemment concernant les attaques de type Spectre :

https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/software-techniques-for-managing-speculation.pdf

AMD estime que les conseils ci-dessus sont toujours applicables pour atténuer cette vulnérabilité.

Cela dit, combien cette nouvelle vulnérabilité va-t-elle nous coûter à tous en termes de performances ? Eh bien, les premières estimations sous Linux indiquent qu’il est d’environ 5 %, que le processeur soit Intel, AMD ou Arm. Nous disposons donc déjà des premières données clés, qui doivent maintenant être collectées et testées dans les systèmes Microsoft, car normalement sous Windows, le nombre augmente un peu.

Des correctifs devraient arriver prochainement via le noyau Linux et Windows Update, ainsi que des mises à jour du BIOS avec un nouveau microcode, mais il n’y a pas de date pour le moment.