Une toile d'araignée est sécurisée, et le nôtre ? Crédit :Robert Anasch/Unsplash, CC PAR
Fin février 2019, l'Internet Corporation for Assigned Names and Numbers (ICANN), l'organisation qui gère les adresses IP et les noms de domaine utilisés sur le web, a émis un avertissement sur les risques d'attaques systémiques sur Internet. Voici ce que vous devez savoir sur ce qui est en jeu.
Qu'est-ce que le DNS ?
Le service de nom de domaine (DNS) relie un nom de domaine (par exemple, le domaine ameli.fr pour l'assurance maladie française) à une adresse IP (Internet Protocol), dans ce cas "31.15.27.86"). C'est désormais un service essentiel, puisqu'il permet de mémoriser facilement les identifiants des services numériques sans avoir leurs adresses. Encore, comme beaucoup d'anciens types de protocole, il a été conçu pour être robuste, mais pas sécurisé.
Le DNS définit les domaines dans lesquels une autorité sera libre de créer des noms de domaine et de les communiquer à l'extérieur. L'avantage de ce mécanisme est que l'association entre l'adresse IP et le nom de domaine est étroitement gérée. L'inconvénient est que plusieurs enquêtes sont parfois nécessaires pour résoudre un nom, en d'autres termes, l'associer à une adresse.
De nombreuses organisations qui offrent des services Internet ont un ou plusieurs noms de domaine, qui sont enregistrés auprès des fournisseurs de ce service d'enregistrement. Ces prestataires sont eux-mêmes enregistrés, directement ou indirectement avec l'ICANN, une organisation américaine chargée d'organiser Internet. En France, l'organisme de référence est l'AFNIC, qui gère le domaine ".fr".
Nous nous référons souvent à un nom de domaine pleinement qualifié, ou FQDN. En réalité, Internet est divisé en domaines de premier niveau (TLD). Les premiers domaines américains permettaient de diviser les domaines par type d'organisation (commerciale, Université, gouvernement, etc.). Puis des domaines nationaux comme ".fr" sont rapidement apparus. Plus récemment, L'ICANN a autorisé l'enregistrement d'une grande variété de domaines de premier niveau. Les informations liées à ces domaines de premier niveau sont enregistrées au sein d'un groupe de 13 serveurs répartis dans le monde pour garantir fiabilité et rapidité dans les réponses.
Le protocole DNS établit la communication entre la machine de l'utilisateur et un serveur de noms de domaine (DNS). Cette communication permet d'interroger ce serveur de noms pour résoudre un nom de domaine, en d'autres termes, obtenir l'adresse IP associée à un nom de domaine. La communication permet également d'obtenir d'autres informations, comme trouver un nom de domaine associé à une adresse ou trouver le serveur de messagerie associé à un nom de domaine afin d'envoyer un message électronique. Par exemple, lorsque nous chargeons une page dans notre navigateur, le navigateur effectue une résolution DNS pour trouver la bonne adresse.
En raison de la nature distribuée de la base de données, souvent le premier serveur contacté ne connaît pas l'association entre le nom de domaine et l'adresse. Il contactera alors d'autres serveurs pour obtenir une réponse, par un processus itératif ou récursif, jusqu'à ce qu'il ait interrogé l'un des 13 serveurs racine. Ces serveurs forment le niveau racine du système DNS.
Pour éviter une prolifération de requêtes, chaque serveur DNS stocke localement les réponses reçues qui associent un nom de domaine et une adresse pendant quelques secondes. Ce cache permet de répondre plus rapidement si la même demande est faite dans un bref intervalle.
Protocole vulnérable
DNS est un protocole à usage général, notamment au sein des réseaux d'entreprise. Il peut donc permettre à un attaquant de contourner ses mécanismes de protection pour communiquer avec des machines compromises. Cela pourrait, par exemple, permettre à l'attaquant de contrôler les réseaux de robots (botnets). La réponse de défense s'appuie sur un filtrage plus spécifique des communications, par exemple nécessitant l'utilisation systématique d'un relais DNS contrôlé par l'organisation victime. L'analyse des noms de domaine contenus dans les requêtes DNS, qui sont associés à des listes noires ou blanches, est utilisé pour identifier et bloquer les requêtes anormales.
Le protocole DNS permet également les attaques par déni de service. En réalité, n'importe qui peut émettre une requête DNS vers un service en prenant en charge une adresse IP. Le serveur DNS répondra naturellement à la fausse adresse. L'adresse est en effet victime de l'attentat, car il a reçu du trafic indésirable. Le protocole DNS permet également de réaliser des attaques d'amplification, ce qui signifie que le volume de trafic envoyé du serveur DNS à la victime est bien supérieur au trafic envoyé de l'attaquant au serveur DNS. Il devient donc plus facile de saturer le lien réseau de la victime.
Le service DNS lui-même peut également être victime d'une attaque par déni de service, comme ce fut le cas pour DynDNS en 2016. Cela a déclenché des pannes en cascade, puisque certains services dépendent de la disponibilité du DNS pour fonctionner.
La protection contre les attaques par déni de service peut prendre plusieurs formes. Le plus couramment utilisé aujourd'hui est le filtrage du trafic réseau pour éliminer le trafic excédentaire. Anycast est également une solution croissante pour répliquer les services attaqués si nécessaire.
Échec. Crédits :Abdallahh/Flickr, CC PAR
Empoisonnement de cache
Une troisième vulnérabilité largement utilisée dans le passé consiste à attaquer le lien entre le nom de domaine et l'adresse IP. Cela permet à un attaquant de voler l'adresse d'un serveur et d'attirer le trafic lui-même. Il peut donc « cloner » un service légitime et obtenir les informations sensibles des utilisateurs induits en erreur :Identifiants, mots de passe, informations de carte de crédit, etc. Ce processus est relativement difficile à détecter.
Comme mentionné, les serveurs DNS ont la capacité de stocker pendant quelques minutes les réponses aux requêtes qu'ils ont émises et d'utiliser ces informations pour répondre directement aux requêtes ultérieures. L'attaque dite d'empoisonnement du cache permet à un attaquant de falsifier l'association au sein du cache d'un serveur légitime. Par exemple, un attaquant peut inonder le serveur DNS intermédiaire de requêtes et le serveur acceptera la première réponse correspondant à sa requête.
Les conséquences ne durent que peu de temps, les requêtes adressées au serveur compromis sont détournées vers une adresse contrôlée par l'attaquant. Le protocole initial ne comportant aucun moyen de vérifier l'association domaine-adresse, les clients ne peuvent pas se protéger contre l'attaque.
Cela se traduit souvent par des fragments Internet, les clients communiquant avec le serveur DNS compromis étant détournés vers un site malveillant, tandis que les clients communiquant avec d'autres serveurs DNS sont envoyés vers le site d'origine. Pour le site d'origine, cette attaque est pratiquement impossible à détecter, à l'exception d'une diminution des flux de trafic. Cette diminution du trafic peut avoir des conséquences financières importantes pour le système compromis.
Certificats de sécurité
Le but du DNS sécurisé (Domain Name System Security Extensions, DNSSEC) est de prévenir ce type d'attaque en permettant à l'utilisateur ou au serveur intermédiaire de vérifier l'association entre le nom de domaine et l'adresse. Elle repose sur l'utilisation de certificats, comme celles utilisées pour vérifier la validité d'un site Web (le petit cadenas qui apparaît dans une barre Web de navigateur). En théorie, une vérification du certificat suffit pour détecter une attaque.
Cependant, cette protection n'est pas parfaite. Le processus de vérification des associations « domaine-adresse IP » reste incomplet. Cela s'explique en partie par le fait qu'un certain nombre de registres n'ont pas mis en place l'infrastructure nécessaire. Bien que la norme elle-même ait été publiée il y a près de quinze ans, nous attendons toujours le déploiement de la technologie et des structures nécessaires. L'émergence de services comme Let's Encrypt a contribué à généraliser l'utilisation des certificats, qui sont nécessaires pour une navigation sécurisée et une protection DNS. Cependant, l'utilisation de ces technologies par les registres et les prestataires de services reste inégale; certains pays sont plus avancés que d'autres.
Bien qu'il existe des vulnérabilités résiduelles (telles que des attaques directes sur des registres pour obtenir des domaines et des certificats valides), DNSSEC propose une solution pour le type d'attaques récemment dénoncées par l'ICANN. Ces attaques reposent sur la fraude DNS. Être plus précis, ils s'appuient sur la falsification des enregistrements DNS dans les bases de données des registres, ce qui signifie que soit ces registres sont compromis, soit ils sont perméables à l'injection de fausses informations. Cette modification de la base de données d'un registre peut s'accompagner de l'injection d'un certificat, si l'attaquant a prévu cela. Cela permet de contourner DNSSEC, dans le pire des cas.
Cette modification des données DNS implique une fluctuation des données d'association domaine-adresse IP. Cette fluctuation peut être observée et éventuellement déclencher des alertes. Il est donc difficile pour un attaquant de rester totalement inaperçu. Mais comme ces fluctuations peuvent se produire régulièrement, par exemple lorsqu'un client change de fournisseur, le superviseur doit rester extrêmement vigilant afin de poser le bon diagnostic.
Institutions ciblées
Dans le cas des attaques dénoncées par l'ICANN, il y avait deux caractéristiques importantes. Tout d'abord, ils ont été actifs pendant plusieurs mois, ce qui implique que l'attaquant stratégique était déterminé et bien équipé. Deuxièmement, ils ciblaient efficacement les sites institutionnels, ce qui indique que l'attaquant avait une forte motivation. Il est donc important de s'intéresser de près à ces attaques et de comprendre les mécanismes mis en place par les attaquants afin de rectifier les vulnérabilités, probablement en renforçant les bonnes pratiques.
La promotion par l'ICANN du protocole DNSSEC soulève des questions. Il doit clairement se généraliser. Cependant, il n'y a aucune garantie que ces attaques aient été bloquées par DNSSEC, ni même qu'elles auraient été plus difficiles à mettre en œuvre. Une analyse supplémentaire sera nécessaire pour mettre à jour l'état de la menace de sécurité pour le protocole et la base de données DNS.
Cet article est republié à partir de The Conversation sous une licence Creative Commons. Lire l'article original.