Une nouvelle technique d'attaque : le "In-Session Phishing"
Date : 04 Février 2009
Le 29 décembre dernier
"Phishing" versus "In-Session Phishing"
L'attaque par "Phishing" est désormais un grand
classique du genre, tel que nous le connaissons aujourd'hui. Un email est
envoyé à des victimes, les incitant par des moyens divers et variés à cliquer sur
le lien malveillant inclus dans ce dernier. 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
L'attaque "In-session Phishing" quant à elle, ne nécessite plus d'envoi d'emails incitant une victime à cliquer sur un lien malveillant. Les pirates n'ont plus à recopier les sites cibles (bancaires par exemple) et à les héberger chez des fournisseurs complaisants ou peu scrupuleux. Cette nouvelle technique ne nécessite qu'une navigation simultanée (navigation par onglet) sur un site bancaire et sur un site susceptible d'héberger du code malveillant.
Scenario d'une attaque "In-session Phishing"
Une attaque "In-session Phishing" peut se produire lorsque la victime est connectée (avec authentification) à une application de banque en ligne par exemple et qu'elle visite simultanément dans un autre onglet du navigateur, un site web compromis hébergeant du code malveillant, sans toutefois clore la session au site bancaire. Soudain, au cour de la navigation, un popup indiquant que la session a expiré demande à l'utilisateur de ressaisir son identifiant et son mot de passe de connexion au site bancaire. D'autres prétextes autres que l'expiration d'une session peuvent être utilisés, tels que répondre à une enquête de satisfaction ou encore participer à un jeu promotionnel.
Puisque l'utilisateur s'est déjà connecté et qu'il a probablement déjà effectué certaines opérations, il y a de fortes chances qu'il ne soupçonne pas que le popup puisse être frauduleux et qu'il ressaisisse les informations demandées pour ne pas perdre la session en cours.
Plusieurs conditions sont nécessaires pour que l'attaque réussisse :
- Un site web quelconque doit avoir été compromis (c'est lui qui servira à lancer l'attaque) et être visité par l'internaute.
- Le code malveillant injecté dans ce site web compromis doit pouvoir identifier sur quels sites web navigue l'internaute et s’il est connecté sur l'un des sites cibles (banque en ligne, etc.).
- Le site web pour lequel le pirate cherche à obtenir les identifiants de connexion d'une victime potentielle doit utiliser une fonction spécifique de JavaScript.
Bien que ces conditions soient requises, elles sont aisément remplies sur Internet.
En effet la première condition est "facilement"
remplie puisqu'il existe des milliers de sites web susceptibles d'être
compromis sur Internet (forum, etc.). La seconde également puisque les codes
injectés peuvent être techniquement évolués et être en mesure de détecter les
sites cibles visités. Enfin la troisième l'est aussi puisque les sites de
banque en ligne, de financement en ligne, de jeux en ligne, voire également
certaines applications nécessitant une authentification susceptible d'être
prisée par un pirate, utilisent
Le bug !
Le plus difficile pour l'attaquant est de produire un code
malveillant qui puisse déterminer si sa victime est connectée ou non au site
pour lequel il souhaite récupérer les identifiants de connexion. Une
vulnérabilité dans l'implémentation de JavaScript, récemment découverte par
Comment se protéger de ce type d'attaque ?
Les deux premières recommandations que l'on puisse faire sont des bonnes pratiques. La première consiste simplement à penser à se déconnecter dès que l'on n'a plus besoin d'accéder à un site en ligne (banque, finance, jeux, etc.) et ne pas attendre que la session expire. La seconde consiste à être extrêmement vigilant lors de toute apparition de fenêtre popup lors d'une session web alors qu'aucun lien n'a été cliqué. En effet, les fenêtres d'expiration n'apparaissent que lors d'un clic sur un lien d'un site sur lequel on est connecté, ou lors d'un rafraichissement d'une page déjà visitée, mais rarement lors d'une inactivité vis-à-vis de la session.
Enfin une autre recommandation consiste à utiliser un programme tel que NoScript (cf. l’article du Cert-IST intitulé « NoScript, l'extension sécurité incontournable de Firefox »), bien que celui-ci ne soit valable que pour Firefox. La fonction première de NoScript étant de bloquer le code JavaScript, il est fort probable qu'un site vulnérable et exploité par une telle attaque soit bloqué du fait de l'outil (exception faite si l'utilisateur a sciemment autorisé le JavaScript sur le site vulnérable).
Pour plus d'information :