L‘homographie est une technique d’attaque visant à créer une URL visuellement identique mais distincte d’une URL légitime, en utilisant des caractères Unicode s’affichant comme les caractères normaux.
Pourquoi ça marche ?
Depuis 20031, l’ICANN a introduit la possibilité d’avoir des URL en caractères non-latins. Unicode permet l’utilisation d’une très grande variété de jeux de caractères, dont le cyrillique souvent utilisé dans ce type de tromperie. Les formes de caractères sont si diverses qu’on arrive à trouver des caractères non-latins ressemblant beaucoup aux caractères latins. Il suffit de les substituer pour avoir une URL différente mais ressemblant visuellement à l’URL visée. L’ICANN a bien mis en garde contre cela2, sans grand succès.
Un exemple
- ssi.ninja :
73 73 69 2e 6e 69 6e 6a 61
- ssi.ninjа :
73 73 69 2e 6e 69 6e 6a 430
Des exemples apparaissent régulièrement de ci de là, un exemple typique a été analysé par Zscaler3 sur le domaine jetairways.com.
Comment s’en prémunir
Cette attaque est très sournoise, car le nom de domaine frauduleux peut être répété partout sans que cela ne se voit de prime abord.
- Dans Firefox, on peut forcer l’affichage de l’URL décodée4, en positionnant la variable
network.IDN_show_punycode
àtrue
. Cela n’est pertinent que si vous êtes sûr de ne jamais utiliser d’URL non-latine, car sinon vos URL deviendront moins lisibles. - 01Net recommande l’usage du gestionnaire de mot de passe, car il se basera sur l’URL réelle et ne sera pas abusé visuellement. Sauf que moi je déconseille l’usage du gestionnaire de mot de passe dans le navigateur, sans compter que vous pouvez malencontreusement mémoriser votre mot de passe sur la mauvaise URL…
- Vous pouvez aussi taper vous même l’URL, manuellement. Pas pratique quand on veut suivre un lien compliqué.
- La meilleure recommandation : n’aller que sur la version
https
et vérifier le certificat.