Leserfrage: Warum weiß Facebook welche Apps ich nutze?

Per E-Mail erreichte mich eine interessante Frage von einem Leser:

Ich nutze auf Android und meinem iOS-Tablet diverse Apps. Wenn ich mich dann in Facebook einlogge, bekomme ich Werbung und Hinweise. Einmal für die Apps selbst und dann auch noch, dass ich die Apps doch mit Facebook verknüpfen könne. Woher weiß Facebook denn, welche Apps ich nutze, obwohl ich die Apps nicht verknüpft habe? Vielleicht noch als Hinweis: Ich nutze die Facebook-App auf den Geräten.

Im Grunde ist es für Facebook ganz einfach herauszufinden welche Apps ihr installiert habt – jedenfalls unter Android. Mit Hilfe des PackageManagers (Beispielcode) können Android-Apps alle installierten Apps auf dem Gerät auslesen. Sofern sie dann die (Default-)Berechtigung haben, auf das Internet zuzugreifen, können diese Informationen übermittelt werden. Das heißt: Die Facebook-App kann auf Android alle installierten Apps einfach auslesen, übermitteln und auswerten.

Auf iOS war dies bis Version 9 auch möglich, wurde dann allerdings von Apple eingeschränkt. Wie gelingt es Facebook nun auch hier festzustellen, welche Apps ihr installiert habt? Ein möglicher Weg:

Viele Apps beinhalten Facebook-Bibliotheken. Diese werden für die unterschiedlichsten Zwecke benutzt:

  • Anmeldung an Facebook (Vernetzung der App)
  • Einblendung von Werbung
  • Als Schnittstelle zur Authentifizierung via dem Dienst Facebook Account-Kit
  • […]

Immer wenn Entwickler Facebook-Bibliotheken in die App integrieren, bauen diese eine Verbindung zu Facebook auf – ganz gleich, ob man einen Account besitzt oder nicht. Neben der personenbeziehbaren IP-Adresse erfragen und übermitteln diese Bibliotheken aber auch immer den Apple Advertising Identifier (IDFA / IFA) – eine einmalig generierte Werbe-Identifikationsnummer. Das sieht am Beispiel der App Shazam folgendermaßen aus:

POST /network_ads_common/ HTTP/1.1
Host: graph.facebook.com
Content-Type: application/x-www-form-urlencoded
Connection: close
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_1 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A402 [FBAN/AudienceNetworkForiOS;FBDV/iPhone7,2;FBMD/N61AP;FBSN/iOS;FBSV/11.0.1;FBLC/de-DE;FBVS/4.24.0;FBAB/com.shazam.Shazam;FBAV/11.4.2;FBBV/2130]
Content-Length: 657
Accept-Language: de-de
Accept-Encoding: gzip, deflate

BUNDLE=com.shazam.Shazam&DENSITY=2&OS=iOS&COPPA=0&VOLUME=0.4375&APPBUILD=2130&MODEL=iPhone7%2C2&SECURITY_DISABLED=0&CORE_AFP=45e1be9c&HEIGHT=-1&MAKE=Apple&SDK=ios&NETWORK_TYPE=1&PLACEMENT_ID=210827375150_10155315204670151&SDK_VERSION=4.24.0&TEMPLATE_ID=200&SDK_CAPABILITY=%5B3%2C4%2C5%2C7%2C9%2C10%2C12%2C16%2C17%5D&ORIENTATION=1&REQUEST_TIME=1510827524.432281&NUM_ADS_REQUESTED=1&SCREEN_HEIGHT=667&WIDTH=-1&SESSION_ID=249780E7-2748-4CC8-82C9-BF1E36214621&IDFA=19CC9A5C-D3DF-4C62-BD63-8E2756C2D2B5&APPVERS=11.4.2&OSVERS=11.0.1&SESSION_TIME=0.01484489440917969

In diesem Aufruf werden eine Menge an Informationen vom System an Facebook übermittelt. Unter anderem eben auch die IDFA:

IDFA=19CC9A5C-D3DF-4C62-BD63-8E2756C2D2B5

Das Auslesen des Advertising Identifiers genügt Facebook schon, um eine »Verknüpfung« zu eurem Facebook-Account herzustellen – falls ihr ebenfalls die Facebook-App nutzt. Denn die Facebook-App liest ebenfalls die IDFA aus und übermittelt diese an Facebook. Mit Hilfe dieses einmaligen Identifiers kann Facebook nun eine Verknüpfung herstellen, auch ohne dass ihr euch innerhalb der Apps einloggt oder diese mit Facebook vernknüpft.

Es besteht natürlich die Möglichkeit die IDFA zurückzusetzen – das bringt allerdings nur so lange etwas, bis ihr die Facebook-App bzw. andere Apps erneut geladen habt und die neu generierte Nummer wieder ausgelesen / übermittelt wird.

Wenn ihr nicht wollt, dass Facebook über die IDFA eine Verknüpfung herstellt, dann müsst ihr bei iOS über »Einstellungen -> Datenschutz -> Werbung« ein Häkchen bei »Kein Ad-Tracking« setzen. Anschließend wird der folgende IDFA übermittelt:

IDFA=00000000-0000-0000-0000-00000000000

Neben diesen vorgestellten Wegen gibt es sicherlich noch ein paar weitere Varianten, die es Facebook erlaubt festzustellen, welche Apps ihr nutzt. Im Grunde reicht es bei den meisten Personen vermutlich schon aus, die IP-Adresse als Informationen heranzuziehen.

Hilf mit die Spendenziele zu erreichen! Mitmachen ➡