Microsoft Edge teste la désactivation du compilateur JIT JavaScript pour renforcer la sécurité
Microsoft a mené des expériences et des tests de performances avec des versions spéciales de son navigateur Edge, où le compilateur JavaScript juste à temps est désactivé. Le but de l'expérience est de voir quel effet bénéfique cela peut avoir sur la sécurité.
Un interpréteur JIT ou juste à temps est un module dans lequel JavaScript est traité et compilé dynamiquement, au fur et à mesure que le code est accessible par le navigateur. Alors que les langages tels que C++ et C# sont d'abord traités par un compilateur avant que l'exécution ne soit possible, un interpréteur juste-à-temps traite et optimise le JavaScript tel qu'il est lu en temps réel, comme son nom l'indique.
Microsoft a publié un article intitulé "Super Duper Secure Mode", axé sur l'expérience de désactivation du compilateur JIT dans Edge. Le point culminant de ce changement est qu'avec le compilateur JIT désactivé, le navigateur a pu utiliser plusieurs technologies de protection qui n'étaient pas compatibles avec le JIT.
Ceux-ci incluent la technologie Control-Flow Enforcement Technology (CET) d'Intel, ainsi que l'Arbitrary Code Guard de Microsoft - une mesure d'atténuation supplémentaire qui existe dans Windows.
L'article de Microsoft, rédigé par Jonathan Normal qui dirige la recherche sur les vulnérabilités MS Edge, qualifie de "malheureux" le fait que ces technologies soient incompatibles avec JIT, car l'interpréteur travaille avec du "contenu non fiable", qui devrait être aussi limité en autorisations et que " verrouillé" que possible.
ZDNet rapporte que, bien que les tests internes effectués par Microsoft affirment que les utilisateurs remarquent à peine une sorte de ralentissement observable lorsque le JIT est désactivé, les tests de référence externes ont enregistré une réduction significative des performances.
Les temps de chargement des pages ont également été affectés, Microsoft signalant une régression "d'environ 17%", tandis que les temps de démarrage du navigateur se sont légèrement améliorés avec le JIT désactivé.
Les utilisateurs qui souhaitent tester le mode Super Duper Secure par eux-mêmes devront obtenir une version bêta du navigateur Edge et activer le mode dans la page des paramètres edge://flags.
À l'heure actuelle, WebAssembly n'est pas compatible avec le mode Super Duper Secure et seul le CET d'Intel est activé, mais cela est bien sûr sujet à changement, à mesure que le mode est développé et affiné.