TONTOU est une attaque ciblant les processeurs Intel et AMD qui permet de contourner la protection contre les vulnérabilités Spectre v2.

Des chercheurs du Massachusetts Institute of Technology (MIT) ont identifié la technique d'attaque TONTOU (Time-of-Neutrization to Time-of-Use), qui offre une nouvelle méthode d'exploitation des vulnérabilités microarchitecturales de la classe Spectre v2. Cette vulnérabilité permet de déterminer le contenu de la mémoire du noyau lors de l'exécution d'un exploit dans l'espace utilisateur. Un code visant à bloquer l'exploitation de cette vulnérabilité a été intégré au noyau. Linux 5 août et inclus dans les versions 7.1.7, 6.18.43, 6.12.102, 6.6.149, 6.1.181, 5.15.214 et 5.10.263.

Des chercheurs ont démontré la faisabilité d'une attaque locale, menée par un utilisateur non privilégié, permettant de déterminer le hachage du mot de passe de l'utilisateur root, stocké dans le fichier `/etc/shadow` et chargé en mémoire lors de l'authentification système. Ils ont réussi à extraire des données de la mémoire du noyau à un débit de 5.47 octets par seconde et avec une précision de 91.97 %. Sur dix tests de l'exploit, d'une durée moyenne de 18 minutes, ils ont détecté la présence du fichier `/etc/shadow` en mémoire et en ont extrait le contenu dans la moitié des cas.

Cette faille a été démontrée sur des systèmes équipés de processeurs AMD et est exploitable sur les processeurs AMD des familles Zen 1 à 4. L'attaque est également possible sur les systèmes Intel, mais son exploitation est plus complexe. Afin de se prémunir contre les débordements de pile de retour et de bloquer la vulnérabilité SRSO (Speculative Return Stack Overflow), les processeurs AMD utilisent le mécanisme de protection Safe-RET, qui efface le tampon de prédiction de branche après chaque utilisation et réduit la fenêtre d'attaque à deux instructions exécutées en quelques dizaines de nanosecondes.

Pour contourner cette protection et étendre la fenêtre d'attaque, une technique de ralentissement du processeur a été mise en œuvre. Cette technique permet la substitution d'interruptions au moment opportun afin de rediriger le flux d'exécution au sein du noyau et d'utiliser un gestionnaire d'interruptions pour corrompre les entrées du tampon de prédiction de branchement. Pour exploiter la vulnérabilité SRSO, un attaquant peut créer les conditions dans lesquelles l'unité de prédiction de branchement exécute de manière spéculative un grand nombre d'appels CALL mal prédits, suffisamment pour provoquer un débordement de la pile d'adresses de retour et écraser les points de retour correctement prédits situés au début de la pile. De ce fait, les éléments initiaux de la pile peuvent être écrasés par des valeurs choisies par l'attaquant, ce qui permet ensuite d'utiliser ces valeurs remplacées lors de l'exécution spéculative d'une instruction RET dans le contexte d'un autre processus.

Le processeur déterminera que la prédiction de branchement était incorrecte et annulera l'opération. Toutefois, les données traitées lors de l'exécution spéculative resteront dans le cache et les tampons microarchitecturaux. Si le bloc exécuté par erreur accède à la mémoire, son exécution spéculative entraînera également le maintien des données lues en mémoire dans le cache partagé. Pour récupérer des informations du cache, on peut utiliser une méthode permettant de déterminer son contenu en analysant les variations des temps d'accès aux données mises en cache et non mises en cache.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster