Cette grosse faille dans Google Chrome et Firefox vous laisse à la merci des attaques par phishing

Si vous utilisez Chrome ou Firefox, il existe une importante faille qui permet à des personnes malveillantes de réussir plus facilement des attaques par phishing. Mais heureusement, Google s’active pour la corriger très prochainement alors que sous Firefox, il existe une astuce pour la pallier.

Toute la vulnérabilité repose sur l’utilisation des noms de domaines internationalisés (IDN). Comme vous le savez, il existe plusieurs langues utilisant les caractères spéciaux non définis par la norme ASCII. C’est le cas par exemple des caractère accentuées dans de nombreuses langues européennes comme le français et l’allemand. Or, les serveurs DNS qui font le lien entre les adresses IP des sites web et leur nom de domaine ne comprennent que les caractères ASCII. C’est la raison pour laquelle vous ne rencontrez jamais des sites avec des noms comme caractèreaccentué.com (exemple).

Conversion ASCII avec le format punycode

Pour les administrateurs de sites qui souhaitent tout de même avoir des caractères non-ASCII dans leur nom de domaine, cela reste possible grâce à la conversion punycode. C’est ainsi que certains registres  de noms de domaines permettent de convertir des chaînes Unicode en chaînes ASCII de manière unique et réversible. Pour ce faire, les caractères non-ASCII sont représentés par des équivalents ASCII, le tout étant précédé de xn--.

Il est où le danger ?

Ce genre de conversion peut être problématique d’un point de vue sécuritaire dans la mesure où de nombreux caractères Unicode et ASCII sont impossible à différentier. Par exemple : copiez et collez ce аррӏе.com dans Chrome et accédez à l’URL.  Comme vous pouvez le constater, il s’agit d’une fausse adresse qui semble pourtant authentique.  En réalité, il ne s’agit que d’une conversion du domaine www.xn--80ak6aa92e.com. Ici, le « a » dans le nom de domaine est cyrillique (U+0430) et non le « a » ASCII (U+0431). Ce sont deux caractères différents, bien qu’étant impossibles à différentier.

On devine facilement que la faille fait le lit des attaques par phishing. Cette vulnérabilité de type homographique n’est pourtant pas nouvelle puisque connue depuis 2001. Des hackers pourraient facilement utiliser des noms de domaines apparemment authentiques pour tromper la vigilance des internautes et obtenir des informations sensibles telles que les identifiants des cartes bancaires. Cela est d’autant plus facile qu’on peut obtenir des certificats SSL pour les domaines au format punycode. Remarquez que la fausse adresse apple donnée en exemple plus haut est en HTTPS (“sécurisé”).

Une faille qui concerne Google Chrome et Firefox

Parmi les principaux navigateurs en vogue actuellement, seuls Google Chrome et Firefox permettent l’affichage en ASCII des noms de domaines au format punycode, ce qui contribue à tromper la vigilance des internautes. Dans Opera, Edge ou encore Vivalidi, www.xn--80ak6aa92e.com s’affichera tel quel et non sous sa forme аррӏе.com, contrairement à Chrome et Firefox.

Dans la version 59 de Chrome (à venir), Google va définitivement régler ce problème. Quant à Firefox, même si cela n’est pas activé par défaut, il est possible de changer les configurations pour empêcher l’affichage des noms de domaines internationalisés.

Pour ce faire : saisissez about:config dans la barre d’adresse. Ensuite,  recherchez punycode. Une ligne devrait s’afficher avec le textenetwork.IDN_show_punycode. Il est par défaut sur false, ce qui permet d’afficher les noms de domaine internationalisés. Pour l’empêcher, il suffit de double-cliquer sur la ligne pour mettre la valeur en true. Redémarrez le navigateur et testez à nouveau www.xn--80ak6aa92e.com qui ne devrait plus afficher le faux аррӏе.com, tout comme les autres adresses de ce type.