DNS : le pire a été évité

Par:
fredericmazue

mar, 15/07/2008 - 10:39

Une vulnérabilité DNS dormante pouvait permettre le phishing ultime. Découverte par accident en début d'année, l'affaire a été prise très au sérieux par les grands de l'Internet. Après avoir oeuvré en secret à sa correction depuis plusieurs mois, une volée de correctifs est désormais disponible. Leur application est urgente. Dans un mois, le détail de la vulnérabilité sera rendu public.

Administrateurs, ne tardez pas à mettre à jour vos serveurs DNS ! Découverte en grand secret en début d'année par le chercheur américain Dan Kaminsky, une technique d'attaque contre les serveurs DNS permettrait d'empoisonner ces derniers et de les forcer à diriger silencieusement leurs utilisateurs vers des sites malveillants. Une telle attaque a cela de diabolique qu'elle est totalement invisible pour l'utilisateur : même s'il entre la bonne adresse dans son navigateur, il arrivera malgré tout sur un site piégé. Menée sur les serveurs DNS d'un fournisseur d'accès ou d'une grande entreprise, cette attaque aurait des conséquences dramatiques (cela s'est d'ailleurs déjà vu, mais les victimes sont restées particulièrement discrètes)

L'attaque elle-même - le cache poisoning - n'a donc rien de franchement nouveau. La nouveauté, ici, c'est manifestement la facilité avec l'attaque peut être menée, et son taux de succès particulièrement élevé contre bon nombre d'implémentations DNS du marché. Une chance cependant, la vulnérabilité ne concerne que les serveurs DNS qui gardent en mémoire ("caching") les adresses qui leur sont demandées. Cela représente beaucoup d'entre eux, certes, mais au moins les serveurs racines - le saint des saints grâce à qui l'Internet fonctionne encore - ne sont pas touchés. De même, les serveurs dits "autoritatifs" (sic) ne sont pas concernés. C'est que l'on n'empoisonne pas l'autorité comme ça...

Dan Kaminsky se refuse pour l'heure à publier les détails de sa découverte. Il le fera le mois prochain à l'occasion de la conférence Black Hat / Defcon à Las Vegas, aux Etats-Unis. D'ici là, la vulnérabilité est supposée ne pas avoir été exploitée et il est donc encore temps de mettre les serveurs DNS à jour.

Les correctifs sont disponibles
Et cela tombe bien, car les correctifs sont maintenant disponibles. Dans un étonnant mouvement coordonné, la plupart des grands acteurs de la IT, souvent éditeurs d'un maillon quelconque de la chaîne du DNS, ont publié des correctifs pour leurs produits respectifs. Selon Dan Kaminsky cette initiative est unique en son genre : des représentants des éditeurs concernés (Cisco, Nominum, Neustar, OpenDNS, etc...) ainsi que des experts reconnus (dont Paul Vixie, une légende des premières heures du net) et des institutions d'alerte majeures (US-CERT) se seraient réunis en grand secret chez Microsoft au mois de mars dernier afin de débattre de la marche à suivre pour éviter la cyber-apocalypse. Et ils ont finalement accouché d'une idée somme toute peu originale : corriger leurs produits respectifs. Oui, mais aussi de publier leurs correctifs tous en même temps, afin de laisser le moins de temps possible aux pirates pour tenter de re-découvrir la vulnérabilité afin de l'exploiter.

D'autres fournisseurs semblent cependant avoir corrigé leurs outils en douce au cours du mois de juin. Peut-être étaient-ils vexés de ne pas avoir été invités...

Les rustines ne règlent cependant pas la source du problème. Elles rendent simplement l'attaque (beaucoup) plus difficile. Si l'on souhaite véritablement éradiquer cette menace, il faudra radicalement changer le protocole DNS. Et cela semble encore loin d'être envisageable tant ce dernier est une pierre angulaire de l'Internet et des réseaux. Pourtant, comme nous l'indiquions en octobre 2000 avec toute l'exubérance et la naïveté de la jeunesse, des approches plus sûres existent (ici, il s'agit de DNSSEC mais d'autres sont envisageables).

Une solution ignorée
Elles n'ont hélas jamais été mises en oeuvre à grande échelle. La découverte de Dan Kaminsky aura donc au moins le mérite de remettre la sécurité du DNS sur le devant de la scène. Hélas, de là à ce que cela change réellement les choses, il y a un pas que les experts les plus désabusés s'abstiendront de franchir. Après tout, si les correctifs actuels rendent l'attaque largement plus difficile (l'entropie passe de 16 bits à 32 bits), pourquoi s'embêter à tout casser ? Et pourtant, au cour des remous provoqués par l'annonce de Dan Kaminsky, le nom de DNSSEC, ce vieux serpent de mer de la sécurité, a de nouveau été cité comme la seule protection efficace à 100% contre ce type d'attaque.

Les correctifs sont donc les seules réponses concrètes capables d'être apportées à ce problème dans l'immédiat. Attention cependant, l'Internet Storm Center met en garde leur application sur des serveurs très chargés (au delà d'une dizaine de milliers de requêtes par seconde), car la technique de protection mise en oeuvre est gourmande en ressource. De même, il semblerait que certains pare-feu personnels soient perturbés par le changement apporté aux serveurs (ce serait notamment le cas de ZoneAlarm avec le correctif Microsoft pour Windows).

Enfin, les plus curieux qui espéraient trouver ici le détail de l'attaque en question seront déçus. Selon Dan Kaminsky, celle-ci repose sur la capacité de l'attaquant à deviner où atterrira la réponse à une question posée par un serveur DNS, afin de la prendre de vitesse et faire avaler n'importe quoi au serveur. S'il y parvient, le pirate sera alors en mesure de contrôler où iront réellement les utilisateurs qui comptent sur ce serveur pour aller sur leurs sites favoris.

Il fallait écouter DJB
La devinette impliquant entre autre de connaître le numéro du port d'où proviendra la réponse, la parade trouvée par les éditeurs consiste à faire changer ce dernier de manière beaucoup plus agressive à chaque question (et non plus à chaque redémarrage du serveur, comme c'est le cas pour BIND). La technique s'appelle "source port randomization", et elle était déjà prêchée (dans le désert, au demeurant) depuis plusieurs années par un certain Daniel J. Bernstein, chercheur et professeur bien connu dans le petit monde de la sécurité. N'étant jamais mieux servi que par soi-même, Bernstein a d'ailleurs développé son propre serveur DNS mettant en oeuvre ses principes, djbdns. Sans trop de surprise, djbdns n'est pas vulnérable à l'attaque découverte par Dan Kaminsky. D'ailleurs, un prix de 500$ tient toujours pour qui découvrira une vulnérabilité dans le logiciel.

Dan Kaminsky, quant à lui, en appelle aux hackers du monde entier de ne pas publier leurs trouvailles s'ils étaient tentés de re-découvrir les détails de "sa" vulnérabilité. Et il promet à tous ceux qui trouveraient la faille, s'ils prennent la peine de ne pas la publier mais de lui en faire part en privé, de les inviter sur scène avec lui lors de sa présentation à la Black Hat. Et ça, pour un hacker, ça veut dire quelque chose !

Plus d'information :
- Le bulletin d'alerte de Microsoft (en anglais)
- L'alertepour Bind (en anglais)
-La page consacrée au sujet chez Dan Kaminsky (en anglais)