sécurité DNS

Des chercheurs en cybersécurité ont découvert de multiples vulnérabilités dans Dnsmasq, un logiciel open source populaire utilisé pour la mise en cache des réponses DNS (Domain Name System), permettant ainsi potentiellement à un adversaire de monter DNS attaques d’empoisonnement du cache et exécuter à distance du code malveillant.

Les sept défauts, appelés collectivement “DNSpooq“par la société de recherche israélienne JSOF, fait écho aux faiblesses précédemment révélées dans l’architecture DNS, rendant les serveurs Dnsmasq impuissants face à une série d’attaques.

“Nous avons constaté que Dnsmasq est vulnérable aux attaques d’empoisonnement du cache DNS par un attaquant hors chemin (c’est-à-dire un attaquant qui n’observe pas la communication entre le transitaire DNS et le serveur DNS)”, ont noté les chercheurs dans un rapport. publié aujourd’hui.

“Notre attaque permet l’empoisonnement de plusieurs noms de domaine à la fois, et est le résultat de plusieurs vulnérabilités trouvées. L’attaque peut être menée à bien en quelques secondes ou quelques minutes, et n’a pas d’exigences particulières. Nous avons également constaté que de nombreuses instances de Dnsmasq sont mal configurées. à écouter sur l’interface WAN, rendant l’attaque possible directement depuis Internet. “

Dnsmasq, abréviation de Mascarade DNS, est un logiciel léger avec des capacités de transfert DNS utilisé pour la mise en cache locale des enregistrements DNS, réduisant ainsi la charge sur les serveurs de noms en amont et améliorant les performances.

En septembre 2020, il y avait environ 1 million d’instances Dnsmasq vulnérables, selon JSOF, avec le logiciel inclus dans les smartphones Android et des millions de routeurs et autres périphériques réseau de Cisco, Aruba, Technicolor, Redhat, Siemens, Ubiquiti et Comcast.

Revisiter l’attaque Kaminsky et le DNS SAD

Le concept d’empoisonnement du cache DNS n’est pas nouveau.

En 2008, chercheur en sécurité Dan Kaminsky a présenté ses découvertes sur une vulnérabilité DNS répandue et critique qui a permis aux attaquants de lancer des attaques d’empoisonnement du cache contre la plupart des serveurs de noms.

Il a exploité une faille de conception dans le DNS – il ne peut y avoir que 65 536 ID de transaction possibles (TXID) – pour inonder le serveur DNS de réponses falsifiées, qui sont ensuite mises en cache et exploitées pour diriger les utilisateurs vers des sites Web frauduleux.

Les identifiants de transaction ont été introduits comme un mécanisme pour contrecarrer la possibilité qu’un serveur de noms faisant autorité puisse être usurpé pour créer des réponses malveillantes. Avec cette nouvelle configuration, les résolveurs DNS ont attaché un ID 16 bits à leurs requêtes aux serveurs de noms, qui renverraient alors une réponse avec le même ID.

Redirection DNS DNSMasq

Mais la limitation des identifiants de transaction signifiait que chaque fois qu’un résolveur récursif interroge le serveur de noms faisant autorité pour un domaine donné (par exemple, www.google.com), un attaquant pouvait inonder le résolveur de réponses DNS pour tout ou partie des 65 000 environ possibles. ID de transaction.

Si la réponse malveillante avec le bon ID de transaction de l’attaquant arrive avant la réponse du serveur faisant autorité, alors le cache DNS serait effectivement empoisonné, renvoyant l’adresse IP choisie par l’attaquant au lieu de l’adresse légitime tant que la réponse DNS était valide. .

L’attaque reposait sur le fait que l’ensemble du processus de recherche n’est pas authentifié, ce qui signifie qu’il n’y a aucun moyen de vérifier l’identité du serveur faisant autorité, et que les requêtes et réponses DNS utilisent UDP (User Datagram Protocol) au lieu de TCP, ce qui facilite usurper les réponses.

Pour contrer le problème, un port UDP aléatoire a été utilisé comme deuxième identifiant avec l’ID de transaction, au lieu d’utiliser simplement le port 53 pour les recherches et les réponses DNS, augmentant ainsi l’entropie de l’ordre de milliards et le rendant pratiquement impossible pour les attaquants. pour deviner la bonne combinaison du port source et de l’ID de transaction.

Bien que l’efficacité des attaques d’empoisonnement du cache ait été touchée en raison de la randomisation du port source (SPR) susmentionnée et des protocoles tels que DNSSEC (Extensions de sécurité du système de noms de domaine), les chercheurs ont découvert en novembre dernier un “nouveau” canal secondaire pour vaincre la randomisation en utilisant les limites de débit ICMP comme canal secondaire pour révéler si un port donné est ouvert ou non.

Les attaques – appelées «SAD DNS» ou Side-channel AttackeD DNS – impliquent l’envoi d’une rafale de paquets UDP usurpés à un résolveur DNS, chacun envoyé sur un port différent, puis utilisant ICMP Messages “Port inaccessible” (ou son absence) comme indicateur pour discerner si la limite de débit a été atteinte et éventuellement réduire le port source exact d’où provient la demande.

Montez des attaques en plusieurs étapes qui permettent la prise de contrôle de l’appareil

Il est intéressant de noter que les attaques d’empoisonnement du cache DNS détaillées par JSOF présentent des similitudes avec le DNS SAD en ce que les trois vulnérabilités (CVE-2020-25684, CVE-2020-25685 et CVE-2020-25686) visent à réduire l’entropie des ID de transaction et port source requis pour qu’une réponse soit acceptée.

Plus précisément, les chercheurs ont noté que malgré le support de Dnsmasq pour SPR, il “multiplexe plusieurs TXID sur un port et ne relie pas chaque port à des TXID spécifiques”, et que l’algorithme CRC32 utilisé pour empêcher l’usurpation DNS peut être vaincu de manière triviale, ce qui conduit à un scénario dans lequel «l’attaquant doit obtenir l’un des ports corrects et n’importe lequel des TXID correctement».

Les versions 2.78 à 2.82 de Dnsmasq se sont toutes révélées affectées par les trois failles.

Redirection DNS DNSMasq

Les quatre autres vulnérabilités révélées par JSOF sont des débordements de mémoire tampon basés sur des tas, qui peuvent conduire à une exécution potentielle de code à distance sur le périphérique vulnérable.

«Ces vulnérabilités, en elles-mêmes, auraient un risque limité, mais deviendraient particulièrement puissantes puisqu’elles peuvent être combinées avec les vulnérabilités d’empoisonnement du cache pour produire une attaque puissante, permettant l’exécution de code à distance», ont déclaré les chercheurs.

Pire encore, ces faiblesses peuvent être enchaînées avec d’autres attaques réseau telles que DNS SAD et NAT Slipstreaming pour monter des attaques en plusieurs étapes contre les résolveurs Dnsmasq écoutant sur le port 53. Même ceux qui sont configurés pour écouter uniquement les connexions reçues à partir d’un réseau interne sont à risque si le code malveillant est transmis via des navigateurs Web ou d’autres périphériques infectés sur le même réseau.

En plus de les rendre vulnérables à l’empoisonnement du cache, les attaques peuvent également permettre à un mauvais acteur de prendre le contrôle des routeurs et des équipements réseau, de lancer des attaques par déni de service distribué (DDoS) en subvertissant le trafic vers un domaine malveillant, et même d’empêcher les utilisateurs d’y accéder. sites légitimes (reverse DDoS).

Les chercheurs ont également évoqué la possibilité d’une «attaque vermifuge» dans laquelle les appareils mobiles connectés à un réseau qui utilise un serveur Dnsmasq infecté reçoivent un mauvais enregistrement DNS et sont ensuite utilisés pour infecter un nouveau réseau lors de leur connexion.

Mettez à jour Dnsmasq vers 2.83

Il est fortement recommandé aux fournisseurs de mettre à jour leur logiciel Dnsmasq dernière version (2.83 ou supérieur) qui sera publié plus tard dans la journée afin d’atténuer le risque.

Pour contourner ce problème, les chercheurs suggèrent de réduire le nombre maximal de requêtes autorisées à être transférées, ainsi que de s’appuyer sur DNS-over-HTTPS (DoH) ou DNS-over-TLS (DoT) pour se connecter au serveur en amont.

“Le DNS est un protocole Internet critique dont la sécurité affecte considérablement[s] la sécurité des utilisateurs d’Internet », ont conclu les chercheurs.« Ces problèmes mettent les périphériques réseau en danger et affectent des millions d’utilisateurs Internet, qui peuvent souffrir de l’attaque d’empoisonnement du cache présentée.

“Ce point culminant[s] l’importance de la sécurité DNS en général et de la sécurité des transitaires DNS en particulier. Il souligne également la nécessité d’accélérer le déploiement des mesures de sécurité DNS telles que DNSSEC, la sécurité du transport DNS et les cookies DNS. “



Leave a Reply