TONTOU : Une nouvelle attaque Spectre v2 contre AMD et Intel

Points clés:
  • TONTOU tire parti du laps de temps entre le nettoyage du tampon de prédiction et son utilisation.
  • Les attaquants utilisent l'« injection d'interruptions » pour rediriger le flux du noyau et contaminer les mécanismes de prédiction.
  •  Cela affecte les architectures Zen 1 à 4 d'AMD et plusieurs générations de processeurs Intel.
  • Les correctifs d'atténuation ont déjà été intégrés aux récentes mises à jour du noyau Linux (5 août).

Attaque TONTOU

Se pourrait-il que la vitesse de votre processeur soit précisément ce qui compromet votre sécurité ? Pour comprendre comment les processeurs atteignent une telle vitesse , il faut savoir qu’ils fonctionnent en « prédisant l’avenir Â»â€¦ Non, ils ne sont pas magiques et ne possèdent pas de boule de cristal…

Le fonctionnement des processeurs repose sur la prédiction et l'anticipation du chemin emprunté par un programme, plutôt que sur l'attente de son exécution. Si la prédiction est erronée, le traitement est abandonné, mais des traces subsistent en mémoire. C'est là qu'intervient Spectre , l'une des vulnérabilités les plus importantes découvertes ces dernières années. Depuis sa découverte, les attaquants ont appris à lire ces traces, créant ainsi des variantes de plus en plus sophistiquées ; TONTOU est l'une de ces nouvelles vulnérabilités.

Des chercheurs du MIT ont découvert TONTOU (Time-of-Neutrization to Time-of-Use), une nouvelle technique sophistiquée pour exploiter les vulnérabilités de Spectre v2 , permettant de lire la mémoire du noyau depuis l'espace utilisateur.

Bien que les fabricants et les développeurs aient conçu depuis des années divers mécanismes de protection contre les attaques prédictives, les attaquants sont parvenus à découvrir de nouvelles voies, et cette nouvelle étude du CSAIL démontre comment contourner ces protections.

Les chercheurs ont découvert qu'il existe un intervalle de temps inévitable entre le moment où le tampon est effacé et l'instant où les prédictions sont utilisées, et c'est dans ce petit intervalle que du code (parfois seulement une poignée d'instructions) est injecté via des interruptions système, permettant de recontaminer le matériel et d'extraire des données critiques.

Concernant l'attaque : perturbations et violation de données chez Safe-RET

AMD dispose d'une protection contre les vulnérabilités SRSO (Speculative Return Stack Overflow) appelée Saferet, qui nettoie le mécanisme de prédiction juste avant chaque utilisation. Cela crée une fenêtre de vulnérabilité exploitable en quelques dizaines de nanosecondes. Pour exploiter cette fenêtre, les chercheurs ont développé une technique qu'ils ont nommée injection d'interruption.

Les processeurs interrompent constamment leurs tâches pour gérer les interruptions, et les programmes courants permettent de configurer ces temporisateurs . Partant de ce constat, des chercheurs ont ajusté avec précision un temporisateur et, grâce à une technique de ralentissement du processeur, ont provoqué une interruption au moment le plus inopportun . Durant cette interruption, un attaquant peut forcer l'exécution d'un grand nombre d'appels, satureant ainsi la pile d'adresses. Une fois l'exécution erronée terminée, le processeur supprime le processus, mais les données accédées restent dans les caches partagés , d'où elles peuvent être extraites par l'analyse des temps d'accès.

Extraction et test de mots de passe sur des systèmes réels

Pour démontrer la gravité de TONTOU, l' équipe a développé une faille de sécurité fonctionnelle sur un système AMD exécutant un noyau Linux récent. Le premier obstacle consistait à contourner le mécanisme de défense qui randomise la position du système d'exploitation en mémoire, ce qu'ils ont réussi à faire en dix tentatives, chaque test durant environ neuf minutes.

Par la suite, ils ont démontré la faisabilité d'une attaque locale en tant qu'utilisateur non privilégié afin de déterminer le hachage du mot de passe root, parvenant à extraire des données à un débit de 5.47 octets par seconde avec une précision de 91.97 %. Dans 50 % des tests (d'une durée moyenne de 18 minutes), ils ont réussi à détecter et à extraire le contenu du fichier de mots de passe. Bien que cette vitesse soit lente, elle est largement suffisante pour compromettre gravement un serveur.

Impact sur Intel, AMD et le correctif d'atténuation

L'équipe a testé quatre générations de processeurs Intel et AMD, obtenant des échecs de prédiction sur les deux architectures. Si la technique s'est avérée efficace sur les familles Zen 1 à 4 d'AMD , sur les puces Intel, l'attaque a contourné deux protections différentes . Un comportement incohérent a toutefois été observé entre les différentes générations d'Intel, suggérant que les mécanismes de défense théoriques sont implémentés différemment au niveau matériel.

Pour résoudre ce problème, les chercheurs suggèrent de réinitialiser le mécanisme de prédiction une seconde fois après la fin de l'interruption. Si cette mesure semble viable pour AMD, elle pourrait s'avérer contre-productive pour Intel, car l'attaque repose sur la persistance d'un état stable après l'interruption et pourrait ainsi la rendre plus fiable.

Les chercheurs ont informé AMD et Intel début février, puis les responsables de la maintenance du noyau Linux en mars. En conséquence, le code de blocage visant à atténuer la vulnérabilité a été intégré au noyau Linux le 5 août.

Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.


Ajouter comme source préférée dans Google