PROJET AUTOBLOG


Opennews

source: Opennews

⇐ retour index

Un exemple de nom de domaine inhabituel (IDN et émojis) - Stéphane Bortzmeyer

vendredi 27 octobre 2023 à 01:11

Un petit retour en 2021 avec un article de notre référence national du DNS Stéphane Bortzmeyer.

Il nous parle des encodages dans le DNS qui n'est pas standardisé (si il l'était ce serait l'unicode UTF-8) et n'a pas de régles de canonicalisation.

Le DNS est uniquement en ASCII et pour y mettre de l'unicode il faut se référer la norme décrite dans les RFC 5890 et suivants qui restreint les caractères qu'on peut utiliser, et un encodage standard le punycode on ne parlera alors plus de DNS mais d'IDN.

L'encodage punycode va convertir gémeaux.bortzmeyer.org en xn--gmeaux-bva.bortzmeyer.org

Le support du punycode est très ancien, par exemple pour firefox ça remonte à la version 3.0 sortie de 2008, le support des IDN est encore plus ancien et remonte à une époque où firefox n'existait pas encore et où les navigateurs du moment s'appelaient mozilla et netscape. L'unicode dans les noms de domaines c'est devenu une réalité depuis des lustres donc.

Toutefois un défaut s'est rapidement fait connaître: les attaques homographiques exploitant cette fonctionnalité des IDN qui consiste a exploiter les réglages par défaut non sécurisés des navigateurs qui activent l'affichage punycode permettant aux attaquants de spoofer (usurper) un nom de domaine connu en utilisant un caractère unicode visuellement proche, permettant de tromper l'internaute. ce type d'attaque avait été fait l'objet d'un proof of concept dès 2001 dans le cadre d'un papier de recherche en sécurité informatique.

Une faille qui a été corrigée au niveau des navigateurs il y a une douzaine d'années avec l'implémentation de mesures qui vont désactiver cette affichage si un mélange de langues est détecté dans le nom de domaines ou si la langue du domaine ne correspond pas à celle du systme alors le navigateur affichera la version non interprétée de l'IDN. Le problème a donc été réglé au niveau du navigateur depuis firefox 22, chrome 51, internet explorer 7 et affichera l'encodage punycode au lieu du caractère.

À noter qu'avant ça c'était un simple réglage à changer dans le navigateur pour activer l'affichage punycode, dans firefox depuis le about:config c'est network.IDN_show_punycode qu'il faut mettre à true.

Mais il existe des petits malins qui ne respectent pas les normes techniques et insèrent des caractères unicode qui ne sont pas autorisés par la norme comme le tLD .ws qui autorise l'utilisation des emojis et donc permets d'enregistrer des domaines comme i❤️tacos.ws

Donc si vous voyez des incompétents notoires qui confondent URL et nom de domaines et qui vous racontent que personne n'est prêt sur le plan technique pour l'unicode, sachez que la proposition de mettre en place les IDN remonte à 1987 , que l'implémentation remonte à 1990, est devenu un standard en 2003, que la création de TLD en unicode a été introduite en 2009 et ajoutée aux serveurs racines en 2010.

Autrement tout la chaine technique de la specfication au standard et son implémentation par les différents est plus que prête elle est en place et fonctionne sans le moindre problème depuis des décennies, avec même des petits rigolos qui vont au delà de ce que permets la norme.

Quand aux médias qui découvrent tous les ans l'existence des attaques homographiques et des publicités vérolées dans google depuis 15 ans, il serait temps de mettre à jour vos navigateurs.
Permalink