Commencer gratuitement
Cyberattaque / Howard Poston / 21 déc. 2023

Le SSL stripping : la rétrogradation du chiffrement

SSL Stripping: Downgrading Encryption

Ces dernières années, Internet est passé massivement à la navigation web chiffrée en HTTPS. En fait, plus de 90 % de la navigation web utilise HTTPS plutôt que le protocole HTTP non sécurisé. Cette tendance s'explique par le fait que HTTPS offre une meilleure protection contre l'écoute clandestine et authentifie l'identité du site web.

Les attaques par SSL stripping, aussi appelées attaques par rétrogradation HTTP, visent à retirer cette protection du trafic web. En amenant par la ruse un site web et un utilisateur à communiquer en HTTP non chiffré, un cybercriminel peut écouter leurs échanges et mener une attaque de l'intercepteur (MitM).

Cet article examine la menace que représentent les attaques par SSL stripping et leur fonctionnement. Nous y décrivons le déroulement de l'attaque, ses répercussions possibles et les pratiques exemplaires pour s'en protéger.

Qu'est-ce que le SSL stripping ?

Le SSL stripping est un type particulier d'attaque MitM. Son objectif est d'empêcher le chiffrement de la connexion entre un internaute et un site web, ce qui permet à l'attaquant de continuer d'écouter, et possiblement de modifier, le trafic web échangé entre les deux.

Les attaques par SSL stripping reposent sur le fait qu'une connexion à un serveur web n'est pas chiffrée dès le tout premier instant. L'utilisateur établit d'abord une connexion non chiffrée avec le site web, puis il amorce une connexion TLS/SSL au sein de cette session pour protéger ses données de navigation.

Un attaquant qui pratique le SSL stripping intercepte les paquets servant à négocier une connexion sécurisée entre le client et le serveur. Il modifie ensuite ces paquets pour que les parties en communication soient

Comment fonctionne le SSL stripping

Le SSL stripping est une attaque MitM. Pour la mener, un attaquant doit pouvoir intercepter le trafic entre le client et le serveur. Voici quelques façons d'y parvenir :

  • Les points d'accès pirates (AP) : Un point d'accès pirate est un réseau sans fil malveillant conçu pour se faire passer pour un réseau légitime. Tout le trafic des appareils connectés transite par ce point d'accès, ce qui permet à l'attaquant de mener une attaque MitM.
  • L'usurpation ARP : Les attaques par usurpation ARP amènent un routeur à croire que l'adresse IP de la cible correspond à l'adresse MAC de l'attaquant. Le trafic destiné à la cible est ainsi redirigé vers l'attaquant.
  • L'usurpation DNS : Une attaque par usurpation DNS modifie les enregistrements DNS qui traduisent les noms de domaine (comme kzero.com) en adresses IP. Le trafic destiné à un site web légitime peut alors être redirigé vers un site contrôlé par l'attaquant.
  • Le détournement BGP : Un système autonome (AS) BGP malveillant peut publier de fausses routes pour une adresse IP ou une plage d'adresses. Le trafic destiné à ces adresses transite alors par les systèmes de l'attaquant.

Un attaquant en position d'intercepteur peut empêcher un utilisateur d'établir une connexion chiffrée avec un site web. La manière d'y parvenir dépend du fait que le site offre ou non une version HTTP non chiffrée, ou qu'il ne prenne en charge que les connexions HTTPS.

Le retrait du chiffrement SSL

Toute session HTTP ou HTTPS commence par l'établissement d'une connexion TCP (Transmission Control Protocol). TCP est le protocole réseau qui transporte HTTP(S) et d'autres protocoles applicatifs, et il fonctionne de la même façon, que la connexion soit chiffrée ou non.

Une fois la connexion TCP établie entre le client et le serveur, le client peut demander une connexion SSL/TLS par-dessus celle-ci. Cette couche additionnelle ajoute le chiffrement et l'authentification qui protègent contre l'écoute clandestine et les sites web malveillants.

Dans une attaque par SSL stripping, le cybercriminel intercepte le trafic entre le client et le serveur et retire de ces requêtes toute demande de SSL/TLS. Cette attaque exploite les fonctions de rétrogradation HTTP qui permettent au client et au serveur de revenir à des versions antérieures et moins sûres du protocole lorsqu'une version sécurisée n'est pas disponible.

Au bout du compte, la connexion entre le client et le serveur n'est pas chiffrée. L'attaquant peut donc intercepter et écouter le contenu transmis entre les deux.

Des connexions multiples

L'attaque précédente ne fonctionne que si le serveur web héberge à la fois une version HTTP et une version HTTPS de la page. Si ce n'est pas le cas, l'attaquant doit mener une attaque MitM dans laquelle il maintient deux connexions distinctes.

La connexion entre l'attaquant et le client utilisera le protocole HTTP et exploitera les mêmes vulnérabilités que l'attaque précédente. Cela s'explique par le fait que l'attaquant est incapable de négocier une connexion HTTPS sécurisée avec le client sans la clé privée associée au certificat numérique du serveur.

Pour se connecter au serveur, l'attaquant peut se rendre sur le site HTTPS. Puisqu'il joue le rôle d'un client, rien ne l'empêche de se connecter à la version sécurisée du site.

En maintenant ces deux connexions, l'attaquant peut mener une attaque MitM contre l'utilisateur. Lorsque celui-ci demande une page par sa connexion HTTP avec l'attaquant, ce dernier demande la même page par sa connexion HTTPS avec le site web, puis retransmet à l'utilisateur la page reçue.

Cas d'usage : pourquoi le SSL stripping est important

HTTPS s'est généralisé parce qu'il offre aux internautes une solide protection contre l'écoute clandestine et les attaques du même genre. Le SSL stripping permet de contourner cette protection et peut servir à diverses attaques, notamment :

  • Le vol d'identifiants : Les pages de connexion sont généralement protégées par HTTPS afin de prévenir l'écoute clandestine. Une attaque par SSL stripping peut amener un utilisateur à saisir ses identifiants dans une version non chiffrée de la page, ce qui permet à l'attaquant de les dérober et d'accéder à son compte.
  • La fuite de données : Les identifiants de connexion ne sont pas les seules données sensibles transmises par une connexion web. Une attaque par SSL stripping pourrait permettre à un espion d'intercepter des renseignements personnels identifiables (RPI), des données financières, de la propriété intellectuelle ou d'autres données sensibles.
  • Les transactions frauduleuses : En plus de permettre l'écoute clandestine, le SSL stripping supprime la protection contre la modification des données web en transit. Un attaquant pourrait ainsi altérer le trafic d'un utilisateur pour changer les détails d'une transaction financière ou exécuter d'autres requêtes malveillantes.
  • Le contenu malveillant : Au-delà des requêtes de l'utilisateur, un attaquant pratiquant le SSL stripping peut aussi modifier les réponses. Il pourrait s'en servir pour introduire de l'information erronée ou intégrer un maliciel dans les pages web retournées à l'utilisateur.

La prévention du SSL stripping

Une attaque par SSL stripping repose sur la capacité de l'attaquant à amener la cible à accepter une connexion non chiffrée avec un site web. Dans les deux scénarios d'attaque, la connexion entre le client et le serveur ou l'attaquant n'est pas chiffrée.

La sensibilisation des utilisateurs

Une façon d'assurer cette protection consiste à former les utilisateurs à repérer l'icône de cadenas dans la barre d'adresse de leur navigateur. Elle signale une connexion HTTPS et devrait toujours être présente lorsque l'utilisateur dispose d'une connexion sécurisée et authentifiée avec le site web.

Le mode HTTPS uniquement

Les principaux navigateurs offrent aussi l'option d'exiger la version HTTPS de tous les sites web. Voici comment la configurer :

  • Firefox : Paramètres > Vie privée et sécurité > Mode HTTPS uniquement > Activer le mode HTTPS uniquement dans toutes les fenêtres
  • Chrome : Paramètres > Confidentialité et sécurité > Sécurité > Toujours utiliser des connexions sécurisées
  • Edge : Rendez-vous à edge://flags/#edge-automatic-https et activez Automatic HTTPS
  • Safari : Activé par défaut dans Safari 15 sous macOS Big Sur et Catalina

HTTP Strict Transport Security (HSTS)

HSTS (HTTP Strict Transport Security) est un paramètre que les serveurs web peuvent activer pour imposer l'utilisation de HTTPS. Un site doté de HSTS rejettera les tentatives de connexion en HTTP ou les redirigera vers la version HTTPS du site.

Cela se fait au moyen d'un champ d'en-tête Strict-Transport-Security inclus dans les réponses HTTP du site. Après avoir reçu cet en-tête, le client est tenu d'effectuer toutes ses requêtes ultérieures en HTTPS chiffré.

Conclusion

Le SSL stripping est une attaque conçue pour retirer au trafic web la protection offerte par HTTPS et SSL/TLS. Elle tire parti du fait que certains navigateurs et serveurs web acceptent une rétrogradation vers un protocole moins sûr (HTTP) si l'autre partie ne prend pas en charge le protocole plus robuste ou le refuse. Un attaquant qui s'insère entre un client web et un serveur peut amener le client, et possiblement le serveur, à communiquer en HTTP non chiffré.

Cette attaque représente une menace importante pour la confidentialité, l'intégrité et la sécurité des données. Un attaquant en position d'intercepteur peut écouter des données sensibles et modifier les communications en route vers leur destination. Il peut ainsi dérober des identifiants de connexion et d'autres données sensibles, réaliser des transactions frauduleuses ou injecter du contenu malveillant dans un site web.

Le client comme le serveur ont les moyens de se protéger contre les attaques par SSL stripping. Les navigateurs modernes peuvent être configurés pour n'accepter que les connexions HTTPS, ce qui prévient les attaques MitM. Les sites web, eux, peuvent recourir à HSTS et rejeter toute tentative de connexion en HTTP non chiffré.

En plus de mettre en place des protections contre le SSL stripping, il est aussi judicieux de se prémunir contre les conséquences possibles de ces attaques, comme les fuites d'identifiants. KZero Passwordless offre exactement cela avec Multi-Pass : une véritable MFA sans mot de passe qui empêche les attaquants de récolter des identifiants en supprimant complètement les mots de passe. Réservez une démonstration dès aujourd'hui pour en savoir plus sur Multi-Pass et sur la façon dont KZero Passwordless peut aider votre organisation à protéger ses clients et ses employés contre la prise de contrôle de comptes et les autres attaques liées à l'hameçonnage.

Howard Poston



Howard Poston est rédacteur publicitaire, auteur et concepteur de cours, avec une expérience en cybersécurité, en sécurité des chaînes de blocs, en cryptographie et en analyse de maliciels. Il détient une maîtrise en cyberopérations, cumule dix ans d'expérience en cybersécurité et plus de cinq ans comme consultant indépendant.