Détection d’une interception des flux WEB chiffrés sous Firefox

Dans un précédent article, nous avons mis en évidence différentes techniques d’interception de flux WEB chiffrés (flux « HTTPS »). Aujourd’hui, nous expliquons comment il est possible de mettre en évidence ces pratiques plus ou moins malveillantes.

Notre article montre les limites de la sécurité du protocole de chiffrement le plus utilisé sur internet…

 

 

Par Raphaël Pion & Hugo Meziani
ESIEA – Laboratoire (C + V)O

 

1. Rappel sur l’interception de flux WEB chiffrés.

Dans une attaque de type « Man In The Middle » (MITM), le but de l’attaquant est de récupérer le trafic de sa victime. Pour cela, il peut exploiter différentes techniques de détournement de flux comme la modification de la mémoire cache ARP des équipements réseau (« cache poisonning ») ou encore la mise en place d’un HUB. Une fois le trafic récupéré, il peut directement lire les protocoles non chiffrés (FTP, HTTP, VOIP, etc.). Pour les flux chiffrés, l’attaquant doit fabriquer un « faux » certificat pour le présenter à sa victime dès qu’elle se dirigera vers un site en HTTPS. Comme les certificats comportent des champs spécifiques à chaque serveur (nom de domaine, date, etc.), l’attaquant doit être capable de les générer dynamiquement au rythme de la navigation de sa victime. Des outils comme « sslsplit » permettent d’automatiser cette tâche.

 

 

2. CheckMyHTTPS

Pour mettre en évidence ce type de pratique, nous avons décidé de développer une extension à installer sous Firefox. Cette extension se nomme « checkmyhttps ». Elle est représentée par un cadenas situé dans la barre de navigation. Comme le montre le schéma ci-après, son fonctionnement est le suivant :
Au cours de sa navigation avec un site WEB sécurisé (phase 1), l’utilisateur peut vérifier (« check ») la connexion HTTPS avec ce site en cliquant sur le cadenas représentant l’extension « checkmyhttps ». Cela aura pour effet d’envoyer sur notre serveur l’empreinte numérique (SHA256) du certificat de sécurité du site consulté (phase 2).
Notre serveur demande alors lui aussi de son côté, le certificat du site consulté (phase 3) et calcule son empreinte numérique. Il compare les deux empreintes (phase 4) et indique le résultat de cette comparaison à l’extension « checkmyhttps » du navigateur (phase 5).
L’extension CheckMyHTTPS du navigateur affichera le résultat la comparaison en changeant la couleur du cadenas qui le représente : vert si la connexion est sécurisée ou rouge si la connexion semble surveillée.
Afin d’éviter d’attendre un « check » de l’utilisateur, l’extension vérifie une première connexion HTTPS lors de l’ouverture du navigateur. Cette connexion est réalisée directement sur notre serveur de test https://checkmyhttps.net.
Certains « gros » sites HTTPS peuvent présenter plusieurs certificats serveur, car ils sont constitués de plusieurs équipements possédant plusieurs adresses IP (comme Google ou YouTube). Dans ce cas, l’extension effectue un deuxième test sur des serveurs de confiance (qui ne présente qu’un seul certificat).

Vous pouvez retrouver de nombreuses informations sur notre site web.

 

 

Explication de l’extension Firefox.
Explication de l’extension Firefox.

 

 

3. Pourquoi ?

Normalement, un site web sécurisé justifie son identité auprès de votre navigateur par l’envoi d’un certificat de sécurité validé par une autorité de certification reconnue. Les techniques d’interception, pour pouvoir fonctionner, génèrent dynamiquement de faux certificats.
L’extension de navigateur que nous vous proposons permet de vérifier que le certificat reçu est bien celui qui a été envoyé. CheckMyHTTPS teste donc le certificat serveur de n’importe quel site visité par le client avec le certificat récupéré par notre serveur de test.

3.1. Interception en entreprise

Aujourd’hui, une grande majorité de produits de sécurité déployés dans les entreprises (pare-feu, système de prévention d’intrusion, etc.) intègrent la fonctionnalité d’interception des flux chiffrés par SSL (utilisée dans les protocoles HTTPS, POP3S, SMTPS, xxxxS).
Celle-ci est parfois activée par défaut. En conséquence, tous les flux sécurisés sortants de l’entreprise sont déchiffrés sans que les utilisateurs en soient informés.
Dans le cadre du respect de la vie privée, comme le stipule la loi « 78-17 », plus connue sous le nom de Loi « informatique et libertés », cette fonctionnalité doit être connue par les usagers qui pourront réagir en conséquence. Cela se traduit généralement par la signature d’une charte informatique.

Dans l’exemple suivant, un pare-feu de marque FortiGate 240D a été installé entre Internet et le réseau d’une entreprise. L’option « SSL Inspection » a été activée. Le pare-feu présente donc son certificat à la place des certificats des sites web visités. La capture d’écran suivante montre notre extension mettant en évidence cette pratique.

 

 

Mise en évidence d’une interception SSL avec Fortinet.
Mise en évidence d’une interception SSL avec Fortinet.

 

 

Nous voyons donc l’extension CheckMyHTTPS virer au rouge (en haut à gauche). Cela indique que le certificat vu par le client sur le site https://login.live.com ne correspond pas au certificat de ce même site vu par notre serveur de test (https://checkmyhttps.net). Nous pouvons donc conclure qu’une interception SSL est en cours. Les encadrés en rouge montrent le certificat de la société « Fortinet » (concepteur du pare-feu) présenté à la place de celui de « live.com ».
Le lecteur observateur remarquera que le cadenas du navigateur WEB dans la barre d’URL reste vert malgré le fait que le certificat soit celui du pare-feu. Cela est dû au fait que le certificat de FortiGate a été installé automatiquement sur le poste du client via les politiques de sécurité, levant ainsi toutes alertes quant à la validité du certificat.

3.2. Interception « dans la nature »

Les techniques d’interception de flux WEB chiffrés sont aujourd’hui matures, disponibles et de plus en plus simples à exploiter. Ainsi, un pirate connecté sur un réseau local non sécurisé, qu’il soit domestique ou d’entreprise, peut assez facilement exploiter ces techniques pour intercepter, analyser ou modifier ces flux sécurisés. Des outils tels que « SSLsplit » pour la génération de certificat ainsi que « ARPspoof » pour rediriger le trafic vers l’ordinateur de l’attaquant peuvent être utilisés.

3.3. Interception par des logiciels

Par défaut, des antivirus tels que Avast! ou Kaspersky interceptent et déchiffrent vos connexions sécurisées. Les éditeurs de ces antivirus avancent vouloir protéger l’utilisateur en analysant les virus dans les flux chiffrés. Cela permet cependant à leurs logiciels d’être capables de lire vos connexions chiffrées (rappel : un antivirus est connecté en permanence sur le site de l’éditeur, ne serait-ce que pour recevoir ses mises à jour).
Ci-après, notre extension montre une interception SSL par l’antivirus Avast!. Cette option d’inspection est activée par défaut durant son installation. On voit clairement le certificat d’Avast! (encadré en rouge) présenté à la place de celui de tous les sites visités par le client.
En vert, l’empreinte du certificat d’Avast! Et en bleu la véritable empreinte du site visité par le client. Elles diffèrent, il y a donc interception SSL.

 

 

 Mise en place d’une interception SSL avec Avast!
Mise en place d’une interception SSL avec Avast!

 

 

4. Les Limites de TLS
Il est important de montrer les limites de la sécurité du protocole de chiffrement le plus utilisé sur internet. Si l’implémentation cryptographique est à ce jour considérée comme sûre, son utilisation sur internet présente des failles liées à la non-authentification du client par exemple ou encore la confiance aveugle que nous donnons aux autorités supérieures de certification.

 

 

Partager :

Dans la même catégorie

Publié le : 07/11/2024

Qu’est-ce qu’une attaque par ransomware ?

Découvrir
Publié le : 04/11/2024

Ma petite entreprise n’intéresse pas les pirates !

Découvrir
Publié le : 24/09/2024

Pourquoi les pirates volent-ils nos mots de passe ?

Découvrir
error: Le contenu est protégé !!