Zum Hauptinhalt Zur Navigation Zur Suche

Single Sign-on: Eine Milliarde Accounts für Hijacking anfällig

Single Sign-on ist praktisch, wird aber oft falsch implementiert. Sicherheitsforscher haben demonstriert, welche Fehler App-Entwickler dabei machen. Mehrere hundert Apps machten dabei Probleme.
/ Hauke Gierow
25 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Single Sign-on ist oft unsicher konfiguriert. (Bild: Screenshot Golem.de)
Single Sign-on ist oft unsicher konfiguriert. Bild: Screenshot Golem.de

Sicherheitsforscher haben auf der Konferenz Blackhat EU eine Schwachstelle in der Nutzung von OAuth 2.0 durch zahlreiche mobile Apps demonstriert [PDF(öffnet im neuen Fenster)]. OAuth-kompatible Dienste ermöglichen es, Accounts großer Provider wie Facebook oder Google auch auf anderen Webseiten zu nutzen, ohne sich erneut anzumelden.

Betroffen sind Apps von Anbietern, die Dienste wie Google, Sina oder Facebook als Identity Provider (IdP) nutzen, um Single Sign-on anzubieten. Das größte Problem aus Sicht der Sicherheitsforscher: OAuth 2.0 schreibt nicht detailliert vor, wie die anfragende App die Informationen verwalten und verifizieren soll.

Wird OAuth über einen Webbrowser genutzt, gibt es drei beteiligte Parteien, nämlich den Server des IdP, den Backend-Server des Dienstanbieters und den User-Agent des Browsers, der vom Anwender genutzt wird.

Im Setup auf mobilen Geräten hingegen gibt es die beiden Server, außerdem noch die App des Diensteanbieters und des IdP. Die jeweiligen Apps sind nicht durch die Spezifikationen von OAuth 2.0 abgedeckt, können also von den Anbietern selbst verwaltet werden.

Hier gibt es verschiedene Fehler, so verzichten viele Apps auf eine Signaturprüfung und akzeptieren gesendete Nutzer-IDs somit ohne weitere Prüfung. Andere Apps extrahieren auf Serverseite einfach nur die von Googles Server gesendete User-ID und leiten diese an die Client-App weiter, erneut ohne Prüfung auf Validität.

Zahlreiche Apps betroffen

Bei rund 600 untersuchten Apps sollen 41,2 Prozent verschiedene Sicherheitsmängel aufgewiesen haben, die auf fehlerhafte Implementierungen zurückgehen. Die Apps wurden insgesamt 2,4 Milliarden Mal heruntergeladen, so kommen die Forscher auf rund eine Milliarde verwundbare Accounts.

Keine Nutzerinteraktion erforderlich

Um Angriffe durchzuführen, ist es nicht notwendig, Nutzern gefälschte Apps unterzuschieben, auch eine Interaktion der Opfer ist nicht erforderlich.

Für einen erfolgreichen Angriff wird ein Server für eine Man-in-the-Middle-Attacke konfiguriert, der dann ein- und ausgehenden Traffic überwacht. Wird die verwendete User-ID mitgeschnitten, können Angreifer mit eigenen Zugangsdaten einen Login-Vorgang starten und dann die User-ID des Opfers einsetzen, um Zugriff auf den entsprechenden Dienst zu erhalten.

"Weil die Backend-Server der Dienstebanbieter direkt die Identitätsinformationen der Client-App nutzen, um den Anwender ohne weitere Validierung zu authentifizieren, können Angreifer sich in deren Namen in die Apps einloggen und vollen Zugriff auf die gespeicherten Informationen erhalten," sagen die Sicherheitsforscher bei Threatpost(öffnet im neuen Fenster).

Viele Anbieter verzichten auf Certificate Pinning

Der Angriff ist auch deswegen möglich, weil viele Anbieter auf Public Key Certificate Pinning verzichten. Doch selbst mit Certificate Pinning können auch Facebook-Nutzer von dem Problem betroffen sein, wenn diese sich vor Mai 2014 erstmals per OAuth bei einer App angemeldet haben. Für diese Nutzer hält das Unternehmen einen Fallback-Modus bereit.

Die Forscher empfehlen den Identitiy Providern wie Facebook und Google, strengere Richtlinien zur Verwendung der eigenen OAuth-APIs zu erlassen, um fehlerhafte Konfigurationen zu vermeiden. Außerdem sollten die Identity-Provider keine Zugangsdaten mehr akzeptieren sollten, die von den Client-Apps signiert sind, da diese einfach zu manipulieren seien.


Relevante Themen