Qui désactive le compilateur JavaScript JIT pour réduire la surface d'attaque liée à cet outil
L'équipe Vulnerability Research (VR) de Microsoft Edge a annoncé mercredi qu'elle expérimentait une nouvelle fonctionnalité dans le navigateur. L'expérience consiste à désactiver intentionnellement le compilateur JavaScript et WebAssembly JIT, une importante fonction d'optimisation et de performance afin d'activer des mises à niveau de sécurité plus avancées dans ce que la société appelle Edge Super Duper Secure Mode. L'entreprise a expliqué que l'idée est de réduire la surface d'attaque des exploits modernes qui se basent sur les failles JavaScript et augmenter considérablement le coût d'exploitation pour les attaquants.
Sécurité vs performance : est-il temps de reconsidérer les compromis ?
Microsoft pense que oui. En effet, le nouveau navigateur Edge du géant de Redmond est basé sur le projet Chromium de Google, qui lui-même repose sur le moteur JavaScript V8, également développé par Google. À son tour, le moteur V8 - qui est un moteur open source - embarque un compilateur JIT (just-in-time), un type de compilateur devenu très populaire sur le Web pour exécuter du code JavaScript plus rapidement. Le compilateur JIT, bien qu'inconnu de la plupart des utilisateurs finaux, joue un rôle crucial dans tous les navigateurs Web actuels. Il fonctionne en prenant JavaScript et en le compilant en code machine à l'avance.
Sur la base des données CVE (Common Vulnerabilities and Exposures) collectées depuis 2019, environ 45 % des vulnérabilités trouvées dans le moteur JavaScript et WebAssembly V8 étaient liées au compilateur JIT, soit plus de la moitié de tous les exploits Chrome "à l'état brut" abusant des bogues du compilateur JIT. Norman a déclaré que des tests récents effectués par l'équipe Edge ont montré que malgré son rôle central dans l'accélération des navigateurs au début et au milieu des années 2010, le compilateur JIT n'est plus une fonctionnalité cruciale pour les performances d'Edge. Il est donc temps de revoir son importance et réduire les risques liés à son utilisation.
Encouragé par ces résultats, Norman a déclaré que l'équipe Edge travaille actuellement sur ce que l'équipe VR appelle le "Super Duper Secure Mode", une configuration Edge dans laquelle elle désactive le compilateur JIT et active trois autres fonctions de sécurité, dont la technologie CET (Controlflow-Enforcement Technology) d'Intel et le système ACG (Arbitrary Code Guard) de Windows - deux fonctions qui entreraient normalement en conflit avec l'implémentation JIT de V8. Comme l'a expliqué Norman, le Super Duper Secure Mode est actuellement classé comme une expérience, et il n'est pas prévu de le livrer aux utilisateurs pour le moment.
Apporter plus de sécurité avec le Super Duper Secure Mode (SDSM)
L'essai a été révélé mercredi dans un billet de blogue par Norman. Il a déclaré que la désactivation du compilateur JIT pourrait immédiatement supprimer la moitié des bogues de sécurité liés au moteur V8. La troisième fonctionnalité que ce processus a permis d'activer est le système CFG (Control Flow Guard) de Winodws. Selon lui, ces systèmes étaient incompatibles avec le compilateur JIT, mais pouvaient aider à se protéger contre toute une série de menaces. Les résultats de leur expérience, exposés dans son billet de blogue, semblant prouver de manière écrasante son hypothèse.
Toutefois, les tests de Microsoft ont révélé que les versions d'Edge sans le compilateur JIT présentaient une réduction de 16,9 % du temps de chargement des pages et de 2,3 % en matière d'utilisation de la mémoire. Norman a fait remarquer que l'expérience n'était que provisoire et que le Super Duper Secure Mode (SDSM) ne ferait pas partie de la version officielle de Microsoft Edge de sitôt. Toutefois, le SDSM peut être activé par les utilisateurs des versions préliminaires de Microsoft Edge (notamment Beta, Dev et Canary) en se rendant sur edge://flags/#edge-enable-super-duper-secure-mode et en activant la nouvelle fonctionnalité.
Cette nouvelle intervient peu de temps après que Microsoft Edge a révélé une série de nouvelles options de personnalisation pour les utilisateurs, dont la possibilité de modifier l'entrée par défaut concernant l'autorisation de la lecture automatique des médias dans le navigateur, ainsi que la possibilité de "désactiver" les alertes relatives à la santé du mot de passe pour un site Web particulier. Bien sûr, dans la communauté, l'on apprécie l'effort de Microsoft de réduire la surface d'attaque pour les utilisateurs finaux qui à priori n'ont rien demandé de tout le JavaScript qu'embarquent les pages Web aujourd'hui.
« Il y a une petite fonction que j'apprécierais dans les moteurs HTML "copier le lien vers l'emplacement" au lieu d'utiliser JavaScript, mais il y a cette barre d'adresse hiérarchique utilisable en haut (que Google essaie de cacher) qui sert déjà à cela. Je ne suis pas contre JavaScript. Il n'est qu'un outil. Cependant, je pose la question de savoir si les bons sites Web en ont besoin. Hackernews utilise 134 lignes de JavaScript, ce qui n’est déjà presque rien. Pouvez-vous imaginer utiliser Hackernews sans JavaScript ? », a conclu l'intéressé.
merci à Developpez.com