
En principe, sur Chrome, les sites Web ne sont pas censés pouvoir accéder aux données d'autres sites dans le navigateur, grâce au code de la politique de la même origine (Same Origin Policy). Mais il y a eu des bogues de sécurité détectés dans ce code qui peuvent permettre à des sites Web malveillants de contourner ces règles pour attaquer d'autres sites Web. L'équipe Chrome a décidé corriger ces bogues le plus rapidement possible. Entre temps, elle propose la fonctionnalité d'isolation de site qui offre une deuxième ligne de défense pour que ces attaques aient moins de chance de réussir.
Elle garantit que les pages de différents sites Web soient toujours placées dans des processus différents, chacun s'exécutant dans un bac à sable qui limite ce que le processus est autorisé à faire. Cela empêche également le processus de recevoir certains types de données sensibles provenant d'autres sites. Par conséquent, un site Web malveillant aura plus de difficulté à voler des données provenant d'autres sites, même s'il peut enfreindre certaines des règles dans son propre processus. Avec Chrome 67, Google dit avoir activé cette fonctionnalité pour 99 % de ses utilisateurs.
Firefox veut emboîter le pas au numéro un mondial des navigateurs Web. Depuis quelques mois, Mozilla travaille en effet sur son projet Fission, qui vise à apporter une fonctionnalité similaire à celle de Google. Cela ne doit pas être un gros problème étant donné qu'avec Firefox Quantum, le navigateur de Mozilla est passé d'une architecture mono-processus à une architecture multiprocessus.

Mais le projet est encore à ses débuts et il y a un gros défi à relever : si créer un processus par domaine ou site est techniquement une tâche relativement simple avec la nouvelle architecture de Firefox, il y a une contrainte au niveau du nombre maximum de processus. Car avoir plus de processus signifie une augmentation de la quantité de mémoire RAM utilisée par le navigateur. Autrement dit, le principal obstacle d'un tel projet est la quantité de mémoire RAM consommée et donc l'impact sur la performance du navigateur. Et il y a trois semaines, Mozilla a commencé à s'attaquer à ce problème.
Le 10 juillet, Mozilla a annoncé le lancement de Fission MemShrink - qui semble être une contraction de Memory Shrink - en tant que sous-projet de Fission. Comme son nom l'indique, l'objectif est de réduire l'utilisation de la mémoire RAM par Firefox, une condition nécessaire pour la réussite du projet Fission. Dans une liste de diffusion, Mozilla explique le projet MemShrink et le défi à relever.
« Le projet Fission MemShrink est l'un des aspects qui ont été les plus facilement négligés dans le cadre du projet Fission (également connu sous le nom d'isolation de site), mais il est absolument essentiel à son succès. Et il exigera un effort de l'entreprise et de la communauté pour atteindre ses objectifs », explique Kris Maglione de la fondation Mozilla.
Le problème qu'il soulève est que pour que l'isolation de site fonctionne, il faut être en mesure d'exécuter au moins 100 processus de contenu dans une session Firefox moyenne. « Chacun de ces processus a sa propre consommation de mémoire de base juste pour créer le processus, indépendamment de ce qui est en cours d'exécution. Dans le monde post-Fission, la quantité de mémoire RAM utilisée doit être inférieure à 10 Mo par processus afin de garder le total en dessous de 1 Go », dit-il. Mais à l'heure actuelle, sous Windows 10, qui est la plateforme la plus prometteuse pour la mise en oeuvre de cette fonctionnalité, Firefox utilise entre 17 et 21 Mo de RAM par processus. Et sur Linux et OS-X, le navigateur de Mozilla consomme entre 25 et 35 Mo de RAM par processus. Kris Maglione déduit qu'au vu de l'objectif fixé (au moins 100 processus et 10 Mo maximum par processus), cela veut dire qu'une session ordinaire de Firefox pourrait coûter entre 2 et 3,5 Go de RAM.
Cela veut dire aussi que, dans le meilleur des cas, Mozilla doit réduire la mémoire utilisée dans les processus de contenu Firefox d'au moins 7 Mo. « Le problème, bien sûr, est qu'il n'y a que très peu d'endroits où nous pouvons réduire la mémoire sans perdre de fonctionnalités, et encore moins d'endroits où nous pouvons réaliser de gros gains de mémoire », dit-il. En ajoutant toutefois qu'il y a beaucoup d'endroits où il est possible de réaliser de petits et moyens gains. C'est-à-dire des gains de quelques kilo-octets à des dizaines kilo-octets, et pourquoi pas des gains de 100 à 250 ko ci et là, même si Maglione estime qu'il n'y a pas assez d'endroits où l'on peut obtenir des gains de 250 ko.
La réussite du projet Fission dépend donc de la capacité de Mozilla à atteindre ses objectifs dans le cadre du sous-projet Fission MemShrink. « Si nous échouons dans ces domaines, le projet Fission échouera et Firefox sera le seul navigateur majeur sans isolation de site », ajoute Kris Maglione, avant d'assurer que le projet ne sera pas un échec si toute la communauté se mobilise. En tout cas, tout porte à croire que Mozilla livrera cette fonctionnalité à l'avenir même si les objectifs ne sont pas rigoureusement atteints. Et même si ces objectifs sont atteints, quel est le poids des avantages de cette fonctionnalité face à l'impact sur la performance du navigateur ?
Source : Liste de diffusion Mozilla
Et vous ?



Voir aussi :





Vous avez lu gratuitement 2 943 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.