Mozilla a commencé à déployer une nouvelle fonctionnalité de sécurité pour son navigateur Firefox dans les canaux nocturnes et bêta qui vise à protéger les utilisateurs contre une nouvelle classe d’attaques par canaux secondaires provenant de sites malveillants.
Appelée «Isolation de site», la mise en œuvre charge chaque site Web séparément dans son propre processus de système d’exploitation et, par conséquent, empêche le code non approuvé d’un site Web malveillant d’accéder aux informations confidentielles stockées sur d’autres sites.
« Cette refonte fondamentale de l’architecture de sécurité de Firefox étend les mécanismes de sécurité actuels en créant des limites au niveau des processus du système d’exploitation pour tous les sites chargés dans Firefox pour ordinateur de bureau, » Mozilla mentionné dans un rapport. « Isoler chaque site dans un processus de système d’exploitation distinct rend encore plus difficile pour les sites malveillants de lire les données secrètes ou privées d’un autre site. »
La motivation de l’isolement de site remonte à janvier 2018, lorsque les vulnérabilités de Spectre et Meltdown ont été divulguées publiquement, forçant les fournisseurs de navigateurs et les fabricants de puces à incorporer des défenses pour neutraliser les attaques qui pourraient briser les frontières entre différentes applications et permettre à un adversaire de lire les mots de passe. , les clés de chiffrement et d’autres informations précieuses directement à partir de la mémoire du noyau d’un ordinateur.
De façon troublante, de telles attaques par canal latéral pourraient être lancé à distance via des sites Web exécutant du code JavaScript malveillant, ce qui oblige les fabricants de navigateurs, y compris Mozilla, à offrir des atténuations en réduisant le précision des fonctions de mesure du temps. Cependant, les correctifs actuels pour Spectre n’ont été qu’un simple «pansement» et n’offrent pas de protection contre toutes les variantes théoriques des attaques.
« Malgré les atténuations de sécurité existantes, le seul moyen de fournir les protections de mémoire nécessaires pour se défendre contre les attaques de type Spectre est de s’appuyer sur les garanties de sécurité qui accompagnent l’isolement du contenu de différents sites en utilisant la séparation des processus du système d’exploitation », Anny Gakhokidze de Mozilla mentionné.
Ainsi a commencé l’initiative de Mozilla pour l’isolation de sites en avril 2018 sous le nom de Projet Fission. Alors que l’architecture actuelle de Firefox permet au processus « parent » privilégié de générer huit processus de contenu Web, elle pourrait également ouvrir la porte à un scénario où deux sites Web complètement différents se retrouvent dans le même processus et, par conséquent, partagent la mémoire de processus, plaçant ainsi des sites Web légitimes. risque d’attaques d’exécution spéculative.
Cela signifie également une page Web intégrée avec plusieurs sous-cadres à partir de différents sites (par exemple, les espaces publicitaires dans les pages Web) partageront tous la même mémoire de processus, ce qui permettra à un site de niveau supérieur d’obtenir des secrets à partir d’un sous-cadre intégré auquel il ne devrait pas avoir accès en premier lieu, et vice-versa. versa.
C’est là que l’isolement de site entre en jeu. Il charge chaque site Web dans son propre processus, y compris ceux qui sont intégrés dans la page, et isole leur mémoire les uns des autres, empêchant ainsi un domaine malveillant d’accéder aux informations saisies dans un autre domaine.
Outre le renforcement de la sécurité de Firefox en offrant une séparation des processus au niveau du système d’exploitation pour chaque site, l’isolation de site devrait également apporter d’autres avantages en termes de performances, notamment une utilisation efficace du matériel sous-jacent et une stabilité améliorée, car un sous-cadre ou un blocage d’onglet n’aura plus d’incidence d’autres sites Web ou processus.
Les utilisateurs exécutant des versions de Firefox Nightly peuvent activer la fonctionnalité en accédant à «about: preferences # experimental» et en cochant la case «Fission (Site Isolation)». Ceux qui utilisent Firefox Beta peuvent le faire en se dirigeant vers «about: config» et en définissant «fission.autostart» sur «true».