Les processeurs Intel modernes, y compris les puces des générations Raptor Lake et Alder Lake, sont sensibles à un nouveau type d’attaque par injection de cible de branche de haute précision (BTI) appelée « Indirecteur », qui pourrait être utilisée pour voler des informations sensibles au processeur.

Indirect ou exploite des failles dans Indirect Branch Predictor (BP) et Branch Target Buffer (BTB), deux composants matériels présents dans les processeurs Intel modernes, pour manipuler l’exécution spéculative pour l’extraction de données.

Trois chercheurs de l’Université de Californie à San Diego ont découvert et présenté l’attaque indirecte ou, avec tous les détails qui seront présentés lors du prochain Symposium sur la sécurité USENIX en août 2024.

Attaques indirectes
Le Prédicteur de branche indirecte est conçu pour prédire les adresses cibles des branches indirectes à l’aide d’informations d’exécution historiques, tandis que le Tampon Cible de branche prédit les adresses cibles des branches directes à l’aide d’une structure de cache associative définie.

Les chercheurs ont découvert que les deux systèmes présentaient des failles dans les mécanismes d’indexation, de marquage et de partage des entrées et reposaient généralement sur une structure prévisible qui permet une manipulation ciblée et de haute précision.

Sur la base de ce qui précède, Indirect ou effectue des attaques principalement en utilisant trois mécanismes:

  • localisateur de succursale: Outil personnalisé qui utilise des techniques basées sur l’expulsion pour identifier les indices et les balises des succursales victimes et déterminer avec précision les entrées IBP pour des succursales spécifiques.
  • Injections IBP / BTB: Effectuez des injections ciblées dans les structures de prédiction pour exécuter du code spéculatif.
  • Contournement de l’ASLR: Interrompez la randomisation de la disposition de l’espace d’adressage (ASLR) en déterminant les emplacements exacts des branches indirectes et de leurs cibles, ce qui facilite la prédiction et la manipulation du flux de contrôle des processus protégés.

Parallèlement à l’exécution spéculative obtenue par les injections ciblées, l’attaquant peut utiliser des techniques de canal latéral de cache, telles que la mesure des temps d’accès, pour déduire les données accédées.

Atténuation des attaques indirectes
Indirector fonctionne contre les processeurs Intel Raptor Lake et Alder Lake, les 12e et 13e générations des processeurs « Core » du fabricant de puces.

Intel a été informé de l’attaque en février 2024 et a informé les fournisseurs de matériel et de logiciels concernés.

Les chercheurs proposent deux mesures d’atténuation principales contre l’attaque indirecte: une utilisation plus agressive de la Barrière de prédiction de branche Indirecte (IBPB) et un renforcement de la conception de l’Unité de prédiction de branche (BPU)en incorporant des balises, un cryptage et une randomisation plus complexes.

Cependant, il y a des compromis de performance importants à considérer, en particulier lors de l’utilisation de l’IBPB, de sorte que la mise en œuvre de l’atténuation proposée nécessite un travail d’équilibrage délicat.

Sous Linux, IBPB est activé par défaut lors des transitions en mode SECCOMP ou des tâches avec des branches indirectes restreintes dans le noyau, mais son utilisation est limitée car elle entraîne une baisse des performances de 50%.

Vous trouverez plus de détails sur Indirector, les méthodologies d’attaque, les mécanismes potentiels de fuite de données et les mesures d’atténuation suggérées dans ce document technique.

Les chercheurs ont également publié du code de validation de principe et des outils pour leurs attaques par injection de branche sur GitHub.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *