Wieder sicher: Authentifizierungsprotokoll OAuth

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.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Schwachstellen im eigentlich sicheren Authentifizierungsprotokoll OAuth

Über OAuth kann man sich, ohne extra einen Account anlegen zu müssen, bei verschiedenen Online-Services etwa mit seinem Facebook-Account anmelden.

(Bild: Screenshot)

Lesezeit: 3 Min.

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.

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.

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)