Empoisonnement du cache DNS (usurpation DNS) : définition, technique et défense
Lors d’une attaque par empoisonnement DNS, un cybercriminel remplace l’adresse d’un site web valide par une version frauduleuse. Il peut ensuite voler des informations de valeur, comme des mots de passe et des numéros de compte, ou simplement bloquer l’affichage du site usurpé.
Tout cela à l’insu des utilisateurs, qui ne se rendent pas compte de la supercherie. Pour l’internaute, le site falsifié peut sembler tout à fait normal, et même fonctionner relativement normalement, sans éveiller ses soupçons.
Un autre scénario possible est que le site ne se charge pas, même après plusieurs tentatives, l’utilisateur rejetant alors la faute sur l’entreprise dont le site ne semble pas opérationnel.
La prévention de l’empoisonnement DNS commence par le blocage de l’usurpation DNS. Nous allons vous expliquer comment procéder.
Qu’est-ce que l’empoisonnement DNS ?
L’empoisonnement DNS est une technique de piratage qui exploite les vulnérabilités connues du DNS (Domain Name System). À l’aide de cette technique, un cybercriminel peut rediriger le trafic d’un site vers une version frauduleuse. Et en raison du fonctionnement du DNS, la contagion peut se propager.
Le gouvernement chinois a recours à l’empoisonnement DNS pour bloquer l’accès aux sites qui hébergent du contenu que les autorités jugent répréhensible. Les utilisateurs chinois peuvent penser qu’ils ont la bonne adresse (p. ex. https://www.facebook.com), mais à cause de l’usurpation, lorsqu’ils saisissent cette adresse, ils sont dirigés vers un serveur complètement différent, qui charge un tout autre contenu.
En 2014, une usurpation chinoise s’est propagée au monde entier. À un moment donné, des journalistes ont déclaré que ce problème affectait près d’un septième des utilisateurs d’Internet sur la planète. Aucun d’entre eux ne pouvait charger les sites qu’ils voulaient consulter, y compris Facebook et Twitter.
Comment fonctionne le DNS ?
Les développeurs sont encouragés à utiliser des adresses web courtes et conviviales lorsqu’ils développent leurs sites. Cela permet d’accroître les performances des requêtes de recherche, et leurs adresses aident les utilisateurs à déterminer le contenu des pages avant de cliquer dessus. Mais d’autres ordinateurs ne comprennent pas les adresses utilisées par les humains. C’est là qu’intervient le DNS.
À chaque fois que vous saisissez une adresse dans votre navigateur :
- Un serveur DNS est contacté. Votre ordinateur doit contacter le serveur DNS pour obtenir plus d’informations.
- Le DNS recherche une adresse numérique. Les ordinateurs comprennent uniquement les adresses de serveur constituées de chiffres et de points. Si vous n’avez jamais recherché ce site auparavant, votre ordinateur demandera de l’aide à un autre serveur.
- Un résolveur DNS exécute la requête. Votre adresse optimisée pour les humains est remplacée par une version numérique.
- Vous êtes envoyé sur votre site. Avec la bonne adresse numérique, vous accédez au serveur adéquat qui héberge votre site web.
- Des données sont stockées. Le serveur Internet que vous utilisez dispose d’un serveur DNS qui stocke les traductions d’adresses humaines en versions numériques. Les résultats de votre recherche sont stockés ici.
Comme cette opération ne dure que quelques secondes, il se peut que vous ne remarquiez pas le décalage. Mais derrière votre écran, votre ordinateur contacte d’autres serveurs pour comprendre où vous rediriger ensuite et ce qui doit se passer.
Le système DNS a été développé en 1983, lorsqu’Internet contenait bien moins de sites web et de serveurs. Jamais les développeurs n’ont imaginé que quelqu’un voudrait manipuler le système ou escroquer les utilisateurs, c’est pourquoi aucune mesure de sécurité n’a été intégrée.
À quoi ressemble l’empoisonnement du cache DNS ?
Vous demandez à visiter un site, et votre serveur capte la réponse d’un cybercriminel. Ces données falsifiées sont stockées, et l’empoisonnement du cache DNS est terminé.
Pour y parvenir, un cybercriminel peut :
- Falsifier un serveur. Votre serveur DNS envoie une demande de traduction, et le cybercriminel répond très rapidement avec la mauvaise réponse, bien avant que le bon serveur ne puisse répondre.
- Bombarder le serveur. En 2008, des chercheurs ont découvert que les cybercriminels pouvaient envoyer des milliers de requêtes à un serveur de mise en cache. Ils envoient ensuite des milliers de fausses réponses et, au bout d’un certain temps, prennent le contrôle du domaine racine et du site tout entier.
- Exploiter des ports ouverts. En 2020, des chercheurs ont découvert que les cybercriminels pouvaient envoyer des milliers de requêtes à des ports de résolveur DNS. Au fil du temps, avec cette attaque, ils déterminent quel port est ouvert. Les futures attaques se concentreront uniquement sur ce port.
Les attaques par empoisonnement DNS se produisent car le système n’est pas sécurisé. Votre ordinateur tient des conversations avec des serveurs via le protocole UDP (User Datagram Protocol), qui garantit une communication rapide et efficace. Toutefois, aucune mesure de sécurité n’est intégrée. Votre ordinateur ne vérifie pas l’identité du serveur avec lequel il communique, et ne valide pas les données renvoyées.
La falsification dans cet environnement est relativement simple. Si vous n’avez pas besoin de prouver votre identité et que le serveur avec lequel vous communiquez peut appartenir à n’importe qui, vous pourriez recevoir des informations falsifiées sans vous en rendre compte.
Votre plan de lutte contre l’usurpation DNS
Si vous êtes administrateur réseau et que votre site tombe en panne, vos visiteurs ne rejetteront pas la responsabilité sur les cybercriminels, mais sur vous et votre entreprise. Il est primordial de prévenir l’empoisonnement du cache, mais la tâche est loin d’être aisée.
Vous pourriez :
- Contrôler vos propres serveurs DNS. Vous serez le propriétaire des informations stockées suite à chaque requête, et vous pourrez en vérifier la qualité et l’authenticité selon un calendrier que vous définirez.
- Limiter les requêtes. Refusez les requêtes DNS sur des ports ouverts. Vous ne serez pas bombardé de requêtes qui pourraient contaminer vos données, et vous serez moins susceptible d’être victime d’une prise de contrôle.
- Choisir vos logiciels avec soin. Certains logiciels DNS offrent des protections intégrées. Dialoguez avec les développeurs et assurez-vous de tirer le plein potentiel de votre investissement.
Les autorités travaillent également sur des solutions. Des extensions DNSSEC (Domain Name System Security Extensions) ont été développées par l’ICANN. Lorsqu’elles seront implémentées, elles auront recours à la validation. Vous saurez que l’entité avec laquelle vous travaillez est authentique et que les données que vous acceptez sont dignes de confiance.
Le protocole DNSSEC doit être largement déployé pour offrir une protection complète. Si vous exigez une authentification mais que personne d’autre ne le fait, vous ne pourrez pas servir de sites à la demande. Les autorités espèrent qu’un plus grand nombre d’entreprises utiliseront cette technologie à l’avenir.
Aide d’Okta
La configuration et la protection adéquates d’un serveur DNS nécessitent du temps, des compétences et une certaine persistance. Si vous n’avez pas le temps ou l’expertise pour accomplir ces tâches, nous pouvons vous aider.
Nos techniques éprouvées peuvent assurer la disponibilité de vos sites et la protection de vos données. Contactez-nous pour découvrir comment Okta peut vous aider à vous défendre contre l’empoisonnement DNS.
Références
DNS Poisoning Suspected Cause of Huge Internet Outage in China. Janvier 2014. eWeek.
URLs. MOZ
Brief History of the Domain Name. Harvard.
How DNS Cache Poisoning Works. Octobre 2008. Network World.
DNS Cache Poisoning, the Internet Attack From 2008, Is Back From the Dead. Novembre 2020. Ars Technica.