E-mail senden E-Mail Adresse kopieren

2026-02-03
Annabelle Theobald

Wie das Web lernt, sich besser zu schützen

Etwas mehr als 35 Jahre ist es her, dass die erste Website der Welt online ging. In den folgenden Jahrzehnten entwickelten sich Websites von statischen Seiten zu interaktiven Webauftritten. Sicherheit war dabei, wenn überhaupt, ein Nachgedanke – ein Fest für Cyberkriminelle. Deshalb nutzen Web-Entwickler:innen seit einigen Jahren sogenannte Security Header, um Browsern gezielt Sicherheitsanweisungen mitzugeben. In ihren Anfängen hing es noch stark vom genutzten Browser ab, wie und ob diese Anweisungen richtig umgesetzt wurden. Die gute Nachricht: Eine systematische Untersuchung von CISPA-Forscher Jannis Rautenstrauch und Kollegen zeigt, dass Browser heute deutlich konsistenter als früher agieren. Um abweichendes Verhalten aufzudecken und damit die Sicherheit für Website-Besucher:innen weiter zu verbessern, haben die Forschenden ein Testing-Tool entwickelt, das sie Open Source zur Verfügung stellen. Ihr Paper „Head(er)s Up! Detecting Security Header Inconsistencies in Browsers“ wurde auf der ACM Conference on Computer and Communications Security (CCS) präsentiert.

Web-Sicherheit ist kein Zustand, sondern in vielerlei Hinsicht ein Aushandlungsprozess zwischen Server und Browser. Browser rufen eine Website von einem oder verschiedenen Servern ab und puzzeln deren verschiedenen Bausteine wie Bilder, Schriftarten oder JavaScript-Dateien für uns zur gewohnten Webansicht zusammen. „In diesem Prozess treffen sie unentwegt Sicherheitsentscheidungen“, erklärt Rautenstrauch.

Was geben Security Header vor?

Website-Betreiber:innen können mit Security Headern bestimmte Sicherheitsanweisungen an den Browser mitliefern. So sagt die Website dem Browser zum Beispiel: ‚Führe nur Code aus, der von mir selbst stammt‘‚Erlaube nicht, dass meine Seite in andere Seiten eingebunden wird‘ oder ‚Lade Bilder nur aus diesen Quellen…‘. Damit können weit verbreitete Web-Angriffe wie Clickjacking und Cross-Site-Scripting unterbunden oder erschwert werden. „Im Laufe der Jahre kamen immer neue Security Header hinzu und jeder hat eine eigene Syntax und gibt spezifische Regeln vor. Deshalb ist ihre korrekte Implementierung sowohl für Browser- als auch für Website-Entwickler:innen noch immer eine komplexe Aufgabe“, so Rautenstrauch. In der Praxis kommt es immer wieder zu kleinen Tippfehlern, zusätzlichem Weißraum oder anderen Abweichungen in den Anweisungen, mit denen die Browser irgendwie umgehen müssen.

Auf einen Blick

Umfang: Über 170.000 automatisierte Tests mit gängigen Browsern

Analyse: 16 sicherheitskritische Security Header systematisch untersucht

Ergebnis: In rund 3 Prozent der Fälle inkonsistentes Browserverhalten mit bislang unbekannten Ursachen identifiziert

Impact: Bug-Reports an Browserhersteller und Spezifikationsgremien übermittelt und zur Verbesserung der Web-Sicherheit beigetragen

Open Source: Eigenes Testing-Tool entwickelt und bereitgestellt

 

Wie setzen Browser Sicherheitsanweisungen um und was haben die Forschenden getestet?

Ein zentraler Teil des Browsers ist der Parser. Das ist ein Programm, das Security Header, HTML-, CSS- oder auch JavaScript-Code in eine Datenstruktur umwandelt, die der Browser versteht. „Browser sehen zwar unterschiedlich aus, teilen sich aber häufig denselben technischen Kern, zu dem auch der Parser gehört. 97 Prozent der gängigen Browser liegen nur drei verschiedene Engines zugrunde: Blink zum Beispiel bei Chrome, Edge und Opera, Gecko bei Firefox und Tor und WebKit bei Safari“, sagt Rautenstrauch. So haben die Forschenden über die meistgenutzten Browser hinweg systematisch 177.146 Tests durchgeführt. „Wir haben dabei die 16 sicherheitsrelevantesten Header in verschiedenen Browserkonfigurationen getestet. In 5606 Tests, also 3,16 Prozent der Fälle, haben sich verschiedene Browser dabei inkonsistent verhalten“, erklärt Rautenstrauch. „Das ist keine Katastrophe, aber wir haben dafür verschiedene und teils bisher unbekannte Ursachen entdeckt und Bug-Reports an die Browserhersteller und die Spezifikationsgremien für Security Header geschickt. Das hat auch schon zu Fixes geführt und verbessert so die Sicherheit für Website-Besucher:innen.“

Regelmäßiges Testen führt zu besseren Ergebnissen

Ihre Ergebnisse zeigen auch, dass Unterschiede zwischen Browsern und Browserversionen innerhalb derselben Browser-Engine selten sind, während Abweichungen zwischen den drei zentralen Browser-Engines Blink, Gecko und WebKit häufiger auftreten. „Security Header werden also noch nicht immer konsistent geparst und durchgesetzt, aber immer öfter.“ Häufige Abweichungen im Browserverhalten hingegen haben die Forschenden bei einem bestimmten Security Header gefunden: HSTS, das steht kurz für HTTP Strict Transport Security. „HSTS weist Browser an, eine Website ausschließlich über die sichere HTTPS-Verbindung zu laden und unsichere HTTP-Verbindungen zu blockieren. Der Grund für die vielen Abweichungen ist offensichtlich: Im Gegensatz zu anderen Headern, gibt es für diesen Header keine systematischen Tests über verschiedene Browser hinweg. Das sollte sich ändern.“

Testing-Tool deckt Ausnahmefälle auf

Rautenstrauch und seine Forschungskollegen stellen ihr Testing-Tool open source zur Verfügung, damit Browser-Anbieter es nutzen können. „Leider scheuen viele Browseranbieter sich, unser Testing-Tool dauerhaft in ihre Entwicklungskette einzubauen, weil die Entwickler:innen bei abweichendem Verhalten noch manuell prüfen müssen, ob ein Bug gefixt werden muss und wie er entsteht. Dabei zeigt unsere Arbeit, das regelmäßige Tests sinnvoll sind.“