Comment fonctionne une attaque “Man in the middle” contre HTTPS ?

Comme son nom l’indique, une attaque de type Man in the middle consiste à se mettre entre deux tiers (le client et le serveur).

Mais comment est-ce que cela peut fonctionner contre un site en HTTPS ? N’a ton pas un protocole HTTPS qui a vocation à crypter de bout en bout nos échanges ?

En temps normal, HTTPS permet une protection des échanges que l’on peut schématiser de la sorte :

https_mitm0


Quand il y a un man in the middle, on se retrouve dans la situation suivante

https_mitm1


C’est là la magie de ce type d’attaque. Il y a toujours présence d’une session HTTPS. Vous avez donc l’impression d’être en sécurité, mais vous n’y êtes pas du tout. L’intermédiaire qui se trouve entre le client et le serveur fait :

  • Office de serveur pour le client.
  • Office de client pour le serveur.

De chaque côté, on utilise HTTPS, mais l’intermédiaire entre le site et l'utilisateur peut avoir connaissance de l'intégralité des messages. Vos données sont en danger !

Qui est l’attaquant?

L’attaquant peut être de tout type (matériel, virtuel, logiciel):

  • Routeur
  • Proxy
  • Application sur le client ou sur le serveur

Comment est-ce possible?

Mais pour que cela fonctionne, il faut que votre navigateur fasse confiance dans l’autorité de certificats. Donc, si votre terminal et fiable, et que votre liste d’autorités de confiances est fiable, les certificats utilisés ne seront pas acceptés. Votre navigateur affichera un avertissement concernant le site. L’attaque ne fonctionnera pas, car vous n’irez pas utiliser le ou les sites situés derrière l’attaquant.

Quelles sont les méthodes utilisées par les attaquants?

Les procédés qui conduisent à cette situation peuvent être les suivants :

  • Vous acceptez de vous connecter alors que votre navigateur vous affiche un avertissement de sécurité.
  • Votre terminal (ordinateur, tablette, mobile) est infecté et fait croire à votre navigateur qu’il peut avoir confiance dans l’autorité qui a délivré le certificat utilisé pour le HTTPS.
  • La fausse autorité de certificat utilisée par l’attaquant est installée dans la liste de confiance de votre terminal.
  • Par la magie du réseau et des routes, vous pouvez être redirigé vers celui-ci via un routeur infecté. Si vous téléchargez une application via ce routeur, il est possible que vous téléchargiez un binaire corrompu qui permettra l’installation d’une fausse autorité de confiance, ou une application qui se chargera de faire office de Man in the middle.

Conclusion

Si votre navigateur affiche un avertissement sur un site que vous fréquentez habituellement, passer votre chemin ! Ne vous authentifiez pas et n’échangez aucune information importante avec ce site.

Si vous travaillez sur un réseau public ou dont la confiance est réduite, ne téléchargez et n’installez rien.

Si vous n’êtes pas convaincu de la facilité de cette technique, installez Fiddler. Lancez-le et demandez-lui de visualiser vos échanges HTTPS. Vous constaterez que vous pouvez visualiser l’intégralité des messages envoyés et reçus.

Jérémy Jeanson

Comments

You have to be logged in to comment this post.