Un fantôme dans le navigateur ?

Date : 03 Juillet 2008

"Est-ce que vous croyez aux fantômes ?". C'est par cette question accrocheuse que Manuel Caballero a débuté sa présentation lors de la conférence "BlueHat" organisée par Microsoft  en mai dernier. Il a ensuite expliqué qu'il avait découvert une vulnérabilité dans Internet Explorer qui permettrait à un pirate d'insérer dans une page web un code malicieux qui espionnerait ensuite (tel un fantôme invisible) toute la navigation web de l'internaute. Il n'a cependant pas révélé les détails de cette vulnérabilité, ce qui a ensuite généré l'intérêt de chercheurs qui se sont aussitôt baptisés "les chasseurs de fantômes du navigateur web". Et au final, ce n'est pas une vulnérabilité qui a été découverte, mais deux !

Avant de décrire ces vulnérabilités, nous présentons tout d'abord la notion de  sécurité "inter-domaine" ("cross-domain security") dans les navigateurs web. Cette notion existe aussi bien dans Firefox (qui la nomme "same origin policy") que dans Internet Explorer (qui parle de "cross-domain security model"). Elle vise à limiter les interactions possibles entre les différentes fenêtres du navigateur web. Lorsque plusieurs fenêtres existent (ou lorsque dans une même fenêtre plusieurs "frames" existent) alors un code Javascript dans une fenêtre donnée n'est autorisé à agir sur une autre fenêtre (par exemple une fenêtre fille) que si les deux fenêtres visualisent des données appartenant au même domaine (au sens DNS). Par exemple, une fenêtre visualisant des données provenant de www.microsoft.com ne peut agir que sur les fenêtres qui visualisent des données provenant de ce même domaine. Si le contrôle inter-domaine n'est pas correctement implémenté (on parle alors d'une vulnérabilité "cross-domain") une attaque classique est qu'une fenêtre mère (qui est sous le contrôle du pirate) espionne l'activité d'une fenêtre fille (qui peut être par exemple une "frame" incrustée dans la fenêtre mère) et capture toutes les frappes au clavier lorsque cette fenêtre fille navigue sur Internet.

En fait, cette attaque correspond exactement au "fantôme dans le navigateur" décrit par Manuel Caballero. Eduardo Vela (www.sirdarckcat.net) a effectivement démontré que dans Internet Explorer (versions 6, 7 et  8 beta) il existait un moyen de contourner le modèle de sécurité "cross-domain" et d'interagir avec une fenêtre fille alors que cette fenêtre visite d'autres sites web. Les interactions qui sont possibles avec cette vulnérabilité sont cependant limitées. Il n'est pas possible par exemple de voler les cookies des autres sites web. Par contre, l'écoute du clavier (interception des touches tapées au clavier) est tout à fait possible, comme le montre le PoC développé par Eduardo Vela.

Une seconde vulnérabilité "cross-domain" a ensuite été trouvée en juin 2008 par un groupe de hackers chinois (le groupe "Ph4nt0m Security Team") et publiée dans "PSTZine" (un journal de hacking chinois). Cette seconde vulnérabilité est plus grave, car cette fois (contrairement à la première vulnérabilité) il est possible pour le pirate de voler les cookies des autres sites web visités. En fait, il est probable que cette vulnérabilité "cross-domain" permette à la fenêtre mère d'avoir un contrôle complet sur la fenêtre fille. D'après les découvreurs, cette vulnérabilité n'existe que sur la version 6 d'Internet Explorer. Aviv Raff a publié une page de test démontrant la vulnérabilité.

Ces deux vulnérabilités sont suivies par le Cert-IST sous la référence FA-2008.0117. Elles sont également décrites par l’US-CERT sous les références VU#516627 et VU#923508. Globalement ces vulnérabilités permettent à un attaquant construisant une page web malveillante de voler des données à l'internaute qui visite cette page (vulnérabilité comparable à un "Cross-site scripting").

 

Pour plus d'information :

 

Précedent Précedent Suivant Suivant Imprimer Imprimer