Pourquoi est-ce important: Il y a une blague qui circule dans la communauté de la sécurité selon laquelle les processeurs Intel ont plus de trous que le fromage suisse, et de nouvelles recherches publiées ce mois-ci n’aident pas l’entreprise à se débarrasser de cette réputation. Une attaque par canal latéral récemment découverte est moins efficace sur les processeurs récents de Chipzilla, mais elle rappelle que les défauts d’exécution spéculatifs sont difficiles à corriger.
Des chercheurs de l’Université du Maryland, de l’Université Tsinghua et de l’Université des postes et télécommunications de Pékin ont récemment publié un article intéressant détaillant une nouvelle attaque par canal latéral sur les processeurs Intel qui est assez différente des autres vulnérabilités exposées dans le passé.
La nouvelle faille peut être exploitée comme un canal secondaire de Meltdown, ce qui conduit à un taux de réussite de 100 % contre des processeurs tels que le Core i7-6700, le Core i7-7700 et le Core i9-10980XE. Pour ceux d’entre vous qui ne connaissent pas Meltdown, il s’agissait d’un ensemble d’exploits pour une vulnérabilité critique dans la façon dont les processeurs modernes effectuent quelque chose appelé « exécution spéculative » pour obtenir des gains de performances modérés dans certains scénarios.
Bien que Meltdown ait été principalement atténué au niveau du système d’exploitation, du micrologiciel et du matériel, le problème est trop difficile à résoudre complètement et, en tant que tel, il a persisté à ce jour. Dans le cas de cette nouvelle attaque par canal latéral, elle ne repose pas sur le système de cache et la configuration ne nécessite pas de réinitialiser le registre EFLAGS, les chercheurs pensent donc qu’il sera beaucoup plus difficile à atténuer.
Le registre EFLAGS est utilisé pour décrire l’état actuel des opérations du processeur avec plusieurs indicateurs définis sur 1 ou 0. Les chercheurs ont découvert qu’ils pouvaient exploiter la façon dont cela fonctionne dans les processeurs Intel, où une modification du registre EFLAGS en exécution transitoire peut rendre certaines instructions « jump on condition code » (Jcc) s’exécutent légèrement plus lentement.
Dans un premier temps, ils encodent des données secrètes dans le registre EFLAGS puis mesurent le temps d’exécution du contexte d’instruction Jcc pour décoder lesdites données. La cause première de cette vulnérabilité est encore un mystère, mais les chercheurs soupçonnent qu’Intel utilise un tampon dans l’unité d’exécution de ses processeurs qui a besoin de temps pour revenir chaque fois que l’exécution doit être retirée, ce qui pourrait à son tour provoquer un blocage si l’instruction suivante dépend sur la cible dudit tampon.
La bonne nouvelle est que cette attaque est un peu moins efficace contre les puces plus récentes (Intel 11e génération et supérieures) où un pirate aurait besoin de la répéter des milliers de fois pour obtenir le même effet. De plus, les nouveaux processeurs vPro de 13e génération d’Intel sont dotés de plus fonctionnalités de gestion de la sécurité qui offrent aux organisations de meilleures capacités de prévention et de détection contre les attaques par canaux auxiliaires.
Les chercheurs notent dans leur article qu’il est possible d’atténuer leur attaque de synchronisation d’exécution transitoire, mais qu’ils ne sont pas faciles à mettre en œuvre car ils nécessitent des modifications importantes du fonctionnement des instructions Jcc et des optimisations du code d’assemblage.
Crédit image : Daniel Pantu