Les versions Beta, Dev et Canary de Edge, le navigateur de Microsoft, permet aux utilisateurs de désactiver le JIT (just-in-time), qui permet au logiciel de compiler à la volée le code JavaScript très courant dans les pages web. Du code souvent indispensable sur bon nombre de sites, et qu’un bon compilateur JIT doit interpréter très rapidement.
Peu d’impact sur les performances
Mais si un compilateur JIT est si indispensable, pourquoi vouloir le désactiver ? Il se trouve qu’une grande partie des failles de sécurité provient du moteur JavaScript des navigateurs. Microsoft explique que depuis 2019, environ 45% des failles issues du moteur JavaScript V8 sont liés au compilateur JIT. Une analyse de Mozilla a démontré que plus de la moitié des failles de Chrome exploitait un bug JIT.
Si la désactivation du JIT peut effectivement renforcer la sécurité d’un navigateur, les performances pourraient être dégradées. Microsoft a réalisé des tests qui montrent que les différences ne sont pas si notables. Il y a des régressions, mais aussi des améliorations, selon l’éditeur : « nous constatons que les utilisateurs ayant désactivé JIT ne remarquent que rarement une différence dans leur navigation quotidienne ».
Par ailleurs, désactiver JIT permet surtout d’intégrer de nouveaux systèmes de sécurité comme ControlFlow Enforcement Technology (CET) et Arbitrary Code Guard (ACG). C’est pourquoi Microsoft propose aux testeurs et aux développeurs le Super Duper Secure Mode, qui désactive JIT et active CET (un mode à lancer depuis edge://flags).
L’éditeur explique qu’il s’agit évidemment d’une expérimentation, et qu’il doit encore lever des obstacles techniques. Le nom du mode devait aussi changer pour « quelque chose de plus professionnel » quand la fonction sera lancée auprès du grand public…
🟣 Pour ne manquer aucune news sur le Journal du Geek, abonnez-vous sur Google Actualités. Et si vous nous adorez, on a une newsletter tous les matins.