C’est un peu un retour vers l’an de grâce 2008. Cette année, le chercheur en sécurité Daniel Kaminsky avait révélé une méchante faille dans le système DNS, permettant à un pirate d’usurper l’identité de n’importe quel site. L’attaque, appelée « DNS Cache Poisoning », s’appuyait sur le fait qu’il était assez simple de forger une fausse réponse à une requête DNS légitime. Il suffisait de « bruteforcer » l’identifiant de transaction en envoyant plein de réponses qui faisaient varier ce champ de données. Cet identifiant est codé sur 16 bits, ce qui signifie qu’il y avait au maximum 65 536 possibilités. Si la connexion de l’attaquant était bonne, la véritable réponse arrivait trop tard et pouvait être rejetée.
Cette attaque n’est plus possible, car les résolveurs DNS choisissent désormais le port source de la requête au hasard. Un attaquant devrait donc non seulement bruteforcer l’identifiant de connexion (16 bits), mais aussi le port source (16 bits). Le nombre de possibilités est désormais trop élevé pour que l’attaque soit réalisable.
Mais un groupe de chercheurs de Tsinghua University et University of California vient maintenant de révéler une nouvelle méthode. Baptisée « SAD DNS » (Side Channel AttackeD DNS), elle s’appuie sur le fait qu’il est possible de tester l’existence d’un port ouvert sur un résolveur en lui envoyant un simple paquet UDP. Si le port est ouvert, aucune réponse n’est envoyée. S’il est fermé, l’appareil émet un message ICMP Reply pour indiquer une erreur.
Pour éviter les scans automatisés, le nombre de réponses ICMP est limité dans le temps (50 toutes les 20 ms) et par adresse IP source (1 par seconde). Dans ces conditions, impossible de réaliser un scan directement. Mais les chercheurs ont réussi à développer une technique qui permet de révéler ce port source de façon indirecte, en observant le comportement de ces réponses ICMP.
Un grand nombre de résolveurs sont vulnérables
Les chercheurs ont ensuite analysé 14 résolveurs publics dont Google, Cloudflare, Dyn et OpenDNS. Résultat : seuls deux n’étaient pas vulnérables à cette attaque, à savoir Tencent DNS et Ali DNS. Les chercheurs ont également analysé plus 138 000 résolveurs dits « ouverts » (librement accessibles, mais peu connus). Parmi, 34 % étaient vulnérables.
La bonne nouvelle, c’est qu’il existe plusieurs façons de contrer cette attaque. Le noyau de Linux a d’ores et déjà été patché pour rendre aléatoire le plafond de réponses ICMP. On peut également désactiver les réponses ICMP. L’usage du protocole DNSSEC coupe également l’herbe sous le pied de cette attaque. Malheureusement, beaucoup de résolveurs seront vulnérables, le temps d’appliquer l’un de ces correctifs. C’est pourquoi les chercheurs proposent un test sur leur site web qui permet de savoir si le résolveur DNS que l’on utilise est vulnérable. Le cas échéant, il faudra en choisir un autre. Le service de Cloudflare, pour sa part, n’est plus vulnérable.
Source: University of California
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.