Verunsicherung über angebliche Lücke in OAuth und OpenID
Heartbleed beschäftigt noch immer die Sicherheitsexperten, da taucht bereits das vermeintlich nächste große Sicherheitsproblem auf, dass Anwender verunsichert. „Entdeckt“ wurde die Lücke in OAuth und OpenID von dem Studenten Wang Jing in Singapur.
Leicht anrüchig an der Angelegenheit ist bereits die Tatsache, dass Jing für die Lücke einen Namen, ein Logo und eine Webseite parat hat. Es entsteht der Eindruck, da möchte jemand sich an Heartbleed anhängen und davon profitieren.
Tatsache ist: Es gibt keine wie von Jing beschriebene Sicherheitslücke in dem offenen Protokoll OAuth oder dessen Implementierung in OpenID. Es gibt ein Problem in der Art, wie manche Webseiten unter Vernachlässigung der Vorschriften das Protokoll implementieren. Dieses Problem wird seit Monaten diskutiert und bearbeitet. OAuth und OpenID werden von Unternehmen wie Google, Microsoft, LinkedIn, Facebook oder Yahoo genutzt.
Die von Jing beschriebene, längst bekannte „Lücke“ greift ein Problem auf, das im Zusammenhang mit der Technik „open redirect“ auftritt. Dabei handelt es sich um die Möglichkeit, Nutzer bei verschiedenen Diensten ohne Registrierung etwa mittels deren Facebook- oder Google-Account mit nur einem Klick und einem Passwort anzumelden. Diese Methode der Anmeldung bei Diensten ist ob ihrer unkomplizierten und schnellen Handhabung sehr beliebt und wird immer öfter angeboten. Davon können aber auch Datendiebe Gebrauch machen, wenn Anwender auf deren Phishing-Links klicken und deren Daten dann mittels „open redirect“ an unberechtigte Dritte gesendet und die Anwender auf mit Malware gespickte Seiten umleiten. Jing nennt seinen „Fund“ in Anlehnung daran auch „Covert Redirect“ und unter diesem Namen macht die Lücke seit Tagen Schlagzeilen.
Das Problem liegt hauptsächlich in der fehlenden Zusammenarbeit der Diensteanbieter, die den Redirect nutzen wollen, mit den Entwicklern von OAuth und den per Redirect verbundenen Diensten. Würden die Betreiber ihre Redirect-URLs bei dem Dienst registrieren, der die Authentifizierung vornehmen soll, wie es die Sicherheits-Spezifikation von OAuth 2.0 vorsieht, wäre dem potenziellen Problem sicher abzuhelfen. Dazu rief beispielsweise LinkedIn im März die Entwickler von Diensten auf, die einen Redirect auf LinkedIn setzen wollen. Wer die Frist bis zum 11. April nicht nutzte, bescherte den Anwendern, die diese Form der Authentifizierung nutzen wollten, eine Fehlermeldung.
Zudem sind die Regeln für die Nutzung des Redirect in einem Dokument der Internet Engineering Task Force (I IETF) von 2013 festgelegt, die OAuth im Jahr 2012 standardisiert hat. In dem Dokument heißt es klar:
As per the core spec, every actual redirect URI sent with the respective "client_id" to the end-user authorization endpoint must match the registered redirect URI. Where it does not match, the authorization server should assume that the inbound GET request has been sent by an attacker and refuse it.”
John Bradley, Vorstandsmitglied der OpenID Foundation beleuchtet Jings Versuch, seine 15 Minuten Ruhm zu erhalten, in seinem Blog unter technischen Aspekten etwas näher und kritisiert zudem die unfundierte Panikmache einiger Presseorgane, die den angeblichen Fund groß aufgezogen hatten. Auch Facebook erhält einen Rüffel, da sie laut Bradley die Spezifikation missachten um Entwicklern die Arbeit zu erleichtern.