Chercheurs de la Vrije Universiteit Amsterdam fait connaître, à travers un article de blog, à «Training Solo, une nouvelle famille d'attaques Spectre-v2 qui exploitent les failles de la prédiction spéculative pour briser les limites de sécurité entre les espaces d'exécution privilégiés et non privilégiés, affectant directement les processeurs Intel.
Les nouvelles techniques permettre l'extraction de contenu sensible du noyau ou l'hyperviseur à des vitesses allant jusqu'à 17 Ko par seconde, même sur les systèmes qui implémentent des mesures d'atténuation modernes telles que IBPB, eIBRS ou BHI_NO.
Training Solo, le nouveau visage de Spectre-v2 réapparaît en force
Depuis sa découverte, Spectre-v2 est l'une des classes de vulnérabilités les plus difficiles à atténuer en raison de sa nature spéculative et de sa «« Training Solo », un nouveau problème crucial est introduit, car il ne nécessite aucun code contrôlé par l'attaquant pour influencer le prédicteur de branche, mais s'appuie plutôt sur des fragments de code existants (gadgets) dans le noyau ou l'hyperviseur pour former le prédicteur à partir de l'espace utilisateur.
Nos travaux démontrent que les attaquants peuvent détourner de manière spéculative le flux de contrôle au sein du même domaine (par exemple, le noyau) et divulguer des secrets au-delà des limites de privilèges, ravivant ainsi les scénarios classiques de Spectre-v2 sans s'appuyer sur des bacs à sable puissants comme eBPF. Nous avons créé un nouvel ensemble de tests pour analyser le prédicteur de branche dans un scénario d’auto-formation.
Los Investigadores ont montré qu'en manipulant ces gadgets (par exemple, en exploitant les filtres SECCOMP basés sur cBPF) l'exécution spéculative peut être induite qui divulgue des données du système privilégié.
Grâce à cette technique, appelée « entraînement individuel », l'historique du prédicteur peut être modifié de fourches afin que des sauts incorrects se produisent lors de l'exécution spéculative, dans le but de divulguer le contenu de la mémoire via des effets secondaires dans le cache.
Les Les attaques solo d'entraînement sont disponibles en trois variantes, chacun profitant de faiblesses différentes :
- Manipulation de l'historique des branches avec les gadgets du noyau: Exploite les appels système tels que SECCOMP, où les filtres peuvent induire des branches spéculatives parasites, fuyant la mémoire à des taux de 1,7 Ko/s sur les processeurs Intel Tiger Lake et Lion Cove.
- Collisions de pointeurs d'instruction (IP) dans le tampon de prédiction de branche (BTB) : Ici, deux branches indirectes différentes peuvent s'influencer mutuellement si leurs adresses entrent en collision dans le tampon, ce qui permet de mal prédire les destinations spéculatives.
- Influences entre branches directes et indirectes : Cette technique, basée sur deux vulnérabilités spécifiques (CVE-2024-28956 (ITS) et CVE-2025-24495), exploite la manière dont les branches directes peuvent influencer la prédiction des branches indirectes. En utilisant cette approche, le hachage du mot de passe root a été récupéré après l’exécution de passwd -s en seulement 60 secondes.
Notre travail se concentre sur la rupture de l’isolement du domaine par conception grâce à des attaques d’auto-formation. Cependant, les problèmes matériels détectés dans notre ensemble de tests affectent également la mise en œuvre de l'isolation, car il a été supposé que les branches directes ne seraient pas utilisées pour la formation des branches indirectes.
Impact et portée des nouvelles vulnérabilités
Les attaques affecter une large gamme de processeurs Intel, y compris les gammes populaires telles que Coffee Lake, Tiger Lake, Ice Lake et Rocket Lake, ainsi que les serveurs Xeon de 2e et 3e génération. De plus, les architectures Lunar Lake et Arrow Lake sont également vulnérables sous CVE-2025-24495.
Pour atténuer ces attaques, Intel a publié une mise à jour du microcode qui introduit une nouvelle instruction : IBHF (Indirect Branch History Fence), conçue pour empêcher la contamination de l'historique des branches. Ce changement doit être implémenté explicitement après tout code affectant le prédicteur de branche. Pour les processeurs plus anciens, il a été recommandé d'utiliser des solutions logicielles qui effacent manuellement l'historique.
De leur côté, les développeurs du noyau de Linux a déjà commencé à intégrer des correctifs pour contrer ces techniques, y compris des mesures qui déplacent les sauts indirects hors des zones de cache sensibles et une protection contre le cBPF.
AMD, pour sa part, a confirmé que ces techniques n'affecte pas vos processeurs. ARM a indiqué que seules ses puces plus anciennes, sans support pour les extensions FEAT_CSV2_3 et FEAT_CLRBHB, seraient exposées.
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.