Une attaque de l’homme du milieu désigne un modèle de cy­be­rat­taque dans lequel un cy­ber­cri­mi­nel installe, phy­si­que­ment ou lo­gi­que­ment, un système contrôlé entre le système de la victime et une ressource Internet qu’elle utilise. L’objectif de l’attaquant est d’in­ter­cep­ter, de lire ou de manipuler toute com­mu­ni­ca­tion entre la victime et sa ressource sans se faire remarquer.

Qu’est-ce qu’une attaque Man-in-the-Middle ?

La méthode de l’attaque HDM repose sur le fait que le hacker in­ter­cepte le trafic des données entre deux par­te­naires d’une com­mu­ni­ca­tion, tout en laissant les deux parties penser qu’elles com­mu­ni­quent seules. Au­pa­ra­vant, ces attaques ont été menées en ma­ni­pu­lant le canal de com­mu­ni­ca­tion physique. En temps de partage des com­mu­ni­ca­tions sur les réseaux publics, des tiers non autorisés peuvent lo­gi­que­ment in­ter­fé­rer entre deux ou plusieurs par­te­naires de com­mu­ni­ca­tion. Les attaques « man in the middle » sur les réseaux in­for­ma­tiques s’ap­pli­quent prin­ci­pa­le­ment pour con­tour­ner le chif­fre­ment SSL/TLS et accéder ainsi à des in­for­ma­tions privées et secrètes, comme les noms d’uti­li­sa­teurs, les mots de passe ou encore les coor­don­nées bancaires. Le schéma de base d’une « attaque de l’homme du milieu » est le suivant :

Un système « A » tente d’établir une connexion chiffrée avec un système « B ». Au lieu de cela, le flux de données est dévié par un hacker de sorte que la connexion chiffrée entre le système « A » et le système « C » fonc­tionne en premier, le hacker substitue le chif­fre­ment, puis les données sont à nouveau trans­mises à partir de ce dernier au système « B » : ainsi celui qui a le contrôle du système C (le plus souvent un agresseur), peut lire, en­re­gis­trer ou manipuler tout trafic et com­mu­ni­ca­tion sans que les autres par­te­naires prennent cons­cience de l’existence d’un tiers. Dans le contexte du World Wide Web, le système « C » se présente au système « A » comme un serveur Web et au système « B » comme un na­vi­ga­teur Internet.

Attaque de l’homme du milieu : schéma de l’intrusion

Pour infiltrer ainsi le trafic de données entre deux ou plusieurs systèmes, les hackers utilisent diverses tech­niques sont basées sur les vul­né­ra­bi­li­tés connues de la com­mu­ni­ca­tion Internet. Une cible vul­né­rable pour les attaques de l’homme du milieu en réseau local interne est par exemple le service DHCP (Dynamic Host Con­fi­gu­ra­tion Protocol), qui est res­pon­sable de l’at­tri­bu­tion des adresses IP locales, et le système ARP (Address Re­so­lu­tion Protocol) qui détermine l’adresse ma­té­rielle (Media-Access-Control, MAC). De manière générale, les attaques HDM peuvent s’effectuer par le biais de la ma­ni­pu­la­tion des serveurs DNS (système de noms de domaine), ces derniers sont res­pon­sables de la ré­so­lu­tion des adresses Internet en adresses IP publiques. Par ailleurs, les hackers ex­ploi­tent les vul­né­ra­bi­li­tés d’un logiciel de na­vi­ga­tion obsolète ou four­nis­sent un accès WIFI corrompu à des uti­li­sa­teurs peu méfiants.

En règle générale, ces schémas d’attaques sont au­to­ma­ti­sés par un logiciel. Quand les attaques sont prises en charge par une in­te­rac­tion humaine en temps réel, on parle alors d’attaque « Human-Assisted ».

Attaque basée sur DHCP

Dans le cas d’une attaque basée sur DHCP, l’or­di­na­teur propre du hacker (ou celui qui est sous son contrôle) au sein d’un réseau local (LAN) est présenté en tant que serveur DHCP. Un serveur DHCP est un élément important dans le réseau local, il est en effet res­pon­sable de l’at­tri­bu­tion de la con­fi­gu­ra­tion réseau à d’autres or­di­na­teurs du LAN. Ceci est nor­ma­le­ment réalisé au­to­ma­ti­que­ment : dès qu’un or­di­na­teur se connecte au LAN, le client DHCP du système d’ex­ploi­ta­tion réclame des in­for­ma­tions comme l’adresse IP locale, le masque de réseau, l’adresse pas­se­relle par défaut ainsi que l’adresse de serveur DNS approprié. Pour ce faire, il envoie un message de diffusion générale à tous les appareils dans le LAN et attend la con­fir­ma­tion d’un serveur DHCP. La première réponse détaillée est alors acceptée. 

Ceci permet aux hackers par l’in­ter­mé­diaire d’un serveur DHCP factice de contrôler l’al­lo­ca­tion des adresses IP locales, d’entrer n’importe quelle pas­se­relle par défaut et serveur DNS sur les or­di­na­teurs trompés et ainsi de détourner le trafic sortant vers n’importe quel autre or­di­na­teur pour in­ter­cep­ter ou manipuler le contenu.

Comme ce modèle d’attaque est basé sur la ma­ni­pu­la­tion du système DHCP, il est nommé DHCP Spoofing (pour « usur­pa­tion » en français). Dans ce cas de figure, la condition préalable pour une attaque de l’homme du milieu est que l’attaquant doit être sur le même réseau local (LAN) que la victime. Par con­sé­quent le risque de subir une attaque basée sur DHCP est renforcé lors de l’uti­li­sa­tion d’un réseau public sans fil ou d’un réseau LAN d’un hôtel par exemple.

Les mesures pré­ven­tives pour empêcher un DHCP Spoofing se limitent en général à avoir une approche vigilante et réfléchie con­cer­nant l’uti­li­sa­tion de réseaux inconnus. Il est aussi conseillé de ne pas utiliser les ap­pli­ca­tions avec des données sensibles comme la banque en ligne par exemple ou d’effectuer un achat sur une boutique ou un portail Web en dehors de son réseau privé chez soi ou du réseau d’en­tre­prise au bureau.

ARP-Cache-Poisoning : em­poi­son­ne­ment du cache ARP

L’ARP (Address Re­so­lu­tion Protocol) est un protocole réseau qui effectue la tra­duc­tion d’une adresse de protocole de couche réseau (l’adresse IP interne du LAN) en une adresse ma­té­rielle ou physique (adresse MAC, souvent une adresse Ethernet). Pour qu’un or­di­na­teur puisse envoyer des paquets de données au sein d’un réseau, il doit d’abord connaître l’adresse ma­té­rielle du système récepteur. À cette fin, une requête ARP est envoyée comme adresse MAC diffusée à tous les systèmes sur le LAN. Ceci comprend à la fois l’adresse MAC et l’adresse IP de l’or­di­na­teur demandeur et l’adresse IP du système ciblé. Si un or­di­na­teur sur le réseau reçoit une telle demande ARP, elle vérifie si le paquet contient sa propre adresse IP en tant que des­ti­na­taire IP. Si tel est le cas, une réponse ARP est alors envoyée avec l’adresse MAC re­cher­chée au système demandeur.

Cette at­tri­bu­tion de l’adresse MAC à l’adresse IP locale est stockée sous forme de tableau dans le cache ARP de l’or­di­na­teur demandeur. C’est ici que l’em­poi­son­ne­ment du cache ARP est effectué. Le but de ce modèle d’attaque est de pouvoir manipuler les tableaux ARP de dif­fé­rents or­di­na­teurs du réseau par le biais de fausses réponses ARP, par exemple un or­di­na­teur sous le contrôle de l’attaquant est déterminé comme un point d’accès WIFI ou comme une pas­se­relle à Internet.

Si une telle usur­pa­tion d’ARP est réussie, les hackers ont alors la capacité de lire, d’en­re­gis­trer ou encore de manipuler tout le trafic sortant d’un or­di­na­teur infecté, avant qu’il ne soit envoyé vers la pas­se­relle réelle. Comme pour le DHCP Spoofing, un em­poi­son­ne­ment de cache ARP est seulement possible si l’attaquant se trouve sur le même réseau local (LAN) que le système de la victime. Une attaque de l’« homme du milieu » peut être fa­ci­le­ment mise en œuvre avec des pro­grammes simples comme loutil gratuit Cain & Abel, qui a ini­tia­le­ment été développé pour l’iden­ti­fi­ca­tion des mots de passe perdus, ou encore avec le logiciel Ettercap.

Comme pour les attaques basées sur DHCP, les uti­li­sa­teurs qui utilisent un réseau local corrompu ont peu de moyens pour se défendre contre l’ARP Spoofing. La pré­ven­tion est la meilleure solution, il est donc né­ces­saire d’éviter l’uti­li­sa­tion de réseaux inconnus, ou alors de les utiliser ju­di­cieu­se­ment et avec pré­cau­tion.

Attaque basée sur le DNS

L’em­poi­son­ne­ment du cache ARP cible les vul­né­ra­bi­li­tés qui se trouvent dans la ré­so­lu­tion d’adresse sur Ethernet, l’em­poi­son­ne­ment du cache sur une base DNS se concentre lui sur le système de nom de domaine Internet, qui est res­pon­sable de la ré­so­lu­tion des URL dans les adresses IP publiques. Dans ce schéma d’attaque, les hackers ma­ni­pu­lent les entrées dans le cache d’un serveur DNS, pour les amener à répondre aux requêtes avec des adresses de des­ti­na­tion in­cor­rectes. Le hacker peut ainsi rediriger d’autres in­ter­nautes à leur insu sur n’importe quel site Web. Pour cela, il utilise les vul­né­ra­bi­li­tés les plus connues d’anciens serveurs DNS.

En général, les in­for­ma­tions DNS ne sont pas stockées sur un seul serveur DNS, mais sont réparties sur plusieurs or­di­na­teurs du réseau. Si un uti­li­sa­teur souhaite accéder à un site Web, il utilise en temps normal un nom de domaine. Cependant, une adresse IP est né­ces­saire pour pouvoir accéder au serveur approprié. Le routeur de l’uti­li­sa­teur détermine l’adresse IP en envoyant une demande DNS au serveur DNS par défaut spécifié dans la con­fi­gu­ra­tion. Il s’agit ha­bi­tuel­le­ment du serveur DNS du four­nis­seur d’accès à Internet. Si la liste des en­re­gis­tre­ments DNS de l’URL requise est trouvée, alors le serveur DNS répond à la requête avec une adresse IP ap­pro­priée. Sinon, le serveur DNS détermine l’adresse IP demandée avec l’aide d’autres serveurs liés au DNS. Pour cela, il envoie une requête cor­res­pon­dante à d’autres serveurs DNS, et en­re­gistre tem­po­rai­re­ment les réponses dans le cache.

Les serveurs qui utilisent une version ancienne du logiciel DNS sont en général les victimes des attaques des hackers. Ils acceptent et stockent non seulement des in­for­ma­tions qui ont été spé­ci­fi­que­ment demandées, mais aussi des in­for­ma­tions qui ont été délivrées avec elles. Si les hackers in­filtrent un seul serveur DNS, il est facile d’envoyer des fausses listes avec chaque adresse IP correcte et d’em­pois­son­ner ainsi le cache du serveur DNS demandant.

L’ef­fi­ca­cité des attaques de « l’homme du milieu » peut être illustrée par des incidents passés où tous les espaces de noms ont été redirigés. Pour les uti­li­sa­teurs, il est pra­ti­que­ment im­pos­sible de se protéger, car ces attaques sont réalisées di­rec­te­ment dans l’in­fras­truc­ture du Web. Il est donc de la res­pon­sa­bi­lité de l’opérateur de s’assurer que les serveurs DNS qui sont fournis utilisent des logiciels actuels et sont suf­fi­sam­ment sécurisés. Par exemple, diverses normes Internet ont été élaborées sous le nom DNSSEC (Domain Name System Security Ex­ten­sions), pour améliorer le système DNS avec divers mé­ca­nismes de sécurité pour renforcer l’au­then­ti­cité et l’intégrité des données. Mal­heu­reu­se­ment, la dis­tri­bu­tion de ces normes prend beaucoup de temps.

Si­mu­la­tion d’un point d’accès Wifi

Un modèle d’attaque qui cible prin­ci­pa­le­ment les uti­li­sa­teurs d’appareils mobiles est basé sur la si­mu­la­tion d’une connexion à un réseau Wifi public, qui peut être offert par exemple dans un café ou un aéroport. Un attaquant ou hacker configure alors son or­di­na­teur de façon à émettre un point de connexion à Internet ad­di­tion­nel, et éven­tuel­le­ment avec une meilleure qualité du signal que le point d’accès réel. Ainsi, si un hacker parvient à tromper des uti­li­sa­teurs peu méfiants, il peut alors vi­sua­li­ser et manipuler le trafic qui passe à travers son système avant que le trafic ne soit re­trans­mis au point d’accès réel. Si une au­then­ti­fi­ca­tion est né­ces­saire, le hacker visualise et reçoit les noms d’uti­li­sa­teurs et mots de passe utilisés pour se connecter. Le risque de devenir une victime de cette attaque d’« homme du milieu » est par­ti­cu­liè­re­ment important lorsque les appareils sont con­fi­gu­rés pour se connecter au­to­ma­ti­que­ment en priorité au point d’accès avec le signal le plus fort ou puissant.

Là encore, la seule pro­tec­tion et pré­ven­tion à ce type d’attaque est de se connecter uni­que­ment aux réseaux WIFI connus. Les uti­li­sa­teurs doivent s’assurer de bien utiliser le point d’accès officiel dès le début.

Attaque « Man in the Browser »

Une variante de l’attaque Man in the Middle, qui repose sur l’ins­tal­la­tion par un hacker de logiciels mal­veil­lants dans le na­vi­ga­teur d’un uti­li­sa­teur d’Internet pour in­ter­cep­ter le trafic est connue sous le nom de l’attaque Man in the Browser (ou attaque de « l’homme dans le na­vi­ga­teur »). Cela touche notamment les or­di­na­teurs qui ne sont pas ré­gu­liè­re­ment mis à jour, et qui com­por­tent donc des vul­né­ra­bi­li­tés qui per­met­tent aux hackers d’infiltrer fa­ci­le­ment le système. Si des pro­grammes spé­ci­fiques ont été in­tro­duits dans le na­vi­ga­teur d’un uti­li­sa­teur, ils peuvent en­re­gis­trer en arrière-plan toutes les données échangées entre le système de la victime et les divers sites Web sur la Toile. Ce modèle d’attaque permet aux hackers d’in­ter­cep­ter un grand nombre de données avec re­la­ti­ve­ment peu d’efforts. Ici, l’es­pion­nage des données est effectué avant un éventuel chif­fre­ment de transport via TLS/SSL.

Le meilleur moyen pour se prémunir d’une attaque de « l’homme dans le na­vi­ga­teur » est de bien réaliser les mises à jour des com­po­sants logiciels du système et ainsi de combler au niveau de la sécurité les vul­né­ra­bi­li­tés et failles connues.

Attaque « Human-Assited »

On parle d’attaque Human-Assited lorsque l’un des schémas d’attaque décrits ci-dessus n’expire pas au­to­ma­ti­que­ment, mais est au contraire contrôlé par un ou plusieurs hackers en temps réel. Dans la pratique, une attaque HDM de ce type est effectuée selon le processus suivant : dès qu’un in­ter­naute se connecte par exemple à son site de banque en ligne, le hacker qui s’est placé entre le na­vi­ga­teur de l’uti­li­sa­teur et le serveur de la banque en ligne reçoit un signal. Il a ainsi désormais la capacité de voler les cookies de la session et les in­for­ma­tions qui sont rédigées en temps réel lors du processus d’au­then­ti­fi­ca­tion : le hacker peut donc obtenir le nom d’uti­li­sa­teur, le mot de passe et le numéro TAN par exemple.

Prévenir les attaques de l’homme du milieu

En règle générale, il est difficile pour les personnes con­cer­nées de re­con­naître la présence d’une attaque d’homme au milieu. La meilleure pro­tec­tion est donc la pré­ven­tion. Nous avons rassemblé ci-dessous les conseils les plus im­por­tants sur la façon dont les uti­li­sa­teurs d’Internet et les ex­ploi­tants de sites Web peuvent minimiser le risque de devenir la cible d’une attaque MITM.

Conseils aux in­ter­nautes :

  • Veillez à toujours n’ouvrir des sites Web que via une connexion sécurisée SSL/TLS. Dans ce cas, l’adresse Internet commence par https. Les simples con­nexions qui ne com­men­cent que par http cons­ti­tuent un risque pour la sécurité.
  • Vérifiez que le cer­ti­fi­cat SSL d’un site Web est bien à jour, et émis par une autorité de cer­ti­fi­ca­tion de confiance, en par­ti­cu­lier avant de saisir vos in­for­ma­tions d’iden­ti­fi­ca­tion.
  • Utilisez toujours la dernière version de votre na­vi­ga­teur Web préféré et ac­tua­li­sez ré­gu­liè­re­ment votre système d’ex­ploi­ta­tion en ef­fec­tuant les mises à jour.
  • Évitez d’utiliser des VPN ou des serveurs proxy en accès libre.
  • Gardez vos mots de passe à jour, utilisez un mot de passe distinct pour chaque ap­pli­ca­tion et n’utilisez plus d’anciens mots de passe.
  • Évitez les zones wifi publiques et ouvertes, par exemple dans les hôtels, les gares ou les magasins.
  • Si vous ne parvenez pas à accéder aux réseaux publics, évitez les té­lé­char­ge­ments, ne soumettez pas d’in­for­ma­tions d’iden­ti­fi­ca­tion telles que votre compte de mes­sa­ge­rie ou vos réseaux sociaux, et n’effectuez jamais de paiements.
  • Si l’opérateur d’un site Web le propose, utilisez des méthodes sup­plé­men­taires pour une connexion sécurisée, par exemple l’au­then­ti­fi­ca­tion mul­ti­fac­to­rielle (MFA) par jeton ou des mots de passe uniques par SMS ou ap­pli­ca­tion pour smart­phone.
  • Ne cliquez pas sur les liens dans les emails d’ex­pé­di­teurs inconnus qui pour­raient vous attirer vers un site Web qui contient des logiciels mal­veil­lants.

Conseils aux ad­mi­nis­tra­teurs de sites Web :

  • Protégez les données de vos clients en sé­cu­ri­sant les sites Web avec login client, en par­ti­cu­lier avec un cer­ti­fi­cat SSL à jour d’une autorité de cer­ti­fi­ca­tion fiable.
  • Offrez à vos clients des méthodes sup­plé­men­taires de connexion sécurisée, comme l’au­then­ti­fi­ca­tion mul­ti­fac­to­rielle par email.
  • Com­mu­ni­quez à vos clients que vous ne leur de­man­de­rez jamais les données de connexion par email, et évitez les hy­per­liens dans les emails adressés aux clients.
Aller au menu principal