Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

CERT-XMCO : DNSCrypt ou comment sécuriser à moindre coût les échanges DNS

décembre 2011 par CERT-XMCO

- Date : 12 Décembre 2011

- Gravité : Moyenne

- Description :
OpenDNS, une société qui offre un service gratuit de résolution de noms de domaines, vient de lancer un nouveau "service" baptisé DNSCrypt. Celui-ci vise à simplifier la sécurisation de ce protocole. En effet, bien que le protocole DNS soit utilisé partout et tout le temps (internet, ail, messagerie instantanée, ...), il est réputé pour être particulièrement sensible en matière de sécurité. Malgré cela, il n’intègre, de base, aucune fonction de sécurisation.

Étant donné que le protocole n’intègre pas de fonctionnalité permettant de le sécuriser, il n’est donc pas rare d’entendre parler d’attaques (théoriques ou pratiques) contre des clients au niveau du réseau "local". Il est en effet possible de réaliser des attaques d’altération, d’interception ou encore du type "Man-in-the-Middle" (MITM) sur le protocole DNS.

Afin de sécuriser l’internaute contre ce type d’attaques, OpenDNS propose donc DNSCrypt, un protocole et un service permettant de mettre en place différentes fonctions de sécurité afin de protéger les échanges DNS entre le client DNSCrypt présent sur le système de l’internaute, et le serveur DNSCrypt mis en place par OpenDNS. Le client DNSCrypt proposé permet donc de "chiffrer" le trafic DNS d’une manière similaire à ce que permet de faire SSL pour HTTP. Dans les faits, DNSCrypt ne repose pas sur SSL, mais sur des algorithmes de chiffrement reposant sur les courbes elliptiques proposées par la librairie NaCL. Il s’agit dans les faits d’une légère variation du protocole DNSCurve.

Bien entendu, DNSCrypt ne remplace en rien DNSSEC, mais peut très bien être utilisé en parallèle. DNSSEC permet entre autres de vérifier qu’un enregistrement n’a pas été modifié, alors que DNSCrypt ne permet que de protéger la vie privée d’un internaute en chiffrant le contenu des requêtes DNS envoyées vers le serveur de noms.

Pour fonctionner, OpenDNS propose aux internautes de télécharger un proxy DNSCrypt, et de configurer le système afin de lui indiquer que le serveur de nom permettant de résoudre les enregistrements est un serveur local (Serveur DNS : 127.0.0.1). À chaque fois qu’un programme cherchera à résoudre un nom de domaine, le système interrogera le proxy, qui transmettra la requête de façon sécurisée à un serveur OpenDNS. Cependant, à partir de ce serveur, la requête transitera en clair sur Internet, même si un attaquant ne sera pas en mesure de remonter jusqu’à l’internaute.

Cependant, certains spécialistes de la sécurité pensent que cette solution ne correspond pas à une bonne approche du problème. En effet, DNSCrypt ne permet au final que de garantir que les requêtes DNS ne puissent pas être interceptées ou modifiées afin de protéger la vie privée d’un internaute. Cependant, si un pirate est en mesure d’intercepter ou de modifier des requêtes DNS sur le réseau local, il en est de même pour les autres protocoles transitant en clair. Ainsi, si un navigateur "cache" le nom de domaine qu’il souhaite résoudre via DNSCrypt, mais qu’il indique clairement dans les échanges HTTP le nom de domaine, DNSCrypt ne sert plus à rien...

De même, si un utilisateur souhaite se protéger contre les administrateurs un peu trop curieux travaillant chez son FAI, il est probable qu’il ne souhaite pas qu’OpenDNS connaisse tout son historique de navigation... Bref, DNSCrypt est probablement une initiative intéressante, mais elle le sera d’autant plus lorsque le code du serveur DNSCrypt sera disponible, voire quand tous les serveurs DNS implémenteront le protocole DNSCurve, qui permet de protéger la vie privée de l’internaute du client DNS jusqu’au serveur DNS, donc de bout en bout.

- Référence :

http://www.opendns.com/technology/dnscrypt/

https://github.com/opendns/dnscrypt-proxy

http://blog.trendmicro.com/dnscrypt-%E2%80%93-not-fundamental-enough/

- Lien extranet XMCO :

https://cert.xmco.fr/veille/client/index.xmco?nv=CXA-2011-2151


Voir les articles précédents

    

Voir les articles suivants