• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • L'empoisonnement du cache DNS est l'injection d'entrées fausses ou falsifiées dans le cache DNS afin de détourner les utilisateurs vers des sites Web malveillants.

    L'empoisonnement du cache DNS résulte de vulnérabilités qui permettent aux criminels de soumettre des réponses DNS falsifiées, que le serveur de noms de domaine (DNS) stocke ensuite dans leurs caches.

    Habituellement, l'entrée compromise redirige l'utilisateur vers un faux site Web que les attaquants utilisent pour mener des activités criminelles telles que la propagation de logiciels malveillants ou le vol de détails de carte de crédit, de mots de passe, de données financières et autres information privée.

    Lorsqu'un empoisonnement du cache DNS se produit, le serveur de cache DNS stocke l'adresse illégitime fournie par l'attaquant, puis la transmet aux utilisateurs qui demandent le site Web authentique. Dans la plupart des cas, cela peut ressembler au site Web authentique, ce qui rend plus difficile pour les visiteurs de soupçonner que quelque chose ne va pas.

    Impact d'un empoisonnement du cache DNS

    L'empoisonnement du cache DNS, également connu sous le nom d'usurpation DNS, est généralement difficile à détecter et peut avoir un impact négatif important, en particulier pour les sites Web populaires ou les applications Web avec de nombreux visiteurs ou utilisateurs. Cela présente un risque important, en particulier dans certains secteurs sensibles tels que la banque, le médical, la vente au détail en ligne, le commerce électronique, etc.

    Par exemple, en supposant que les attaquants parviennent à changer le Enregistrements DNS et adresses IP pour Amazon. Ils le dirigeront ensuite vers un serveur différent avec une fausse adresse IP que les attaquants contrôlent ou possèdent. Toute personne essayant d'accéder au véritable site Web d'Amazon sera redirigée vers la mauvaise adresse, qui peut contenir des programmes malveillants pour voler des informations sensibles.

    Image: Imperva

    Outre les sites Web, un attaquant peut insérer la fausse adresse d'un serveur de messagerie ou d'autres applications Web telles que des applications bancaires. Ceux-ci redirigeraient par conséquent toute la correspondance ou les transactions de courrier électronique professionnel vers le serveur de l'attaquant.

    Étant donné que les changements de DNS se propagent régulièrement d'un serveur à un autre, un cache empoisonné peut se propager à d'autres serveurs et systèmes DNS, causant ainsi beaucoup de dégâts. Par exemple, l'entrée falsifiée peut rapidement se propager à d'autres machines telles que les serveurs DNS du FAI, qui la stockeront ensuite dans leur cache. À partir de là, il se propage aux équipements proches de l'utilisateur, tels que les navigateurs informatiques, les téléphones mobiles et les routeurs, qui stockeront également ce mauvais enregistrement dans leurs caches.

    Comment fonctionne l'empoisonnement du cache DNS?

    Les criminels peuvent empoisonner le cache DNS en utilisant différentes techniques.

    Pendant les opérations normales, les requêtes DNS sont généralement stockées ou mises en cache dans une base de données que les utilisateurs de sites Web peuvent interroger en temps réel. En règle générale, la base de données DNS contient une liste des noms Internet et des adresses IP correspondantes. Et cela facilite la recherche et l'accès aux sites Web en utilisant des noms plutôt que des adresses IP, ce qui peut être très difficile et déroutant.

    Par exemple, sans le système DNS, les utilisateurs devraient se souvenir de la chaîne de chiffres qui constitue les adresses IP de tous les sites Web qu'ils souhaitent visiter ou revoir.

    Malheureusement, le DNS présente plusieurs failles de sécurité que les attaquants peuvent exploiter et insérer de faux enregistrements d'adresses de domaine Internet dans le système. Habituellement, les criminels envoient des réponses contrefaites au serveur DNS. Le serveur répond alors à l'utilisateur qui a fait la demande, et en même temps, les serveurs légitimes mettront en cache le faux enregistrement. Une fois que le serveur de cache DNS stocke le faux enregistrement, toutes les demandes suivantes pour l'entrée désormais compromise recevront une adresse pour un serveur contrôlé par l'attaquant.

    L'empoisonnement du cache DNS implique l'insertion d'entrées corrompues dans la base de données du cache du serveur de noms DNS, et il existe différentes méthodes utilisées par les attaquants. Ceux-ci inclus;

    • Lorsqu'un utilisateur de site Web ou d'application Web soumet une demande pour un certain domaine via un navigateur ou une application en ligne, le serveur DNS vérifie d'abord si l'entrée existe dans le cache. S'il n'est pas stocké, il demandera les informations aux serveurs DNS faisant autorité, puis attendra une réponse. Pendant un certain temps, les attaquants exploiteraient cette période d'attente étroite, reprendraient temporairement le rôle de DNS d'origine et émettraient une fausse réponse avant que le serveur faisant autorité n'envoie la véritable adresse. Cependant, comme la période d'attente est généralement très courte, le taux de réussite est très faible.
    • Une autre méthode consiste à envoyer des réponses contrefaites à partir d'un serveur DNS se faisant passer pour le serveur légitime. Comme il n'y a généralement pas de vérification des informations DNS, les attaquants peuvent forger la réponse du résolveur DNS lorsqu'il interroge un serveur de noms. Ceci est également rendu possible par le fait que les serveurs DNS utilisent le protocole UDP (User Datagram Protocol) au lieu du TCP. Habituellement, la communication DNS n'est pas sécurisée en raison d'informations non chiffrées dans les paquets UDP et d'un manque d'authentification. Cela permet aux attaquants de corrompre facilement les réponses et d'insérer leurs fausses adresses.

    Vulnérabilités DNS exploitées par les attaquants

    Les vulnérabilités de sécurité dans certaines applications Web, ainsi que le manque d'authentification appropriée des enregistrements DNS, permettent aux cybercriminels de compromettre facilement les réponses DNS et de ne pas être détectés. Certaines de ces vulnérabilités comprennent:

    Manque de vérification et de validation

    Le DNS a une conception de première confiance qui ne nécessite pas de vérification de l'adresse IP pour confirmer qu'elle est authentique avant d'envoyer une réponse. Étant donné que les résolveurs DNS ne vérifient pas les données dans le cache, un enregistrement incorrect y restera jusqu'à ce qu'il soit supprimé manuellement ou que le TTL expire.

    Vulnérabilité du serveur DNS récursif

    Lorsque la requête récursive est active, le serveur DNS reçoit une requête et effectue tout le travail de recherche de l'adresse correcte et d'envoi de la réponse à un utilisateur. S'il n'a pas l'enregistrement dans son cache, il interrogera d'autres serveurs DNS au nom du client jusqu'à ce qu'il obtienne l'adresse et la renvoie à l'utilisateur. L'activation de la requête récursive présente une vulnérabilité de sécurité que les attaquants peuvent exploiter pour effectuer un empoisonnement du cache DNS.

    requête récursive DNS
    Requêtes récursives DNS Image: Stackoverflow

    Lorsque le serveur recherche l'adresse, il offre à l'attaquant la possibilité d'intercepter le trafic et de fournir une fausse réponse. Le serveur DNS récursif enverra alors la réponse à l'utilisateur tout en sauvegardant la fausse IP dans le cache.

    Manque de cryptage

    Habituellement, le protocole DNS n'est pas chiffré, ce qui permet aux attaquants d'intercepter facilement son trafic. En outre, les serveurs ne vérifient pas les adresses IP vers lesquelles ils dirigent le trafic, par conséquent, ils ne peuvent pas dire si elle est authentique ou fausse.

    Comment éviter l'empoisonnement du cache DNS?

    En temps réel surveillance du DNS les données peuvent aider à déterminer s'il existe des modèles inhabituels, des activités des utilisateurs ou des comportements tels que la visite de sites Web malveillants. Et bien que la détection de l'empoisonnement du cache DNS soit difficile, il existe plusieurs mesures de sécurité et les pratiques que les entreprises et les fournisseurs de services peuvent prendre pour l'empêcher de se produire. Certaines des mesures qui empêchent l'empoisonnement du cache DNS incluent l'utilisation de DNSSEC, la désactivation des requêtes récursives, etc.

    Limiter le niveau de relations de confiance

    L'une des vulnérabilités des transactions DNS réside dans les relations de confiance élevées entre les différents serveurs DNS. Cela signifie que les serveurs ne vérifient pas l'authenticité des enregistrements qu'ils reçoivent, permettant ainsi aux attaquants d'envoyer même de fausses réponses à partir de leurs serveurs illégitimes.

    Pour empêcher les attaquants d'exploiter cette faille, les équipes de sécurité doivent limiter le niveau de confiance que leurs serveurs DNS entretiennent avec les autres. La configuration des serveurs DNS pour qu'ils ne reposent pas sur des relations de confiance avec d'autres serveurs DNS rend plus difficile pour les cybercriminels d'utiliser leur serveur DNS pour compromettre les enregistrements sur les serveurs légitimes.

    Il existe de nombreux outils à vérifier Risque de sécurité DNS.

    Utilisez le protocole DNSSEC.

    Les extensions de sécurité du système de noms de domaine (DNSSEC) utilisent la cryptographie à clé publique pour signer les enregistrements DNS, ajoutant ainsi une fonction de vérification et permettant aux systèmes de déterminer si une adresse est légitime ou non. Cela permet de vérifier et d'authentifier les demandes et les réponses et d'éviter ainsi la falsification.

    En fonctionnement typique, le protocole DNSSEC associe une signature cryptographique unique à d'autres informations DNS telles que les enregistrements CNAME et A. Le résolveur DNS utilise ensuite cette signature pour authentifier la réponse DNS avant de l'envoyer à l'utilisateur.

    Protection contre l'empoisonnement du cache DNS DNSSEC
    Image: Nic

    Les signatures de sécurité garantissent que les réponses aux requêtes que les utilisateurs reçoivent sont authentifiées par le serveur d'origine légitime. Bien que le DNSSEC puisse empêcher l'empoisonnement du cache DNS, il présente des inconvénients tels que le déploiement complexe, l'exposition des données et la vulnérabilité d'énumération de zone dans les versions antérieures.

    Vous ne savez pas si DNSSEC est activé sur votre domaine? Vérifiez instantanément avec le Outil de test DNSSEC.

    Utilisez les dernières versions des logiciels DNS et BIND (Berkeley Internet Name Domain).

    Une version BIND 9.5.0 ou supérieure a généralement des fonctionnalités de sécurité améliorées telles que des ID de transaction cryptographiquement sécurisés et la randomisation des ports, ce qui permet de minimiser l'empoisonnement du cache DNS. De plus, les équipes informatiques doivent maintenir le logiciel DNS à jour et s'assurer qu'il s'agit de la version la plus récente et la plus sécurisée.

    Outre ce qui précède, voici d'autres moyens ou pratiques efficaces pour empêcher l'empoisonnement du cache DNS.

    • Configurer le serveur DNS pour qu'il ne réponde qu'avec les informations relatives au domaine demandé
    • Assurez-vous que le serveur de cache ne stocke que les données liées au domaine demandé
    • Appliquer l'utilisation des HTTP pour tout le trafic
    • Désactiver la fonctionnalité de requêtes récursives DNS

    Conclusion

    L'intoxication du cache DNS entraîne le détournement des utilisateurs du domaine vers malveillant adresses éloignées de leur cible. Certains serveurs contrôlés par des attaquants peuvent inciter les utilisateurs sans méfiance à télécharger des logiciels malveillants ou à fournir des mots de passe, des informations de carte de crédit et d'autres données privées sensibles. Pour éviter que cela ne se produise, il est important d'utiliser les meilleures pratiques de sécurité.