0Pricing
Cryptology Academy · Lektion

HTTP-Downgrade und Risiken durch gemischte Inhalte

Verstehen Sie, wie Angreifer HTTP-Fallbacks ausnutzen und warum gemischte Inhalte Sicherheitsgarantien außer Kraft setzen.

HTTP-Downgrade und Risiken durch gemischte Inhalte ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

HTTP Strict Transport Security

Der Header HTTP Strict Transport Security (HSTS) weist Browser an, für einen bestimmten Zeitraum nur über HTTPS eine Verbindung zu einer Website herzustellen. Sobald der Header empfangen wurde, lehnt der Browser HTTP-Verbindungen ab und wandelt URLs mit http:// automatisch in https:// um.

Ein typischer HSTS-Header lautet: "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload". Der Wert von max-age wird in Sekunden angegeben (31536000 = 1 Jahr). Nach dem Speichern im Cache erzwingt der Browser ein Jahr lang HTTPS, ohne dass der Server erneut beteiligt sein muss.

HSTS: max-age und includeSubDomains

Der Parameter max-age legt in Sekunden fest, wie lange der Browser ausschließlich HTTPS-Verbindungen erzwingen soll. Für Produktionsseiten werden Werte von mindestens einem Jahr (31536000) empfohlen.

Die Direktive includeSubDomains erweitert die HSTS-Regeln auf alle Subdomains. Dadurch werden Angriffe verhindert, bei denen ein Angreifer die Verbindung einer Subdomain auf HTTP herabstuft und sie dazu verwendet, Cookies zu stehlen, die auf der Hauptdomain ohne das Secure-Flag gesetzt wurden.

Die HSTS-Preload-Liste

Browser enthalten eine fest codierte Liste von Domains, für die immer ausschließlich HTTPS verwendet wird, auch beim allerersten Besuch. Diese unter hstspreload.org gepflegte Liste umfasst Tausende bedeutender Websites.

Preloading beseitigt die Sicherheitslücke beim ersten Besuch: Ohne Preloading könnte ein Besucher beim ersten Zugriff abgefangen werden, bevor er den HSTS-Header erhält. Für vorab geladene Websites gilt bereits ab der allerersten Anfrage ausschließlich HTTPS, unabhängig vom Status des HSTS-Caches.

SSL-Stripping-Angriff

SSL-Stripping, das Moxie Marlinspike auf der Black Hat 2009 vorgestellt hat, ist ein MITM-Angriff, bei dem HTTPS-Verbindungen auf HTTP herabgestuft werden. Der Angreifer fängt die erste HTTP-Anfrage des Benutzers ab, stellt im Namen des Benutzers HTTPS-Anfragen an den echten Server und leitet die Inhalte über HTTP an den Benutzer weiter.

Das Opfer sieht die Inhalte wie gewohnt, jedoch über HTTP. Alle eingegebenen Zugangsdaten gelangen zum Angreifer. Vor HSTS war dieser Angriff sehr wirkungsvoll, da Benutzer das fehlende Vorhängeschloss nicht bemerkten.

HSTS verhindert SSL-Stripping

HSTS verhindert SSL-Stripping, da der Browser HTTP-Verbindungen zu Domains, für die HSTS aktiviert ist, ablehnt. Selbst wenn ein Angreifer versucht, eine Seite über HTTP bereitzustellen, verweigert der Browser einfach die Verbindung und zeigt einen Fehler an.

Die HSTS-Durchsetzung durch den Browser erfolgt vor jeder Netzwerkanfrage, sodass der Angreifer nicht eingreifen kann. Die einzige verbleibende Schwachstelle ist der erste Besuch, bevor HSTS empfangen wurde. Durch Preloading wird auch diese beseitigt.

Aktive und passive gemischte Inhalte

Gemischte Inhalte treten auf, wenn eine HTTPS-Seite Ressourcen über HTTP lädt. Passive gemischte Inhalte umfassen Bilder, Audio- und Videodateien, die über HTTP geladen werden. Sie können die Seite nicht direkt verändern, aber über HTTP-Header Informationen über Benutzer offenlegen und Tracking ermöglichen.

Aktive gemischte Inhalte umfassen Skripte, Stylesheets, iframes und XMLHttpRequests, die über HTTP geladen werden. Ein HTTP-Skript kann die Sicherheit der HTTPS-Seite vollständig kompromittieren, da es uneingeschränkten Zugriff auf das DOM hat und Cookies sowie Formulardaten lesen kann.

Browser blockieren Skripte mit gemischten Inhalten

Moderne Browser blockieren standardmäßig aktive gemischte Inhalte (Skripte, Stylesheets und iframes über HTTP), wenn die umgebende Seite HTTPS verwendet. In der Konsole wird ein Fehler angezeigt und die Ressource wird nicht geladen.

Ab Chrome 81 (2020) begannen Browser damit, passive gemischte Inhalte automatisch auf HTTPS umzustellen. Wenn die HTTPS-Version vorhanden ist, wird sie geladen. Andernfalls wird die Ressource blockiert.

Gemischte Inhalte in den Entwicklerwerkzeugen des Browsers

Die Entwicklerkonsole des Browsers zeigt Warnungen und Fehler zu gemischten Inhalten an. Öffnen Sie in Chrome die DevTools, wechseln Sie zum Tab Console und filtern Sie nach "Mixed Content". Für jede blockierte Ressource wird die unsichere URL angezeigt, die aktualisiert werden muss.

Das Fenster Security in den DevTools bietet eine umfassende Sicherheitsübersicht: Zertifikatsdetails, Verbindungsinformationen und eine Liste aller unsicheren Ressourcen auf der Seite.

CSP-Direktive upgrade-insecure-requests

Die Content Security Policy (CSP)-Direktive "upgrade-insecure-requests" weist Browser an, alle HTTP-Anfragen der Seite automatisch auf HTTPS umzustellen. Dadurch können ältere Inhalte mit fest codierten HTTP-URLs verarbeitet werden.

Im Gegensatz zum Blockieren gemischter Inhalte versucht upgrade-insecure-requests zuerst, die HTTPS-Version abzurufen. Die Direktive ist bei der Migration von HTTP zu HTTPS hilfreich, wenn es nicht praktikabel wäre, alle eingebetteten URLs in älteren Inhalten zu aktualisieren.

Werbeeinschleusung durch ISPs bei HTTP

Ohne HTTPS können ISPs Inhalte in HTTP-Antworten einschleusen. Mehrere ISPs wurden dabei ertappt, Werbung in Webseiten einzufügen, die ursprünglich keine Werbung enthielten, Tracking-Pixel zu ergänzen oder Warnseiten anzuzeigen, wenn Benutzer sich ihrem Datenlimit nähern.

Diese Form der Inhaltseinschleusung ist bei HTTPS-Seiten nicht möglich, da die Antwort authentifiziert und verschlüsselt ist. Jede Änderung würde dazu führen, dass die TLS-MAC-Prüfung fehlschlägt. Das Ergebnis wäre ein Verbindungsfehler, statt dass manipulierte Inhalte ausgeliefert werden.

Warum der erste HTTP-Besuch riskant bleibt

Bevor ein Browser einen HSTS-Header für eine Domain gesehen hat, ist der allererste Besuch über HTTP gefährdet. Ein Angreifer kann diese erste Anfrage abfangen und SSL-Stripping durchführen, ohne eine Browserwarnung auszulösen.

Diese Schwachstelle nach dem Prinzip "Trust on First Use" ist der Grund für die HSTS-Preload-Liste. Wenn eine Website in die Preload-Liste aufgenommen wird, erzwingen Browser bereits ab der allerersten Anfrage HTTPS für diese Domain und schließen das Zeitfenster beim ersten Besuch vollständig.

HSTS-Quiz

Testen Sie Ihr Verständnis von HTTP Strict Transport Security.

Wichtigste Erkenntnisse: HSTS und gemischte Inhalte

HSTS weist Browser an, für eine bestimmte Dauer ausschließlich HTTPS-Verbindungen zu einer Domain zu erzwingen. Die Preload-Liste erweitert den Schutz auf den allerersten Besuch, indem sie HSTS-Richtlinien fest in Browsern hinterlegt.

SSL-Stripping (Moxie Marlinspike, 2009) stuft HTTPS auf HTTP herab; HSTS verhindert diesen Angriff. Aktive gemischte Inhalte (HTTP-Skripte auf HTTPS-Seiten) werden von Browsern blockiert. Die CSP-Direktive upgrade-insecure-requests automatisiert die Umstellung älterer Inhalte von HTTP auf HTTPS.

Häufig gestellte Fragen

Ist die Lektion „HTTP-Downgrade und Risiken durch gemischte Inhalte“ kostenlos?

Ja — der vollständige Text von „HTTP-Downgrade und Risiken durch gemischte Inhalte“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „HTTP-Downgrade und Risiken durch gemischte Inhalte“?

Verstehen Sie, wie Angreifer HTTP-Fallbacks ausnutzen und warum gemischte Inhalte Sicherheitsgarantien außer Kraft setzen. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „HTTP-Downgrade und Risiken durch gemischte Inhalte“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das Vorhängeschloss-Symbol: Was es wirklich bedeutet
  2. So erhalten Websites SSL-Zertifikate
  3. TLS-Zertifikatswarnungen und was Sie tun sollten
  4. HTTP-Downgrade und Risiken durch gemischte Inhalte
← Zurück zu Cryptology Academy