Homographie

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 2003[1], 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 cela[2], 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 Zscaler[3] 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ée[4], 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.

Références