Magic Earth (Android): Datensendeverhalten größtenteils eine Blackbox

Der erste Test der App-Aktionswochen startet mit der Android-App Magic Earth (Version 7.1.21.31.D3AD35DC.48805718). Magic Earth ist eine Navigations-App, die OpenStreetMap als Kartenmaterial nutzt. Das Versprechen der Entwickler:

We do not track you. We do not profile you. We do not trade in your personal data; moreover, we do not have it.

Klingt prima. Ein Kurzcheck soll nun zeigen, ob das Versprechen eingehalten wird. Beginnen wir mit dem Datensendeverhalten von Magic Earth und werfen anschließend auch noch einen Blick in die Datenschutzerklärung.

Vorbemerkung (für technisch Interessierte | Nerds)

Vorab ist festzuhalten, dass die Verbindung zur Adresse/Server pubsub1.ro.m71os.services.generalmagic.com:8883 offenbar mit TLS-Certificate-Pinning abgesichert ist. Kommt eine Verbindung zu dieser Adresse nicht zustande, kann anschließend kein Kartenmaterial heruntergeladen werden. Kurioserweise sieht es dann im Proxy auch so aus, als würde jegliche Verbindung über eine unverschlüsselte HTTP-Verbindung erfolgen. Ein Mitschnitt mit Wireshark widerlegt dies allerdings. Zur Adresse pubsub1.ro.m71os.services.generalmagic.com:8883 wird eine TLS 1.3-Verbindung ausgehandelt. Alle weiteren Adressen mit TLS 1.2 – bis auf eine Ausnahme: Zu maps1- und maps2.ro.m71os.services.generalmagic.com erfolgt ein TLS-Kanal via veralteten TLS-1.0-Cipher-Suiten.

App-Start: Unmittelbar nach dem Start (keine Interaktion des Nutzers)

Unmittelbar nach dem Start der App kontaktiert die App diverse Adressen/Server von Magic Earth:

  • m71os.services.magicearthsdk.com (TLS 1.2)
  • acq2.ro.m71os.services.generalmagic.com (TLS 1.2)
  • pubsub1.ro.m71os.services.generalmagic.com:8883 (TLS 1.3)
  • overlays1.ro.m71os.services.generalmagic.com (TLS 1.2)
  • content2.ro.m71os.services.generalmagic.com (TLS 1.2)
  • maps2.ro.m71os.services.generalmagic.com (TLS 1.0)
  • acq1.ro.m71os.services.generalmagic.com (TLS 1.2)

Nachfolgend drei Beispiele dieser Aufrufe.

[1] Verbindung zu [content2.ro.m71os.services.generalmagic.com]:

POST /res_upd7/16 HTTP/1.1
Host: content2.ro.m71os.services.generalmagic.com
Accept: */*
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Authorization: 8317809068FE964A2980177CD49ADCEDD296AEB1D9F2B7003F692E91AA10B0EA
Referer: 48805718
Content-Length: 2251
Connection: close

Data\Res\water.stx 6e55ba8eb4e7e750b6350355fa85a2a6
Data\Res\project.xml 7e2c160e624f3bb981dd2b919515da0d
Data\Res\links.stx 646243a8db8d5f42e6e47522834271b
[...]

Bei diesem Aufruf werden diverse Konfigurationsfiles heruntergeladen bzw. angefordert.

[2] Verbindung zu [acq2.ro.m71os.services.generalmagic.com]:

POST /acq_up7 HTTP/1.1Host: acq2.ro.m71os.services.generalmagic.comAccept: */*Accept-Encoding: gzip, deflateContent-Type: meReferer: 48805718Content-Length: 2837Connection: close

CrashDump 48805718
[... Verschlüsselt ...]

Bei der Übermittlung wird mit einer zusätzlichen Verschlüsselung und/oder Codierung gearbeitet. Bedeutet: Vor der Übermittlung werden die Daten mit einem Verschlüsselungsalgorithmus/Codierung unleserlich gemacht und erst dann übermittelt. Es ist daher unklar, was Magic Earth genau überträgt. Da die Übermittlung mit CrashDump beginnt, handelt es sich vermutlich um einen Absturzbericht.

[3] Verbindung zu [pubsub1.ro.m71os.services.generalmagic.com:8883]:

Die Verbindung zu pubsub1.ro.m71os.services.generalmagic.com:8883 erfolgt über das MQTT-Protokoll. Diese Verbindung wirkt auf mich wie ein Kommunikationskanal, über den wohl auch Nachrichten empfangen werden können. Bei der ersten Übertragung wird Folgendes übermittelt:

-O-MQTT---<-$87587681-12CC-404A-B56c-2EEC8B524804--gemUser-8R-MfPoXHPtNIxh7C__q

Bei der Zeichenfolge 87587681-12CC-404A-B56c-2EEC8B524804 handelt es sich um die ID des Geräts, die über Einstellungen -> Support -> Über eingesehen werden kann.

Während der Nutzung

Hinweis

Grundsätzlich lässt sich wenig aus den übermittelten Daten/Paketen herauslesen, da nahezu alle Übertragungen zusätzlich verschlüsselt/codiert sind.

Stößt man innerhalb Magic Earth eine Suche an, dann löst das diverse Verbindungen aus. Unter anderem zu [rsos1.ro.m71os.services.generalmagic.com]:

POST /search_maps7 HTTP/1.1
Host: rsos1.ro.m71os.services.generalmagic.com
Accept: */*
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Authorization: 8317809068FE964A2980177CD49ADCEDD296AEB1D9F2B7003F692E91AA10B0EA
Referer: 48805718
Content-Length: 126
Connection: close

Karlsruhe
[Verschlüsselt]

Abgesehen vom Ort der gesucht wird, sind weitere Übermittlungen wiederum nicht lesbar bzw. zusätzlich verschlüsselt/codiert.

Eine Such nach einem Ort löst auch gleichzeitig eine Verbindung zu Wikipedia aus [de.wikipedia.org]:

GET /w/api.php?action=query&prop=langlinks&lllimit=max&llprop=url&format=json&formatversion=2&redirects&titles=Karlsruhe HTTP/1.1
Host: de.wikipedia.org
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Linux; Android 11.0.0; Xiaomi/Mi A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.134
Authorization: 8317809068FE964A2980177CD49ADCEDD296AEB1D9F2B7003F692E91AA10B0EA
Referer: 48805718
Connection: close

Datenschutzerklärung

Die über den Google PlayStore verlinkte Datenschutzerklärung liegt ausschließlich in englischer Sprache vor. In einer PDF-Liste wird detailliert aufgelistet, welche Informationen verarbeitet und gespeichert werden. Aufgrund der verschlüsselten/codierten Datenübermittlungen lässt sich leider nicht einschätzen, ob das korrekt ist. Unter anderem werden die Informationen zu folgenden Zwecken erhoben bzw. verarbeitet:

  • Zur Serviceerbringung
  • Zur Verbesserung von Magic Earth
  • Zur Kommunikation mit dem Nutzer
  • Aus rechtliche Gründen

Mit Drittanbietern und Marketing-Unternehmen arbeitet Magic Earth laut eigener Aussage nicht zusammen. Allerdings können die erhobenen Daten mit

  • members of our group
  • subsidiaries
  • branch offices

geteilt werden. Weiterhin werden die Daten wohl auch »anonym« ausgewertet – vermutlich unter anderem zur Traffic-Analyse:

To create anonymous data (where such data does not enable the identification of a specific user).

Insgesamt wirkt die Datenschutzerklärung relativ transparent und man ist offenbar bemüht die Daten der Nutzer zu anonymisieren bzw. erst gar nicht zu erheben/speichern.

Fazit

Aufgrund der verschlüsselten/codierten Datenübermittlung lässt sich leider nicht abschließend einschätzen, ob das Versprechen der Entwickler/Verantwortlichen tatsächlich gilt. Drittanbieter hat Magic Earth jedenfalls keine integriert. Der gesamte Datenverkehr fließt ausschließlich zwischen der App und Servern von Magic Earth. Am Ende kann ich sagen: Magic Earth ist eine Blackbox – es bleibt schlichtweg unklar, ob die App so datenschutzfreundlich ist, wie beworben.

Wer Lust, Zeit und die Fähigkeiten hat mit Frida und Objection etwas tiefer einzusteigen, der kann ja mal versuchen die Verschlüsselung/Codierung auszuhebeln. Mir persönlich ist das zu zeitaufwändig und außerhalb des Fokus meines Kurzchecks bzw. der App-Aktionswochen.

Du kannst den Blog aktiv unterstützen! Mitmachen ➡