Le “Tabnabbing” : une nouvelle technique de Phishing

Date : 09 Juin 2010

Introduction

Le Phishing est l’une des attaques les plus répandues sur Internet. Dans un scénario d’attaque traditionnel, un email est envoyé à des victimes, les incitant par des moyens divers et variés à cliquer sur le lien malveillant inclus dans cet e-mail. Le taux de réussite de cette attaque repose essentiellement sur le niveau de persuasion du contenu du mail et sur la crédulité de la victime. Ces facteurs sont difficilement mesurables par les pirates et de telles attaques nécessitent parfois des techniques complémentaires de "social engineering" et de connaissance des victimes pour réussir. De plus les liens malveillants utilisés sont désormais "bien" détectés par les mécanismes anti-Phishing inclus dans les navigateurs, et la sensibilisation et la méfiance des utilisateurs rendent de plus en plus difficile le succès de ces attaques.

C’est face à ce constat que des chercheurs en sécurité tentent de démontrer depuis quelques années que, même si l’heure de gloire du Phishing traditionnel n’est pas forcément terminée, il ne constitue pas pour autant le seul moyen d’inciter un utilisateur à saisir des données sensibles sur un site contrôlé par un pirate. En particulier, nous avions déjà montré en 2009 dans un article intitulé « Une nouvelle technique d'attaque : le In-Session Phishing » qu’une attaque par Phishing pouvait tout à fait n’impliquer que le navigateur web et ne plus nécessiter de cliquer au préalable sur un lien envoyé par e-mail. Le Tabnabbing fait partie de ce type de nouvelles attaques.

 

Qu’est-ce que le Tabnabbing ?

Le « Tabnabbing » ou « Tabjacking » est une nouvelle technique de Phishing démontrée récemment par Aza Raskin, l’un des responsables du développement du navigateur web Firefox. Cette attaque a la particularité de n’exploiter aucune faille logicielle mais d’utiliser simplement des onglets. De plus elle utilise la confiance excessive de l’utilisateur en une page web ouverte depuis un certain temps. En effet, La plupart des attaques par Phishing reposent sur une tromperie initiale qui peut être déjouée dès lors que l’utilisateur se rend compte que l’URL sur laquelle il s’apprête à cliquer paraît suspecte. L’auteur de l’attaque insiste sur le fait que la méfiance d’un utilisateur s’exerce précisément au moment d’ouvrir une nouvelle page web. Généralement, l’utilisateur ne s’attend pas à ce qu’une page web, vérifiée auparavant, puisse changer radicalement à son insu pendant la visualisation d’un autre onglet.

 

Déroulement de l’attaque

Imaginons le scénario d’attaque suivant qui pourrait être mis en place pour voler des identifiants Gmail :

  1. Un utilisateur ouvre par hasard une page contrôlée par un pirate dans un onglet de son navigateur, une page qui paraît tout à fait normale et inoffensive. Il pourrait aussi bien s’agir d’une page web légitime que le pirate aurait été en mesure de modifier.
  2. Lors de sa navigation, l’utilisateur ouvre de nouveaux onglets et donc d’autres pages web.
  3. Au moyen de code JavaScript, la page contrôlée par le pirate détecte que l’utilisateur a changé d’onglet et n’a pas interagi avec cette page depuis un moment. Le code malveillant profite de « l’inattention » de l’utilisateur pour modifier le « Favicon » de la page (l’icône qui représente notamment la page dans la barre d’onglets) en la remplaçant par celui de Gmail. Enfin, il modifie également le titre de la page (et donc celui de l’onglet) pour copier exactement celui de Gmail, et substitue tout le corps de la page par une copie exacte de la page de login de Gmail.
  4. Lorsque l’utilisateur passe en revue tous les onglets de son navigateur, les icônes et les titres de ces onglets constituent des éléments visuels forts. Ainsi la présence de l’icône Gmail lui laissera penser qu’il a laissé un onglet Gmail ouvert. Lorsqu’il cliquera sur le faux onglet Gmail et qu’il verra la page de connexion de Gmail, l’utilisateur sera persuadé d’avoir été déconnecté du site et fournira ses identifiants (login et mot de passe) afin de se reconnecter. Comme on le voit, l’attaque est basée sur la supposée immuabilité des onglets (les utilisateurs sont généralement convaincus qu’un onglet ne peut pas être modifié « automatiquement » une fois ouvert).
  5. Une fois que l’utilisateur a entré ses informations d’identifications dans la page malveillante, celle-ci récupère ces informations et redirige l’utilisateur sur le vrai site de Gmail. Comme la victime n’aura jamais réellement été déconnectée de Gmail auparavant, cette redirection à ses yeux passera pour une connexion réussie au service.

Plusieurs points importants sont à mentionner ici :

    • L’attaque peut viser n’importe quel service en ligne : banques, réseau sociaux.
    • Pour l’étape 1 de l’attaque, la victime n’est pas nécessairement obligée d’ouvrir un site directement contrôlé par un pirate. L’attaquant distant peut par exemple utiliser une vulnérabilité de type « Cross-Site Scripting » pour faire en sorte que la vulnérabilité soit exploitée à travers un site légitime.
    • L’attaque peut être améliorée et mieux ciblée. Par exemple, le code JavaScript peut tenter des connexions à différents services en ligne pour détecter si la victime y a déjà une session ouverte. Le pirate peut aussi utiliser des URL à base de caractères Unicode pour tromper l’utilisateur et lui laisser penser qu’il est bel et bien sur un site légitime.
    • Tous les navigateurs supportant la navigation par onglets sont potentiellement vulnérables à cette attaque (Safari, Chrome, Firefox, Internet Explorer etc.).

 

Comment s’en protéger ?

Comme cette attaque ne repose pas sur une vulnérabilité, seules des bonnes pratiques en termes de sécurité permettent de s’en protéger :

  • Désactiver par défaut l’interprétation automatique de codes dynamiques tels que le JavaScript, le Flash et les contrôles ActiveX. Sous Firefox, ces protections peuvent être mises en place via l’utilisation de l’extension NoScript (voir à ce sujet l’article du Cert-IST intitulé « NoScript, l'extension sécurité incontournable de Firefox »).
  • Avant de saisir des informations sensibles, il est recommandé de toujours bien vérifier que l’URL de la page sur laquelle on se trouve correspond à l’URL légitime.
  • Il est également très important de vérifier la cohérence du certificat du site web sur lequel on saisit des informations (cela requiert de toujours utiliser les versions sécurisées des différents sites web sur lesquels on navigue ce qui implique notamment de vérifier que l’URL commence par « https:// »).

Enfin, d’après Aza Raskin, la personne ayant découvert cette technique de Phishing, ces attaques pourraient être facilement évitées si le navigateur prenait une part plus active dans la gestion de l’identification sur des sites web. L’utilisateur ne saisirait ses identifiants qu’une seule fois au sein du navigateur, ce dernier se chargeant de réaliser lui-même les vérifications de cohérence mentionnées au paragraphe précédent avant d’envoyer les informations d’identification vers les sites web. Un projet en cours de développement dénommé « Firefox Account Manager » vise à introduire ce type de fonctionnalités dans les versions futures de ce navigateur.

 

Pour plus d’informations :

Précedent Précedent Suivant Suivant Imprimer Imprimer