Single-Sign-On: Lücken bei der Implementierung des OAuth-Protokolls


Das OAuth-Protokoll wurde ursprünglich entwickelt, um im Web ein Single Sign-on zu ermöglichen: Der Anwender kann sich mit seinem Account von einem der großen Webdienste wie etwa Google, Facebook oder Amazon auch bei verschiedenen Websites von Drittanbietern anmelden. Nachdem er sich einmal authentifiziert hat, stehen ihm auch alle weiteren Sites offen, die bei der Anmeldung mit diesem Dienst zusammenarbeiten.

Zunehmend wird OAuth 2.0 aber auch in mobile Apps integriert, was mittlerweile zu Sicherheitsproblemen führt, wie eine Untersuchung der Chinesischen Universität Hongkong zeigt. Die Forscher weisen darauf hin, dass das OAuth-Protokoll keine Spezifikationen für die Apps bereithält. Das führt dazu, dass viele Entwickler die Sicherheitsfeatures entweder fehlerhaft oder unvollständig implementieren.

Um diese Hypothese zu testen, untersuchten sie die 200 populärsten Apps, die den Single Sign-on-Service des chinesischen Infotainment-Portals Sina nutzen, sowie die 400 am häufigsten verwendeten Apps, die kompatibel zu den entsprechenden Diensten von Google und Facebook sind. Zudem entwarfen sie einen Exploit, bei dem ein Proxy-Server für eine Man-in-the-Middle-Attacke konfiguriert wurde und anschließend versuchte, die Benutzerkennung des Anwenders bei der Anmeldung über seine App mitzulesen. Falls das gelang, probierten die Forscher, sich mit der App und dem Account des Anwenders einzuloggen.

Mehr als 40 Prozent aller Apps sind anfällig

Das Ergebnis der Untersuchung an der Universität von Hongkong war erschreckend: Insgesamt waren 41,21 Prozent der getesteten mobilen Apps anfällig für den Exploit. Dabei hatten die Wissenschaftler die Apps in keinem Punkt manipuliert. Der Angriff gelang dennoch, da viele der Backend-Server bei den Dienste-Anbietern die Anmeldeinformationen der Apps ohne weitere Überprüfung akzeptierten und die Apps selbst auch keine zusätzliche Authentifizierung vornahmen.

Eine gewisse Ausnahme stellte lediglich der Single-Sign-on-Service von Facebook dar. Der Social-Media-Dienst hat zwar seit 2014 als zusätzliche Absicherung ein Certificate Pinning (Public Key Pinning) in seinen Anmeldevorgang integriert, das den beschriebenen Angriff unmöglich macht. Hat ein Benutzer jedoch bereits vor dem Mai 2014 den OAuth-Service von Facebook genutzt, schaltet der Dienst automatisch wieder auf das alte Authentifizierungsverfahren um.

Die Forscher empfehlen den Single-Sign-on-Anbietern, klare Richtlinien für die Sicherheitsfunktionen von mobilen Apps zu formulieren und sie auch durchzusetzen. Die Backend-Server der App-Anbieter wiederum sollten nicht auf die Anmeldeinformationen der Programme vertrauen, sondern ausschließlich auf die Authentifizierung per Single-Sign-on-Service.

Gastbeitrag von Michael Kranawetter, National Security Officer (NSO) bei Microsoft in Deutschland. In seinem eigenen Blog veröffentlicht Michael alles Wissenswerte rund um Schwachstellen in Microsoft-Produkten und die veröffentlichten Softwareupdates.

Comments (0)

Skip to main content