Skip to main content

Comprendre les attaques DNS : repérer et corriger les vulnérabilités

Écrit par

Nihad Hassan

feature buffer overflow

26 octobre 2022

0 minutes de lecture

Le système de noms de domaine (DNS) traduit les noms de domaine en adresses IP. Chaque appareil et chaque site web possède une adresse IP qui permet à d’autres appareils, sites web et services en ligne de communiquer avec lui. Les adresses IP sont des chaînes de chiffres, généralement au format 000.000.000.000. Cependant, nous utilisons des noms de domaine, car ces chiffres sont difficiles à retenir. Pour consulter Google, il nous suffit de saisir son nom de domaine dans la barre d’adresse du navigateur. Le service DNS traduit alors le nom de domaine saisi par l’utilisateur, « google.com », en l’adresse IP correspondante, utilisée par l’ordinateur.

Le DNS est un composant fondamental de l’infrastructure Internet : toute communication commence par la résolution d’un nom DNS. Si le DNS devient indisponible, les programmes Internet cessent de fonctionner.

Les attaques DNS désignent toute attaque visant la stabilité et la sécurité de l’infrastructure DNS. Elles cherchent généralement à rendre le DNS indisponible, ou à intercepter et modifier les réponses qu’il fournit afin de rediriger les utilisateurs sans méfiance vers des sites web malveillants. L’infrastructure DNS comprend deux composants — les serveurs DNS faisant autorité et les serveurs DNS récursifs — qui sont tous deux exposés aux attaques.

Passons en revue les attaques DNS les plus courantes et les stratégies d’atténuation permettant de les éviter.

Les attaques DNS en bref

Il existe plusieurs types d’attaques DNS. Chacune fonctionne différemment, a des conséquences qui lui sont propres et nécessite des contre-mesures spécifiques.

Usurpation

L’usurpation DNS se produit lorsque des acteurs malveillants modifient les enregistrements DNS légitimes pour rediriger les utilisateurs vers des sites web frauduleux plutôt que vers leur destination prévue.

Lorsqu’ils accèdent au site web frauduleux, les utilisateurs sans méfiance sont invités à saisir des informations sensibles, telles que leurs identifiants de connexion ou leurs coordonnées bancaires. Les acteurs malveillants se servent de cette technique pour voler les données sensibles de leurs victimes ou installer des logiciels malveillants — comme des rançongiciels ou des enregistreurs de frappe — sur leurs appareils.

Les attaquants procèdent à des attaques par usurpation DNS de deux façons :

  • En interceptant les communications entre l’appareil ciblé et le serveur DNS, puis en redirigeant les requêtes des utilisateurs vers un site web malveillant

  • En attaquant directement le serveur DNS légitime et en le forçant à renvoyer des adresses IP malveillantes

Pour contrer cette attaque, vous devez :

  • Mettre à jour et corriger régulièrement le logiciel du serveur DNS.

  • Vérifier la présence du symbole de connexion sécurisée (cadenas) sur le site web. Ce symbole apparaît à côté de la barre d’adresse du navigateur. En son absence, il est possible que des acteurs malveillants aient cloné le site web à des fins malveillantes.

  • Activer les extensions de sécurité du système de noms de domaine (DNSSEC) pour le domaine. Ces extensions renforcent la sécurité en ajoutant une signature numérique aux informations DNS.

Empoisonnement du cache

Lors de cette attaque, l’acteur malveillant injecte de fausses informations DNS dans le cache DNS pour lui faire renvoyer des informations incorrectes et rediriger les utilisateurs vers des sites web malveillants. Par exemple, lorsqu’un utilisateur demande à consulter google.com, le serveur DNS empoisonné renvoie l’adresse IP d’un autre site web, qui peut héberger un kit d’exploitation ou une page d’hameçonnage.

En cybersécurité, les termes empoisonnement du cache DNS et usurpation DNS sont souvent employés de manière interchangeable. Pourtant, ces attaques diffèrent par leur fonctionnement et leur ordre d’apparition. Lors d’un empoisonnement DNS, les acteurs malveillants remplacent les enregistrements DNS pour rediriger les utilisateurs sans méfiance vers des destinations malveillantes. L’usurpation DNS redirige ensuite ces utilisateurs vers le site malveillant en utilisant un cache empoisonné.

Pour prévenir une attaque par empoisonnement DNS, vous devez :

  • Utiliser DNSSEC, qui s’appuie sur la cryptographie à clé publique. Ainsi, seul un serveur de noms DNS légitime peut répondre à une requête avec les informations DNS correctes.

  • Empêcher les serveurs DNS locaux de répondre aux requêtes DNS provenant d’Internet, sauf si votre serveur de noms DNS est enregistré auprès de ICANN.

DoS/DDoS/inondation

Une attaque par inondation DNS consiste à saturer les serveurs DNS avec de fausses requêtes pour les empêcher de traiter les requêtes légitimes. Il existe deux types d’attaques par inondation DNS : les attaques par déni de service (DoS) et les attaques par déni de service distribué (DDoS).

Attaque par inondation DoS

Lors d’une attaque par inondation DoS, l’attaquant utilise un seul ordinateur pour inonder un serveur DNS distant de trafic frauduleux. Cette technique n’est plus efficace, car les spécifications techniques avancées des serveurs DNS modernes leur permettent de résister à une attaque menée depuis un seul appareil.

Attaque par inondation DNS DDoS

L’inondation DNS DDoS est le mécanisme d’attaque le plus efficace : les attaquants utilisent de nombreux appareils pour cibler un seul serveur DNS. Cette opération consomme les ressources mémoire et processeur du serveur ciblé, jusqu’à le mettre hors ligne.

En cybersécurité, un bot peut désigner tout appareil informatique, par exemple un ordinateur portable, une station de travail ou un appareil de l’Internet des objets (IoT), infecté par un logiciel malveillant et contrôlé par un acteur malveillant. Un ensemble de ces bots est appelé un botnet.

Les attaquants utilisent souvent des réseaux de botnets constitués de milliers, voire de millions d’appareils compromis qui exécutent des scripts malveillants. Ils orchestrent l’attaque en demandant à tous les appareils d’envoyer simultanément du trafic à un même serveur, provoquant ainsi un déni de service.

Les attaques par inondation DNS sont considérées comme relativement récentes. Leur essor a été largement rendu possible par l’augmentation du nombre d’appareils IoT dans le monde. Beaucoup d’entre eux sont mal sécurisés et constituent donc des cibles faciles à prendre en main pour les pirates.

Pour prévenir les attaques par inondation DoS et DDoS, vous devez :

  • Utiliser un service d’atténuation des attaques DDoS pour empêcher des attaquants externes de submerger vos serveurs DNS de fausses requêtes.

  • Utiliser un serveur dédié comme serveur de noms faisant autorité et un autre comme résolveur DNS. Ainsi, l’un des composants reste opérationnel si l’autre tombe en panne.

  • Utiliser un serveur DNS dédié. Les petites et moyennes entreprises utilisent souvent un même serveur à plusieurs fins, par exemple pour héberger des applications et exécuter le service DNS. Cependant, si un attaquant accède à l’une des applications hébergées sur ce serveur, il peut compromettre et modifier les paramètres DNS.

NXDomain

Comme une attaque par inondation DNS, une attaque NXDomain submerge le serveur DNS ciblé de requêtes portant sur des enregistrements invalides (noms de domaine inexistants). Pour mener cette attaque, les attaquants utilisent un serveur proxy DNS qui envoie automatiquement un très grand nombre de requêtes DNS au serveur DNS faisant autorité ciblé. Le serveur faisant autorité consomme ses ressources (en remplissant son cache) pour résoudre ces requêtes invalides. Il répond alors lentement aux requêtes légitimes, puis finit par ne plus répondre du tout.

Pour prévenir les attaques par inondation DNS NXD, vous devez :

  • Réaliser régulièrement des audits DNS.

  • Mettre sur liste de blocage les noms de domaine et les serveurs suspects.

  • Mettre temporairement sur liste de blocage l’adresse IP d’un client qui envoie trop de requêtes NXDomain.

  • Augmenter la durée de vie (TTL) des enregistrements DNS actuels afin qu’ils restent plus longtemps dans les caches DNS externes. Ces enregistrements n’ont pas besoin d’être mis à jour régulièrement.

Attaques par amplification

Cette autre attaque DDoS vise à empêcher le serveur DNS ciblé de traiter les requêtes DNS légitimes. Les acteurs malveillants exploitent des serveurs DNS ouverts pour envoyer plusieurs réponses au serveur ciblé.

Les acteurs malveillants lancent cette attaque en envoyant de nombreuses requêtes DNS au serveur DNS ouvert et en utilisant l’adresse IP de la cible comme adresse source. Le serveur DNS ouvert renvoie sa réponse au demandeur — dans cet exemple, à l’adresse IP usurpée de la cible. L’envoi d’un grand nombre de réponses DNS finit par faire planter le serveur ciblé, en saturant sa bande passante réseau et en l’empêchant de répondre aux requêtes légitimes.

Les attaquants s’appuient souvent sur des botnets, notamment sur des appareils IoT, pour générer des requêtes DNS usurpées et submerger de réponses DNS les serveurs ou le réseau de l’organisation ciblés.

Pour prévenir cette attaque, vous devez :

  • Appliquer la vérification des adresses IP sources sur tous les appareils réseau.

  • Empêcher les serveurs de noms DNS faisant autorité de fonctionner comme des serveurs récursifs.

  • Activer la limitation du débit des réponses (RRL) sur tous les serveurs DNS.

  • Configurer les résolveurs DNS ouverts pour qu’ils ne répondent qu’aux requêtes provenant de sources fiables.

Détournement

Lors de cette attaque, les acteurs malveillants manipulent les réponses aux requêtes DNS pour rediriger les utilisateurs sans méfiance vers des sites web frauduleux ou malveillants. L’attaque peut se produire en :

  • Installant un logiciel malveillant, comme un cheval de Troie, sur l’ordinateur de la victime afin de résoudre incorrectement les requêtes DNS et de diriger l’utilisateur sans méfiance vers des sites malveillants

  • Compromettant le routeur ciblé et en modifiant ses paramètres DNS, ce qui affecte tous les utilisateurs connectés au routeur

  • Interceptant les communications entre le serveur DNS légitime et l’appareil de l’utilisateur — comme lors d’une attaque de l’intercepteur — et en manipulant les réponses DNS pour diriger l’utilisateur sans méfiance vers des sites malveillants

  • Ciblant directement le serveur DNS, puis en modifiant ses paramètres pour rediriger les utilisateurs vers d’autres URL

Bien que cette attaque soit malveillante, certains fournisseurs d’accès à Internet (FAI) utilisent cette technique pour rediriger les utilisateurs vers d’autres sites web. Par exemple, certains FAI s’en servent pour afficher des publicités en fonction de l’historique de navigation de l’utilisateur.

Rebinding

Lors de cette attaque, l’acteur malveillant infecte le routeur ciblé avec un logiciel malveillant afin de le contrôler à distance. L’attaque commence par l’exécution d’un code JavaScript malveillant dans le navigateur de l’utilisateur pour infecter le routeur. Beaucoup de personnes ne protègent pas leur routeur avec un mot de passe complexe, ou le sécurisent uniquement avec les identifiants d’usine par défaut. Elles s’exposent ainsi aux attaques par rebinding.

Pour vous protéger contre les attaques par rebinding, commencez par protéger votre routeur avec un mot de passe robuste. Vous devez également :

  • Remplacer le nom d’utilisateur et le mot de passe par défaut du routeur par des identifiants difficiles à deviner.

  • Maintenir à jour le serveur DNS, tous les systèmes d’exploitation clients et toutes les applications installées.

Tunneling

Cette attaque DNS redirige le trafic des utilisateurs sans méfiance vers le serveur de l’attaquant. Elle est couramment utilisée par les opérateurs de rançongiciels pour faciliter les communications avec le centre de commande et de contrôle (C&C) et exfiltrer des données depuis l’appareil ciblé.

Le tunneling DNS échappe à la détection des outils de sécurité comme les pare-feu. Les acteurs malveillants envoient les données volées depuis le réseau ciblé par petits fragments et les transmettent sous forme de série de requêtes et de réponses DNS pour passer inaperçus.

Une attaque par tunneling DNS fonctionne ainsi :

  1. L’attaquant dispose d’un serveur associé à un nom de domaine. Ce serveur exécute un logiciel malveillant de tunneling.

  2. L’attaquant infecte un ordinateur avec un logiciel malveillant. L’ordinateur infecté peut se trouver derrière le pare-feu d’une entreprise tout en ayant accès au résolveur DNS.

  3. Le résolveur DNS peut alors communiquer avec le serveur C&C distant de l’attaquant.

  4. Ainsi, chaque appareil infecté et le serveur distant de l’attaquant établissent un canal furtif qui peut servir à exfiltrer des données de l’appareil de la victime ou à lui transmettre d’autres logiciels malveillants, tels qu’un rançongiciel.

Pour prévenir cette attaque, vous devez :

  • Utiliser des solutions de sécurité avancées, notamment des pare-feu de nouvelle génération en périphérie du réseau et des outils de détection et de réponse sur le réseau (NDR), afin de surveiller toutes les interactions au sein de votre environnement informatique. Vous pourrez ainsi détecter les opérateurs de menaces persistantes avancées (APT) et de rançongiciels, puis interrompre les communications avec leurs serveurs.

  • Configurer tous les appareils du réseau de l’organisation pour qu’ils envoient leurs requêtes DNS à un serveur DNS interne qui bloque les noms de domaine suspects.

Domaine fantôme

Lors de cette attaque, l’acteur malveillant crée de nombreux noms de domaine fantômes et demande au serveur DNS ciblé de les résoudre. Ces domaines — souvent un grand nombre de sous-domaines — répondent très lentement, voire pas du tout. Au bout d’un certain temps, le serveur DNS ciblé remplit son cache en attendant les réponses des domaines de l’attaquant, puis finit par ne plus répondre.

Pour prévenir cette attaque, vous devez :

  • Augmenter le nombre de serveurs DNS récursifs.

  • Limiter le nombre de requêtes DNS récursives successives sur chaque serveur DNS.

Conclusion

Le service DNS est un composant essentiel de l’infrastructure Internet. Il traduit les noms de domaine des utilisateurs en adresses IP que les autres serveurs peuvent comprendre. Cependant, il n’a pas été conçu pour garantir la sécurité. Avec la généralisation d’Internet et la multiplication des cyberattaques, les cybercriminels s’intéressent de plus en plus aux attaques DNS.

Toute attaque contre le service DNS empêche les programmes Internet de fonctionner correctement. Les cybercriminels le savent et ont développé de nombreuses méthodes pour attaquer les services DNS à des fins malveillantes.

Il existe plusieurs techniques pour attaquer le service DNS, que l’on peut regrouper en deux grandes catégories :

  • Les attaques visant à rendre le service DNS indisponible

  • Les attaques visant à manipuler les enregistrements DNS pour rediriger les utilisateurs non avertis vers des destinations malveillantes

Comme l’a montré cet article, chaque type d’attaque DNS nécessite des contre-mesures spécifiques. De manière générale, pour prévenir les attaques DNS, il faut maintenir à jour le logiciel du serveur DNC, utiliser un serveur DNS dédié, augmenter le nombre de serveurs DNS récursifs et rechercher les vulnérabilités afin d’atténuer les attaques DDoS.

Lancez-vous dans les challenges Capture The Flag

Apprenez à résoudre des challenges Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

Blog

Les modèles de pointe ont trouvé les vulnérabilités. Seul l’attaquant a trouvé les chaînes d’exploitation.

L’analyse statique a détecté les failles, mais seuls des tests d’attaque en conditions réelles ont prouvé comment elles pouvaient être enchaînées pour provoquer des compromissions. Comparaison d’Evo COS, de Claude Security et de Claude Code Security.

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

Blog

Votre backlog de vulnérabilités n’est plus une dette technique, c’est une surface d’attaque

Un backlog de vulnérabilités qui s’allonge est plus qu’une dette technique : c’est une surface d’attaque. Découvrez pourquoi les anciennes hypothèses de risque, les attaquants automatisés et les vulnérabilités en chaîne exigent une nouvelle approche.