ArticleCybersécurité & Conformité
Une attaque JavaScript par détournement ASLR facilite l'exploitation de failles
Des chercheurs de l'Université libre d'Amsterdam ont trouvé une solution pour contourner facilement les protections ASLR dans les navigateurs web à partir de JavaScript.

La nouvelle attaque conçue par des chercheurs du VUSec, Systems and Network Security Group, de l'Université libre (Vrije Universiteit) d’Amsterdam, permet de contourner l’un des principaux systèmes d’atténuation d'exploit des navigateurs : la distribution aléatoire de l'espace d'adressage (Address space layout randomization - ASLR). Parce que l'attaque, baptisée AnC, s’appuie sur le mode de gestion de la mémoire cache par les processeurs modernes et non sur un bug logiciel, la parade n’est pas facile à trouver. Les chercheurs ont dévoilé l'attaque hier, après avoir consulté les fabricants de processeurs, les éditeurs de navigateurs et de systèmes d’exploitation.
La fonction ASLR est mise en oeuvre dans tous les principaux systèmes d'exploitation. Les applications, et notamment les navigateurs Internet, s’en servent pour rendre l'exploitation de vulnérabilités de corruption de mémoire plus compliquée, en particulier les débordements de tampon. La technique d'atténuation consiste à rendre aléatoire l'espace d'adressage mémoire, de telle sorte que les attaquants ne sachent pas où injecter et faire exécuter leur code malveillant. Des méthodes existent pour contourner la fonction ASLR, mais elles impliquent souvent de combiner plusieurs vulnérabilités avec une faille permettant la fuite de mémoire.
La gestion de la mémoire cache sert de canal
Ce nouveau mode d’attaque rend inutile le recours à des séries de vulnérabilités et facilite d’autant l'exploitation des failles pour l’exécution de code à distance. « Cette attaque est en effet très intéressante, si elle est aussi efficace et aussi fiable que ce qu’en disent les chercheurs », a indiqué dans un mail à nos confrères d'IDGNS Carsten Eiram, directeur de la recherche de Risk Based Security, entreprise de sécurité spécialisée dans les vulnérabilités. « Elle peut être couplée avec plusieurs types de vulnérabilités par exécution de code à travers différentes plates-formes et même différents logiciels prenant en charge JavaScript, notamment les navigateurs Internet. Surtout, l’attaque a l’air d’être capable de casser la défense ASLR, et la solution ne semble pas théorique ou académique, mais tout à fait praticable ».
Autre aspect intéressant de l'attaque, c'est qu'elle ne dépend pas d'une fonction logicielle particulière. Mais elle exploite la manière dont l’unité de gestion de la mémoire, la MMU, gère la mémoire cache pour améliorer les performances des processeurs modernes. Il se trouve que le processus peut servir de canal pour faire passer des tas de fuites et des pointeurs de code que l’ASLR est censé cacher, directement depuis JavaScript. L'an dernier, ces mêmes chercheurs avaient conçu une autre attaque de contournement ASLR exploitant Microsoft Edge. Celle-ci s'appuyait sur une fonction logicielle dite de déduplication mémoire que Microsoft a désactivée par la suite pour protéger les utilisateurs. Mais pour ce qui est de l’attaque AnC, aucune désactivation n’est possible, car le problème se situe au niveau du hardware et ne peut être corrigé dans les CPU existants.
Certains ajustements peuvent compliquer la mise en oeuvre
Néanmoins, les éditeurs de navigateurs peuvent faire certains ajustements pour compliquer la mise en œuvre de l'attaque. Par exemple, l'attaque a besoin d’une minuterie précise dans JavaScript. Les éditeurs de navigateurs ont déjà désactivé une fonction qui pouvait servir à mener des attaques synchronisées similaires sur le cache. Mais les chercheurs de VUSec ont trouvé deux autres solutions pour construire des minuteries utilisables par l’attaque AnC que les éditeurs de navigateurs pourraient également les bloquer. Et rien ne garantit que d'autres méthodes ne seront pas découvertes.
Les chercheurs ont suggéré plusieurs modifications sur la CPU, l’OS et les navigateurs qui pourraient compliquer les attaques AnC, mais certaines modifications pourraient entamer les performances et demandent une analyse plus approfondie. L'équipe chargée de la sécurité des produits d'Apple a d’ores et déjà travaillé avec les chercheurs de VUSec pour améliorer la protection de son WebKit contre les attaques AnC.

