Les serveurs DNS sont essentiels au fonctionnement normal de l'Internet que nous connaissons et que nous aimons. Mais ils ont tendance à passer inaperçus pour la plupart des utilisateurs, et ce, jusqu’à ce qu'une attaque ou un incident se produise et empêche les services que nous utilisons chaque jour de fonctionner adéquatement. C’est d’ailleurs ce qui s'est produit récemment lorsque le botnet Mirai a attaqué une société appelée DynDNS.

Une chose est sûre : il y a plus d'un type d'attaques qui peut affecter ces serveurs. Dans cet article, nous allons examiner les différences entre eux.

Qu'est-ce qu'un serveur DNS ?

DNS est l’acronyme pour Domain Name System. Un serveur DNS permet de résoudre le nom d'une page Web par son adresse IP. De cette façon, en tant qu’utilisateur, nous n'avons pas besoin de se souvenir de la série des chiffres composant une adresse IP (ou chiffres et lettres pour IPV6).

Nous pouvons accéder, par exemple, à une page Web, par exemple « www.facebook.com » en l'écrivant ainsi dans notre navigateur, plutôt que d'inscrire « 31.13.92.36 ».

Convertir le nom en une adresse IP est le travail des serveurs DNS, celui-ci se réfère à une base de données distribuée hiérarchiquement, qui stocke l’information liant chaque adresse IP au nom de domaine correspondant. Ce système rend plus facile de se souvenir des adresses de sites Web, et signifie également que l'adresse IP peut être modifiée si besoin en toute transparence.

Sachant l'importance de ces serveurs, il n'est pas surprenant que de nombreuses attaques tentent d'en exploiter les vulnérabilités, soit quant fonctionnement lui-même, soit quant à la façon dont les utilisateurs les utilisent.

DNS spoofing versus empoisonnement de cache DNS

Souvent interprétées comme désignant le même type d'attaques, ces deux techniques sont en fait techniquement différentes l’une de l’autre. De manière générale, nous pourrions dire que l'empoisonnement de cache DNS est l'une des nombreuses façons d'atteindre le DNS Spoofing, alors que ce dernier réfère à la vaste gamme d'attaques existantes visant à supplanter les informations stockées sur les serveurs DNS.

Le DNS Spoofing représente le but ultime de l'attaque (pour changer les registres stockés sur le serveur DNS), pour lequel différents mécanismes sont utilisés, en plus de l'empoisonnement de cache DNS. Par exemple, l’utilisation du man-in-the-middle et des fausses stations de base et même la compromission de la sécurité du serveur DNS.

Nous pouvons également voir des exemples de DNS spoofing dans les attaques visant les utilisateurs finaux. L'une de ces attaques a comme but de supplanter l'adresse des serveurs DNS configurés sur notre système d'exploitation ou routeur.

La manière habituelle est de saisir l'adresse des serveurs DNS de votre fournisseur de services Internet, ou ceux d'une autre organisation telle que Google, comme on peut le voir ci-dessous :

Saisie de l'adresse des serveurs DNS

L'empoisonnement de cache DNS se réfère quant à lui à une situation dans laquelle de nombreux utilisateurs finaux utilisent le même cache, où les registres qui sont stockés font l’attribution des adresses IP avec un domaine. Si les attaquants réussissent à manipuler une entrée DNS dans ce registre, les fournisseurs de services Internet qui utilisent ce cache le supposent légitime, même si ce dernier a été manipulé pour pointer vers un faux site Web.

Dans ce cas, le résultat serait un cache DNS empoisonné qui ne redirige pas le trafic vers l'adresse IP légitime lors de la résolution d'un nom de domaine. Évidemment, l'empoisonnement de ce type de cache n'est pas aussi facile que dans le cas d’un cache existant dans un système ou un routeur. Ceci dit, ce n’est pas techniquement impossible et des précédents existent.

Parmi les principaux problèmes des attaques par empoisonnement de cache DNS, on note est qu'ils peuvent être propagés entre différents serveurs DNS, et peuvent aussi affecter les routeurs domestiques, y compris le cache DNS existant dans le système de l'utilisateur. Le routeur recevrait ces informations incorrectes et mettrait à jour son cache local.

Pour réussir ce type d'attaque, les attaquants ont besoin d'un serveur Web et d'un serveur DNS. En configurant leur propre DNS autorisé et un domaine trap (piège). À partir de ce moment, les attaquants doivent d'abord arriver à la victime pour accéder avec leur propre DNS le lien en utilisant le domaine trap, afin de commencer à rassembler les identifiants de la transaction jusqu'à ce qu'ils soient dans une position où ils peuvent prédire quelle sera la prochaine victime.

À ce niveau-là, le DNS de la victime sera obligé de faire une demande au DNS autorisé des attaquants, Ce qui peut indiquer un domaine qui supplante un site Web bancaire. Maintenant que les attaquants ont découvert le nouvel ID de transaction, ils peuvent envoyer des paquets pour essayer et supplanter les connexions légitimes que l'utilisateur reçoit en essayant de se connecter à sa banque.

Comme les attaquants peuvent prédire le bon ID de transaction, le DNS de la victime stockera l'entrée dans son cache et la considérera comme valide. À partir de ce moment, toute tentative de la victime d'accéder au site Web d'une banque entraînera une redirection vers le site Web contrôlé par les attaquants.

Qu'en est-il du détournement de DNS (DNS Hijacking)?

Un logiciel malveillant peut également être utilisé pour affecter la résolution des noms de domaine, afin que les victimes se connectent à un serveur contrôlé par des criminels. Il existe des exemples de logiciels malveillants, comme Win32 / DNSChanger, qui modifient le DNS établi par l'utilisateur ou le fournisseur de services Internet. L’image suivante illustre ce fonctionnement :

DNSChanger

Cela permet aux attaquants d'effectuer une grande variété d'attaques, allant du hameçonnage – c’est-à-dire via de faux sites Web que la victime visite en entrant l'adresse correcte dans son navigateur – à l'utilisation d'exploits pour tirer profit des vulnérabilités – soit lorsque l'utilisateur navigue sur des pages Web qui sont censées être fiables, mais qui ont en fait été générées par les attaquants afin d'infecter l'utilisateur.

Cependant, l’exemple le plus évident demeure celui des réseaux d'ordinateurs zombies, connus sous le nom de botnets. Un grand nombre de ceux-ci modifient les serveurs DNS configurés par leurs victimes, afin de les diriger vers d’autres points contrôlés par les attaquants. De cette façon, tout comme pour les actions malveillantes que nous avons déjà décrites, les cyberattaquants peuvent envoyer des commandes aux robots, mettre à jour la version du logiciel malveillant et même le retirer du système si nécessaire.

Conclusion

Comme nous l'avons vu, il existe de nombreux types d'attaques qui peuvent empêcher un domaine d'être résolu correctement, et affecter des utilisateurs à tomber involontairement dans les pièges posés par les criminels, alors qu'ils croient accéder à un site légitime. Pour éviter les menaces de ce type, il est recommandé d'investir dans une bonne solution de sécurité et, si possible, d'inclure un outil de surveillance de la sécurité de votre routeur.

Parlant des routeurs, c'est toujours une bonne idée de vérifier la sécurité de votre routeur. Il est toujours conseillé de s'assurer que celui-ci est à jour et correctement configuré, de sorte qu'aucune personne non autorisée ne puisse y accéder. De plus, nous devrions éviter d'utiliser des mots de passe peu sécuritaires et de pratiquer des services activés qui permettent la connexion à distance au routeur.