Facebook: Token-Klau erlaubt Zugriff auf Nutzerkonten

Nir Goldshlager experimentierte mit dem Klau von Tokens des OAuth-Verfahrens und entdeckte, dass die Facebook-Messenger-App für jeden Facebook-Account gefährlich sein kann.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 2 Min.

Ein Hacker hat eine Lücke in Facebooks OAuth-Verfahren entdeckt, die ihm den Zugriff auf sämtliche Nutzerkonten und deren gesamte Inhalte erlaubt. Um die Lücke auszunutzen, müssen Facebook-Nutzer nicht einmal eine App oder anderen Dienst zu ihrem Konto hinzugefügt haben – ein Vorgang bei dem OAuth eigentlich erst eingesetzt wird.

Indem Nir Goldshlager ein wenig herumprobierte, entdeckte er, dass er Facebooknutzer mit einer Weiterleitung – über eine primitive selbst entwickelte Facebook-App – auf seine Webseiten locken kann, um dort Tokens des OAuth-Verfahrens zu stehlen. Das OAuth-Verfahren wird genutzt, um die Authentifizierung von Apps und anderen Diensten gegenüber einer Anwendung zu vereinfachen; hierfür werden Tokens eingesetzt. Sie werden erstellt, wenn Facebook mit einer App wie etwa Diamond Dash verbunden wird und gelöscht, wenn der Nutzer die App entfernt.

Über die geklauten Tokens konnte Goldshlager zumindest einen begrenzten Zugriff auf Facebook-Konten erhalten, denn die meisten Apps dürfen nur auf einen Teil des Facebook-Kontos zugreifen. Goldshlager fragte sich aber, ob es ihm nicht auch gelingen könnte, einen unbegrenzten Zugriff auf alle Daten eines Kontos zu erhalten. Er wurde fündig.

Die Berechtigungen für die Messenger-App sind in Facebook integriert und können nicht von Nutzern entfernt werden. Und obwohl die App fest integriert ist, wird auch für sie OAuth eingesetzt. Der dazugehörige Token ist so lange gültig, bis der Nutzer sein Facebook-Passwort ändert. Goldshlager erarbeitete auch hierfür eine Weiterleitung und griff den Token ab. Mit diesem Schlüssel konnte er auf alle Funktionen eines betroffenen Kontos zugreifen.

Der Hacker erkannte, welches Potential diese Sicherheitslücke hat und meldete sie direkt an Facebook. Ein Teil der Lücke soll demnach bereits geschlossen worden sein. Das soziale Netzwerk bedankte sich bei dem Hacker und zahlte ihm eine Belohnung für das Melden der Schwachstelle. Wie einige andere Unternehmen unterhält auch Facebook ein Bug-Bounty Programm. (kbe)