Blindside : quand l’exécution spéculative permet de contourner l’ASLR

Spread the love
Blindside : quand l’exécution spéculative permet de contourner l’ASLR

Des universitaires ont développé une nouvelle technique pour attaquer les systèmes informatiques sécurisés en abusant de l’exécution spéculative, un mécanisme de processeur qui est normalement utilisé pour l’optimisation des performances.

La technique, baptisée BlindSide, a été détaillée dans un article [PDF] publié la semaine dernière par une équipe d’universitaires du Stevens Institute of Technology du New Jersey, de l’ETH Zurich et de l’Université Vrije d’Amsterdam.

Les chercheurs affirment que l’attaque BlindSide peut être utilisée pour créer des logiciels malveillants qui contournent l’ASLR (Address Space Layout Randomization) sur les systèmes d’exploitation modernes.

publicité

Contourner l’ASLR

Les adresses mémoires sont importantes pour un attaquant. Si un attaquant sait où une application exécute son code dans la mémoire vive de l’appareil, il peut affiner les exploits qui attaquent des applications particulières et voler des informations sensibles. Comme son nom l’indique, ASLR fonctionne en randomisant l’emplacement où le code s’exécute dans la mémoire, neutralisant ce type d’attaque.

Pour contourner ASLR, un attaquant a généralement besoin de trouver un type de vulnérabilité qui révèle des emplacements mémoires. Une autre alternative est de sonder la mémoire jusqu’à trouver l’emplacement approprié où une autre application s’exécute, puis modifier son code pour cibler cet espace d’adressage mémoire.

Les deux techniques sont difficiles à mettre en œuvre, et en particulier la seconde : elles provoquent souvent des pannes du système ou la détection de l’attaquant par les systèmes de sécurité.

La nouvelle attaque BlindSide fonctionne en déplaçant cette approche dans le domaine de l’exécution spéculative.

Exécution spéculative, à la rescousse!

L’exécution spéculative est une fonctionnalité d’amélioration des performances des processeurs modernes. Lors de l’exécution spéculative, un processeur exécute les opérations à l’avance et en parallèle du thread de calcul principal.

Lorsque le thread principal du processeur atteint certains points, l’exécution spéculative lui permet de choisir une valeur déjà calculée et de passer à la tâche suivante. Ce processus permet d’accélérer les temps de calcul. Toutes les valeurs calculées lors de l’exécution spéculative sont ignorées, sans impact sur le système d’exploitation.

Les universitaires affirment que ce processus peut également «[amplifier] la gravité des vulnérabilités logicielles courantes telles que les erreurs de corruption de la mémoire en introduisant des sondages spéculatifs».

L’attaque BlindSide prend une vulnérabilité dans une application logicielle et l’exploite de manière répétée dans le domaine d’exécution spéculative, ce qui permet de sonder à plusieurs reprises la mémoire et de contourner l’ASLR.

Étant donné que cette attaque a lieu dans le domaine de l’exécution spéculative, les échecs successifs et les plantages n’ont pas d’impact sur le processeur ou sa stabilité au fur et à mesure qu’ils se produisent, car ils sont supprimés puis rejetés.

Tout ce dont l’attaquant a besoin est une simple vulnérabilité de corruption de mémoire qu’il peut exploiter sur un système. Dans leur article de recherche, l’équipe a utilisé un seul débordement de tampon (buffer overflow) sur le noyau Linux pour:

  • Contourner KASLR avec BlindSide afin de monter un exploit ROP fiable;
  • Contourner les schémas de randomisation arbitraires avec BlindSide pour monter un exploit architectural uniquement sur les données (fuite du hash du mot de passe root);
  • Contourner la randomisation fine et la mémoire d’exécution du noyau pour vider le texte complet du noyau et monter un exploit ROP fiable.

Les chercheurs ont déclaré que BlindSide permet effectivement aux attaquants de «pirater à l’aveugle», sans avoir à se soucier de l’ASLR. Les attaques BlindSide fonctionnent également, quelle que soit l’architecture, étant testée sur les processeurs Intel et AMD. De plus, les attaques BlindSide fonctionnent également malgré les récentes mesures de protection que les fournisseurs de processeurs ont ajoutées contre les attaques d’exécution spéculative comme Spectre, Meltdown et d’autres. Le document de recherche de l’équipe propose plusieurs mesures de protection que les fabricants d’OS pourraient déployer pour contrer les attaques BlindSide.

Source : ZDNet.com

Leave a Reply