En bref, une MITM est une attaque par laquelle une tierce partie accède aux communications entre deux autres parties, sans qu’aucune de ces deux parties ne s’en rende compte. La tierce partie peut lire le contenu de la communication et dans certains cas, parfois la manipuler. Ainsi, par exemple, si Gerald envoie un message à Leila, qu’il souhaite privé, et que Max intercepte le message, le lit et le transmet à Leila, c’est une attaque MITM. Si Gerald veut transférer 100 € sur le compte bancaire de Leila, et que Max intercepte la transaction et remplace le numéro de compte de Leila par le sien, c’est aussi une attaque du MITM (dans ce cas, Max se met « au milieu » entre Gerald et sa banque).
Pourquoi devrais-je m’en soucier ?
En partie parce que les attaques MITM peuvent saboter une grande partie de notre mode de vie moderne. Dans une vie connectée, nous dépendons de la fiabilité et de la sécurité de chaque connexion. Il ne s’agit pas seulement de vos conversations, de vos messages et de vos e-mails. Si vous ne pouvez pas faire confiance aux connexions que vous établissez à des sites Web et à des services en ligne, vous pouvez être vulnérable à la fraude ou à l’usurpation d’identité, et si vos appareils et objets connectés ne peuvent communiquer de façon sûre et fiable, ils peuvent vous mettre en danger ainsi que votre foyer.
Les exemples dans ce billet de blog sont basés sur le trafic crypté entre humains, mais les attaques MITM peuvent affecter n’importe quel échange de communication, y compris celles entre appareils et celles avec les objets connectés (IdO). Les attaques MITM portent atteinte à la confidentialité et à l’intégrité des communications et, ce faisant, elles peuvent exposer les données, les appareils et les objets à une exploitation malveillante.
Imaginez le danger si un pirate informatique pouvait déclencher les airbags d’une voiture connectée ou déverrouiller à distance une serrure électronique de porte. Le fait que les objets connectés peuvent désormais affecter le monde physique introduit de nouveaux facteurs dans l’évaluation des risques, en particulier dans les cas où l’infrastructure physique (transport, énergie, industrie) est automatisée ou contrôlée à distance. Une attaque MITM sur les protocoles de contrôle de ces systèmes, où un attaquant s’interpose entre le contrôleur et l’appareil, pourrait avoir des effets dévastateurs.
Est-ce quelque chose de nouveau ?
En principe non : les attaques MITM existent depuis aussi longtemps que nous avons dû compter sur les autres pour transmettre nos messages. Quand les gens scellaient leurs lettres avec de la cire et un sceau personnalisé, c’était pour se protéger contre les attaques MITM. La cire à cacheter n’empêchait pas un tiers de briser la cire et d’ouvrir la lettre : elle devait permettre de savoir facilement s’il l’avait fait, car il lui serait alors difficile de la remplacer et d’imiter l’empreinte laissée par le sceau personnalisé de l’expéditeur. Ce type de protection est appelé « preuve d’inviolabilité », et nous le voyons aussi dans les produits de consommation, comme l’opercule sous le bouchon d’une bouteille de pilules ou la cellophane qui entoure un paquet de cigarettes.
Si quelqu’un voulait non seulement savoir si sa lettre avait été falsifiée, mais voulait aussi que son contenu reste confidentiel, il devait généralement écrire la lettre dans un code que seul le destinataire serait capable de déchiffrer.
Dans un contexte numérique, nous pouvons voir des équivalents pour tous ces cas. Par exemple, si vous envoyez des e-mails non cryptés, le contenu est visible par tous les intermédiaires et nœuds du réseau à travers lesquels le trafic passe. Un e-mail non crypté peut être comparé à l’envoi d’une carte postale : le facteur ou n’importe qui au bureau de tri et toute personne ayant accès à la boîte aux lettres du destinataire peut, si elle le souhaite, en lire le contenu. Si vous voulez que seul le destinataire puisse lire le contenu d’un e-mail, vous devez crypter l’e-mail de telle sorte qu’il soit le seul à pouvoir le décrypter, et si vous voulez que personne ne puisse modifier le contenu sans que le destinataire le sache, vous devez appliquer au message un contrôle d’intégrité, par exemple une signature numérique.
Ainsi, pour le trafic non crypté, une « attaque » MITM consiste à s’assurer que vous avez accès au flux de messages entre Gerald et Leila.
Pour le trafic crypté, ce n’est pas suffisant ; vous verrez probablement que Gerald écrit à Leila, car cette information doit être claire pour que le message soit correctement acheminé. Mais vous ne pourrez pas voir le contenu : pour cela, vous aurez besoin d’accéder à la clé utilisée pour crypter le message. Dans le type de cryptage normalement utilisé pour sécuriser les messages, le message est crypté et décrypté à l’aide de deux copies de la même clé, tout comme l’envoi d’un message dans une boîte fermée à clé. Pour que cela fonctionne, Gerald et Leila doivent évidemment échanger une copie de la clé. Donc, dans ce cas, une attaque MITM commencerait par intercepter ce trafic, ce qui donnerait à un attaquant (Max) les moyens de déverrouiller le message après que Gerald l’a envoyé, le lire, le ré-encrypter et le renvoyer à Leila, qui n’y verra que du feu.
Ici, nous avons deux « versions » d’attaque MITM. La première est d’intercepter le contenu du message lui-même ; la seconde est d’intercepter la clé utilisée pour protéger le trafic. Sous cet angle, l’interception de messages pourrait simplement consister à s’asseoir entre les deux parties en communication et à lire le trafic ; l’interception de la clé nécessitera probablement l’usurpation active de l’identité des parties en communication. C’est pourquoi les attaques MITM réussies vous exposent au risque d’être trompé… parce que, pour qu’elles fonctionnent, vous devez croire que vous parlez à votre partenaire prévu, même si ce n’est pas le cas.
Que puis-je faire alors ?
Une attaque MITM réussie ne donnera aux utilisateurs à chaque extrémité aucune idée de ce qui se passe – surtout si elle a été conçue dans l’infrastructure elle-même. La sécurité de ce type de système, dans son ensemble, dépend de la sécurité d’un grand nombre d’éléments, qui doivent tous fonctionner correctement. Certains de ces éléments sont entre les mains de l’utilisateur, mais d’autres sont détenus et exploités par des tiers (tels que les fabricants de navigateurs et les autorités de certification).
En tant qu’utilisateur, il est important de comprendre les signes disponibles qui vous indiquent si le système fonctionne comme prévu :
- Distinguer une session de navigation sécurisée d’une session non sécurisée
- Reconnaître une signature numérique valide
- Savoir réagir de manière appropriée à l’avertissement d’un certificat
Il est également important de pratiquer une bonne hygiène de sécurité avec vos mots de passe et vos clés. Bien sûr, des systèmes bien conçus vous faciliteront la tâche, mais malheureusement, tous les systèmes ne sont pas développés à cette fin.
Vous voulez en savoir plus ?
En 2015, un groupe d’experts en cryptographie, en sécurité informatique, en informatique, en ingénierie de la sécurité et en politique publique a produit un document dans lequel ils exposaient les implications de l’accès (par des tiers) aux communications cryptées. Cela est pertinent parce que lorsque les gouvernements demandent ou exigent l’accès à des communications cryptées, ils demandent essentiellement, dans la plupart des cas, qu’une option d’homme du milieu soit intégrée aux produits, services et/ou infrastructures dont dépendent leurs citoyens.