(Bild: Screenshot)
Angreifer sollen abermals Log-in-Daten von Nutzern abgreifen können, wenn diese sich mittels OAuth bei Online-Services anmelden. Die Schwachstellen wurden bereits geschlossen. Sicherheitsforscher attestieren dem Protokoll insgesamt eine hohe Sicherheit.
Die Sicherheitsforscher Daniel Fett, Guido Schmitz und Ralf Küsters von der Universität Trier haben eigenen Angaben zufolge die erste umfassende Sicherheitsanalyse des OAuth-2.0-Protokolls (Single Sign-on), das zum einfachen Anmelden bei Online-Services eingesetzt wird, vorgelegt. In ihrem Bericht weisen sie auf zwei Schwachstellen hin, über die Angreifer an Log-in-Daten kommen können. Auch das bald erscheinende Single-Sign-on-System OpenID Connect, das auf OAuth basiert, soll verwundbar sein.
Das Team des offenen OAuth-2.0-Protokolls hat die Schwachstellen bestätigt. Die von den Kryptologen vorgeschlagenen Lösungsansätze sollen bereits implementiert sein. Im Großen und Ganzen sind Fett et al. zufrieden mit der Sicherheit von OAuth.
Millionen Webseiten nutzen OAuth, um den Log-in-Vorgang zu erleichtern. Das erkennt man daran, wenn ein Online-Service die Möglichkeit „Mit Facebook anmelden“ anbietet. Kommt OAuth zum Einsatz, brauchen Nutzer keinen neuen Account für einen Online-Service zu erstellen, denn zur Legitimation zeigt das Protokoll den Facebook-Account vor. Facebook dient in diesem Fall also als Identitätslieferant. OAuth kann man unter anderem auch mit Google- und Paypal-Konten nutzen.
Umleitungscode 307 als Einfallstor
Im ersten Angriffsszenario skizzieren die Sicherheitsforscher einen Angreifer, der eine bösartige Webseite mit OAuth 2.0 betreibt. Will sich ein Nutzer auf dieser Webseite einloggen, findet eine Umleitung zum Identitätslieferanten statt. Hier muss dann der Benutzername und das Passwort eingeben werden. Der Webbrowser des Nutzers übermittelt die Anmeldedaten dann als POST-Anfrage an den Identitätslieferanten. Nach einem Check der Daten landet der Nutzer wieder auf der bösartigen Webseite.
Da die Umleitung auf den Code 307 setzt, sendet der Webbrowser eine weitere POST-Anfrage, die die Anmeldedaten aus der ersten POST-Anfrage enthält, an die gefährliche Webseite und somit in die Hände des Angreifers. Als Lösung empfehlen die Kryptologen über 303 umzuleiten, da dies der einzige Code ist, der den Inhalt einer POST-Anfrage fallen lassen kann.
Verbindungen manipulieren
Für den zweiten Übergriff muss sich ein Angreifer in einer Man-in-the-Middle-Position befinden, um in eine Verbindung eingreifen zu können, erläutern die Sicherheitsforscher. Dann könne er Anfragen zwischen der Webseite mit OAuth 2.0 und der Webseite des Identitätslieferanten manipulieren und Authentifizierungsinformationen und Schlüssel abgreifen. Damit soll der Angreifer sich einloggen können. Ein ähnliches Angriffszenario wurde bereits 2013 von einem Hacker entdeckt. Facebook hat die Lücke zeitnah geschlossen.
Das Problem dabei ist, dass der Ursprung der Umleitungen im Zuge dieses Prozesses nicht überprüft wird und sich Angreifer dazwischenschalten können, schildern die Kryptologen in ihrem Bericht. Als Lösung für dieses Problem sprechen sie sich dafür aus, dass die Umleitung über Endpoints realisiert wird, die jedem Identitätslieferanten eindeutig zugeordnet sind. In diesem Fall sind die Identitäten während des Informationsaustausches stets klar. (des)