280 likes | 381 Views
DNS POISONING. Année académique 2003-04 Université de Liège Dumont R. 2LINF Lepropre J. 2LINF Pauwels M. 2LINF. Sommaire. Présentation du DNS Présentation de la classe d’attaques Description de l’attaque étudiée Mise en place de l’attaque Perspectives de détection. Présentation du DNS.
E N D
DNS POISONING Année académique 2003-04 Université de Liège Dumont R. 2LINF Lepropre J. 2LINF Pauwels M. 2LINF
Sommaire • Présentation du DNS • Présentation de la classe d’attaques • Description de l’attaque étudiée • Mise en place de l’attaque • Perspectives de détection
Présentation du DNS • DNS Domain Name Server Serveur Web Serveur Mail Host IP
Présentation du DNS • Hiérarchie des noms de domaine:
Présentation du DNS • Répartition des noms de domaine en zones:
Présentation du DNS • Structure d’un message DNS • Transaction ID • IP+port (source & destination) • Une information • Authentification d’une réponse DNS • Transaction ID (requête réponse) • IP+port (source & destination)
Présentation de la classe d’attaques • Principe: cette classe consiste à modifier les informations contenues ou renvoyées par un serveur DNS • Causes: • Les ID de transaction sont sur 16 bits. On n'a donc que 65536 ID possibles. • Pas de réelle procédure d’authentification des serveurs DNS.
Différents types d’attaque: • Corruption du trafic • Intercepter les messages DNS et les corrompre. • Corruption de zones • Corrompre le fichier de transfert de zones entre un serveur primaire et ses serveurs secondaires. • Pollution de la cache • Empoisonner la cache d’un serveur DNS cible.
Différents types d’attaque: • Pollution de la cache • Empoisonner la cache d’un serveur DNS cible. • BIND birthday attack • Joindre des informations supplémentaires aux réponses • Prédire le prochain ID de transaction sur base d’ID déjà apparus
Cette classe d’attaques est-elle toujours utilisée? Tout dépend de l’attaque choisie • BIND birthday attack dépend de la version de BIND • Informations supplémentaires plus utilisée • Prédiction du prochain ID toujours d’actualité
Description de l’attaque étudiée • Tout serveur DNS possède une cache • But: accélérer les résolutions de noms • Le but de l’attaque est d’insérer une information falsifiée dans la cache • Comment? Envoyer une requête de résolution et y répondre avant le serveur autoritaire
Tout serveur DNS possède une cache Description de l’attaque étudiée • But: accélérer les résolutions de noms • Le but de l’attaque est d’insérer une information falsifiée dans la cache • Comment? • L’attaque se base sur le paradoxe de l’anniversaire
Paradoxe de l’anniversaire • La probabilité qu’au moins deux personnes parmi 23 possèdent la même date d’anniversaire est supérieure à 0.5. Envoyer plusieurs requêtes et le même nombre de réponses afin d’augmenter la probabilité de collision.
Paradoxe de l’anniversaire DNS cible DNS autoritaire ID utilisés par le pirate ID utilisés entre le DNS cible et autoritaire
Description de l’attaque étudiée • L’attaque a été réalisée sur un serveur DNS installé sur une Red Hat 6.2 muni de Bind8.2.2_p5-9 • L’attaque peut être lancée à partir de n’importe quelle machine
Mise en place de l’attaque Phase1: découvrir le numéro de port assigné au pirate (machine A) par le DNS cible. But: l’utiliser pour l’authentification des réponses
Mise en place de l’attaque Phase2: effectuer une requête et y répondre But: polluer la cache en étant plus rapide que le serveur légitime
Mise en place de l’attaque Phase 3: la machine B émet une requête et obtient une réponse vérolée.
Les symptômes de l’attaque étudiée • Attaque réussie / échouée • Effectuer une requête DNS sur le serveur cible à l’aide de l’utilitaire « dig », et analyser sa réponse pour en tirer une conclusion. • Attaque en cours • Au niveau du DNS « banque.fr », on peut éventuellement remarquer une courte attaque (DoS) visant à diminuer sa vitesse de réponse. • Au niveau du DNS cible, on peut remarquer:
Les symptômes de l’attaque étudiée • Attaque en cours • Au niveau du DNS « banque.fr », on peut éventuellement remarquer une courte attaque (DoS) visant à diminuer sa vitesse de réponse. • Au niveau du DNS cible, on peut remarquer: • La réception simultanée de multiples requêtes pour un même nom de domaine • La réception de réponses comportant un mauvais ID de transaction ou un mauvais numéro de port
Les symptômes de la classe • Attaque réussie / échouée • Réception d'une fausse information • Attaque en cours • Les symptômes ne sont pas toujours identiques. • Corruption du trafic • Corruption de zones
Problèmes rencontrés L’attaque a réussi mais : • Installation du serveur DNS • Condition de course entre le serveur autoritaire et les réponses vérolées. • Compréhension du Perl • Faible documentation • Peu de scripts
Perspectives de détection • Attaque en cours: • La détection doit se faire sur le DNS cible ou sur un réseau local connecté à celui-ci. • Pistes de détection: • Essayer de détecter le fait qu’il y ait plusieurs réponses pour une même requête. • Essayer de détecter la réception de plusieurs requêtes simultanées partageant le même nom de domaine. • Attaque réussie / ratée : • Il est difficile au propriétaire d’un nom de domaine de savoir s’il est piraté.
Sources • "Computer Networks - Fourth Edition", Andrew S. Tanenbaum, Prentice Hall, 2003, ISBN: 0-13-066102-3 • "Les faiblesses du DNS", Gilles Guette (IRISA/INRIA) et Bernard Cousin (IRISA/Univ-Rennes 1) • "DNS Cache Poisoning - The Next Generation", Joe Stewart, GCIH, janvier 2003 • "Attacking The DNS Protocol", Security Associates Institute, octobre 2003 • "Why is securing zone transfer is necessary?", Steven Lau, version 2.0, GIAC, mars 2003 Scripts: Détection du port de communication: http://www.securityfocus.com/guest/17905 Attaque proprement dite: http://www.sainstitute.org/articles/tools/hds0.pl