Le système de noms de domaine (DNS) a été mis en place pour faciliter l’utilisation d’Internet. Il traduit les noms de domaine en adresses IP, lesquelles sont utilisées par les périphériques réseau. Le DNS vous permet d’utiliser http://www.google.com au lieu de http://74.125.224.72/ pour lancer une recherche.

Bref, c’est le principal service d’annuaire d’Internet.

Cependant, le DNS est une arme à double tranchant, en grande partie à cause de la nature peu sûre de l’infrastructure DNS. Celle-ci peut être exploitée par des cybercriminels.

Qu’est-ce que le DNS ?

En quelques mots, le DNS est un système distribué ancré par les serveurs de noms racine. En-dessous de celui-ci se trouve des zones DNS pouvant être constituées d’un ou plusieurs domaines (google.com, par exemple, est un domaine), c’est-à-dire un ensemble de serveurs de noms faisant autorité est attribué à chaque zone DNS.

Un serveur de noms faisant autorité (Authoritative Name Server) peut être soit un serveur maître, soit un serveur esclave. Un serveur maître stocke les copies originales des enregistrements de zone tandis qu’un serveur esclave conserve les copies des enregistrements maîtres.

DNS pour IPv4

Pour IPv4, le DNS est le plus souvent étroitement intégré au protocole DHCP (Dynamic Host Configuration Protocol). DHCP fournit des adresses IP, des serveurs de noms DNS et d’autres informations aux périphériques d’un réseau privé ou public.

Ainsi, pour sécuriser le DNS, il faut également protéger le DHCP, et ce, grâce à l’utilisation de techniques telles que l’espionnage DHCP et la limitation du relais DHCP.

DNS pour IPv6

Selon la configuration du réseau IPv6, le protocole DHCP peut fournir ou non des informations DNS.

Par exemple, l’auto-configuration des adresses sans état (SLAAC) ne nécessite pas de serveur DHCPv6, car le message Router Advertisement (RA) fournit le nom du ou des serveurs DNS.

Attaques DNS

En tant qu’annuaire d’Internet, les serveurs DNS doivent être accessibles à tous.

Un white hat recherche un résolveur DNS ouvert et lance une attaque par Déni De Service Distribué (DDoS), soit contre le résolveur lui-même, soit contre d’autres systèmes. La cible reçoit une réponse DNS de partout sur Internet. Les réponses DNS peuvent ensuite être usurpées, ou créées avec de fausses informations, pour rediriger les utilisateurs de sites légitimes vers des sites web malveillants.

Qu’est-ce qu’une attaque DDoS ?

Une attaque DDoS implique la surcharge intentionnelle d’un dispositif, dans le but de rendre ce dispositif ou un service qu’il fournit inaccessible aux utilisateurs.

Un DDoS provient généralement d’un grand nombre de bots ou de PC zombies qui sont sous le contrôle d’une machine centrale appelée botnet. Ces attaques sont très privilégiées par les cybercriminels et ont déjà touché des entreprises privées, des gouvernements, des banques et des ordinateurs des utilisateurs finaux.

Attaque Spamhaus en 2013

L’énormité d’une attaque DDoS est époustouflante. Prenons pour exemple celle qui a été menée en mars 2013 contre Spamhaus, une organisation internationale non gouvernementale basée à Genève et à Londres.

L’attaque a commencé avec une requête DNS avec une adresse IP bidon, mais elle a rapidement pris de l’ampleur pour deux raisons.

Premièrement, la taille du paquet de réponses envoyé par le résolveur DNS est souvent plusieurs fois supérieure à celle du paquet de requêtes. Deuxièmement, le nombre de réponses DNS générées augmente exponentiellement à mesure que le nombre de serveurs participant augmente.

Selon Spamhaus, plus de 30 000 résolveurs DNS ont initialement participé à l’augmentation du flux de réponses DNS.

Si une grande quantité de trafic est reçue d’une adresse IP, la sécurité peut être configurée pour limiter les paquets provenant de cette adresse.

Mais pour l’incident de Spamhaus, les attaquants ont utilisé un grand nombre d’adresses IP différentes. Par conséquent, le nombre de réponses DNS de chaque adresse IP individuelle n’a pas déclenché le mécanisme de limitation de paquets.

Identification du trafic DNS malveillant

Le DNS peut utiliser les protocoles TCP ou UDP. Le trafic sur le port TCP 53 représente souvent des transferts de zone pour garder les serveurs esclaves en synchronisation avec le fichier de zone maître. Toutefois, des intrus peuvent utiliser ce mécanisme pour télécharger le contenu du fichier de zone d’un serveur de noms. Pour éviter cela, les administrateurs doivent bloquer les demandes de transfert de zone à partir de tout périphérique autre que le serveur de noms esclave autorisé.

Comme tout autre port, le port 53 peut être utilisé en guise de tunnel de trafic non autorisé. Méfiez-vous donc si Wireshark signale des paquets « malformés » ou demandant des « opérations inconnues ».

Prévenir ou empêcher une attaque DNS

Le DNS peut être configuré pour atténuer les problèmes de sécurité DNS courants. Selon le projet Open Resolver, « les résolveurs ouverts représentent une menace importante pour l’infrastructure réseau globale ».

Empêchez votre serveur DNS d’être un résolveur ouvert, répondant aux requêtes DNS de n’importe quelle adresse sur Internet. Limitez les serveurs récursifs internes aux sous-réseaux IP utilisés par votre entreprise.

Gardez cependant à l’esprit que de nombreux (sinon la plupart des) résolveurs DNS sur Internet sont ouverts, soit parce qu’ils n’ont pas été sécurisés, soit parce qu’ils sont destinés à être ouverts au public, comme le service Comodo.

Pour tester votre adresse IP pour détecter les résolveurs ouverts, consultez http://www.thinkbroadband.com/tools/dnscheck.html

Bien qu’il n’existe aucun moyen sûr d’empêcher une attaque DNS, les mesures suivantes peuvent minimiser les risques :

  • Le blocage DNS utilisé pour la sécurité contre le phishing et le spam peut aider à prévenir les attaques DNS. Ce mécanisme empêche les entités de localiser des domaines ou des sites Web spécifiques et malveillants sur Internet.
  • Configurez vos serveurs DNS faisant autorité pour utiliser la limitation du taux de réponse DNS.
  • Le trafic DNS doit être limité en fonction du type de paquet DNS. Par exemple, une réponse de transfert de zone aurait un seuil plus élevé qu’une réponse pour le nom du serveur DNS.
  • Travaillez avec votre fournisseur d’accès Internet pour bloquer ou limiter le trafic que vous ne voulez pas sur votre réseau, si possible.
  • Surveillez votre réseau, en particulier les adresses IP des clients qui utilisent le plus de bande passante.
  • La fermeture des résolveurs ouverts et l’utilisation du blocage DNS ne peuvent pas protéger contre l’usurpation d’identité des paquets. Ainsi, Google déclare que votre site doit être équipé pour faire face à une charge accrue occasionnée par une attaque. Il vous faudra un filtre pour les cycles de bande passante et de processeur ainsi qu’une capacité générale d’équilibrer la charge.