Le langage Javascript est un langage de programmation aimé et décrié à parts égales.
Considéré comme une bête puissante et complexe, il a rendu possible de nombreuses expériences riches sur le Web, ce qui n’aurait pas été possible avec les seuls HTML et CSS.
Mais il a également donné lieu à de nombreux bogues et exploits qui mettent les gens en danger.
Les concepteurs de Microsoft Edge étudient actuellement ce qu’ils appellent un “Super Duper Safe Mode” qui désactive une fonction Javascript majeure que presque tous les navigateurs Web utilisent pour améliorer les performances au détriment de la sécurité.
Le langage Javascript est ce que l’on appelle un langage interprété dans lequel l’ordinateur, ou le navigateur web dans ce cas, traverse chaque ligne de code et l’exécute avant de passer à la ligne suivante.
Cette explication est bien sûr assez simpliste, mais elle devrait déjà indiquer à quel point il peut être comparativement lent par rapport à un programme qui a déjà été compilé sous une forme binaire que le processeur de l’ordinateur comprend directement.
Voilà où intervient le compilateur Javascript JIT ou Just-in-Time, qui est maintenant une fonction standard dans presque tous les moteurs Javascript utilisés par les navigateurs Web, dont le moteur V8 de Chromium.
Le code Javascript est ainsi compilé au moment où il est sur le point d’être utilisé, ce qui permet de l’exécuter plus rapidement.
Malheureusement, les chercheurs en sécurité attribuent également la moitié des exploits de Chrome dans la nature à des bogues dans ce JIT.
Microsoft a prévu de supprimer tout simplement ce JIT du moteur V8 que le navigateur Edge utilisera. contre toute attente, les développeurs ont constaté qu’il n’y avait pas d’impact significatif sur les performances sans le JIT Javascript.
On a même constaté des améliorations, mais il faut reconnaître qu’il y a aussi eu des régressions.
Cependant, ce “Super Duper secure mode” de Microsoft Edge n’en est encore qu’aux premiers stades de la recherche et du développement, et il est fort probable qu’il adoptera un nom plus adapté aux entreprises à l’approche de sa première version stable.
En supprimant le JavaScript JIT, les chercheurs espèrent également être en mesure de mettre en œuvre des mesures d’atténuation des exploits plus avancées qui n’étaient pas possibles avec le JIT.