DNS, ce protocole qui ne vous veut pas que du bien

DNS, le protocole de récupération des noms de domaines, semble bien inoffensif et pourtant celui-ci est activement exploité par les malwares pour échanger des données. C’est la raison pour laquelle il est urgent de s’en préoccuper dès maintenant. Article paru dans L'Informaticien n°196 (mai 2021).

Tout le monde se souvient de la grande attaque menée le 21 octobre 2016 contre Dyn, un obscur fournisseur de DNS américain et qui a rendu indisponible les plus grands sites internet américains pendant une dizaine d’heures. Amazon, Airbnb, Twitter, le PlayStation Network indisponibles, cette attaque a eu une portée mondiale. Cette attaque DDOS menée à partir d’objets connectés via le bot Mirai a montré la fragilité d’une architecture qui faisait « partie des meubles ».

Comme vient encore de le démontrer la toute récente faille NAME:WRECK qui afflige 100 millions d’appareils IoT, l’architecture DNS est intrinsèquement fragile car très exposée aux attaques, comme l’explique Florent Gentric, CTO de l’hébergeur internet Hosteur : « La plus grosse menace qui pèse sur nos DNS reste le DDOS DNS, les attaques en force brute sur les services DNS. Pour y faire face, nous avons mis en place deux niveaux de protection : d’une part un filtrage du trafic en interne et, en parallèle, le recours à des opérateurs anti-DDOS pour filtrer les attaques de grande ampleur.» Ainsi, Hosteur fait appel aux services de Cloudflare pour certains de ses clients. Autre risque qui pèse sur les serveurs DNS, celui de l’usurpation de domaine. Pour la contrer, la technologie DNSSEC est efficace mais celle-ci n’est pas encore très répandue et nous la recommandons très fortement. « L’usurpation de domaines est une attaque beaucoup moins commune, car elle nécessite un plus haut niveau d’expertise de la part de l’attaquant. Tous les développeurs de sites web ont bien intégré la nécessité d’utiliser http/s avec des certificats numériques de bonne qualité, mais pour le volet DNS, ce n’est pas encore dans les habitudes que de mettre en place DNSSEC. Or on voit de plus en plus de cas d’usurpation DNS. Le coût de mise en place est très faible : on la recommande fortement !»


Clément Marcelot

Solution Architect chez Infoblox

« L’attaque Dyn de 2016 a bien montré que les infrastructures DNS ne sont pas infaillibles et qu’il ne faut pas mettre tous ses œufs dans le même panier. L’idée qui s’impose aujourd’hui est d’aller vers un modèle hybride et de ne pas s’appuyer sur un seul tiers mais au moins deux et d’avoir ses propres serveurs DNS dans son datacenter ou sur un Cloud public. Une meilleure pratique actuelle est de conserver le Master DNS en on-premise afin de garder un contrôle des domaines et effectuer des modifications rapidement et confier les DNS secondaires à un hébergeur tiers. »


Un autre moyen de protection du trafic DNS est d’aller vers un chiffrement de type DNS over TLS ou DNS over HTTP/S. Les navigateurs web utilisent désormais couramment cette technique pour masquer ce trafic et c’est certainement un progrès en termes de « privacy » pour l’utilisateur, mais ce chiffrement fait perdre à la DSI de la visibilité sur ce trafic et donc éventuellement un trafic généré par un malware. « DNS over TLS ou over http/s complique clairement la donne pour les acteurs comme nous », explique ainsi Joaquim Dos Santos, directeur Recherche & Développement d’Ikoula : « Tant en interne que chez nos clients, ces protocoles chiffrés nous causent de réelles difficultés pour voir ce qui passe sur le réseau. Beaucoup opposent sécurité et Privacy et on ne peut totalement bloquer ces protocoles chiffrés. Notre approche est de laisser passer les trames dont la destination est connue, de confiance, mais de bloquer certaines destinations considérées «à risque» afin de ne pas faciliter la tâche aux attaquants.»

Les analystes doivent s’appuyer sur des algorithmes d’IA et des outils de visualisation avancés afin de comprendre le comportement d’un algorithme de DGA et remonter jusqu’au serveur de Control&Command. Ici, l’algorithme mis en œuvre par le malware Gameover P2P.

De nouveaux domaines sont créés sans cesse et quand un nouveau domaine a été créé il y a quelques minutes de cela, il faut décider si celui-ci est malicieux ou non. Dans ce cas, les entreprises peuvent se tourner vers des éditeurs tels que Olféo, bien connu pour ses outils de filtrage de la navigation des utilisateurs. Le Français commercialise une base d’URL de confiance : « Nous disposons de notre propre base d’url, avec un taux de reconnaissance de l’ordre de 99 % des requêtes », argumente Farid Agha, directeur du Customer Success chez Olfeo. « Cette approche permet de bloquer un accès lorsque l’url n’est pas connue et ainsi constituer un environnement de confiance. Cela permet notamment de limiter les interactions des malwares installés dans le système d’information et les Command&Control avec qui ces malwares cherchent à entrer en contact.»

L’approche sécurise les accès des collaborateurs, y compris les invités qui se connectent au Wi-Fi « guest» de l’entreprise mais aussi les objets connectés sur lesquels l’entreprise ne peut installer de logiciel antivirus. « Avec notre approche on peut définir qu’un copieur connecté ne peut communiquer qu’avec un domaine particulier pour, par exemple, commander de nouvelles cartouches d’encre. Toute tentative de connexion vers un autre domaine est filtrée, car considérée comme une potentielle exfiltration de données.»

Le protocole DNS, tunnel préféré des attaquants

En effet, si les serveurs DNS constituent une cible intéressante pour faire tomber un site d’e-commerce un jour de Black-Friday ou par pure malveillance comme ce fut le cas de l’attaque Mirai de 2016, le protocole DNS lui-même est aujourd’hui un vecteur d’attaque pour les pirates comme l’explique Clément Marcelot, Solution Architect chez Infoblox : «Le DNS est devenu le premier vecteur pour mener une exfiltration de données car c’est un protocole qui passe souvent facilement sous le radar, notamment via Fast-Flux, une technique d’évasion des firewalls.» Les techniques de tunneling DNS pour transférer des données sont bien connues depuis le début des années 2000 et largement implémentées dans les malwares. Le DNS est un maillon de la chaîne d’attaque de nombreux malwares et les attaquants font preuve de beaucoup d’imagination pour brouiller les pistes. Outre la technique du Fast Flux et du Double Flux, on a vu arriver des malwares capables de générer des noms de domaine par algorithme, c’est la technique du DGA (Domain La technique de Fast-Flux exploite la possibilité offerte par le système DNS à attribuer plusieurs adresses IP à un même domaine internet et utiliser une durée de vie très faible pour ces adresses (TTL / Time-To-Live). L’objectif est de dissimuler une attaque de type phishing ou l’activité d’un malware, le hacker va dissimuler l’activité du serveur de Control&Command ou du site de phishing en changeant très rapidement d’adresses IP. Une version plus évoluée de cette technique, le Double Flux, consiste à changer en parallèle de serveur DNS de façon à compliquer encore un peu plus la tâche de l’opérateur de télécom qui va vouloir couper l’accès à ce serveur. Generation Algorithm). Les malwares tels que conficker, emotet, locky, mirai ont exploité avec un certain succès cette technique qui peut être combinée au Fast Flux et engendrer une masse considérable de requêtes DNS à destination de milliers de domaines… de quoi rendre fou n’importe quel analyste de sécurité.


Joaquim Dos Santos

Directeur Recherche & Développement d’Ikoula

« Le DNS est bien évidemment la première cible des acteurs malicieux sur Internet et les attaques DDOS sont fréquentes. En tant qu’hébergeur, nous faisons tourner nos propres serveurs DNS et nous avons mis en place une architecture évoluée pour faire face aux attaques DDOS. Nous avons multiplié les serveurs, mais pas uniquement en empilant des machines. Les serveurs DNS sont placés sur différents TLD (Top-Level Domain) et nous avons ajouté des forwarders et ajouté des serveurs DNS qui ne sont pas accessibles de l’extérieur. Cette architecture distribuée géographiquement rend plus difficile la tâche des attaquants. En amont, nos firewalls sont capables de vérifier que les requêtes et les réponses DNS sont normales et nous avons évidemment mis en place des appliances spécialisées dans la mitigation des attaques DDOS.»


Face à cette montée en complexité, les éditeurs misent sur l’IA pour faire le tri et repérer la prise de contact du malware avec son centre de Command&Control au milieu de cette montagne de logs. Infoblox mise ainsi sur l’analyse comportementale, comme l’explique Clément Marcelot, Solution Architect chez Infoblox, spécialiste de la sécurité DNS : « Les pratiques sur DNS sont bien connues et l’analyse comportementale permet de discriminer un trafic légitime d’une attaque, en essayant de ne pas générer de faux positifs. On peut détecter des tentatives d’exfiltration de données mais aussi d’infiltration de code malveillant dans le cadre d’attaque de type Fileless.» Mais comme rien n’est simple en cybersécurité, certains logiciels exploitent aussi le protocole DNS pour échanger des données avec un serveur maître… ce sont les antivirus qui peuvent déclencher des faux positifs! Alors que les opérateurs internet et les grandes entreprises montent en puissance sur la résilience de leur infrastructure DNS et le contrôle de leur trafic, les attaquants commencent déjà à réagir comme le constate Joaquim Dos Santos, chez Ikoula : « Le trafic DNS a été très utilisé par les attaquants car ce trafic traverse les firewalls en entrée et en sortie, mais nous constatons aujourd’hui que les acteurs malicieux cherchent à faire transiter des trames DNS que l’on ne peut pas voir, mais commence aussi à se tourner vers d’autres protocoles...» Un jeu du chat et de la souris finalement assez habituel en cybersécurité.


Le principe de l’usurpation DNS

Le principe de l’usurpation DNS est assez simple : l’objectif de l’attaquant est de se faire passer pour un serveur de noms DNS et envoyer une fausse adresse IP au serveur DNS de l’entreprise ou de l’hé-bergeur. L’attaquant falsifie les données d’entête du message véhiculé en UDP pour se faire passer pour l’autorité. Dès que la fausse adresse IP est chargée dans le cache du serveur DNS, toutes les requêtes des utilisateurs concernant le domaine visé les amèneront sur le site malicieux.


John Graham Cumming

CTO de Cloudflare

« DNS est un protocole «plein texte» que tout le monde peut consulter facilement et les malwares peuvent l’utiliser. Les entreprises doivent donc filtrer ce trafic et bloquer d’éventuelles exfiltrations de données. DNSSEC est un moyen de s’assurer que l’enregistrement que vous demandez au serveur DNS est authentique. La donnée est chiffrée et si un attaquant cherche à altérer la réponse du serveur, il y aura une erreur qui permettra de détecter la tentative d’attaque. DNSSEC représente un peu ce que HTTP/S a été pour HTTP, mais est beaucoup plus complexe à déployer. DNS est une architecture beaucoup plus distribuée, avec des registrar, des serveurs DNS chez les fournisseurs d’accès internet, dans les entreprises. Migrer vers DNSSEC sera une transition majeure.»


La technique du DGA / Domain Generation Algorithm

Le malware dispose d’un algorithme qui va être capable de générer de manière automatique un très grand nombre de domaines et envoyer des requêtes vers chacun de ces milliers de domaines afin de rentrer en contact avec son serveur de Command&Control. L’objectif pour le malware est d’entrer en contact avec son serveur mais sans en dévoiler l’adresse. Bien évidemment, le malware et le serveur partagent un même secret, le «seed» qui permet au malware de générer le bon domaine et entrer en contact sur l’un des domaines. Pour rendre la tâche d’un éventuel défenseur à l’écoute du trafic DNS, le malware peut combiner DGA et Fast-Flux…


Les techniques de Fast-Flux et de Double-Flux

La technique de Fast-Flux exploite la possibilité offerte par le système DNS à attribuer plusieurs adresses IP à un même domaine internet et utiliser une durée de vie très faible pour ces adresses (TTL / Time-To-Live). L’objectif est de dissimuler une attaque de type phishing ou l’activité d’un malware, le hacker va dissimuler l’activité du serveur de Control&Command ou du site de phishing en changeant très rapidement d’adresses IP. Une version plus évoluée de cette technique, le Double Flux, consiste a changer en parallèle de serveur DNS de façon à compliquer encore un peu plus la tâche de l’opérateur de télécom qui va vouloir couper l’accès à ce serveur.