Suite à la récente annonce du déploiement de cette technologie sur des serveurs racines DNS d’ici à une échéance proche, j’ai eu envie de vous faire un rapide article sans prétentions sur DNSSEC.

Rappel des bases du DNS

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant d’établir une correspondance entre une adresse IP et un nom de domaine.

Source : Wikipédia

Ce service fonctionne notamment grâce à une structure arborescente et hiérarchique. Pour simplifier et résumer, lorsque l’on veut obtenir l’adresse IP correspondante à www.cyber-securite.fr., le serveur DNS de votre FAI (qui ici par hypothèse ne connaît pas déjà la réponse) va d’abord interroger les serveurs racines (.) puis le serveur TLD (Top Level Domain) gérant la zone .fr et enfin le serveur DNS de 3ème niveau qui lui renverra l’adresse IP correspondante.

Il existe deux grandes familles de serveurs : les serveurs faisant autorité sur leur zone et les résolveurs (récursifs). Les 1ers disposent de l’ensemble des informations de correspondance nom-IP pour sa zone, inscrite dans un fichier (fichier de zone) ou une base de donnée.

Les résolveurs, quant à eux, interrogent les serveurs faisant autorité pour le compte des utilisateurs finaux (notamment clients d’un FAI). Ils ne disposent à l’origine d’aucunes informations, cependant, ils disposent presque toujours d’une fonction de cache qui leur permet de mémoriser les informations afin d’éviter les requêtes trop redondantes sur les serveurs faisant autorité.

Les problèmes de sécurité engendrés par DNS

DNS a été conçu pour être un service disposant de la plus grande disponibilité possible. C’est pourquoi, il utilise le protocole UDP qui travaille en mode non connecté. Autrement dit, il ne nécessite pas l’établissement préalable d’une connexion entre les deux communicants. Sous réserve de produire une réponse à une question attendue par le serveur récursif (query ID et port UDP), ce dernier ne vérifiera pas l’origine de la réponse : la belle attaque Man In The Middle !

Initialement, il n’était pas rare que le port UDP soit toujours identique. La seule sécurité était basée sur le query ID (codé sur 16 bits, donc pas vraiment fiable à long terme). Cette faille a d’ailleurs fait l’objet du RFC 3833 en 2004.

Une attaque de ce type n’étant toutefois pas triviale à cause du Time-To-Live des informations du cache du résolveur. Si celui-ci possédait la vraie réponse, il fallait à l’attaquant attendre son expiration dans le cache avant de tenter une attaque. La faille Kaminsky en 2008 permet d’améliorer ses « chances » en demandant une réponse pour un domaine inexistant. C’est pourquoi, une rustine a été mise en place : le SPR (Source Port Randomization) qui permet de rendre le port aléatoire (sur 16 bits également).

Qu’est ce que le DNSSEC ?

Le DNSSEC est une solution qui permet de corriger ce problème sans modifier le service DNS. Ce qui lui assure une parfaite compatibilité avec les équipements ne disposant pas de cette solution.

Celui-ci utilise la cryptographie asymétrique pour chiffrer les données : c’est à dire le principe de clée privée et clée publique. Avec de pouvoir vérifier l’ensemble des signatures, DNSSEC se base également sur le principe d’arborescence explicité plus haut (principe du Chain Of Trust).

DNSSEC permet donc de vérifier l’authenticité de l’origine des données.

Qu’est ce que cela engendre ?

L’implantation du DNSSEC va engendrer de multiples modifications. Parmi ces dernières, nous pouvons citer :

  • La modification de la taille des paquets

La taille maximale des paquets DNS est à l’origine de 512 octets. Certains pare-feux refusent des paquets de taille supérieure à 512 octets, or l’implantation de DNSSEC va augmenter la taille de ces paquets.

  • La problématique de gestion des clées

Il s’agit là d’une importante problématique puisqu’il s’agit de concilier le quasi-inconciliable : une grande disponibilité des clées et une grande sécurité de stockage.

  • La baisse de robustesse

En complexifiant le processus, le risque d’erreur, notamment humaine, augmente également. En effet, les erreurs de configuration ou par exemple de signature out of date risquent fort de se multiplier.

Pour conclure

Bien que n’étant pas sorti récemment (le DNSSEC en déploiement date de 2005), celui-ci connaît un regain d’intérêt notamment cette année. Certes, il résout de façon efficace le risque de cache poisoning des serveurs récursifs. Cependant, son déploiement ne risque pas d’être de tout repos.

Sources / pour en savoir plus :

Tagged with:  

Mercredi dernier, 2 jours avant Noël, plusieurs sites américains de e-commerce dont Amazon et Wall-Mart ont été inaccessibles ou fortement ralentis pendant une heure durant l’après-midi. En effet, Amazon.com, Walmart.com ou encore Expedia.com ont été la cible d’une attaque par déni de service distribué (DDoS) visant les centres de serveurs de l’entreprise UltraDNS, gestionnaire des DNS des entreprises touchées. Une attaque du même type avait déjà touché les services de cette société en avril dernier.

Je me permet de faire quelques petits rappels aux non-initiés car ce blog n’est pas destiné aux seuls spécialistes mais il a aussi été créé pour sensibiliser les internautes aux différentes problématiques de sécurité auxquelles ils peuvent être confrontés sur Internet. Les DNS sont donc utilisés pour « relier » les noms de domaine des sites Internet (c’est-à-dire leur adresse de type www.nomdusite.fr) aux adresses IP (par exemple, 91.198.174.2) des serveurs. Si ces serveurs DNS sont attaqués, ils ne pourront plus réaliser la correspondance entre l’adresse IP et le nom du site et ce dernier sera donc impossible à consulter.

Et qu’est-ce qu’une attaque par déni de service distribué (ou DDoS en anglais) ? C’est une tentative des attaquants (souvent des pirates ou hackers) d’empêcher des utilisateurs légitimes d’utiliser un service Internet (la plupart du temps, un site web mais ça peut également concerner un serveur de messagerie, de données ou d’applications). Les attaquants vont donc essayer de rendre indisponible un site web ou un serveur quelconque, pendant un temps indéterminé, en les saturant avec un traffic inutile. L’attaque est dite « distribuée » car les attaquants peuvent être très nombreux. Ils contrôlent des réseaux de PC « zombies » (infectés par un vers ou un cheval de Troie) pour coordonner et accroître la capacité de leurs attaques vers leurs cibles.

Les attaques de ce type vont sûrement continuer à se multiplier dans les années futures. Les différents experts en sécurité prédisent qu’elles exploiteront de plus en plus la popularité des sites de réseaux sociaux comme Facebook et Twitter et qu’elles auront également un but plus politique ou idéologique. Actuellement, la tendance est au « chantage au Déni de Service ». Des pirates menacent des entreprises de lancer des attaques contre leurs serveurs ou leurs sites Internet et exigent de rançons. N’oublions pas que la cybercriminalité est aujourd’hui un véritable business…

Source :

Tagged with:  
WordPress SEO