Points clés à retenir
Le mercredi 1er novembre, les domaines de Frax Finance ont été détournés suite à une attaque de DNS. Heureusement, aucune perte de fonds des utilisateurs n’a été signalée.
Les attaques de DNS (Domain Name System, ou système de nom de domaine en français) sont lancées par des acteurs malveillants qui tentent de s’emparer des domaines et de rediriger les internautes tentant de consulter des sites Web légitimes vers des sites malveillants sous leur contrôle.
Les attaques de DNS sont de plus en plus fréquentes et préoccupantes dans le domaine des cryptomonnaies, et l’année écoulée a connu une recrudescence de ce type d’incidents.
Le 1er novembre dernier, les domaines de la plateforme de prêt de cryptomonnaies Frax Finance ont été détournés par des attaquants qui ont tenté de s’en emparer et de rediriger leur trafic vers des domaines malveillants. Heureusement, l’équipe du projet a rapidement repris le contrôle de ces domaines, et les fonds des utilisateurs n’ont pas été mis en danger.
Les attaques similaires à celles-ci, appelées « attaques de DNS », sont de plus en plus fréquentes et préoccupantes dans l’univers des cryptomonnaies. Compte tenu de l’existence intégralement numérique du secteur et des flux de capitaux qui y circulent, les pirates parvenant à en exploiter les failles de sécurité peuvent gagner gros. Pour garantir la sécurité des fonds, il est impératif d’informer les utilisateurs et les développeurs de projets sur les tactiques d’escroquerie et les mesures de contrôle des risques les plus récentes.
Cet article présente le récent piratage subi par Frax Finance ainsi que les enseignements à tirer de cet incident, et détaille les attaques de DNS en expliquant comment les anticiper.
Qu’est-ce qu’un serveur DNS ?
Voyons d’abord comment fonctionne un serveur DNS. Il s’agit de l’un des principaux outils permettant aux internautes de naviguer facilement sur Internet. Les serveurs DNS traduisent les noms de domaine en adresses IP (Internet Protocol) numériques qui représentent leur emplacement sur Internet.
Dès qu’un utilisateur saisit un nom de domaine, par exemple « www.binance.com », son appareil envoie une requête à un serveur DNS pour demander l’adresse IP. En règle générale, cette requête passe par plusieurs serveurs DNS jusqu’à atteindre l’adresse correspondante.
Considérez Internet comme un gigantesque réseau autoroutier, très complexe, où chaque route mène vers un site Web distinct. Sur ces routes, les serveurs DNS jouent le rôle d’agents de la circulation qui orientent les voitures dans la bonne direction. Naviguer Internet sans serveur DNS serait un peu comme conduire dans un pays étranger sans carte, ni GPS, ni panneau de signalisation : impossible de ne pas se perdre en route.
Les attaques de DNS
Les serveurs DNS reposent sur la confiance. Nous faisons confiance au système pour qu’il nous amène vers le bon site Web. Persuadés que nous sommes sur un site protégé, nous y saisissons des informations sensibles, notamment nos identifiants de connexion, nos informations personnelles, voire même nos coordonnées bancaires. Que se passerait-il si l’un de ces serveurs était compromis par une personne aux intentions malveillantes ?
Une attaque de DNS se produit lorsqu’un acteur malveillant tente de vous détourner du site Web légitime auquel vous souhaitez accéder et vous rediriger vers un faux site qu’il contrôle. Pour reprendre la métaphore de l’autoroute ci-dessus, c’est comme si quelqu’un changeait les panneaux de signalisation pour vous conduire au domicile d’un voleur au lieu de vous ramener chez vous.
Les attaques DNS peuvent se dérouler de différentes façons et employer des méthodes et des techniques diverses, généralement pour perturber les services ou dérober des informations sensibles. Les deux techniques les plus courantes d’attaque de DNS sont l’empoisonnement du cache et le détournement de domaine. Dans le cas d’un empoisonnement du cache, l’attaquant transmet de fausses informations à un serveur DNS en vue de rediriger le trafic d’un site Web légitime vers un site malveillant qu’il contrôle. Dans le cas d’un détournement de domaine, le malfaiteur prend le contrôle du domaine lui-même sans l’autorisation de son propriétaire légitime.
Le cas Frax Finance
Dans le cadre de la récente attaque subie par Frax Finance, des pirates ont tenté de s’emparer des domaines « frax.com » et « frax.finance ». Lorsqu’elle a eu vent de l’attaque, l’équipe du projet a rapidement informé sa communauté sur X (anciennement Twitter) et a conseillé aux internautes de ne pas accéder aux domaines compromis.
Elle est aussi entrée en contact avec son fournisseur de DNS (Name.com) qui a rapidement repris le contrôle des domaines et les a réacheminés vers les serveurs de noms et les configurations adéquats. Bien que l’enquête sur la cause principale de l’incident soit toujours en cours, aucune perte de fonds des utilisateurs n’a été signalée.
Incompatibilité du certificat SSL
Un certificat SSL (Secure Sockets Layer ou couche de sockets sécurisés) est en quelque sorte le passeport numérique d’un site Web et est un outil de cybersécurité crucial. Tout comme un passeport confirme votre identité pendant vos déplacements, un certificat SSL confirme celle d’un site Web auprès de votre ordinateur. Les certificats SSL garantissent également le chiffrement des informations échangées entre un ordinateur et un site Web de manière à les rendre illisibles par qui que ce soit d’autre, une fonctionnalité particulièrement importante pour les renseignements sensibles comme les identifiants de connexion.
Un serveur DNS compromis essaie de rediriger les internautes vers un autre site Web, ce qui entraîne une incompatibilité du certificat SSL permettant de prévenir efficacement les utilisateurs d’un problème sur le site. En voici un exemple.
Exemple concret
Supposons l’existence d’un domaine original nommé « binancedefiapp.com », hébergé sur un serveur avec l’adresse IP 192.168.0.1. Ce serveur DNS a été compromis : un acteur malveillant a changé les données du DNS de sorte que « binancedefiapp.com » est maintenant hébergé à l’adresse IP 192.168.2.2, où l’attaquant a mis en ligne sa propre version malveillante du site Web d’origine. Il a malgré tout besoin d’un certificat SSL pour donner l’illusion que son site Web est sûr.
Si la connexion au site Web n’est pas sécurisée et renvoie une adresse HTTP (Hypertext Transfer Protocol ou protocole de transfert hypertexte) plutôt qu’une adresse HTTPS (Hypertext Transfer Protocol Secure ou protocole de transfert hypertexte sécurisé) généralement signifiée par un cadenas vert dans la barre d’adresse du navigateur (ou une icône similaire), cela doit éveiller les soupçons des visiteurs du site.
L’attaquant ne parvient pas à obtenir de certificat SSL pour le domaine « binancedefiapp.com », car un seul serveur DNS est compromis. Pour générer un certificat valide pour un domaine précis, il doit prouver à un émetteur tiers qu’il est le propriétaire de ce domaine : or, cela lui est impossible, car le pirate ne possède qu’un seul serveur DNS. Dans ce cas, l’éventuel certificat existant ne correspondra pas au nom d’hôte, car l’attaquant devra conserver le certificat émis pour un autre domaine. Lorsqu’un internaute accède à un tel site Web, son navigateur est capable de reconnaître si le certificat est émis pour le domaine actuellement consulté ou non. S’il détecte une incompatibilité, il génère l’erreur suivante :
Si ce message apparaît, il ne vaut mieux pas poursuivre vers le site Web en question.
Serveurs DNS internes et externes
Il existe plusieurs serveurs DNS sur Internet ; il n’est donc pas possible de tous les empoisonner. Les serveurs DNS internes, par exemple, évoluent au sein d’un environnement interne fermé (un réseau d’entreprise ou un serveur DNS personnalisé) constituent des cibles plus faciles que les serveurs DNS publics, tels que les programmes de résolution ouverts de Google.
Même si les serveurs DNS de Google courent eux aussi un risque d’empoisonnement, la probabilité que cela se produise reste relativement faible, et s’ils venaient tout de même à être touchés, il est certain que les équipes réagiraient et alerteraient les internautes très promptement. En revanche, les serveurs DNS autonomes ou personnalisés sont la plupart du temps moins étroitement surveillés et moins sécurisés. Il est généralement recommandé de résoudre les adresses IP à l’aide des programmes de résolution publics de Google ou d’autres fournisseurs fiables et ouverts au public.
Comment se protéger des attaques de DNS ?
Les risques de sécurité liés aux DNS se divisent généralement en deux grandes catégories : l’infection des appareils des utilisateurs finaux et le piratage des serveurs DNS. Les conseils pour éviter d’en être victime varient selon qu’il s’agisse d’un cas ou de l’autre.
Si l’appareil de l’utilisateur final est compromis :
L’appareil de l’utilisateur final est contrôlé ou infecté par un malfaiteur, qui empoisonne le cache DNS ou détourne le domaine. Voici ce que peut faire l’utilisateur final dans ce cas de figure :
Ne pas cliquer sur des liens suspects et ne pas installer de logiciels ou de plug-ins de navigateur provenant de sources inconnues.
Ne pas utiliser de réseaux Wi-Fi publics aux informations d’identification de sécurité incertaines.
Vider régulièrement le cache DNS.
Lancer des analyses régulières pour détecter la présence de logiciels malveillants sur les appareils.
Malheureusement, c’est chez le client ou chez l’utilisateur final que la majorité des problèmes surviennent, et les développeurs de projets n’ont aucun moyen d’éradiquer définitivement ces dangers. L’équipe du projet n’est que très rarement au courant de l’infection du DNS de son client, et hormis mettre en place des canaux de réclamation ultérieure pour les clients, elle ne peut qu’informer les utilisateurs de manière proactive sur ces menaces.
Si le serveur DNS est compromis :
Un pirate exploite les failles de sécurité ou emploie des tactiques d’ingénierie sociale pour prendre le contrôle des serveurs DNS, ce qui entraîne souvent des modifications des enregistrements DNS. Voici ce que peut faire l’utilisateur final dans ce cas de figure :
Vérifier que le nom de domaine du site Web auquel il accède est correctement orthographié.
S’assurer que le site utilise le protocole HTTPS et que le navigateur n’affiche aucun avertissement de sécurité.
Avant d’effectuer des opérations sensibles (par exemple, saisir un mot de passe ou une phrase mnémonique), vérifier une nouvelle fois la validité du certificat du site Web.
Installer des extensions de sécurité de navigateur proposées par des sociétés de sécurité de renom qui détectent les anomalies d’un site Web et transmettent des alertes lorsque les internautes effectuent un nombre très élevé d’approbations ou de transferts vers des portefeuilles extrêmement risqués.
Voici ce que peut faire le développeur du projet dans ce cas de figure :
Opter pour des fournisseurs de domaine fiables et réputés, et créer une équipé dédiée à la surveillance et à la résolution rapide des alertes d’anomalies liées au domaine.
Mettre en œuvre des systèmes de surveillance automatisés pour détecter rapidement les anomalies ou les scripts et éléments malveillants dans les pages des résultats de résolution DNS du domaine.
Il est indispensable de comprendre et de corriger les vulnérabilités potentielles de la gestion de DNS. En adoptant les mesures recommandées, les utilisateurs et les équipes de projets peuvent mieux se prémunir des faiblesses de sécurité liées aux DNS.
Protégez vos serveurs
Les attaques de DNS constituent malheureusement une menace bien réelle dans un secteur émergent tel que celui des cryptos, et y sont aujourd’hui de plus en plus fréquentes. Les dégâts qu’ils sont capables de causer peuvent être dévastateurs et mettre en danger les fonds des utilisateurs.
L’année dernière, Curve Finance a subi une attaque de DNS qui s’est soldée par le vol de plus de 570 000 $ en ETH dans les portefeuilles des utilisateurs. L’équipe d’enquêtes de Binance a heureusement pu aider à récupérer la majorité des fonds volés. Plus récemment, des attaques DNS de grande ampleur ont été lancées sur les protocoles Balancer et Galxe respectivement en septembre et en octobre.
Afin que l’univers crypto se développe de manière durable, notre secteur doit donner la priorité à la construction d’un écosystème sécurisé. Nous espérons que les développeurs de projets et les utilisateurs pourront tirer des enseignements de cet article et comprendre pourquoi il est si important de se prémunir des attaques de DNS. Ensemble, nous pouvons construire un écosystème plus sûr pour assurer l’avenir des cryptos.