„Why you shouldn’t share links on Facebook“ titelt Inti De Ceukelaire in seinem Blogpost zum Thema „Links im Facebook Messenger“. Inti De Ceukelaire sucht nach Fehlern in Systemen und das schon seit 1995 (oder wie er es selbst formuliert: „Breaking stuff since 1995“). Nun ist er auf etwas gestossen, was er als Fehler, Facebook jedoch als Feature bezeichnet. Beides kann zutreffend sein, es ist wie so oft nur eine Frage des Standpunktes.
Es dreht sich hierbei darum, wie Facebook mit Links umgeht. Wenn jemand einen Link zum ersten Mal auf Facebook postet, dann besucht der Crawler von Facebook diesen Link und holt sich die Informationen dazu: Vorschaubild, Beschreibungstext usw. – eben alle Daten, die dazu gehören und die teilweise ja auch mit viel Aufwand von Seitenbetreibern optimiert werden. Diese Informationen schreibt Facebook dann in seine Datenbank und wenn der Link weitere Male gepostet wird, dann werden einfach nur die Daten aus der Datenbank geholt. Soweit, so praktisch.
Das Problem beginnt hier: Facebook behandelt an dieser Stelle per Messenger geteilte Links wie jeden anderen über Facebook veröffentlichten Link. Die ganzen Link-Informationen landen in der selben Datenbank. Das alleine wäre noch nicht schlimm, würde Facebook Entwicklern nicht Zugriff auf diese Datenbank geben. Zwar ist dieser Zugriff eingeschränkt und als Entwickler sollte man auch nur auf Inhalte Zugriff haben, auf die man auch über die Facebook-Oberfläche zugreifen kann, aber bei Links wird das mit dem Zugriffsschutz nicht ganz so eng genommen zu werden. Wenn der Link in der Datenbank steht, dann kann jeder über die Objekt-ID die Adresse zu diesem Link abfragen. Wenn man nun ein Skript schreibt, dass einfach mal anfängt Objekt-IDs darauf zu prüfen, ob es sich um einen Link handelt und diese Adressen dann sammelt, dann kann man auf diesem Weg also auch an Links kommen, die gar nicht öffentlich geteilt wurden, sondern nur im Messenger weitergegeben wurden.

Facebook stellt sich nun auf den Standpunkt, dass es ein Feature wäre und kein Bug und man würde erkennen, wenn jemand in größerem Umfang URLs abgreifen würde. Dieser Meinung kann man natürlich sein, aber man muss sie nicht teilen. Inti De Ceukelaire teilt diese Meinung nicht, er sieht in diesem Umgang einen Bug und ich bin durchaus geneigt, ihm da zuzustimmen. Aber ändern könnte dieses Vorgehen nur Facebook, d.h. es ist nicht mit einer Änderung zu rechnen, so lange man das dort als Feature und nicht als Bug sieht. Und auch die Zusicherung, man würde Missbrauch erkennen und unterbinden kann nicht wirklich beruhigen – wer weiß, wie viele private Adressen jemand abgreift, bevor die Alarmglocken bei Facebook schrillen? Vor allem, da Wege bekannt sind, die Mechanismen zu umgehen, mit denen Facebook „exzessiven Gebrauch“ der API verhindert: Man verwendet mehrere Access Tokens, verteilt sich virtuell auf verschiedene Standorte per VPN oder man hat eben einfach Geduld.

Immerhin findet man auf dem Weg ja nicht nur Links, sondern auch andere interessante Informationen:
In this small set of extracted URL’s, I’ve already found some interesting info:
- Names: Heather, Jenny, Paula, Yollanda, Bernardo, …
- Location or language
- Attachments or pictures from the FB CDN: direct link that sometimes allow access bypassing privacy restrictions
- Application or game data: some parameters are friend_level, friend_chips, user_name, group, steal_amount, …
- Secret links or hidden keys: such as the editable Google Drive links or links to hidden pages, websites and beta environments
Jetzt müssen wir uns nicht mehr darüber unterhalten, dass Informationen, die man bei Facebook oder anderen Netzwerken postet eben im Zweifel öffentlich werden können, egal welche Einstellungen man für die Sichtbarkeit wählt. Alter Hut, daran sollte jeder denken. Was aber in Anbetracht der in diesem Beispiel gefundenen Adressen zu bedenken ist: Der Facebook Messenger ist ein Teil von Facebook und die dort ausgetauschten Nachrichten sind technisch auch nur eine spezielle Art von Postings. Auf diesem Weg geteilte Links können auch öffentlich werden. Wer sich früher schon mit der Facebook API beschäftigt hat oder einfach in Sachen Schutz der eigenen Daten etwas intensiver nachdenkt und -forscht, den wird das jetzt nicht überraschen. Einige von diesen Menschen werden das jetzt nur als einen weiteren Beleg für die Gefahr durch die „Datenkrake Facebook“ sehen. Aber es gibt ganz offensichtlich immer noch Menschen, die glauben, dass Chats via Facebook Messenger wirklich privat wären. Nö, sind sie im Zweifel nicht. Und übrigens: Es gibt auch keine Cloud, sondern nur anderer Leute Computer…
Ich erinnere mich gerade an verschiedene Links, die ich auf dem Weg so bekommen habe (zum Beispiel zu Vorab-Versionen kommender Alben, die erwähnten Google Docs, Testseiten…), die dann gerne von einem Satz wie „Aber nicht weitergeben, ist nur für dich“ begleitet wurden. Nächstes Mal habe ich die passende Antwort: „Muss ich nicht weitergeben, hast du schon gemacht…“ ;)