Lorsque Spectre a été révélé il y a six ans, le monde informatique a tremblé. Aujourd’hui, l’histoire semble se répéter. Pour rappel, la vulnérabilité Spectre est un défaut de conception des processeurs modernes qui permet à un programme malveillant d’accéder à des données normalement protégées. Les travaux de Johannes Wikner et Kaveh Razavi démontrent que malgré les efforts déployés, les processeurs x86 restent vulnérables à ce type d’attaque. Le cœur du problème réside dans le contournement de l’Indirect Branch Predictor Barrier (IBPB), censée être la défense ultime contre les attaques d’exécution spéculative.
Cette dernière est une technique d’optimisation qui anticipe les instructions à venir pour le CPU, mais elle s’avère finalement être le talon d’Achille des CPU modernes. Bien qu’il améliore considérablement les performances, il ouvre également la porte à des fuites de données sensibles via des canaux secondaires.
Des chercheurs zurichois ont développé deux types d’attaques : l’une ciblant Intel, l’autre AMD. Chez Intel, il y a un bug dans le logiciel de base du processeur (le microcode). Ce bug empêche le processeur de supprimer complètement les informations qu’il a prédites avant de passer à une autre tâche. Cela permet à des attaques comme Spectre d’utiliser ces informations pour accéder à des données confidentielles. Pour AMD, c’est une mauvaise application de l’IBPB-on-entry dans le noyau Linux qui est en cause.