Depuis plus d’un an, Mozilla Firefox et Google Chrome ont pu divulguer les noms d’utilisateurs Facebook, les images de profils et les mots de passe des comptes si les navigateurs des utilisateurs en question consultaient des sites Web malveillants utilisant un algorithme de piratage, ont découvert des chercheurs fin mai 2018.
Les données pouvraient être extraites grâce à ce que l’on appelle une vulnérabilité de canal latéral dans la mise en œuvre par les navigateurs de nouvelles normes pour les feuilles de style en cascade introduites en 2016. Une des nouvelles fonctionnalités connues sous le nom de contenu visuel “mix-blend-mode” hébergé sur Facebook aux sites Web qui incluaient un lien iframe et un code intelligent pour capturer les données. Normalement, un concept de sécurité connu sous le nom de politique d’origine identique interdit que le contenu hébergé sur un domaine soit disponible pour un domaine différent. La vulnérabilité était importante car elle permettait aux pirates informatiques de contourner ce principe fondamental pour deux des navigateurs Internet les plus utilisés.
La faille a été découverte indépendamment par deux équipes de recherche différentes et elle a été corrigée l’an dernier dans la version 63 de Chrome et il y a deux semaines dans Firefox 60. Alors que les navigateurs mis à jour ne constituent plus une menace pour la vie privée des utilisateurs, la vulnérabilité a indiqué que les fonctionnalités graphiques de plus en plus puissantes ajoutées aux normes HTML5 et CSS sont susceptibles de rendre des tentatives de piratages similaires possibles à l’avenir.
“Les CSS, HTML et JavaScript ont beaucoup de fonctionnalités différentes pour faire des choses graphiques”, a déclaré le chercheur indépendant Dario Weißer. “Je ne serais pas surpris s’il y a des problèmes similaires, mais inconnus.”
Avec le chercheur Ruslan Habalov, Weißer a développé une séirie de preuve de concept qui a permis aux sites Web d’extraire les noms d’utilisateur Facebook, les images de profil et les mots de passe des utilisateurs de Chrome et Firefox qui ont visité Facebook. Le PoC a utilisé un iframe lié aux plugins sociaux que Facebook met à la disposition des sites web pour afficher le bouton de connexion Facebook et le bouton like sur leurs pages. Alors que la politique de même origine a empêché le PoC d’accéder au HTML HTML et à d’autres codages, le code a pu utiliser la fonction de mélange de mode pour déduire ces détails des images hébergées dans les plugins Facebook.
Weißer a expliqué:
“Nous ne pouvons pas accéder au contenu de l’iframe directement. Cependant, nous pouvons mettre des recouvrements sur l’iframe qui font une sorte d’interaction graphique avec les pixels sous-jacents. Puisque ces superpositions sont contrôlées par le site de l’attaquant, il est possible de mesurer la durée de ces interactions graphiques. Certains des modes mix-blend nécessitent une durée variable en fonction de la couleur du pixel sous-jacent. Si la couleur du pixel testé a la couleur X, le processus de rendu peut prendre plus de temps que pour la couleur Y. La fuite permet de déterminer la couleur des pixels individuels. Nous ne fuyons pas le code HTML, mais le contenu visuel de l’iframe ciblé.”
En récupérant les couleurs de chaque pixel, les pirates peuvent déduire l’image, puis l’inspecter manuellement ou utiliser des techniques de reconnaissance optique des caractères pour lire les mots affichés dans les images. Le PoC a besoin de moins d’une seconde pour vérifier l’état du site Web, 20 secondes pour extraire le nom d’utilisateur d’un visiteur et cinq minutes pour extraire un mot de passe. Si le cas est où votre mot de passe Facebook est piraté, l’application PASS FINDER vous aidera à le retrouver facilement.
Au moment où Weißer et Habalov ont découvert le canal secondaire en avril 2017, un chercheur indépendant nommé Max May l’avait déjà signalé sur la liste de diffusion Chromium, à l’insu de Weißer et Habalov. Weißer et Habalov ont rapporté en privé la vulnérabilité à Facebook, à Google et aux créateurs de la bibliothèque graphique Skia utilisée par Chrome. Skia a corrigé la faille le même mois et Google a publié un correctif en décembre.
Facebook, quant à lui, a déclaré qu’il était impossible de corriger la vulnérabilité. En raison d’une erreur, Weißer et Habalov n’ont pas averti Mozilla de la faille avant novembre 2017, une erreur qui explique pourquoi une correction de Firefox n’était pas disponible avant deux semaines.
Weißer a déclaré qu’Internet Explorer et Edge n’étaient pas affectés car ils n’avaient pas implémenté le mode mixte. Il a également indiqué que Safari n’était pas affecté, mais il ne savait pas pourquoi. Le chercheur a également déclaré que ce bug n’affectait probablement pas beaucoup de grands sites au-delà de Facebook, car ils utilisent généralement des protections à l’échelle du site contre les attaques iframe. (Facebook a des protections iframe en place mais elles ne sont pas activées pour ses plugins sociaux.) Même si ce bug particulier est maintenant corrigé dans les navigateurs, des failles de navigateur similaires qui n’ont pas encore été révélées publiquement affectent probablement d’autres propriétés.
“Nous avons seulement démontré le potentiel d’attaque contre Facebook”, écrit Habalov dans un article de blog qui explique en détail l’exploit du canal secondaire. “Cependant, à travers le Web, il y a des tonnes d’autres ressources sensibles qui pourraient être affectées par des attaques comme celle-ci d’une manière similaire. Malheureusement, nous prévoyons que de plus en plus de ces vulnérabilités seront découvertes. “