IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une nouvelle attaque d'exécution spéculative active cible les processeurs Intel et AMD,
L'exploit peut entraîner la fuite de mots de passe et d'autres données sensibles

Le , par Bill Fassinou

5PARTAGES

5  0 
Les processeurs Intel et AMD sont vulnérables à une attaque par exécution spéculative récemment découverte, qui peut entraîner une fuite secrète de mots de passe et d'autres données sensibles. Nommée "Retbleed", l'attaque cible les retpolines (return trampoline), l'une des défenses proposées en 2018 pour atténuer Spectre, un sous-ensemble d'attaques par canal latéral de synchronisation microarchitectural affectant les microprocesseurs modernes. Les deux fabricants de puces se démènent une fois de plus pour contenir ce qui s'avère être une vulnérabilité persistante et tenace.

Retbleed est une vulnérabilité récemment découverte par les chercheurs de l'école polytechnique fédérale (ETH) de Zurich. Elle a été nommée ainsi parce qu'elle exploite une défense logicielle connue sous le nom de retpoline. Cette défense a été introduite en 2018 pour atténuer les effets néfastes des attaques par exécution spéculative. Les attaques par exécution spéculative exploitent le fait que lorsque les processeurs modernes rencontrent un branchement d'instruction direct ou indirect, ils prédisent l'adresse de la prochaine instruction qu'ils vont recevoir et l'exécutent automatiquement avant que la prédiction ne soit confirmée.

Les attaques par exécution spéculative fonctionnent en incitant le processeur à exécuter une instruction qui accède à des données sensibles dans une mémoire qui serait normalement interdite à une application peu privilégiée. Les données sont ensuite extraites après l'annulation de l'opération. Un retpoline fonctionne en utilisant une série d'opérations de retour pour isoler les branches indirectes des attaques par exécution spéculative, en érigeant en fait l'équivalent logiciel d'un trampoline qui les fait rebondir en toute sécurité. En d'autres termes, un retpoline fonctionne en remplaçant les sauts et les appels indirects par des retours.



Malgré les préoccupations, le risque lié au comportement de la prédiction des retours dans les piles d'appels profonds a été considéré comme faible et les retpolines sont devenus la principale mesure d'atténuation contre Spectre. Certains chercheurs ont averti depuis des années que cette défense n'est pas suffisante pour atténuer les attaques par exécution spéculative, car selon eux, les retours utilisés par le retpoline étaient sensibles à BTI. Le créateur de Linux, Linus Torvalds, a rejeté ces avertissements, arguant que de tels exploits n'étaient pas pratiques.

Cependant, les chercheurs de l'ETH Zurich ont découvert que l'exploitation est, en fait, pratique. Les chercheurs de l'ETH Zurich ont démontré de manière concluante que le retpoline est insuffisant pour prévenir les attaques par exécution spéculative. Leur preuve de concept Retbleed fonctionne contre les processeurs Intel dotés des microarchitectures Kaby Lake et Coffee Lake et les microarchitectures AMD Zen 1, Zen 1+ et Zen 2.

« Nos résultats montrent que toutes les instructions de retour qui suivent des piles d'appels suffisamment profondes peuvent être détournées en utilisant un historique précis des branchements sur les CPU Intel. En ce qui concerne les processeurs AMD, nous constatons que toute instruction de retour peut être détournée, quelle que soit la pile d'appels précédente, tant que la destination de la branche précédente est correctement choisie pendant le détournement », notent les universitaires de l'ETH Zurich Johannes Wikner et Kaveh Razavi dans leur document de recherche.

En gros, un logiciel malveillant sur une machine peut exploiter Retbleed pour obtenir de la mémoire à laquelle il ne devrait pas avoir accès - comme les données du noyau du système d'exploitation - des mots de passe, des clés et d'autres secrets. Selon les universitaires, la variante 2 de Spectre exploitait les branches indirectes pour obtenir une exécution spéculative arbitraire dans le noyau. Les branches indirectes ont été converties en retours en utilisant le retpoline pour atténuer la variante 2 de Spectre. Retbleed montre que les instructions de retour fuient malheureusement dans certaines conditions similaires aux branches indirectes.

Cela signifie que le retpoline était malheureusement une atténuation inadéquate au départ. Selon les chercheurs, Retbleed peut faire fuir la mémoire du noyau des CPU Intel à une vitesse d'environ 219 octets par seconde et avec une précision de 98 %. L'exploit peut extraire la mémoire du noyau des CPU AMD avec une bande passante de 3,9 ko par seconde. Les chercheurs ont déclaré qu'il était capable de localiser et de divulguer le hachage du mot de passe de la racine d'un ordinateur sous Linux à partir de la mémoire physique en 28 minutes environ avec les processeurs Intel et en 6 minutes environ avec les processeurs AMD.

L'article de recherche et le billet de blogue des chercheurs expliquent les conditions microarchitecturales nécessaires pour exploiter Retbleed. Sur Intel, les retours commencent à se comporter comme des sauts indirects lorsque le tampon de la pile de retours, qui contient les prédictions de la cible de retour, est débordé. Cela se produit lors de l'exécution de piles d'appels profondes. Une évaluation a montré que plus d'un millier de conditions de ce type peuvent être déclenchées par un appel système. Sur AMD, les retours se comporteront comme une branche indirecte, quel que soit l'état de leur pile d'adresse de retour.

En fait, en empoisonnant l'instruction de retour à l'aide d'un saut indirect, le prédicteur de branchement AMD supposera qu'il rencontrera un saut indirect au lieu d'un retour et, par conséquent, prédira une cible de branchement indirect. « Cela signifie que tout retour que nous pouvons atteindre par le biais d'un appel système peut être exploité, et il y en a des tonnes », ont écrit les chercheurs. « Nous avons également constaté que les CPU AMD présentent des sauts fantômes (CVE-2022-23825) : des prédictions de branchement qui se produisent même en l'absence de toute instruction de branchement correspondante », ont-ils ajouté.

En réponse à cette découverte, Intel et AMD ont conseillé à leurs clients d'adopter de nouvelles mesures d'atténuation qui, selon les chercheurs, ajouteront jusqu'à 28 % de frais généraux supplémentaires aux opérations. Intel a confirmé que la vulnérabilité existe sur les processeurs de la génération Skylake qui ne disposent pas de la protection "Enhanced Indirect Branch Restricted Speculation" (eIBRS). « Intel a travaillé avec la communauté Linux et les fournisseurs de VMM pour fournir aux clients des conseils d'atténuation logicielle qui devraient être disponibles à la date de divulgation publique d'aujourd'hui ou aux alentours », a déclaré Intel.

« Il convient de noter que les systèmes Windows ne sont pas concernés étant donné que ces systèmes utilisent par défaut la spéculation restreinte de branche indirecte (IBRS), qui est également la mesure d'atténuation mise à la disposition des utilisateurs de Linux. Intel n'a pas connaissance de l'exploitation de ce problème en dehors d'un environnement de laboratoire contrôlé », explique Intel. De son côté, AMD a également publié des conseils. « AMD recommande aux fournisseurs de logiciels d'envisager de prendre des mesures supplémentaires pour aider à se prémunir contre les attaques de type Spectre », a écrit un porte-parole d'AMD.

L'entreprise a également publié un livre blanc. Dans un courriel, Razavi a ajouté : « Retbleed est plus qu'un simple contournement du retpoline sur Intel, surtout sur les machines AMD. AMD va en fait publier un livre blanc présentant la confusion de type de branche basée sur Retbleed. Essentiellement, Retbleed fait en sorte que les CPU AMD confondent les instructions de retour avec les branches indirectes. Cela rend l'exploitation des retours très triviale sur les CPU AMD ». Les organisations qui utilisent les processeurs concernés doivent lire attentivement les publications des chercheurs, d'Intel et d'AMD et s'assurer de suivre les conseils d'atténuation.

Sources : Billet de blogue des chercheurs, Rapport de l'étude (PDF), Intel, AMD

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de la vulnérabilité Retbleed ?

Voir aussi

L'architecture de tous les CPU Intel remise en question après la découverte de SPOILER, une nouvelle faille difficile à corriger par voie logicielle

Une nouvelle faille de sécurité nommée BranchScope affecte les processeurs modernes, en exploitant l'exécution spéculative de ces derniers

MDS : de nouveaux exploits liés à l'exécution spéculative qui affectent les CPU Intel jusqu'à Kaby Lake et exposent les données des mémoires tampon

Les processeurs Cascade Lake d'Intel touchés par une nouvelle attaque, Zombieload v2, Intel dit avoir déployé une mise à jour pour répondre à cette nouvelle variante de la vulnérabilité Zombieload

Une erreur dans cette actualité ? Signalez-nous-la !