À la conférence NDSS (Network and Distributed System Security Symposium) ►http://www.internetsociety.org/events/ndss-symposium-2012/symposium-program/feb08 , aujourd’hui, des chercheurs présenteront leur papier sur les « domaines fantômes » (alerte de sécrité n° CVE-2012-1033), qui seront sans doute présentés dans la presse comme la fin du monde pour le #DNS. En fait, ce n’est pas si grave que ça.
Le papier est apparemment déjà en ligne pour ceux qui veulent le lire ►http://www.cs.indiana.edu/classes/b649-gupt/kangLiNDSS12.pdf . Il décrit une méthode pour qu’un nom retiré par le registre de noms de domaine (megaupload.com, au hasard) continue à être résolvable indéfiniment.
Le principe est de mettre le nom dans le cache (il faut donc pouvoir envoyer des requêtes au résolveur) puis à le rafraichir régulièrement avant que le TTL n’expire. Les enregistrements NS de la zone fille faisant autorité, certains résolveurs ne retourneront pas chez le parent et ne sauront donc pas que le domaine a été détruit. #BIND est vulnérable, mais pas #Unbound ou #MaraDNS. (Mais attention, ce n’est pas une vulnérabilité classique, au sens d’une bogue qu’il y aurait dans BIND et pas dans les autres, voir plus loin.)
L’attaque semble simple à faire et marche bien. Toutefois, tout ce qu’elle permet est de garder un nom en fantôme après son retrait. Cela va embêter le FBI, l’ICE et l’ARJEL mais ce n’est pas plus grave que ça. Notez que #DNSSEC devrait empêcher le problème. (Pas en signant la zone puisque l’attaquant n’a aucune raison d’aider à résoudre le problème, mais en activant la validation DNSSEC sur le résolveur, ce qui le force à retourner voir le parent pour revalider la chaîne de confiance.)
Du point de vue technique, on notera que les #RFC sur le protocole DNS contiennent très peu de détails sur la politique de cache (par exemple l’obligation de retourner voir le parent de temps en temps, le DNS étant hiérarchique). Il est donc normal que les différents résolveurs aient fait des choix différent. Peut-être faudrait-il que l’IETF traite ce problème (ce n’est pas du tout évident et les solutions proposées par les auteurs de l’article sont très contestables, elles feraient peut-être plus de mal que de bien.) Un Internet-Draft a déjà été fait mais ne semble pas avoir suscité beaucoup d’intérêt ►http://tools.ietf.org/html/draft-vixie-dnsext-resimprove .
L’article de l’#ISC (les auteurs de BIND), expliquant pourquoi ils ne vont pas se précipiter pour fournir une solution, est ►https://www.isc.org/software/bind/advisories/cve-2012-1033
Une bonne vulgarisation en anglais ►http://resources.infosecinstitute.com/ghost-domain-names
]]>