L’isolation des sites, qu'est-ce que c’est ?
L'Internet peut nous servir à différentes choses, par exemple nous pouvons regarder des vidéos de chats et gérer des portefeuilles de crypto-monnaie, entre autres. Mais ce que nous ne souhaitons pas c’est que chatbeaute.mignon puisse avoir accès à nos jetons.
En général, les sites Web ne peuvent pas accéder aux données d'autres sites Web dans le navigateur grâce à la politique de même origine. Cependant, des sites malveillants peuvent essayer de contourner cette politique pour attaquer d'autres sites Web, et occasionnellement, des bogues de sécurité sont trouvés dans le code du navigateur qui applique la politique de même origine. L'équipe Chrome vise à corriger ces bogues le plus rapidement possible.
Il faut rappeler que Chrome a toujours eu une architecture multi-processus dans laquelle différents onglets pouvaient utiliser différents processus de rendu. Un onglet donné peut même changer de processus lorsque vous naviguez vers un nouveau site dans certains cas. Cependant, il était toujours possible que la page d'un attaquant partage un processus avec la page d'une victime. Par exemple, les iframes intersites et les pop-ups inter-sites restent généralement dans le même processus que la page qui les a créés. Cela permettrait à une attaque par Spectre réussie de lire des données (par exemple, des cookies, des mots de passe, etc.) appartenant à d'autres cadres ou fenêtres contextuelles dans son processus.
L'isolation de site est une fonctionnalité de sécurité de Chrome qui offre une ligne de défense supplémentaire pour que ces attaques soient moins susceptibles de réussir. Elle garantit que les pages de différents sites Web sont 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, avec l’isolation de site, il est beaucoup plus difficile pour un site Web malveillant d'utiliser des attaques par canal latéral spéculatives comme Specter pour voler des données provenant d'autres sites.
Lorsque l'isolation du site est activée, chaque processus de rendu contient des documents provenant d'au plus un site. Cela signifie que toutes les navigations vers des documents intersites provoquent un changement d'onglet dans les processus. Cela signifie également que toutes les iframes intersites sont placées dans un processus différent de leur cadre parent, en utilisant des iframes hors processus. Le fractionnement d'une seule page sur plusieurs processus est un changement majeur dans le fonctionnement de Chrome, et l'équipe de sécurité de Chrome poursuit cette démarche depuis plusieurs années, indépendamment de Specter. Les premières utilisations d'iframes hors processus livrées l'année dernière pour améliorer le modèle de sécurité de l'extension Chrome.
Une seule page peut maintenant être répartie sur plusieurs processus de rendu à l'aide d'iframes hors processus.
Cependant, Google reconnaît que même lorsque chaque processus de rendu est limité aux documents d'un seul site, il existe toujours un risque que la page d'un attaquant accède à des informations provenant d'URL intersites en les demandant en tant que sous-ressources, telles que des images ou des scripts. Les navigateurs Web permettent généralement aux pages d'intégrer des images et des scripts depuis n'importe quel site. Toutefois, une page pourrait essayer de demander une URL HTML ou JSON avec des données sensibles comme s'il s'agissait d'une image ou d'un script. Cela ne réussirait normalement pas à restituer et à ne pas exposer les données à la page, mais ces données finiraient dans le processus de rendu où une attaque Spectre pourrait y accéder. Pour atténuer cela, l'isolation du site inclut une fonctionnalité appelée CORB (Cross-Origin Read Blocking), qui fait maintenant partie de la spécification Fetch. CORB tente de bloquer de manière transparente les réponses HTML, XML et JSON inter-sites à partir du processus de rendu, sans pratiquement aucun impact sur la compatibilité. Pour obtenir le maximum de protection de Site Isolation et de CORB, les développeurs Web doivent vérifier que leurs ressources sont servies avec le bon type MIME et avec l'en-tête de réponse nosniff.
En somme, l’isolation de site rend plus difficile pour les sites Web non fiables d'accéder ou de dérober des informations de vos comptes sur d'autres sites Web. Il offre une protection supplémentaire contre divers types de bogues de sécurité, tels que les récentes attaques latérales Meltdown et Specter.
Comment l'isolation de site aide-t-elle?
Dans Chrome 67, l'isolation du site a été activée pour 99% des utilisateurs sous Windows, Mac, Linux et Chrome OS. Compte tenu de l'ampleur de ce changement, Google a décidé de maintenir pour l'instant une retenue de 1% pour surveiller et améliorer les performances. Cela signifie que même si une attaque Spectre devait survenir sur une page Web malveillante, les données d'autres sites ne seraient généralement pas chargé dans le même processus, et il y aurait donc beaucoup moins de données disponibles pour l'attaquant. Cela réduit considérablement la menace posée par Specter.
Pour cette raison, Google prévoit de réactiver les minuteries et fonctionnalités précises telles que SharedArrayBuffer (qui peut être utilisé comme un minuteur précis) pour desktop.
Y a-t-il un travail supplémentaire en cours ?
Google étudie maintenant comment étendre la couverture d'isolation de site à Chrome pour Android, où il existe d'autres problèmes connus. Les stratégies d'entreprise expérimentales pour l'activation de l'isolation du site seront disponibles dans Chrome 68 pour Android et peuvent être activées manuellement sur Android à l'aide de chrome: // flags / # enable-site-per-process.
Google travaille également sur des contrôles de sécurité supplémentaires dans le processus du navigateur, ce qui permettra à l'isolation du site d'atténuer non seulement les attaques par Spectre mais aussi les attaques provenant de processus de rendu entièrement compromis. Ces mesures d'exécution supplémentaires, pense Google, va permettre d'atteindre les objectifs de motivation initiaux pour l'isolation du site, où Chrome peut traiter efficacement l'ensemble du processus de rendu comme étant non approuvé.
Enfin, d'autres éditeurs de navigateurs majeurs trouvent des moyens de se défendre contre Specter en isolant mieux les sites. Google a décidé de collaborer avec eux et se dit heureux de voir les progrès à travers l'écosystème Web.
Source : blog Chrome
Et vous ?
Qu'en pensez-vous ?
Voir aussi :
Chrome ne va plus afficher le label « Sécurisé » pour les connexions HTTPS à compter de septembre 2018
Chrome 66 : Google supprime temporairement sa nouvelle politique de lecture automatique, mais uniquement pour l'API Web Audio
Chrome 66 : les développeurs de jeux vidéo axés Web manifestent leur colère, suite au blocage de l'audio des vidéos en lecture automatique
Chrome 66 débarque sur Windows, Mac et Linux et vient bloquer la lecture automatique des sites sous réserve de certaines conditions
Chrome 66 bloquera la lecture automatique des contenus multimédias exécutés sur les pages web avec le son, Google fait des recommandations à la suite