0Pricing
Cryptology Academy · Leçon

Rétrogradation HTTP et risques liés au contenu mixte

Comprenez comment les attaquants exploitent le repli HTTP et pourquoi le contenu mixte compromet les garanties de sécurité.

Rétrogradation HTTP et risques liés au contenu mixte est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Sécurité stricte du transport HTTP

L’en-tête HTTP Strict Transport Security (HSTS) indique aux navigateurs de se connecter à un site uniquement via HTTPS pendant une période donnée. Une fois cet en-tête reçu, le navigateur refuse les connexions HTTP et convertit automatiquement les URL http:// en URL https://.

Un en-tête HSTS typique est le suivant : "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload". La valeur max-age est exprimée en secondes (31536000 = 1 an). Une fois cette valeur mise en cache, le navigateur impose HTTPS pendant un an sans aucune intervention du serveur.

Valeurs max-age et includeSubDomains de HSTS

Le paramètre max-age définit, en secondes, la durée pendant laquelle le navigateur doit imposer des connexions exclusivement en HTTPS. Pour les sites en production, les valeurs recommandées sont d’au moins un an (31536000).

La directive includeSubDomains étend l’application de HSTS à tous les sous-domaines. Elle empêche les attaques au cours desquelles un attaquant rétrograde la connexion d’un sous-domaine vers HTTP et l’utilise pour voler les cookies définis sans l’attribut Secure sur le domaine principal.

La liste de préchargement HSTS

Les navigateurs intègrent une liste codée en dur de domaines qui utilisent toujours HTTPS, même lors de la toute première visite. Cette liste, gérée sur hstspreload.org, comprend des milliers de sites importants.

Le préchargement élimine la vulnérabilité de la première visite : sans préchargement, un visiteur venant pour la première fois pourrait être intercepté avant de recevoir l’en-tête HSTS. Les sites préchargés utilisent HTTPS dès la toute première requête, quel que soit l’état du cache HSTS.

Attaque par rétrogradation de SSL

La rétrogradation de SSL, présentée par Moxie Marlinspike lors de Black Hat 2009, est une attaque MITM qui rétrograde les connexions HTTPS vers HTTP. L’attaquant intercepte la requête HTTP initiale de l’utilisateur, envoie des requêtes HTTPS au véritable serveur au nom de l’utilisateur, puis lui retransmet le contenu via HTTP.

La victime voit normalement le contenu, mais celui-ci est transmis via HTTP. Toutes les informations d’authentification saisies sont envoyées à l’attaquant. Avant HSTS, cette attaque était très efficace, car les utilisateurs ne remarquaient pas l’absence du cadenas.

HSTS neutralise la rétrogradation de SSL

HSTS neutralise la rétrogradation de SSL, car le navigateur refuse d’établir des connexions HTTP avec les domaines inscrits dans HSTS. Même si un attaquant tente de servir une page via HTTP, le navigateur refuse simplement de se connecter et affiche une erreur.

L’application de HSTS par le navigateur a lieu avant toute requête réseau, de sorte que l’attaquant ne peut pas intervenir. La seule vulnérabilité restante est la première visite, avant la réception de HSTS ; le préchargement l’élimine.

Contenu mixte actif et passif

Un contenu mixte est présent lorsqu’une page HTTPS charge des ressources via HTTP. Le contenu mixte passif comprend les images, les fichiers audio et les vidéos chargés via HTTP. Ces ressources ne peuvent pas modifier directement la page, mais elles peuvent révéler des informations sur l’utilisateur par l’intermédiaire des en-têtes HTTP et permettre le suivi.

Le contenu mixte actif comprend les scripts, les feuilles de style, les cadres intégrés et les XMLHttpRequests chargés via HTTP. Un script HTTP peut compromettre entièrement la sécurité de la page HTTPS, car il dispose d’un accès complet au DOM et peut lire les cookies ainsi que les données des formulaires.

Blocage des scripts de contenu mixte par le navigateur

Par défaut, les navigateurs modernes bloquent le contenu mixte actif (scripts, feuilles de style et cadres intégrés via HTTP) lorsque la page qui les contient est en HTTPS. Une erreur est affichée dans la console et la ressource n’est pas chargée.

À partir de Chrome 81 (2020), les navigateurs ont commencé à convertir automatiquement le contenu mixte passif en HTTPS. Si la version HTTPS existe, elle est chargée. Dans le cas contraire, la ressource est bloquée.

Contenu mixte dans les outils de développement DevTools

La console de développement du navigateur affiche les avertissements et les erreurs de contenu mixte. Dans Chrome, ouvrez DevTools, accédez à l’onglet Console et filtrez sur « contenu mixte ». Chaque ressource bloquée affiche l’URL non sécurisée qui doit être mise à jour.

Le panneau Sécurité de DevTools présente une vue d’ensemble complète de la sécurité : détails du certificat, informations sur la connexion et liste de toutes les ressources non sécurisées de la page.

Directive CSP upgrade-insecure-requests

La directive « upgrade-insecure-requests » de la Content Security Policy (CSP) indique aux navigateurs de convertir automatiquement en HTTPS toutes les requêtes HTTP effectuées depuis la page. Elle permet de gérer les contenus anciens contenant des URL HTTP codées en dur.

Contrairement au blocage du contenu mixte, upgrade-insecure-requests tente d’abord de récupérer la version HTTPS. Cette directive est utile lors d’une migration de HTTP vers HTTPS, lorsque la mise à jour de toutes les URL intégrées dans les anciens contenus serait difficile à réaliser.

Injection de publicités par les ISP via HTTP

Sans HTTPS, les ISP peuvent injecter du contenu dans les réponses HTTP. Plusieurs ISP ont été pris en flagrant délit d’injection de publicités dans des pages qui n’en contenaient pas, d’ajout de pixels de suivi ou d’insertion de pages d’avertissement lorsque les utilisateurs approchaient de leur plafond de données.

Cette forme d’injection de contenu est impossible sur les pages HTTPS, car la réponse est authentifiée et chiffrée. Toute modification ferait échouer la vérification du MAC TLS, ce qui provoquerait une erreur de connexion au lieu de permettre la transmission d’un contenu modifié.

Pourquoi la première visite via HTTP reste risquée

Avant qu’un navigateur ait reçu un en-tête HSTS pour un domaine, la toute première visite via HTTP est vulnérable. Un attaquant peut intercepter cette requête initiale et effectuer une rétrogradation de SSL sans déclencher le moindre avertissement du navigateur.

Cette vulnérabilité de « confiance lors de la première utilisation » explique l’existence de la liste de préchargement HSTS. Soumettre un site à cette liste garantit que les navigateurs imposent HTTPS pour ce domaine dès la toute première requête, ce qui ferme entièrement la fenêtre de vulnérabilité de la première visite.

Quiz sur HSTS

Testez votre compréhension de la sécurité stricte du transport HTTP.

Points essentiels : HSTS et contenu mixte

HSTS indique aux navigateurs d’imposer des connexions exclusivement en HTTPS pour un domaine pendant une durée donnée. La liste de préchargement étend cette protection aux toutes premières visites en intégrant les politiques HSTS en dur dans les navigateurs.

La rétrogradation de SSL (Moxie Marlinspike, 2009) convertit HTTPS en HTTP ; HSTS la neutralise. Le contenu mixte actif (scripts HTTP sur des pages HTTPS) est bloqué par les navigateurs. La directive CSP upgrade-insecure-requests automatise la migration de HTTP vers HTTPS pour les anciens contenus.

Questions Fréquemment Posées

La leçon « Rétrogradation HTTP et risques liés au contenu mixte » est-elle gratuite ?

Oui — le texte complet de « Rétrogradation HTTP et risques liés au contenu mixte » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Rétrogradation HTTP et risques liés au contenu mixte » ?

Comprenez comment les attaquants exploitent le repli HTTP et pourquoi le contenu mixte compromet les garanties de sécurité. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Rétrogradation HTTP et risques liés au contenu mixte » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. L’icône du cadenas : ce qu’elle signifie réellement
  2. Comment les sites web obtiennent des certificats SSL
  3. Avertissements liés aux certificats TLS et conduite à tenir
  4. Rétrogradation HTTP et risques liés au contenu mixte
← Retour à Cryptology Academy