Gravement affectées par la faille Meltdown/Spectre de 2018, les puces Intel - mais elles n'étaient pas seules car d'autres d'AMD, Oracle, IBM... étaient aussi concernées - s'apprêtent-elles à connaitre encore une vulnérabilité de taille ? C'est en tout cas la question que l'on peut se poser après une dernière étude des chercheurs Sandro Rüegge, Johannes Wikner et Kaveh Razavi du groupe de sécurité informatique (Comsec) du département de technologie de l'information et d'ingénierie électrique de l'ETH Zurich. Ces derniers ont en effet expliqué avoir identifié un risque d'injection de privilèges dans le branch predictor (un circuit qui permet d'améliorer le flux dans un pipeline d'instructions) via une attaque de type race condition qui exploite le timing de l'envoi de plusieurs requêtes.
"Les mesures d'atténuation matérielles d'Intel contre ces types d'attaques ont tenu bon pendant près de six ans. Dans notre travail, nous démontrons comment ces mesures d'atténuation peuvent être rompues en raison d'une attaque de type race condition dans les processeurs Intel", expliquent les chercheurs. Selon ces derniers, ce type d'attaque est rendue possible car deux conditions concomitantes sont réunies : les prédicteurs de branche sur les processeurs Intel sont mis à jour de manière asynchrone par rapport au flux d'instructions, et la synchronisation entre le prédicteur de branchement et le flux d'instructions est insuffisante pendant les opérations critiques pour la sécurité. "Les mises à jour du prédicteur de branche peuvent encore être actives lorsqu'un processeur affecté change de privilèges (par exemple, de l'utilisateur au noyau ou de l'invité à l'hyperviseur) ou effectue un IBPB. La barrière prédictive de branche indirecte (IBPB) est un mécanisme de contrôle de branche indirecte qui établit un blocage empêchant les logiciels exécutés en amont de contrôler les cibles prédites des branches indirectes exécutées après la barrière sur le même processeur logique.
Les puces Arm Cortex-X1, Cortex-A76, et AMD Zen 5 et Zen 4 pas touchées
Les chercheurs sont ainsi parvenus à construire une attaque BPI de bout en bout débouchant sur une fuite de mémoire - certes modeste à 5,6 Ko/s - sur un système Ubuntu 24.04 à jour avec toutes les mesures d'atténuation activées par défaut. Répertoriée en tant que CVE-2024-45332, ce trou de sécurité menace potentiellement tous les processeurs Intel à partir de la neuvième génération, y compris Coffee Lake, Comet Lake, Rocket Lake, Alder Lake et Raptor Lake. « Tous les processeurs Intel depuis la 9e génération (Coffee Lake Refresh) sont affectés par Branch Privilege Injection », expliquent les chercheurs. « Cependant, nous avons observé des contournement IBPB sur des processeurs de la 7e génération (Kaby Lake). » Les chercheurs de l'ETH Zurich n'ont pas encore testé les générations de puces antérieures mais elles sont probablement plus sujettes à des attaques plus anciennes de type Spectre v2. Les puces Arm Cortex-X1, Cortex-A76, et AMD Zen 5 et Zen 4 ont également été examinées, mais elles ne présentent pas le même comportement de prédicteur asynchrone, et ne sont donc a priori pas vulnérables à la CVE-2024-45332.
Famille des processeurs évalués à risque potentiel d'exploit. (crédit : ETH Zurich)
Un risque d'exploit sous Windows n'est pas exclu
Bien que l'attaque ait été démontrée sous Linux, la faille est présente au niveau du matériel, de sorte qu'elle est théoriquement exploitable sous Windows également. Les chercheurs ont fait part de leurs découvertes à Intel en septembre 2024, et le fondeur a publié des mises à jour du microcode qui atténuent la CVE-2024-45332 sur les modèles concernés. "Le fondeur a développé une mise à jour du microcode pour les processeurs concernés et nous en a fourni une à évaluer sur Alder Lake. Nous avons pu vérifier que la mise à jour du microcode arrête les primitives que nous utilisons dans l'article pour détecter les vulnérabilités", expliquent les chercheurs. "Notre évaluation des performances montre un surcoût de 2,7 % pour l'atténuation du microcode sur Alder Lake. Nous avons également évalué plusieurs stratégies alternatives potentielles d'atténuation dans les logiciels avec des surcoûts compris entre 1,6 % (Coffee Lake Refresh) et 8,3 % (Rocket Lake)."
Si le risque est faible pour les utilisateurs au vu des conditions préalables nécessaires ouvrant la voie à des scénarios d'exploitation crédibles, il est recommandé d'appliquer les dernières mises à jour du BIOS/UEFI et du système d'exploitation. L'ETH Zurich indique qu'il présentera tous les détails de son exploit dans un document technique lors de la prochaine conférence Usenix Security 2025.