Une équipe de chercheurs a découvert une faille de sécurité dans plusieurs processeurs Intel qui pourrait entraîner des fuites de données.
Des chercheurs en cybersécurité de l’Université du Maryland et de l’Université Tsinghua, en collaboration avec un laboratoire du ministère chinois de l’Éducation (BUPT), ont découvert une attaque par canal auxiliaire, quelque peu similaire à Meltdown qui, si elle est exploitée, pourrait permettre aux acteurs de la menace de divulguer des données sensibles de points de terminaison (s’ouvre dans un nouvel onglet) via le registre EFLAGS.
L’équipe a publié ses conclusions dans un article publié sur Arxiv.org, expliquant que l’attaque exploite une faille dans l’exécution transitoire « qui permet d’extraire des données secrètes de l’espace mémoire de l’utilisateur grâce à une analyse temporelle ». Une modification du registre EFLAGS en exécution transitoire affecte la synchronisation des instructions Jump on Condition Code (JCC).
Différentes puces, différents résultats
Le registre FLAGS est décrit comme « le registre d’état qui contient l’état actuel d’un processeur x86 », tandis que le JCC est une « instruction CPU permettant le branchement conditionnel » basée sur le contenu du registre EFLAGS.
En termes simples, pour réussir l’attaque, il faut d’abord déclencher l’exécution transitoire des données secrètes codées via le registre EFLAGS, puis mesurer le temps d’exécution de l’instruction JCC pour lire le contenu de ces données codées.
Les chercheurs ont testé la faille sur plusieurs puces et ont constaté qu’elle réussissait à 100 % sur i7-6700 et i7-7700, ainsi qu’une « quelque peu réussie » sur i9-10980XE. Tous les tests ont été effectués sur la version 515.0 du noyau Ubuntu 22.04 jammy/Linux.
Pour obtenir plus de cohérence sur les nouvelles puces, les chercheurs ont découvert que l’attaque devrait être exécutée des milliers de fois.
« Dans notre expérience, nous avons constaté que l’influence du registre EFLAGS sur le temps d’exécution de l’instruction Jcc n’est pas aussi persistante que l’état du cache », ont déclaré les chercheurs dans l’article. « Pendant environ 6 à 9 cycles après l’exécution transitoire, le temps d’exécution Jcc ne sera pas sur le point de construire un canal latéral. Empiriquement, l’attaque doit se répéter des milliers de fois pour une plus grande précision.
Ils ne savent toujours pas ce qui cause le bug.
Via : BleepingComputer (s’ouvre dans un nouvel onglet)