DNS Spoofing : fonctionnement et protection
La résolution de nom sur Internet offre différentes possibilités de manipulation. Le DNS Spoofing est une forme d’attaque usurpant des adresses IP. Dans cet article, nous vous expliquons le fonctionnement et le but de ces attaques et nous vous présentons les différentes variantes d’attaques et les méthodes pour se protéger contre le DNS Spoofing.
La base de cette attaque : le Domain Name System (DNS)
Le DNS, acronyme de « Domain Name System », est un système mondial permettant de convertir les domaines en adresses IP. Le DNS fournit une adresse IP pour chaque nom de domaine. Ce processus est appelé « résolution de nom ».
Pour que la résolution de nom puisse fonctionner, l’adresse IP d’un serveur DNS doit être enregistrée sur chaque terminal. Le terminal adresse ses requêtes DNS à ce serveur qui procède à la résolution de nom et renvoie une réponse. Si aucun serveur DNS n’est paramétré sur un terminal, le serveur du routeur local est automatiquement utilisé.
Qu’est-ce que le DNS Spoofing ?
Le terme Spoofing signifie « usurpation » ou « falsification ». Le DNS Spoofing désigne quant à lui différents scénarios dans lesquels une manipulation est opérée sur la résolution de nom DNS. L’adresse IP correspondant à un domaine est en particulier faussée. Le terminal établit donc une connexion avec la mauvaise adresse IP et le trafic de données est redirigé vers le mauvais serveur. Voici un exemple :
Requête au serveur DNS | Adresse IP renvoyée | |
---|---|---|
État normal | « exemple.com » | « 93.184.216.34 » |
DNS Spoofing | « exemple.com » | « 192.0.2.34 » (exemple) |
Comme la résolution de nom se déroule majoritairement en arrière-plan, la victime n’a généralement pas conscience de cette manipulation. L’une des spécificités particulièrement perfides du DNS Spoofing réside dans le fait que le bon nom de domaine est indiqué dans le navigateur.
Comment se déroule une attaque de DNS Spoofing ?
Le DNS Spoofing est un terme générique pour toute une série de scénarios d’attaque. Les différentes variantes sont détaillées ci-dessous. Reportez-vous au schéma suivant pour une explication du principe du DNS Spoofing.
- d1. Le client (c’est-à-dire le navigateur du terminal) consulte tout d’abord l’adresse IP correspondant au nom d’hôte exemple.com depuis le serveur DNS.
- d2. Le client reçoit une réponse à la requête mais celle-ci contient une fausse adresse IP. La connexion avec le serveur légitime d’exemple.com n’est donc pas établie.
- h1. À la place, le client envoie la requête à l’hôte malveillant qui se trouve derrière la fausse adresse IP.
- h2. L’hôte malveillant fournit une page d’apparence légitime au client. L’attaque peut toutefois être identifiée à l’absence de certificat de sécurité pour le domaine falsifié.
- (A, B, C) : différents points de départ exploitables pour un DNS Spoofing : sur le client ou le routeur local, sur la connexion réseau, sur le serveur DNS.
Objectifs du DNS Spoofing
Le DNS Spoofing est principalement utilisé par les hackers pour effectuer des attaques. Ces attaques ont habituellement pour objectif de subtiliser des données sensibles des utilisateurs. Des entreprises légitimes ont pourtant recours au DNS Spoofing. Il est de notoriété publique que certains fournisseurs d’accès à Internet (ISP) ont utilisé le DNS Spoofing pour appliquer des mesures de censure ainsi qu’à des fins publicitaires.
Que recherchent les hackers avec le DNS Spoofing ?
Les hackers utilisent le DNS Spoofing pour réaliser des attaques de hameçonnage et de pharming. Leur but principal est de voler des données sensibles aux utilisateurs. Dans le DNS Spoofing, le hacker fait croire à la victime qu’elle arrive sur un domaine légitime. La confiance de la victime dans le domaine usurpé est souvent utilisée pour infiltrer un programme malveillant sur son appareil. Ce programme malveillant est installé à son insu et infecte le système.
Que recherchent les fournisseurs d’accès à Internet avec le DNS Spoofing ?
Sans en avoir conscience, la plupart des gens utilisent un serveur DNS de leur fournisseur d’accès à Internet. En temps normal, ce serveur est pré-paramétré dans le routeur local. Chaque requête DNS est ainsi soumise à un contrôle par le fournisseur d’accès à Internet.
Les fournisseurs d’accès à Internet peuvent par ex. manipuler leurs tableaux DNS à dessein afin d’appliquer des mesures de censure imposées par les États. Dans de nombreux pays, ces mesures empêchent les utilisateurs d’accéder à des domaines de partage de fichier ou pornographiques. Si l’utilisateur essaie d’accéder à un domaine bloqué, il est redirigé vers une page d’avertissement. Ces blocages peuvent toutefois être contournés sans trop d’effort en utilisant un serveur DNS n’exerçant pas la même censure.
La même astuce – c’est-à-dire rediriger l’utilisateur sur une autre page en cas d’accès à certaines pages – est également utilisée pour collecter des données utilisateur à des fins publicitaires. Les fournisseurs d’accès à Internet utilisent ainsi le détournement de DNS pour rediriger l’utilisateur vers une page spécifique en cas de saisie d’un domaine inexistant ou mal orthographié. Cette page affiche par exemple de la publicité ou crée des profils d’utilisateur qui sont alors revendus.
Quels sont les risques du DNS Spoofing ?
Le DNS est une technologie fondamentale : une résolution de nom est effectuée à chaque fois qu’une connexion est établie. Le DNS Spoofing peut donc concerner n’importe quelle connexion sur le client. Que la victime accède à un site Internet ou envoie un Email, un hacker peut accéder aux données si l’adresse IP du serveur concerné a été usurpée.
Le DNS Spoofing comporte en particulier les risques suivants :
- le vol de données confidentielles : les attaques de Spear Phishing et de Pharming permettent de voler des données sensibles comme des mots de passe. Ces données sont souvent utilisées pour pénétrer dans des systèmes informatiques ou pour réaliser des escroqueries.
- l’infection du système par un malware : la victime est incitée à installer des programmes malveillants sur son système. Ces programmes ouvrent la porte à d’autres attaques et à un espionnage total par les hackers.
- la consultation d’un profil d’utilisateur complet : les données personnelles collectées dans ce cadre sont alors revendues ou utilisées pour des attaques de Spear Phishing.
- le danger d’une menace persistante : la communication est compromise dès lors qu’un serveur DNS malveillant est paramétré sur le système. Même les réponses DNS temporairement falsifiées demeurent dans le cache et peuvent causer des dommages sur la durée.
Voici un exemple concret : dans le cadre de la pandémie de COVID19, une vague d’attaques de DNS Spoofing s’est déroulée au printemps 2020. Elle impliquait des attaques de détournement de routeurs dans lesquelles une adresse IP malveillante était saisie sur le routeur pour le serveur DNS. Cette modification était possible grâce à un accès administrateur non sécurisé sur le routeur. La victime voyait alors soudainement un avertissement semblant provenir de l’Organisation mondiale de la santé qui lui demandait d’installer rapidement une application d’information sur le COVID19. En réalité, le logiciel était un cheval de Troie. Lorsqu’une victime installait le cheval de Troie, celui-ci explorait le système local et tentait d’accéder à des données sensibles. L’objectif était ici de créer un profil complet qui pourrait être utilisé dans de futures attaques de Spear Phishing contre la victime. Les données attaquées étaient les suivantes :
- les cookies (navigateur)
- l’historique de navigation
- les données de paiement (navigateur)
- les données d’accès enregistrées (navigateur)
- les données de formulaires enregistrées (navigateur)
- les portefeuilles de cryptomonnaies
- l’ensemble des fichiers texte de l’appareil
- les données bancaires pour les authentifications à double facteur (2FA)
Variantes de DNS Spoofing
Les trois variantes d’attaques suivantes sont basées sur le schéma présenté au début de cet article (A–C).
Variante A : attaque sur le client ou le routeur local
Dans cette variante d’attaque de DNS Spoofing, une manipulation malveillante est opérée sur l’appareil ou le routeur local. Dans un premier temps, tout semble normal à la victime : l’appareil se connecte normalement au serveur DNS. Cependant, le client reçoit des adresses malveillantes pour les noms d’hôte demandés.
Dans de telles attaques, la menace persiste jusqu’à ce que la manipulation ait été supprimée. Toutefois, le hacker a besoin d’un vecteur d’attaque pour réaliser cette manipulation. Il peut s’agir d’un facteur technique, par exemple d’un accès administrateur ouvert, d’un mot de passe faible ou autre. Cependant, le hacker peut également tenter de convaincre la victime de procéder personnellement à la modification en recourant à l’ingénierie sociale.
Modification du serveur DNS sur le système local
Dans cette attaque de DNS Spoofing connue sous le nom de « Local Hijack », l’adresse IP du serveur DNS est définie sur une valeur malveillante dans les paramètres réseau de l’appareil local.
Cette modification peut être identifiée par la victime et est facilement rectifiable. Cependant, cette manipulation est souvent utilisée en combinaison avec un programme malveillant. Ce dernier rétablit la valeur malveillante en cas de modification par la victime.
Utilisez l’outil en ligne WhoismyDNS pour vérifier si vous êtes victime de cette variante de DNS Spoofing.
Manipulation du fichier hosts sur le système local
La plupart des systèmes d’exploitation utilisent un fichier hosts pour permettre la résolution de nom de certains domaines sur le système local. Si une entrée malveillante est placée dans ce fichier, le trafic des données est redirigé vers un serveur sous le contrôle du hacker.
Cette manipulation est permanente mais peut être identifiée facilement par une victime compétente. Il suffit d’une simple modification du fichier hosts pour corriger le problème.
Détournement du routeur local
Par défaut, l’adresse IP paramétrée sur le routeur local est celle d’un serveur DNS du fournisseur d’accès à Internet. Dans le cas d’un « détournement de routeur », elle est remplacée par une valeur malveillante. L’attaque menace l’intégralité du trafic de données passant par le routeur. Que ce soit à la maison ou au bureau, plusieurs appareils utilisent généralement le routeur pour établir une connexion. Plusieurs personnes peuvent donc être victimes de cette attaque.
De nombreux utilisateurs n’ont pas conscience qu’ils peuvent configurer personnellement leur routeur. Il n’est donc pas rare que ce type d’attaque ne soit pas identifié. En cas de problème survenant à la suite d’une telle attaque, les victimes soupçonnent souvent leur appareil avant le routeur. Il convient donc d’inclure le routeur dans les sources possibles en cas de perturbations étranges.
Utilisez F-Secure Router Checker pour vérifier si vous êtes victime de cette variante de DNS Spoofing.
Variante B : attaque sur la réponse du serveur DNS
Cette variante d’attaque de DNS Spoofing est une « attaque de l’homme du milieu ». Le hacker se fait passer pour le serveur DNS de la victime et lui transmet une réponse malveillante. Cette attaque est efficace puisque le trafic DNS se déroule via le User Datagram Protocol (UDP). La victime n’a aucun moyen de garantir l’authenticité de la réponse DNS.
D’autres formes d’attaques telles que l’ARP Spoofing et l’usurpation d’adresse MAC peuvent être utilisées comme points d’entrée dans le réseau local. L’utilisation de technologies de chiffrement offre une protection contre de nombreuses attaques de l’homme du milieu.
Variante C : attaque sur le serveur DNS
Cette variante d’attaque de DNS Spoofing est dirigée contre un serveur DNS légitime et peut concerner de très nombreux utilisateurs. Il s’agit d’une attaque difficile à réaliser puisqu’il est généralement nécessaire de contourner plusieurs mécanismes de protection pour craquer le serveur.
Empoisonnement du cache DNS sur le serveur
Les serveurs du DNS sont organisés de façon hiérarchique et communiquent entre eux. Un hacker peut utiliser l’usurpation d’adresse IP pour se faire passer pour l’un de ces serveurs. Le hacker convainc un serveur d’accepter une adresse IP erronée pour un domaine. Le serveur enregistre l’entrée malveillante dans le cache qui est alors « empoisonné ».
À chaque fois qu’une requête est adressée au serveur après l’empoisonnement du cache, l’entrée malveillante est transmise aux victimes. La menace reste active jusqu’à ce que l’entrée ait été retirée du cache. L’extension DNSSEC est un mécanisme de protection côté serveur qui permet de sécuriser la communication du serveur au sein du DNS.
Utilisez la protection de IONOS pour vos domaines pour protéger votre domaine contre les manipulations.
Détournement d’un serveur DNS
Cette forme d’attaque également appelée « Rogue Hijack » est l’attaque DNS la plus compliquée à réaliser. Dans ce cadre, un hacker place un serveur DNS légitime sous son contrôle. Une fois compromis, même le chiffrement DNS le plus moderne n’offrira aucune protection. Un chiffrement du contenu peut néanmoins permettre à la victime d’identifier l’attaque.
Se protéger contre le DNS Spoofing
Comme vous pouvez le constater, le DNS Spoofing représente un danger à prendre au sérieux. Fort heureusement, il existe toute une série de mesures offrant une protection efficace contre le DNS Spoofing.
Utiliser un chiffrement pour se protéger du DNS Spoofing
De façon générale, les procédures de chiffrement offrent deux avantages essentiels :
- Les données sont protégées contre un accès par des tiers non autorisés.
- L’authenticité de l’autre interlocuteur de la communication est garantie.
Le second point est tout particulièrement critique dans la lutte contre le DNS Spoofing : si le hacker se fait passer pour un hôte légitime, cela entraînera une erreur de certificat côté utilisateur dévoilant ainsi toute tentative d’escroquerie.
Utiliser un chiffrement du transport
Pour disposer d’une protection de base, il est nécessaire de sécuriser autant de connexions que possible à l’aide de la méthode fréquemment utilisée du chiffrement du transport. Dans votre navigateur, vous devriez avant tout privilégier les connexions à des sites Internet via le HTTPS. Le plugin de navigateur HTTPS Everywhere est très apprécié et garantit la connexion à des sites Internet fournissant aussi bien des contenus via le HTTP que le HTTPS. D’autre part, vous devriez veiller à ce que les connexions paramétrées dans votre programme de messagerie (IMAP, POP3 et SMTP) utilisent des protocoles sécurisés comme TLS et SSL.
Si vos connexions sont protégées par un chiffrement du transport, vous devriez au minimum pouvoir identifier les attaques de DNS Spoofing : comme l’hôte malveillant ne dispose pas du certificat de sécurité de l’hôte véritable, votre navigateur et votre programme de messagerie vous en avertissent lors de l’établissement de la connexion. Vous avez ainsi l’opportunité d’interrompre la connexion et de prendre d’autres mesures de protection.
Chiffrer le trafic DNS
Même si un chiffrement du transport protège la transmission de vos données, la connexion au serveur DNS peut toujours être attaquée. Il s’agit du maillon faible de la chaîne. Toutefois, il existe des approches dédiées au chiffrement des requêtes DNS côté utilisateur. On peut principalement nommer DNSCrypt, DNS over HTTPS (DoH) et DNS over TLS (DoT). Ces technologies offrent toutes une protection contre les dangereuses attaques de l’homme du milieu. Cependant, aucune de ces trois approches n’est déjà intégrée dans les systèmes d’exploitation répandus. Par ailleurs, le serveur DNS doit également supporter la technologie de sécurité correspondante pour que le chiffrement du DNS fonctionne.
Utiliser un réseau privé virtuel
Outre le chiffrement du transport et la sécurisation de la connexion au serveur DNS, l’utilisation d’un réseau privé virtuel (VPN) peut également contribuer à se protéger contre le DNS Spoofing. En cas d’utilisation d’un VPN, l’ensemble des connexions sont dirigées à travers un tunnel chiffré. Sachez toutefois que l’adresse IP d’un serveur DNS peut être renseignée dans la plupart des programmes de VPN. S’il s’agit d’une adresse malveillante, la protection contre le DNS Spoofing offerte par le VPN tombe à l’eau.
Si vous ne souhaitez pas passer du temps à choisir un fournisseur de VPN, vous pouvez utiliser gratuitement l’application WARP de Cloudflare. Cette application vous offre des fonctionnalités de VPN et un chiffrement DNS via le résolveur DNS public de Cloudflare 1.1.1.1 : de plus amples informations à ce sujet sont disponibles plus bas.
Le gain de sécurité s’accompagne d’une interface utilisateur à l’utilisation enfantine. Jusqu’à présent, l’application est uniquement disponible sur les appareils mobiles, mais elle fonctionnera à l’avenir sur les PC fixes Windows et macOS.
Utiliser un résolveur DNS public
L’une des mesures les plus efficaces pour se protéger contre le DNS Spoofing est l’utilisation d’un résolveur DNS public. Sa mise en place est simple au point que n’importe quel utilisateur peut configurer son propre appareil. Pour ce faire, vous devez simplement modifier le serveur DNS enregistré sur votre système. On peut citer comme exemple le résolveur de l’organisation à but non lucratif Quad9 qui porte le même nom.
L’utilisation d’un résolveur DNS public comporte les avantages suivants :
- Une vitesse élevée des réponses DNS : les grands résolveurs DNS exploitent des douzaines de serveurs dans le monde entier. Grâce à des routages Anycast, le serveur situé le plus proche géographiquement est toujours utilisé pour la résolution de nom ce qui permet des temps de réponse courts.
- Un haut degré de protection des données et d’anonymat : de nombreux fournisseurs d’accès à Internet revendent les données utilisées dans le cadre du trafic DNS à leurs clients. Habituellement, les résolveurs publics enregistrent uniquement un minimum de données voire aucune donnée et offre ainsi un haut degré de protection des données et d’anonymat.
- L’absence de mesures de censure : les mesures de censure imposées par les États sont uniquement applicables au sein des frontières nationales. Les fournisseurs d’accès à Internet opèrent habituellement dans les pays de leur client et sont ainsi tenus de respecter la censure dans l’État. Au contraire, un résolveur implanté à l’étranger peut proposer ses services dans le monde entier sans tenir compte de la censure imposée par un État.
- Le support de standards de sécurité modernes : les plus grands résolveurs DNS publics sont exclusivement spécialisés dans la réponse aux requêtes DNS. Par conséquent, ils sont souvent des pionniers en ce qui concerne l’utilisation des standards de sécurité modernes tels que DNSSEC, DoH, DoT et DNSCrypt.
- Un blocage des domaines malveillants : l’utilisation d’un résolveur DNS public peut également contribuer à la protection contre les programmes malveillants et l’hameçonnage. Les domaines connus pour être malveillants sont inscrits sur des listes noires. En cas de tentative d’accès à ces domaines, l’utilisateur est redirigé vers une page d’avertissement.
Le tableau suivant vous offre une vue d’ensemble des résolveurs DNS publics appréciés. Par convention, chaque résolveur est configuré de façon redondante via deux adresses IP. Par conséquent, si le premier des serveurs n’est pas accessible, le second est utilisé. Certains résolveurs proposent d’autres adresses IP via les fonctionnalités supplémentaires, pouvant par ex. être activées pour la protection des mineurs.
Filtrage des contenus | Protection des données | Adresses IP des serveurs de nom | |
Quad9 | Filtrage des domaines malveillants | Aucune donnée utilisateur enregistrée | 9.9.9.9 et 149.112.112.112 |
Cloudflare DNS Family | Filtrage des domaines malveillants et protection des mineurs | Aucune donnée utilisateur enregistrée | 1.1.1.3 et 1.0.0.3 |
Cloudflare DNS | Aucun filtrage | Aucune donnée utilisateur enregistrée | 1.1.1.1 et 1.0.0.1 |
DNS.watch | Aucun filtrage | Aucune donnée utilisateur enregistrée | 84.200.69.80 et 84.200.70.40 |
Le DNS Spoofing est une menace à prendre au sérieux. L’utilisation combinée de technologies de chiffrement et d’un résolveur DNS public offre une solide protection.