iX 4/2016
S. 106
Report
Websicherheit
Aufmacherbild

Sicherheitsrisiko Nutzer-Login und Session-Verwaltung

Vollkommen abgemeldet?

Zwar weiß heutzutage nahezu jeder Entwickler, wie gefährlich SQL Injection und Cross-Site Scripting für Webapplikationen sind, den Vorgängen rund um das Log-in- und Session-Management widmen jedoch nur wenige ihre Aufmerksamkeit. Dabei können sich gerade hier sicherheitsrelevante Tücken verbergen.

Der Angreifer ersetzt sämtliche HTTPS-Links durch unverschlüsselte Verweise (Abb. 1).

Der Klassiker unter den verschiedenen Varianten, sich an einem Dienst oder System anzumelden, besteht aus einer Kombination aus Name und Passwort. Dass das Passwort eine wichtige Information und daher schützenswert ist, ist in der Regel jedem Entwickler klar, weshalb die meisten Webseiten es inzwischen per HTTPS übertragen. Doch aus Performance-Gründen werden leider noch immer Teile von Webseiten unverschlüsselt per HTTP ausgeliefert. Befindet sich nun die Anmeldemaske auf einer solchen unverschlüsselten Seite, eröffnet dies die Möglichkeit eines sogenannten SSL-Stripping-Angriffs (Abbildung 1).

Dazu braucht es einen aktiven Angreifer, der den Datenverkehr nicht nur mitschneiden, sondern auch manipulieren kann. Im öffentlichen Raum, etwa in Internetcafés oder öffentlichen Hotspots, ist das ein realistisches Szenario. Da die Webseite mit dem Anmeldeformular unverschlüsselt übertragen wird, kann der Angreifer sie verändern. Durch Manipulieren der Formular-URL bewirkt er, dass das Passwort im Klartext übertragen wird. Wenn er es geschickt anstellt, bemerkt der Benutzer davon nichts. Und selbst wenn es zu einer Fehlermeldung kommt, ist das Kind schon in den Brunnen gefallen: Das Passwort wurde für den Angreifer lesbar abgeschickt. Daher ist es unerlässlich, bereits das Log-in-Formular per HTTPS auszuliefern.