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 : | Sélectionner tout |
1 2 3 4 5 | // Show fake OS and browser UI $('#menu, #browser').show(); // Show fake target site $('#target-site').show(); |
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 ?