Comment Chrome et Firefox acceptent un faux site apple.com
C'est une attaque ressurgie des premières décennies d'Internet qu'adapte Xudong Zheng, un chercheur en sécurité. Une nouvelle variation d'une technique connue depuis 2001 permet en effet de tromper la vigilance de Chrome, Firefox et Opera, et de faire passer des sites contrefaits pour des services légitimes.
La technique mise au point par le chercheur chinois repose sur des faiblesses des mécanismes de défense mis en place pour contrer les attaques homographiques, découvertes en 2001 par deux chercheurs israéliens, Evgeniy Gabrilovich et Alex Gontmakher. Celles-ci se basaient sur le fait que différents caractères prennent des formes très proches, par exemple entre les alphabets latins et cyrilliques. Ce qui permet de créer des URL voisines, à la graphie similaire, afin de tromper les internautes. « De nombreux caractères Unicode sont difficiles à distinguer des caractères communs ASCII. Il est ainsi possible d'enregistrer des domaines comme « xn--pple-43d.com », qui est équivalent à « apple.com ». Si ce n'est pas évident au premier coup d'oeil, cet « apple.com » utilise le « a » cyrillique (U+0430) et non le « a » ASCII (U+0431) », écrit Xudong Zheng, dans un billet de blog.
Mécanisme de protection imparfait
Pour se protéger de cette attaque, les navigateurs disposent de mécanismes de protection, consistant à masquer la forme Unicode de l'URL si celle-ci renferme des caractères provenant de plusieurs alphabets. Ainsi le domaine « apple.com » renfermant le « a » cyrillique apparaît sous la forme « xn--pple-43d.com » ; c'est ce qu'on appelle le format Punycode mis au point par l'Icann précisément pour empêcher les attaques homographiques.
Mais cette défense, telle qu'implémentée par Chrome, Firefox et Opera), comprend une faiblesse, selon Xudong Zheng. « Le mécanisme de protection échoue malheureusement si tous les caractères sont remplacés par des équivalents issus d'une même langue étrangère », écrit le chercheur. Ainsi le domaine « apple.com », écrit sous la forme « xn--80ak6aa92e.com », trompe la vigilance des deux navigateurs, comme le prouve un site témoin mis en place par Xudong Zheng. « Il devient impossible d'identifier le caractère frauduleux du site sans inspecter avec soin son URL ou son certificat SSL », ajoute-t-il. Internet Explorer, Edge et Safari sont protégés contre ce type d'attaque.
Signalé le 20 janvier dernier, le bug a été corrigé avec Chrome 59, le 24 mars. Le patch sera aussi appliqué à Chrome 58 d'ici la fin du mois. Par contre, le problème reste entier sur Firefox, des discussions étant ouvertes au sein de sa communauté de développeurs pour savoir si le bug relève de leur responsabilité ou de celle des possesseurs légitimes de sites. Xudong Zheng propose toutefois un script pour forcer le navigateur de la fondation Mozilla à afficher les URL en Punycode, empêchant ainsi toute confusion.
Lire aussi : Le lancement de Recall à nouveau ajourné
A lire aussi :
Chrome réduit la charge imposée par les onglets en arrière-plan
Internet Archive propose une extension anti erreur 404 pour Chrome
Firefox 52 met le cap sur la sécurité et la vitesse
crédit photo © mtkang - shutterstock
Sur le même thème
Voir tous les articles Cybersécurité