Sicherheit im Internet ist von entscheidender Bedeutung, besonders wenn sensible Daten übermittelt werden. In Firefox 23 wurde ein bedeutender Schritt zur Verbesserung der Sicherheit unternommen: Der Mixed-Content-Blocker ist nun standardmäßig aktiviert und schützt Nutzer vor einer spezifischen Art von Online-Bedrohung. Diese Neuerung, das Ergebnis monatelanger Arbeit, zielt darauf ab, die Integrität von verschlüsselten Webseiten zu gewährleisten.
Was ist Mixed Content?
Um die Funktionsweise des Blockers zu verstehen, muss man zunächst den Begriff “Mixed Content” definieren. Eine Webseite, die über HTTPS sicher und verschlüsselt aufgerufen wird, bietet Schutz vor neugierigen Blicken und Man-in-the-Middle-Angriffen. Doch was passiert, wenn eine solche HTTPS-Seite Inhalte lädt, die über unverschlüsseltes HTTP abgerufen werden? Genau hier liegt das Problem des Mixed Content: Die Hauptseite ist zwar geschützt, aber Teile davon sind angreifbar. Angreifer können diese unverschlüsselten Inhalte einsehen oder manipulieren, selbst wenn die übergeordnete Seite sicher ist.
Klassifizierung von Mixed Content
Die Sicherheitsgemeinschaft teilt Mixed Content in zwei Kategorien ein: Mixed Passive Content und Mixed Active Content.
Mixed Passive Content bezieht sich auf HTTP-Inhalte auf einer HTTPS-Webseite, die das Document Object Model (DOM) der Seite nicht direkt beeinflussen können. Beispiele hierfür sind Bilder, Audio- oder Videodateien. Zwar kann ein Angreifer beispielsweise ein Bild austauschen oder eine irreführende Nachricht einfügen, doch die Beeinflussung der gesamten Webseite ist begrenzt. Allerdings können Angreifer durch die Analyse von Bildanfragen Rückschlüsse auf die besuchten Webseiten ziehen. Wenn Bilder vom selben Domain geladen werden wie die Hauptseite, können sogar sensible Cookies ausgelesen werden, was den Schutz von HTTPS untergräbt.
Mixed Active Content hingegen hat die Fähigkeit, auf Teile des DOM einer HTTPS-Seite zuzugreifen und diese zu verändern. Dies stellt eine wesentlich größere Gefahr dar. Ein Man-in-the-Middle-Angreifer kann solche Anfragen abfangen und bösartigen JavaScript-Code einschleusen. Dies kann zum Diebstahl von Anmeldedaten, zum Ausspähen sensibler Daten oder sogar zur Installation von Malware führen. Zu den Beispielen für Mixed Active Content zählen JavaScript, CSS, XHR-Anfragen, iframes und Schriftarten.
Der Mixed Content Blocker in Firefox 23
Der Mixed Content Blocker in Firefox 23 blockiert standardmäßig Mixed Active Content. Dies reduziert die Bedrohung erheblich, eliminiert sie aber nicht vollständig, da Mixed Passive Content weiterhin zugelassen wird. Nutzer haben jedoch die Möglichkeit, auch Mixed Passive Content manuell zu blockieren, indem sie in den erweiterten Einstellungen (about:config) die Option security.mixed_content.block_display_content auf true setzen.
Die Entscheidung, Mixed Passive Content nicht standardmäßig zu blockieren, hat mehrere Gründe. Zum einen ist Mixed Passive Content im Web noch weit verbreitet, und eine vollständige Blockierung würde dazu führen, dass viele Webseiten nicht mehr korrekt dargestellt werden könnten (z. B. YouTube). Dies könnte zu einer “Security Warning Fatigue” führen, bei der Nutzer Warnungen ignorieren. Zum anderen könnten Nutzer mit langsamen Internetverbindungen erhebliche Ladezeiten und Pufferungsprobleme erfahren, wenn auch Bilder und Videos verschlüsselt geladen werden müssen. Die Risiken, die von Mixed Content ausgehen, hängen zudem stark von der Art der besuchten Webseite und der Sensibilität der dortigen Daten ab.
Benutzeroberfläche und Nutzerentscheidungen
Das Design der Benutzeroberfläche für Sicherheitsfunktionen ist eine Herausforderung. Mozilla hat hier einen durchdachten Ansatz gewählt. Wenn eine HTTPS-Seite Mixed Active Content enthält, erscheint ein Schild-Symbol in der Adressleiste. Ein Klick darauf öffnet ein Menü mit Optionen wie “Mehr erfahren”, “Weiter blockieren” oder “Schutz auf dieser Seite deaktivieren”. Wählt der Nutzer “Weiter blockieren”, verschwindet die Benachrichtigung. Entscheidet er sich jedoch, den Schutz zu deaktivieren, wird die Seite mit einem gelben Warnsymbol angezeigt, das darauf hinweist, dass nicht alle Inhalte verschlüsselt sind.
Bei Mixed Passive Content wird standardmäßig kein Warnsymbol angezeigt, aber das Schloss-Symbol in der Adressleiste wird durch ein Globus-Symbol ersetzt, um darauf hinzuweisen, dass die Seite nicht vollständig verschlüsselt ist.
Sonderfälle: Frames und offene Fragen
Frames stellen einen besonderen Fall dar und werden in Firefox als Mixed Active Content klassifiziert, obwohl die Einordnung umstritten ist. Ein HTTP-Frame kann zwar nicht direkt das DOM der übergeordneten HTTPS-Seite verändern, aber er kann den Nutzer auf bösartige Webseiten umleiten oder ihn dazu verleiten, sensible Daten über ein manipuliertes Formular preiszugeben.
Während der Entwicklung des Mixed Content Blockers wurden viele Randfälle identifiziert. Einige konnten behoben werden, andere sind noch offen. Mozilla hat sich entschieden, den Schutz für Nutzer so schnell wie möglich zu aktivieren, auch wenn die Lösung noch nicht perfekt ist. Es gibt noch sogenannte “False Negatives”, Fälle, in denen der Blocker fälschlicherweise keinen Inhalt blockiert, der blockiert werden sollte. Diese offenen Fälle sind zwar wichtig für Entwickler, die ihre Webseiten sichern wollen, sollen aber die Einführung des Schutzes für die breite Masse nicht verzögern.
Für Entwickler, die ihre Webseiten von Mixed Content bereinigen möchten, gibt es im Anhang des ursprünglichen Beitrags detaillierte Informationen zu den offenen Randfällen und Diskussionspunkten. Diese können helfen, zukünftige Anpassungen besser zu planen und doppelte Arbeit zu vermeiden.
Die kontinuierliche Verbesserung der Internetsicherheit ist ein Gemeinschaftsprojekt. Dank der Bemühungen vieler Beteiligter, wie dem UX-Team von Mozilla, können Nutzer nun von einem verbesserten Schutz vor Mixed Content profitieren.
