Un œil entraîné repère généralement sans difficulté un site qui essaie de se faire passer pour un autre, mais le phishing fonctionne encore très bien pour le vol d'identifiants, et la dernière chose dont il a besoin est un meilleur camouflage. Malheureusement, c'est ce qu'il obtient grâce au support de Punycode dans Firefox et Chrome, qui peut servir à dissimuler une adresse malveillante et à la présenter à l'utilisateur comme un domaine valide et protégé.
Quelques mois plus tôt, nous avions évoqué les subtiles différences entre les caractères normaux et ceux disponibles via Unicode qui peuvent tromper les internautes. C'est un truc simple, mais malgré les efforts de sécurité, le phishing n'a pas perdu de son efficacité. Tout commence par un peu d'éducation : la plupart des entreprises du Web ne contactent pas l'utilisateur sans son autorisation explicite, ou en cas de besoin extrêmement urgent, comme la crise de sécurité qui a touché Yahoo!. De nombreux experts en sécurité jugent que la recommandation de « ne pas cliquer sur les liens » n'est pas adaptée, car le Web est un réseau de liens, mais cela n'empêche pas de prendre ces liens avec une pincée de « caveat emptor ». Un lien peut ne pas être ce qu'il paraît, et la dernière preuve en date nous vient du chercheur Xudong Zheng.
Punycode, l'arme du faux domaine
Cette attaque homographe exploite le système Punycode, qui permet d'encoder les caractères spéciaux Unicode dans les noms de domaine. Pour référence, « nеotеo.com » n'est pas la même chose que « neoteo.com », même si nos yeux disent le contraire. Mais le vrai problème est que les dernières versions de Firefox et Chrome (y compris leurs variantes) affichent le domaine « maquillé » dans la barre d'adresses au lieu de montrer l'adresse non encodée. L'exemple publié par l'équipe de Wordfence est parlant : ce qui semble être « https://www.epic.com » est en réalité « https://www.xn--e1awd7f.com ». Le certificat de sécurité a été obtenu à l'aide du portail Let's Encrypt, et l'ensemble du processus a pris environ cinq minutes. Cela suffit pour que Firefox et Chrome présentent le faux site comme « sûr ».
Heureusement, la correction dans Chrome progresse. Le build Canary inclut le correctif nécessaire et il arrivera dans les éditions stables d'ici quelques jours. Meilleure nouvelle pour les utilisateurs de Firefox : il suffit d'ouvrir about:config, de chercher le paramètre network.IDN_show_punycode et de changer sa valeur de « false » à « true ».
Wordfence