Developpez.com

Le Club des Développeurs et IT Pro

HTML5 : l'API FullScreen, du pain béni pour l'hameçonnage ?

Un expert imagine un type de fishing particulièrement vicieux

Le 2012-10-12 13:00:01, par Gordon Fowler, Expert éminent sénior
Un petit coup de JavaScript et c’est hameçonné !

Un chercheur, professeur, web développeur, diplômé de Stanford vient de jeter un pavé dans la mare du HTML5 et de son API FullScreen.

Pour lui, cet API – et la manière dont les navigateurs réagissent au passage au mode plein écran qu’elle permet – serait une aubaine pour les auteurs d'attaques par fishing.

Sa preuve de faisabilité (PoC) est assez simple. Mais vicieuse.

Elle consiste à faire croire à l’utilisateur qu’il clique sur un lien (par exemple https://www.bankofamerica.com), à l’amener sur une autre page et à camoufler tous les signes de ce détournement en exploitant le plein écran.

Dans une attaque de type hameçonnage classique, un signe met la puce à l’oreille : l’URL affichée du site cible (le site malicieux) n’est pas la bonne. Un passage de la souris sur le lien HTML dans la page d’origine affiche cette même URL en bas du navigateur et permet de s’en rendre compte avant de cliquer – si l’on fait attention bien sûr.

Le PoC de Feross Aboukhadijeh est beaucoup plus pervers. Le lien de la page d’origine est le bon (c'est bien https://www.bankofamerica.com qui est affiché). Impossible de déceler qu’en cliquant dessus, ce n’est pas l’URL indiquée que l’on va visiter.

En fait, un simple event.preventDefault() en JavaScript va transformer l’action attachée au fait de cliquer. Au lieu d’ouvrir le lien, l’utilisateur en ouvrira un autre.

Rien de bien nouveau, certes, sauf que la méthode n’est aujourd’hui que peu utilisée. Pour une raison simple : le site cible affiche toujours son URL suspecte.

C’est là qu’entre en scène l’API FullScreen. Avec ce PoC, Feross Aboukhadijeh remplace le site malicieux traditionnel par une page en plein écran découpée en deux.

La première partie affiche le site frauduleux. La deuxième affiche une image qui imite en tout point le navigateur : sa barre URL, son UI avec ses icônes, etc. Le but est de montrer une barre URL avec la bonne adresse. Sauf qu’il ne s’agit pas du navigateur mais d’un simple gif ou jpeg.

Code :
1
2
3
4
5
// Show fake OS and browser UI
  $('#menu, #browser').show();

  // Show fake target site
  $('#target-site').show();
Extrait du code JavaScript qui permet ce tour de passe-passe

En mode normal, on aurait donc deux barres d’adresse l’une au-dessous de l’autre. Une avec l’URL vérolée. L’autre avec une adresse saine, mais sous forme d’image.

Mais comme cette page vicieuse est en plein écran, la vraie barre URL disparaît. Ne reste que l'URL falsifiée.

Seuls quelques détails peuvent alors indiquer que l’on se trouve sur une copie du navigateur (erreurs dans la reproduction des éléments de l’UI du navigateur par exemple).

Des détails que presque personne ne remarquera selon Feross Aboukhadijeh.


Une fausse barre d’adresse et un faux cadre de Chrome en PNG.
Notez l’icône « paramètre » en forme de clef à molette – au lieu des trois traits horizontaux de la version actuelle de Chrome – qui montre l’entourloupe

Le problème souligné par ce PoC est surtout dû à la manière dont les navigateurs gèrent le passage au plein écran.

« Chrome sur OS X lance une animation ennuyeuse d’une seconde, ce qui peut éveiller les soupçons chez les utilisateurs expérimentés », écrit l’expert, « mais la plupart des navigateurs ne font pas bien leur boulot pour indiquer que l’on entre en mode plein écran ». Safari joue par exemple une animation mais n’indique plus rien après. Chrome demande certes une autorisation, mais sans indiquer les enjeux de sécurité. Idem pour Firefox.

Le professeur appelle donc les éditeurs à modifier ce manque d'informations ainsi qu'un autre point : l’usage du clavier en mode plein écran.

L’API FullScreen devait à l’origine désactiver le clavier à l’exception de quelques touches (haut, bas, etc.). L’utilisateur qui souhaitait taper un texte – et donc l’activer – devait se le voir demander et signifier explicitement.

Pour Feross Aboukhadijeh, le problème a été pris dans le mauvais sens. Taper du texte en mode plein écran est une fonctionnalité de base. C’est le mode plein écran dans son ensemble qui devrait entraîner une mise en alerte, pas l’usage du clavier qui devrait exiger une autorisation.

D’autant plus, souligne-t-il, qu’il est devenu possible de taper du texte sur Facebook en plein écran avec Chrome et Firefox sans rencontrer le moindre avertissement.

Bref, du pain béni pour les cyber-criminels qui ne manqueront pas de créer des fausses pages d'identification, avec des adresses sécurisées totalement contrefaites, pour récupérer identifiants, mots de passe et autres informations en tout genre.

Source : Blog de Feross Aboukhadijeh

Et vous ?

Que vous inspire ce PoC : FUD ou alerte légitime ?
  Discussion forum
22 commentaires
  • 4sStylZ
    Membre éprouvé
    Bah en environnement pro j'ai une vm et un poste physique, chacun en pleins écran et un nombre colossal de fenêtres ouvertes.

    Mes manipulations (passage en pleins écran de la fenetre, réduction partielle sur un coté de l'écran) inclue un bon nombre de rafraichissements de l'affichage, et beaucoup de changements visuels.

    Vu que je suis dev web je travail aussi avec plusieurs navigateurs, et cela influe encore plus sur ces changements.

    Je suis sur de me faire piéger (s'il n'y avait pas un message m'avertissant un passage en fullscreen) étant donné que je ne peux pas me permettre d'observer constamment la tronche de mes différents environnements.

    De plus il est prouvé que les utilisateurs ne sont que peu affecté des changements visuels de leurs interface : Changez donc le navigateur de vos parents // grands parents, passez de IE à FF en changeant les icônes et le nom du raccourci. Ils se diront peut être à la limite "Oh tiens la drôle de mise à jour, tout à changé!"...

    Et surtout, dans une entreprise, nombre de personne garde les thèmes, personas, nuances de couleurs par défaut. Parfois même Aero est désactivé par défaut.

    Je pense vraiment que les navigateurs doivent réellement placer des avertissement de sécurité importants.
  • camus3
    Membre éprouvé
    Que vous inspire ce PoC : FUD ou alerte légitime ?
    Si il n'y avait que ça ... chaque API en plus est un potentiel risque du plus niveau sécurité...
  • pcaboche
    Rédacteur
    Envoyé par thelvin
    ... la personne ne sait pas trop à quels seins se vouer.
    Oui, c'est un problème récurrent chez ceux qui ont plusieurs maîtresses...
  • Kaamo
    Membre émérite
    Code :
    NB : le blog de Feross Aboukhadijeh semble inaccessible depuis Firefox
    Il est bien dispo chez moi (FF 16.0.1). D'ailleurs, lors du passage plein écran sur Firefox, il averti que le site tente de passer en plein écran (avec un bouton Autoriser et un bouton Interdire).
    Sur Chrome aussi il semble afficher un bouton pour Autoriser/Interdire le mode plein écran.
  • Ev3r10st
    Membre habitué
    Ca marchera probablement très peu.
    Les utilisateurs avertis ont bien souvent une UI bien à eux (genre un thème windows particulier, des onglets déjà ouverts, les marques pages et autres plugins, ...).

    Et les autres seront certainement surpris de ne plus voir apparaitre leurs barres d'outils msn, windows live, avast, etc, etc...
  • Uther
    Expert éminent sénior
    Envoyé par yohannc
    Une solution pas mal je pense serait d'afficher un petit bandeau rouge tout en haut du plein écran, avec écrit "site non sécurisé" avec l'url également. Et biensûr un bouton "cacher l'alerte" et/ou "cacher définitivement les alertes pour le site www.blablabla".
    Au moins n'importe qui verrait ce bandeau, et il pourrait être enlevé.
    Sauf que c'est déjà ce qui se passe sous Google et Chrome(à la couleur rouge près). Je trouve que c'est plutôt voyant même si ce monsieur semble penser que ce n'est pas assez.
  • thelvin
    Modérateur
    Envoyé par davguez
    S'il a les yeux assez ouverts pour vérifier l'adresse dans la barre d'adresse, il l'aura sans doute pour se rendre compte du changement de physionomie soudaine de son navigateur... Si'il n'a pas les yeux assez ouverts, alors la faille n'apporte rien de plus que les méthodes de hameçonnage existante et décrite dans l'article.
    Depuis des années on enseigne aux gens à regarder la barre d'adresse et le petit symbole de cadenas qui dit qu'il y a une sécurité.
    Alors s'ils le font pas, alors qu'ils savent que sur Internet il y a n'importe quoi et il y a des méchants, bon ben c'est leur faute.
    Mais s'ils le font, mais que maintenant ça suffit plus, il faut aussi faire attention quand "l'écran il est plus comme avant autour de la page, mais là je te parle de quand tu es dans le navigateur, pas quand l'ordinateur a un message à te donner, bon en gros il faut te méfier le site il risque de t'afficher une image qui ressemble à ton navigateur mais qui n'est plus ton navigateur..." Non, bon au bout d'un moment 'faut pas déconner, soit on a une manière accessible de se rendre compte que tout va bien ou mal, soit on n'en a pas. Là on n'en a pas.
  • Uther
    Expert éminent sénior
    C'est justement le cas actuellement et c'est la source du problème.

    Quand on passe en plein écran tout est masqué, y compris la barre de tache et la barre d'adresse. Et le site frauduleux en profite pour en dessiner des fausses à la place.
  • Gordon Fowler
    Expert éminent sénior
    Envoyé par Kaamo
    Code :
    NB : le blog de Feross Aboukhadijeh semble inaccessible depuis Firefox
    Il est bien dispo chez moi (FF 16.0.1). D'ailleurs, lors du passage plein écran sur Firefox, il averti que le site tente de passer en plein écran (avec un bouton Autoriser et un bouton Interdire).
    Sur Chrome aussi il semble afficher un bouton pour Autoriser/Interdire le mode plein écran.
    Salut,

    J'ai modifié pour FF.

    Sur l'affichage des messages de Chrome et FF, l'auteur du PoC avance qu'à son avis ce n'est pas suffisant par rapport au risque qu'introduirait l'utilisation du plein écran.

    Cordialement,
  • yohannc
    Membre actif
    Envoyé par Ev3r10st

    Et les autres seront certainement surpris de ne plus voir apparaitre leurs barres d'outils msn, windows live, avast, etc, etc...
    Ce n'est que le temps d'un site, et même si ils sont supris, ils ne vont pas trop se poser de questions. En principe ces liens proviennent de courriers très suspects, ceux qui cliquent sur ces liens sont peut avertis.

    Une solution pas mal je pense serait d'afficher un petit bandeau rouge tout en haut du plein écran, avec écrit "site non sécurisé" avec l'url également. Et biensûr un bouton "cacher l'alerte" et/ou "cacher définitivement les alertes pour le site www.blablabla".
    Au moins n'importe qui verrait ce bandeau, et il pourrait être enlevé.