vendredi, avril 19, 2024
AccueilTechChromium surcharge les serveurs DNS racine d'Internet, qui prennent désormais en charge...

Chromium surcharge les serveurs DNS racine d’Internet, qui prennent désormais en charge 60 milliards de fausses requêtes par jour

Les serveurs DNS sont une ressource très précieuse. Dans une large mesure, ils sont responsables de notre capacité à nous déplacer confortablement sur Internet et sans être obligés de mémoriser les adresses IP des serveurs auxquels nous voulons nous connecter, un effort que la plupart d’entre nous trouveraient écrasant. Sa fonction est, quels que soient les détails compliqués (nous expliquons son fonctionnement en profondeur dans l’article lié ici), traduire des noms de domaine que nous écrivons dans la barre d’adresse de notre navigateur les adresses IP auxquelles nous devons vraiment accéder.

Ce mécanisme fonctionne. Et il le fait généralement bien, nous donnant une expérience raisonnablement satisfaisante qui ne nous oblige pas à nous souvenir d’expressions compliquées. Cependant, il existe un type particulier de serveurs DNS qui, en raison de leur hiérarchie, méritent d’être examinés: les serveurs racine. Ils sont importants car ils représentent le premier lien dans la traduction des noms de domaine en adresses IP qui doit être effectué pour rendre possible la communication entre nœuds ou serveurs sur Internet. Ils sont peu nombreux et puissants, mais ils ne prennent pas en charge une charge de requête illimitée. Et ils reçoivent actuellement près de 60 milliards de fausses requêtes par jour, une charge utile brutale dont le navigateur Chromium est largement responsable.

Une fonctionnalité bien intentionnée aux conséquences critiques

Avant d’aller plus loin, cela nous aide à savoir pourquoi Chromium est si pertinent. La chose intéressante est que c’est un navigateur web open source développé par Google sur lequel sont construits d’autres navigateurs, dont certains très populaires, qui l’étendent en implémentant des fonctionnalités supplémentaires. Google Chrome et Microsoft Edge sont probablement les plus connus, mais il existe davantage de navigateurs dérivés de Chromium. Une caractéristique de ce dernier qui vise à améliorer l’expérience des utilisateurs est la possibilité d’utiliser la barre d’adresse pour effectuer des recherches sur Internet.

Grâce à cette fonctionnalité, les utilisateurs peuvent saisir l’adresse de la page que nous voulons visiter et nos chaînes de recherche au même endroit, la barre d’adresse, mais cette fonction oblige le navigateur à discerner entre ces deux options pour effectuer l’opération correcte. Lorsque nous saisissons un nom de domaine, il doit effectuer les requêtes nécessaires auprès des serveurs DNS pour le résoudre et obtenir l’adresse IP. Et lorsque nous recherchons quelque chose sur Internet par défaut, il lance la recherche sur le moteur de recherche Google.

Chromium est un navigateur Web open source développé par Google sur lequel sont construits d’autres navigateurs, dont certains sont très populaires, comme Google Chrome ou Microsoft Edge.

Il est souvent facile pour le navigateur d’identifier ce que l’utilisateur veut faire car la présence d’espaces vides dans l’expression de la barre d’adresse indique que ce que nous avons entré est une chaîne de recherche (s’il n’y a pas d’espaces, le processus peut devenir compliqué). Mais il y a un autre défi auquel le navigateur doit également faire face et qui intervient dans ce processus: Détournement DNS.

Lorsque le navigateur conclut que la chaîne de caractères que nous avons saisie dans la barre d’adresse est un nom de domaine, et tente de le résoudre en recourant aux serveurs DNS, deux choses peuvent se produire: que le nom de domaine existe et est enregistré, ou qu’il ne le fait pas exister. Dans le premier cas, si tout se passe bien, nous devrions obtenir l’adresse IP que nous recherchons, et dans le second, nous devrions obtenir la réponse un message NXDomain (Définition des noms de domaine Internet non eXistent) qui ressemble à ceci: ‘Hôte TestXataka.com introuvable: 3 (NXDOMAIN)’

Comme nous venons de le voir, le message NXDomain n’est rien de plus qu’un code d’erreur qui nous indique que le nom de domaine auquel nous voulons accéder n’a pas pu être résolu par les serveurs DNS. Jusqu’à présent, les règles qui décrivent le fonctionnement de la traduction des noms de domaine sont claires, mais maintenant les fournisseurs d’accès Internet (FAI) entrent en jeu. Et est-ce que certains d’entre eux ont décidé de profiter de cette situation en redirigeant ou « Piratage » du message d’erreur NXDomain et nous montrer à la place une page qui est généralement pleine de publicité. Cette pratique fait perdre du temps aux utilisateurs, et peut également collecter certaines de nos données personnelles, mais les FAI qui la pratiquent sont intéressés car cela leur fait gagner plus d’argent et leur permet d’effectuer des statistiques.

Nous entrons enfin dans le vif du sujet. La communauté de développement Chromium a travaillé dur pour protéger l’utilisateur et améliorer son expérience.Elle a donc mis au point une stratégie très ingénieuse pour empêcher la saisie d’une chaîne de recherche, et non d’un nom de domaine, dans la barre d’adresse. , soyons agressés par la redirection ou le détournement du message d’erreur NXDomain. Cette stratégie consiste en mettre en œuvre un test qui s’exécute lors du démarrage du navigateur ou de l’accès à un réseau, et qui lance trois requêtes vers les serveurs DNS.

Ces trois requêtes sont faites en générant autant de chaînes aléatoires contenant entre sept et quinze caractères. Si au moins deux des requêtes renvoient la même adresse IP, le navigateur suppose que le message d’erreur NXDomain a été kidnappé, et nous empêche d’être redirigés vers des pages à des fins malveillantes étant donné que les chaînes de caractères que nous saisissons dans la barre d’adresse sont des chaînes de recherche.

Le chrome et ses dérivés ont une part de marché totale de pas moins de 70% selon W3Counter

Le problème est que lorsqu’il n’y a eu aucun type de piratage DNS, le test exécuté automatiquement par Chromium propage les trois requêtes successivement vers le haut jusqu’à atteindre les serveurs DNS racine dont nous avons parlé dans les premiers paragraphes de cet article. Vous pouvez voir le résultat dans le graphique ci-dessus (il a été préparé par l’ingénieur de Verisign Matthew Thomas): les serveurs DNS racine mondiaux supportent actuellement une surcharge de presque 60 milliards de fausses demandes chaque jour.

L’impact de Chromium sur les serveurs DNS racine du monde est énorme pour une raison impérieuse: entre lui et les navigateurs qui l’utilisent comme base, ils détiennent une part de marché de pas moins de 70% selon W3Counter. Cela explique pourquoi les serveurs DNS racine sont débordés. Mais l’important est qu’il ait une solution. Les développeurs de Chromium sont en train de le réparer, il est donc probable que dans l’une des prochaines itérations de ce navigateur, ce problème soit déjà résolu. Une dernière remarque: cette fonctionnalité a été introduite dans Chromium en 2010, reflétant que ça nous a pris presque dix ans en se rendant compte que la surcharge des serveurs DNS racine est en fait due au test effectué par ce navigateur.

Image de couverture | Oladimeji Ajegbile
Plus d’informations | Matthieu Thomas

45secondes est un nouveau média, n’hésitez pas à partager notre article sur les réseaux sociaux afin de nous donner un solide coup de pouce. ?

Top Infos

Coups de cœur