Une nouvelle attaque d’exécution spéculative fonctionnelle secoue Intel et AMD

Tous tels nach Plastik Mit zunehmendem Abfall augmente auch das

Certains microprocesseurs d’Intel et d’AMD sont vulnérables à une attaque d’exécution spéculative récemment découverte qui peut divulguer subrepticement des données de mot de passe et d’autres éléments sensibles, incitant à nouveau les deux fabricants de puces à contenir ce qui s’avère être une vulnérabilité persistante.

Les chercheurs de l’ETH Zurich ont baptisé leur attaque Retbleed car elle exploite une défense logicielle appelée Retpoline, introduite en 2018 pour atténuer les effets néfastes des attaques d’exécution spéculative. Les attaques d’exécution spéculative, également appelées spectres, exploitent le fait que les processeurs modernes, lorsqu’ils rencontrent une branche d’instruction directe ou indirecte, prédisent l’adresse de la prochaine instruction qu’ils recevront et l’exécutent automatiquement avant que la prédiction ne soit confirmée. Spectre fonctionne en incitant le CPU à exécuter une instruction qui accède à des données sensibles en mémoire qui sont normalement interdites à une application à faible privilège. Rebleed extrait ensuite les données après l’annulation de l’opération.

Est-ce un trampoline ou une fronde ?

Retpoline utilise une série d’opérations de retour pour isoler les branches indirectes des attaques d’exécution spéculative, créant l’équivalent logiciel d’un trampoline qui garantit qu’elles rebondissent en toute sécurité. En d’autres termes, une retpoline fonctionne en remplaçant les sauts et les appels indirects par des retours que de nombreux chercheurs supposaient non vulnérables. La défense a été conçue pour contrer la variante 2 des attaques d’exécution spéculative initiales de janvier 2018. La variante, abrégée en BTI, force une branche indirecte à exécuter un code dit « gadget », qui à son tour génère des données qui sont divulguées via un canal latéral.

Certains chercheurs avertissent depuis des années que la retpoline est insuffisante pour atténuer les attaques d’exécution spéculative car la retpoline utilisée était vulnérable au BTI. Le créateur de Linux, Linus Torvalds, a notoirement rejeté ces avertissements, arguant que de tels exploits n’étaient pas pratiques.

Les chercheurs de l’ETH ont montré de manière concluante que la retpoline n’est pas suffisante pour empêcher les attaques d’exécution spéculative. Leur preuve de concept rebleed fonctionne contre les processeurs Intel avec les microarchitectures Kaby Lake et Coffee Lake ainsi que les microarchitectures AMD Zen 1, Zen 1+ et Zen 2.

« Retpoline, en tant qu’atténuation de Spectre BTI, ne considère pas les instructions de retour comme un vecteur d’attaque », ont écrit les chercheurs Johannes Wikner et Kaveh Razavi. « Bien qu’il soit possible de défendre les instructions de retour en ajoutant une entrée valide au RSB [return stack buffer] avant d’exécuter l’instruction return, traiter chaque retour comme potentiellement exploitable de cette manière entraînerait une surcharge énorme. Des travaux antérieurs ont tenté de remplir conditionnellement le RSB avec des cibles de retour inoffensives lorsqu’un compteur par processeur suivant la profondeur de la pile d’appels atteint un certain seuil, mais il n’a jamais été approuvé pour l’amont. Intel réévalue cette atténuation face au retbleed, mais les processeurs AMD nécessitent une stratégie différente.

Dans un e-mail, Razavi l’a expliqué comme suit :

La variante 2 de Spectre exploitait des branches indirectes pour réaliser une exécution spéculative arbitraire dans le noyau. Les branches indirectes ont été transformées en retours en utilisant retpoline pour atténuer la variante 2 de Spectre.

Rebleed montre que les instructions de retour fuient malheureusement dans certaines conditions similaires aux branches indirectes. Malheureusement, ces conditions se produisent à la fois sur les plates-formes Intel (Skylake et basées sur Skylake) et AMD (Zen, Zen+ et Zen2). Cela signifie que Retpoline était malheureusement un soulagement insuffisant pour commencer.

En réponse à l’étude, Intel et AMD ont conseillé aux clients de mettre en œuvre de nouvelles mesures d’atténuation, qui, selon les chercheurs, augmenteront les opérations jusqu’à 28 %.

Rebleed peut faire fuir la mémoire du noyau des processeurs Intel à environ 219 octets par seconde et avec une précision de 98 %. L’exploit peut extraire la mémoire du noyau des processeurs AMD à une bande passante de 3,9 Ko par seconde. Les chercheurs ont déclaré qu’il est capable de localiser et de divulguer le hachage du mot de passe racine d’un ordinateur Linux à partir de la mémoire physique en environ 28 minutes lorsqu’il exécute des processeurs Intel et environ 6 minutes pour les processeurs AMD.

Retbleed fonctionne en utilisant un code qui empoisonne essentiellement le moteur de prédiction de branche sur lequel les processeurs s’appuient pour faire leurs suppositions. Une fois l’empoisonnement terminé, ce BPU fait de fausses prédictions que l’attaquant peut contrôler.

« Nous avons constaté que même en tant qu’utilisateur non privilégié, nous pouvons injecter des cibles de branche qui se trouvent à l’intérieur de l’espace d’adressage du noyau », ont écrit les chercheurs dans un article de blog. « Bien que nous ne puissions pas accéder aux cibles de branche dans l’espace d’adressage du noyau – une branche vers une telle cible entraîne une erreur de page – le moteur de prédiction de branche se met à jour lorsqu’il observe une branche et suppose qu’elle a été exécutée légalement même si elle l’a fait. » est une adresse de noyau.

Le poste Une nouvelle attaque d’exécution spéculative fonctionnelle époustoufle Intel et AMD est apparu en premier sur Germanic News.

gnns-general