Die Sicherheitslotterie
Wir bewegen uns täglich im World Wide Web (WWW), dem wohl bekanntesten Internetdienst. „Webanwendungen sind einer der wichtigsten Zugangspunkte zu sicherheitsrelevanten Daten und Funktionen. Sie stellen daher ein primäres Ziel für Angreifer:innen dar“, sagt Sebastian Roth. Das WWW basiert auf dem sogenannten Client-Server-Modell. Das bedeutet: In einem Netzwerk müssen verschiedene Aufgaben verteilt und von Programmen erledigt werden. Dazu sendet ein Programm (der Client) Anfragen, auf die ein anderes Programm (der Server) reagiert und zum Beispiel Dienste bereitstellt. Die Antworten des Servers werden dann vom Client verarbeitet. Was sich kompliziert anhört, ist eigentlich ganz einfach und läuft innerhalb von Millisekunden ab, wie Sebastian Roth erklärt. „Wollen Nutzer:innen beispielsweise eine Internetseite öffnen, sendet ihr Browser, der in diesem Fall als Client fungiert, eine Anfrage in Form der eingegebenen Internetadresse an einen Webserver. Dieser sendet dann entsprechende Dateien an den Browser zurück, der diese Dateien nutzerfreundlich darstellt, sprich den Nutzer:innen die angeforderte Webseite in der gewohnten Form anzeigt.“
Damit Angreifer:innen sich nicht irgendwo in diesen Kommunikationsprozess zwischen Client und Server einklinken und ihn manipulieren oder Schadcode einschleusen können, gibt es mittlerweile einige Sicherheitsmaßnahmen, die auf Seiten der Clients ergriffen werden können. Sie sollen mögliche Angriffe verhindern oder zumindest deren Schadenspotentiale begrenzen, falls es Sicherheitslücken im clientseitigen Code gibt. „Um diese Schutzmaßnahmen durchzusetzen, muss der Server sie dem Client mitteilen.“ Denn nur der Server hat die dafür notwendige Einsicht in den Aufbau der Seite und weiß, welche Dienste und Daten von unterschiedlichen Quellen auf der Webseite eingebettet sind. Und hier liegt der Knackpunkt: Die Serverantworten können bei den selben Nutzer:innen unterschiedlich ausfallen, abhängig davon von wo auf der Erde sie die Seiten aufrufen, welchen Browser sie nutzen, welches Betriebssystem zum Einsatz kommt oder welchen Netzwerkzugang sie nutzen. Sogar welche Spracheinstellungen sie wählen, kann laut Roths Untersuchung Auswirkungen darauf haben, ob die Sicherheitsmechanismen greifen.
Doch wie hat der Forscher das festgestellt? Zusammen mit Kollegen hat Roth vier verschiedene clientseitige Sicherheitsmechanismen unter die Lupe genommen, die allesamt Rückmeldung vom Server brauchen, um zu funktionieren: X-Frame-Options, Content Security Policy (CSP), HTTP Strict Transport Security und Sicherheitsattribute von Cookies. „Wir wollten wissen, wie gut die Sicherheitsmechanismen beim Aufruf der 10000 Top-Webseiten greifen. Wichtig für unsere Studie war, dass die getesteten Webseiten sich über das verschlüsselte HTTPS-Protokoll aufrufen lassen. Nur so konnten wir sicherstellen, dass unsere Messergebnisse nicht manipuliert werden können.“ Außerdem mussten die Forscher erst einmal herausfinden, wie viele dieser Webseiten die genannten Sicherheitsmechanismen überhaupt unterstützen.
Danach begann das systematische Testen: Die Forscher simulierten mithilfe des Tor-Netzwerkes und von VPN-Servern Webseitenzugriffe aus 218 verschiedenen Ländern der Welt. „Die Wahl des Betriebssystems und Browsers blieb dabei gleich.“ Dann veränderten sie bei gleichbleibendem Zugriffsort, die Browserwahl, dann die Betriebssystemwahl und so fort. „Am Ende haben wir mehr als 13 Millionen verschiedene Serverantworten für unsere Analyse ausgewertet“, sagt Roth.
Das Ergebnis war: 321 Webseiten zeigten inkonsistentes Verhalten. Das führt dazu, dass verschiedene Sicherheitsmechanismen beim Zugriff von Nutzer:innen einmal greifen und ein anderes Mal nicht. Wie kann das sein? „Ein Grund dafür ist, dass Clients, die von verschiedenen Standorten aus auf dieselbe Webanwendung zugreifen, von verschiedenen Servern bedient werden. Ein anderer Grund ist, dass die Betreiber:innen großer Webseiten mehrere Server haben und Anfragen immer auf den Server leiten, der gerade am wenigsten ausgelastet ist. Ist dieser Server falsch konfiguriert, kommt es zu abweichendem Verhalten.“ Außerdem greifen Nutzer:innen laut Roth auf Webanwendungen unterschiedlich zu. „So nutzen sie auf ihrem Desktop-Computer zum Beispiel das Windows-Betriebssystem und den Browser Chrome und auf ihrem Mobilgerät das Betriebssystem iOS und den Browser Safari. Diese verschiedenen Konstellationen können aufgrund von fehlerhaften Konfigurationen ein unterschiedliches Sicherheitsverhalten der Webseite triggern.“ Alle untersuchten Sicherheitsmechanismen waren in der ein oder anderen Konstellation betroffen.
„Wenn sich Angreifer:innen dieser Inkonsistenzen bewusst sind, kann es sein, dass sie solange Angriffsversuche unternehmen, bis sie damit Erfolg haben oder gleich eine bestimmte Gruppe von Nutzer:innen ins Auge fassen“, sagt Roth. Ein größeres Problem ergibt sich laut Roth aber für Forscher:innen. „Solche Inkonsistenzen können die Ergebnisse von Sicherheitsmessungen der Mechanismen beeinflussen und in der Vergangenheit schon beeinflusst haben und zu falschen Messergebnissen führen.“
Die gute Nachricht: Laut Roth ist die Zahl der Webseiten mit Inkonsistenzen insgesamt nicht hoch genug, um vergangene Studien zu entkräften oder für Nutzer:innen zu einem echten Problem zu werden. „Wir haben die betroffenen Webseitenbetreiber:innen auf die Inkonsistenzen hingewiesen. Wenn sie die Server richtig konfigurieren, lassen sich diese Probleme recht einfach beheben. Das Problem ist nicht technischer Natur, es handelt sich um menschliche Fehler. Eine mögliche Folgearbeit könnte sich aber damit beschäftigen, wie man die Betreiber:innen besser dabei unterstützen kann, Webseiten sicher aufzusetzen.“
Und dann wäre Websicherheit auch kein Glücksspiel mehr.