Blog GlobalSign

26 févr. 2019

Qu’est-ce que l’empoisonnement de cache DNS (et comment s’en prémunir)

Également connu sous le nom d’usurpation de DNS, l’empoisonnement de cache DNS est une attaque conçue pour localiser puis exploiter les vulnérabilités présentes dans un système de noms de domaine — ou serveur DNS — afin de détourner le trafic organique d’un serveur légitime vers un serveur factice.

Les menaces d’empoisonnement de cache DNS ont beaucoup fait parler d’elles dans la presse en avril dernier lors du détournement et de la redirection des serveurs DNS du géant de la cryptographie MyEtherWallet vers un site d’hameçonnage.

À la suite de cet empoisonnement de cache, de nombreux utilisateurs ont été poussés à livrer les clés de leur portefeuille avant de transférer leurs cryptomonnaies dans un autre portefeuille numérique, cette fois-ci associé aux pirates. Au bout du compte, les pirates ont réussi à dérober près de 160?000 dollars d’Ethereum avant que le problème ne soit identifié et résolu.

Ceci n’est qu’un exemple de la dangerosité de l’empoisonnement de cache DNS. Autre point : ce type d’attaque peut facilement se propager d’un serveur DNS à l’autre, ce qui le rend d’autant plus dangereux.

Dans cet article, nous évoquerons le fonctionnement de l’empoisonnement de cache DNS et les solutions à adopter pour y mettre un terme si jamais cela devait vous arriver.

Comment fonctionne l’empoisonnement du cache DNS ?

Chaque fois que votre navigateur contacte un nom de domaine, il doit tout d’abord contacter le serveur DNS.

Les serveurs de noms de domaine (DNS) sont l’équivalent sur Internet d’un annuaire téléphonique. Ils tiennent à jour un répertoire des noms de domaine qu’ils traduisent en adresses IP (Internet Protocol).

Cette étape de traduction est nécessaire, car même si les noms de domaine sont faciles à mémoriser, les ordinateurs ou les machines accèdent aux sites Web en fonction de leur adresse IP.

Le serveur répond alors avec au moins une adresse IP (généralement plus) pour que votre ordinateur puisse atteindre le nom de domaine. Une fois que votre ordinateur se connecte à l’adresse IP, le DNS convertit le nom de domaine en une adresse IP lisible par votre ordinateur.

Actuellement, votre fournisseur de services Internet utilise plusieurs serveurs DNS qui mettent également chacun en cache (ou enregistrent) des informations provenant d’autres serveurs. Chez vous, votre routeur WiFi fonctionne globalement comme un serveur DNS : il met en cache des informations qui viennent des serveurs de votre fournisseur d’accès Internet (FAI).

On dit que le cache DNS est « empoisonné » lorsque le serveur reçoit une mauvaise information. C’est notamment le cas lorsqu’un hacker prend le contrôle d’un serveur DNS et y modifie des informations.

Un pirate informatique peut ainsi modifier des informations de telle sorte que le serveur DNS indique aux utilisateurs le site Web à rechercher… site qui les renvoie en fait vers la mauvaise adresse. En d’autres termes, l’utilisateur taperait le « bon » nom du site Web, mais serait ensuite redirigé vers la mauvaise adresse IP, c’est-à-dire vers un site de phishing.

Nous avons évoqué précédemment la dangerosité de l’empoisonnement de cache DNS, du fait de sa vitesse de propagation d’un serveur DNS à l’autre. C’est précisément le cas lorsque plusieurs fournisseurs de services Internet reçoivent leurs informations DNS depuis le serveur contrôlé par le pirate et que ces informations « empoisonnées » se répandent chez les FAI où elles seront mises en cache.

À partir de ce moment, elles peuvent se propager à d’autres serveurs DNS ; en allant chercher l’information DNS, les routeurs domestiques et les ordinateurs recevront la mauvaise réponse, faisant exploser le nombre de victimes de l’empoisonnement. Ce n’est qu’une fois le cache empoisonné vidé sur chacun des serveurs DNS affectés que le problème pourra être résolu.

Comment se protéger contre l’empoisonnement de cache DNS ?

L’une des difficultés de l’empoisonnement de cache DNS tient au fait qu’il est particulièrement compliqué d’établir la légitimité des réponses DNS reçues. Dans le cas de My Ethereum Wallet, le site ne disposait que de moyens très limités pour empêcher un tel incident. Au bout du compte, ce sont les fournisseurs de serveurs qui ont résolu le problème.

Heureusement, d’autres mesures sont possibles pour protéger votre entreprise de ce type d’attaque. N’allez pas croire que l’empoisonnement de cache DNS est une fatalité !

Vous pouvez, par exemple, confier la configuration de vos serveurs DNS à un professionnel qui se chargera de limiter au maximum les dépendances vis-à-vis d’autres serveurs DNS. Ainsi, les éventuels cybercriminels auront plus de mal à utiliser leur serveur DNS pour corrompre leurs cibles. En clair : votre serveur DNS étant moins susceptible d’être corrompu, vous (et tous les collaborateurs de votre organisation) avez moins de risques d’être redirigés vers un mauvais site Web.

Vous pouvez par ailleurs configurer vos serveurs DNS de sorte qu’ils ne stockent que les données spécifiquement liées au domaine demandé et qu’ils limitent les réponses aux requêtes pour ne fournir que les informations concernant le domaine demandé. L’idée est que le serveur soit configuré de sorte que seuls les services obligatoires soient autorisés à fonctionner. L’ajout de services supplémentaires qui ne sont pas indispensables au bon fonctionnement de votre serveur DNS multiplie les risques d’être la cible d’une attaque.

Assurez-vous également que la version du DNS utilisée soit la plus récente. Les versions les plus récentes utiliseront en effet des fonctions de sécurité comme la randomisation des ports et des identificateurs de transaction sécurisés sur le plan cryptographique pour mieux prévenir les attaques par empoisonnement.

Une autre stratégie de défense contre l’empoisonnement de cache DNS recommandée par MyEtherWallet à la suite de l’attaque d’avril 2018 consiste à rechercher le nom de la société dans la barre d’adresse (dans leur cas « MyEtherWallet Inc »).

Si le nom de la société s’y affiche, cela signifie que le site utilise un certificat SSL/TLS à validation étendue (EV). Cette mesure toute simple épargnerait à certains d’être victimes d’attaques par empoisonnement, puisqu’elles feraient attention à ne pas saisir de données personnelles sur le site Web d’un pirate informatique. Certes, toutes les entreprises n’utilisent pas la validation étendue sur leurs sites Web, mais sans être infaillible, cette mesure peut être utile pour s’assurer que l’on est sur le bon site.

Un certificat SSL/TLS n’est qu’un petit fichier de données installé sur un serveur Web capable de lier les informations sur votre organisation à une clé cryptographique. Une fois installé, le certificat active le protocole HTTPS pour que la connexion entre un navigateur et votre serveur Web soit sécurisée et chiffrée. Dans le cas des certificats SSL/TLS EV, certaines informations concernant l’organisation, comme le nom de l’entreprise ainsi que nous l’avons évoqué plus haut, s’affichent directement dans l’interface du navigateur.

Conclusion

En résumé, on parle d’empoisonnement de cache DNS lorsqu’un cybermalfaiteur exploite une vulnérabilité d’un serveur DNS pour envoyer une fausse réponse DNS qui sera mise en cache par des serveurs légitimes.

Les utilisateurs qui visitent le domaine corrompu seront ensuite redirigés vers la nouvelle adresse IP sélectionnée par le pirate, qui correspond généralement à un site malveillant. Les victimes leurrées sont alors incitées à télécharger des malwares ou à transmettre leurs informations de connexion ou des données financières.

Les quelques mesures évoquées plus haut pourront vous aider à protéger votre organisation contre les attaques par empoisonnement de cache DNS.

À propos de l’auteur

Sam Bocetta est un journaliste indépendant spécialisé dans la diplomatie et la sécurité nationale américaines, avec un focus sur les évolutions technologiques autour des thématiques actuelles de cyberguerre, cyberdéfense et cryptographie.

Note: ce billet de blog a été écrit par un rédacteur externe afin de varier les contenus proposés à nos lecteurs. Les opinions exprimées par l’auteur de cet article sont exclusivement les siennes et ne reflètent pas nécessairement les opinions de GlobalSign.

Partager ce blog

Assurez-vous que votre VPN ne laisse pas fuiter votre adresse IP

Les certificats SSL/TLS pour serveurs internes