IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft Edge expérimente une fonction de sécurité avancée baptisée Super Duper Secure Mode
Qui désactive le compilateur JavaScript JIT pour réduire la surface d'attaque liée à cet outil

Le , par Bill Fassinou

42PARTAGES

4  0 
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.



Si le navigateur a besoin de ce code, il gagne en rapidité. S'il n'en a pas besoin, le code est supprimé. Cela dit, les fournisseurs de navigateurs s'accordent à dire que la prise en charge du compilateur JIT dans V8 est complexe. Johnathan Norman, responsable de la recherche sur les vulnérabilités de Microsoft Edge, a décrit la compilation JIT comme un "processus remarquablement complexe que très peu de personnes comprennent et dont la marge d'erreur est faible". Le cadre de Microsoft a souligné que la moitié des vulnérabilités du moteur V8 étaient liées à ce processus, ce qui est profitable aux acteurs malveillants du Web.

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.



« En désactivant le compilateur JIT, nous pouvons activer des atténuations et rendre plus difficile l'exploitation des bogues de sécurité dans n'importe quel composant du processus de rendu », a-t-il écrit. Cette réduction de la surface d'attaque tue la moitié des bogues que nous voyons dans les exploits et chaque bogue restant devient plus difficile à exploiter. Pour le dire autrement, nous réduisons les coûts pour les utilisateurs, mais augmentons les coûts pour les attaquants », a-t-il ajouté. Selon Norman, les utilisateurs ne verraient aucun effet en matière d'expérience de navigation.

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.



« Les sites Web ne nécessitent pas de JavaScript, ce qui en a vraiment besoin, ce sont les applications Web à page unique avec des anti-modèles comme le défilement infini. Vous obtenez deux choses en retour, un Web "super duper" rapide et un navigateur Web plus sûr. À titre d'exemple, Amazon supporte très bien l'utilisation sans JavaScript. Une autre expérience est Stackoverflow, des choses comme l'aperçu et la mise en évidence ne fonctionnent pas. La mise en évidence peut être ajoutée avec du code côté serveur, mais cela coûtera du temps CPU - et ce n'est pas votre temps CPU. C'est leur temps CPU ? », lit-on dans les commentaires.

« 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é.

Source : Microsoft

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de l'initiative de l'équipe VR de Microsoft Edge ?
Pensez-vous que d'autres fournisseurs de navigateurs emboîteront les pas de Microsoft ?
Pensez-vous que la désactivation du compilateur JIT permettra à Microsoft d'attirer plus d'utilisateurs avertis ?
Selon vous, que représente cette nouvelle pour l'industrie de la publicité en ligne qui dépend en grande partie du JavaScript ?

Voir aussi

Microsoft annonce la fin de vie du navigateur Microsoft Edge Legacy pour le 13 avril 2021, le nouveau Microsoft Edge est construit avec Chromium de Google

Le nouveau Microsoft Edge a connu une croissance de plus de 1300 % sur les douze derniers mois, dépassant Firefox qui perd lentement sa part de marché

Le nouveau navigateur de Microsoft Edge fait 100% au test d'accessibilité HTML5. Il est suivi de près par Safari qui réussit un honorable 98%

Microsoft Edge développe une nouvelle approche de notification appelée « demandes de notification adaptatives » afin de maximiser la valeur des notifications et minimiser leur gêne

Google Chrome et Microsoft Edge prendront en charge la fonction de sécurité CET d'Intel pour maintenir la sécurité et prévenir des vulnérabilités

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 06/08/2021 à 18:26
Cela empêchera tout code JavaScript de s’exécuter ou seulement le code interprété à la volé?
0  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 06/08/2021 à 18:39
Citation Envoyé par TotoParis Voir le message
Enfin, Javascript est reconnu comme une nuisance essentielle des pages web !
Je ne compte plus le nombre de sites web devenus complètement dysfonctionnels à cause de ce langage,
mais dont l'interface n'a absolument pas changée : l'intérêt de ce langage est donc très discutable.
Oui mais c'est largement car l'augmentation des ressources disponibles permet tous les abus. Avoir plusieurs Mo de js pour une page de 60ko de texte et qui charge très bien sans, c'est clairement un mésusage...

Mais javascript est clairement ce qu'on a de plus rodé sous la main. Optimisé, bien portable, et permet d'écrire une appli complète côté client (confidentialité des données, pas de serveur). Sans compter que le chargement dynamique d'une page sans js ça ne doit pas être possible.

Avec la transpilation en js, on peut même produire plus léger et rapide qu'avec beaucoup de SDK, même compilés. J'ai une telle appli fluide de formulaires et calculs dont l'apk sera probablement < 1 Mo. À côté de ça, j'ai essayé hier la démo de Fyne (une GUI de Golang) : c'est 22Mo et ça saccade sur un téléphone bas de gamme).


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
Pour revenir à l'article, je suis surpris par cette info car habituellement les langages interprétés gagnent beaucoup en JIT en moyenne (même si ça dépend du code, parfois c'est pire). Il faudrait un avis d'un expert sur ce compilateur JIT.
0  0 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 06/08/2021 à 11:25
Enfin, Javascript est reconnu comme une nuisance essentielle des pages web !
Je ne compte plus le nombre de sites web devenus complètement dysfonctionnels à cause de ce langage,
mais dont l'interface n'a absolument pas changée : l'intérêt de ce langage est donc très discutable.
1  2