Une nouvelle vulnérabilité : "Training Solo" menace les processeurs modernes
Des chercheurs du VUSec ont récemment découvert trois variantes d’attaques compromettant l’isolation entre domaines et permettant de filtrer la mémoire du noyau sur les processeurs modernes. Intel et Linux travaillent déjà sur des correctifs, mais l’impact pourrait être considérable.
Baptisée "Training Solo", cette menace de sécurité a été révélée par l’équipe de recherche en sécurité de l’Université Libre d’Amsterdam, déjà connue pour avoir mis en lumière des failles comme NetSpectre ou Microarchitectural Data Sampling.
Cette vulnérabilité concerne tant les CPU Intel que les conceptions Arm, et représente une évolution préoccupante des attaques de type Spectre v2, exploitant l’exécution spéculative et la prédiction de sauts pour accéder à des données sensibles.
Qu’est-ce que "Training Solo" et pourquoi est-ce important ?
"Training Solo" remet en question un principe fondamental sur lequel reposent les mesures d’atténuation de Spectre v2 depuis six ans : l’idée que l’isolation entre domaines d’exécution, tels que les processus utilisateurs, le noyau ou les machines virtuelles, est suffisante pour prévenir l’exploitation spéculative. Selon les chercheurs, cette hypothèse est erronée. "Training Solo" permet de mener des attaques au sein d’un même domaine d’exécution et même de filtrer des données entre des domaines isolés, sapant ainsi un des piliers de la sécurité du noyau Linux et des hyperviseurs modernes.
Concrètement, l’attaque combine des techniques de formation et de détournement spéculatif du flux de contrôle dans le domaine ciblé, sans que l’attaquant ait besoin de privilèges élevés. VUSec a démontré deux exploits fonctionnels capables de filtrer des données du noyau à des vitesses allant jusqu’à 17 Ko/s sur des CPU Intel de dernière génération.
Trois variantes, de multiples correctifs
Les chercheurs ont identifié trois variantes distinctes de "Training Solo" :
- ITS (Indirect Target Selection) : affecte la prédiction des sauts indirects; nécessite du microcode Intel et des correctifs pour le noyau Linux et KVM.
- Variante spécifique pour les cœurs Intel "Lion Cove" : nécessite une atténuation spécifique encore en évaluation.
- Troisième variante mixte (Intel et Arm) : nécessite à la fois un nouveau microcode et des mises à jour logicielles sur les deux environnements.
CPUs concernés
La liste des modèles touchés est vaste :
- Intel : Cascade Lake, Cooper Lake, Comet Lake, Whiskey Lake V, Coffee Lake R, Ice Lake, Tiger Lake et Rocket Lake.
- Certains cœurs Lion Cove présents sur les plateformes les plus récentes.
Concernant Arm, il n’y a pas encore de détails sur les cœurs concernés, mais des concepteurs génériques utilisés dans les serveurs et appareils mobiles pourraient aussi être exposés.
Impact et réponse
Le noyau Linux a déjà commencé à intégrer des correctifs, notamment :
- La mitigation ITS, corrigeant des prédictions erronées de sauts en cache.
- Un nouveau mécanisme protégeant l’exécution de programmes cBPF (Common Berkeley Packet Filter).
- L’introduction d’une nouvelle instruction appelée IBHF (Indirect Branch History Fence), agissant comme une barrière contre la réutilisation de l’historique des sauts spéculatifs.
Intel a confirmé l’existence de la faille et collabore avec les fabricants de systèmes d’exploitation pour déployer un microcode mis à jour dans les prochains jours.
Un risque latent pour les environnements virtualisés et cloud
L’aspect le plus préoccupant de "Training Solo" est son impact direct sur l’isolation entre l’utilisateur, le noyau, la machine virtuelle et l’hyperviseur, un modèle de sécurité essentiel pour les systèmes d’exploitation classiques et l’infrastructure cloud à grande échelle. Cette vulnérabilité pourrait, dans des scénarios extrêmes, permettre à un attaquant d’une machine virtuelle d’accéder aux données d’autres machines si les mesures d’atténuation ne sont pas en place.
Récidive des vulnérabilités comme Meltdown et Spectre ?
La communauté de la sécurité considère "Training Solo" comme la découverte la plus importante depuis Meltdown et Spectre en 2018. Bien que les fabricants aient renforcé les protections, cela démontre que l’exécution spéculative reste une source de vecteurs d’attaque, nécessitant un effort constant pour garantir la sécurité.
David Hansen, ingénieur chez Intel, a déclaré : "C’est une faille classique de CPU où le comportement est manifestement erroné, mais pas assez pour être détecté sans une analyse approfondie."
Recommandations
Pour les utilisateurs finaux :
- Appliquer les mises à jour du système d’exploitation et du firmware dès qu’elles sont disponibles.
- Éviter les environnements partagés non fiables si des versions du noyau ne sont pas corrigées.
Pour les administrateurs et les entreprises :
- Mettre à jour le microcode du processeur et les correctifs du noyau Linux ou des hyperviseurs comme KVM.
- Surveiller l’utilisation de eBPF et s’assurer que des versions corrigées sont utilisées.
- Isoler les charges de travail critiques ou sensibles dans les environnements virtualisés avec une attention accrue.
"Training Solo" est un nouvel avertissement que l’architecture moderne continue de comporter des risques profonds, même après des années de révisions. Avec la complexité croissante des processeurs, l’équilibre entre performance et sécurité reste fragile, et chaque nouvelle optimisation peut cacher, comme dans ce cas, une porte dérobée involontaire.
Source : Rapport technique de VUSec et autres contributions.