Les processeurs AMD et Intel toujours vulnérables aux attaques Spectre
Une nouvelle faille découverte.
Six ans après la découverte de la faille de sécurité Spectre qui avait secoué l'industrie informatique, une nouvelle recherche vient de révéler que les processeurs les plus récents d'AMD et Intel restent vulnérables aux attaques par exécution spéculative. Établie par les chercheurs Johannes Wikner et Kaveh Razavi de l'ETH Zürich, elle montre de manière inquiétante que la bataille pour la sécurité des processeurs est loin d'être terminée.
Une faille dans les protections existantes
Au cœur de cette découverte se trouve une vulnérabilité dans l'Indirect Branch Predictor Barrier (IBPB), un mécanisme de protection majeur censé prévenir les attaques par exécution spéculative. Pour comprendre l'importance de cette faille, il faut rappeler le fonctionnement de cette méthode, une fonctionnalité d'optimisation des performances présente dans les processeurs modernes. Elle permet aux CPU d'exécuter certaines instructions dans le désordre en prédisant à l'avance le chemin qu'un programme va emprunter, accélérant ainsi le processus si celle-ci s'avère correcte. En cas d'erreur, les instructions dites "transitoires" sont annulées, et le processeur reprend son exécution avec la valeur correcte.
Un bug critique dans le microcode
Les chercheurs ont découvert un bug particulièrement préoccupant dans le microcode des micro-architectures Intel Golden Cove et Raptor Cove. Ce défaut permet de contourner la protection IBPB, ouvrant la voie à ce que les chercheurs décrivent comme la première "fuite Spectre inter-processus de bout en bout" véritablement pratique. Le problème vient du fait que certaines prédictions de branches sont conservées alors qu'elles devraient être invalidées par l'IBPB. Cette "spéculation post-barrière" permet à un attaquant de franchir les frontières de sécurité imposées par les contextes de processus et les machines virtuelles.
AMD également touché
Les processeurs AMD ne sont pas épargnés. Les chercheurs ont découvert une vulnérabilité similaire dans la variante IBPB d'AMD, due à la façon dont celle-ci est implémenté dans le noyau Linux. Cette attaque, baptisée "Post-Barrier Inception" (PB-Inception), permet à un attaquant non privilégié d'accéder à la mémoire privilégiée sur les processeurs AMD Zen 1(+) et Zen 2. Face à ces découvertes, les fabricants ont réagi. Intel a publié un correctif de microcode pour résoudre le problème (CVE-2023-38575, score CVSS : 5.5). De son côté, AMD suit la vulnérabilité sous la référence CVE-2022-23824, selon un avis publié en novembre 2022.
Une nouvelle menace: SpyHammer
En parallèle, les chercheurs de l'ETH Zürich ont également mis en lumière de nouvelles techniques d'attaque RowHammer, notamment SpyHammer, qui utilise cette dernière pour déduire la température de la mémoire DRAM avec une grande précision. Elle exploite la sensibilité de RowHammer aux variations de température, même minimes (±1 °C). Le taux d'erreurs bits induit augmente ou diminue de manière cohérente avec la température, certaines cellules DRAM vulnérables ne présentant des erreurs qu'à une température particulière.
Implications pour la vie privée
SpyHammer représente une menace potentielle pour la vie privée, car elle permet de déterminer l'utilisation d'un système informatique et de mesurer la température ambiante. Plus inquiétant encore, cette attaque pourrait être utilisée pour surveiller les habitudes d'une personne à son domicile, notamment ses entrées et sorties d'une pièce, simplement en analysant les variations de température. Ces découvertes soulignent l'importance de maintenir ses systèmes à jour. Les utilisateurs de processeurs Intel doivent s'assurer que leur intel-microcode est à jour, tandis que les utilisateurs AMD doivent installer les correctifs du noyau disponibles. Globalement, ces vulnérabilités rappellent que la sécurité des processeurs reste un défi majeur, particulièrement face à des attaques de plus en plus sophistiquées. La course entre attaquants et défenseurs continue, et seule une vigilance constante permettra de maintenir un niveau de sécurité acceptable pour nos systèmes informatiques.