LastPass Android: Drittanbieter überwachen jeden Schritt

LastPass ist ein weit verbreiteter Passwort-Manager. Allein im Google Play Store verzeichnet die App über 10 Millionen Installationen. Mit Exodus Privacy habe ich kurz geprüft, ob die App bekannte Tracker-Signaturen beinhaltet. Insgesamt wurden sieben Tracker aufgespürt:

  • AppsFlyer
  • Google Analytics
  • Google CrashLytics
  • Google Firebase Analytics
  • Google Tag Manager
  • MixPanel
  • Segment

Für eine App, die äußerst sensible Daten (Passwörter) verarbeitet, ist das schlichtweg ein Armutszeugnis. Werbe- und Analytik-Module haben darin schlichtweg nichts verloren – es ist vollkommen indiskutabel, diese in Passwort-Manager-Apps zu integrieren. Oder allgemein formuliert: In Apps, in denen sensible Daten verarbeitet werden, darf kein proprietärer und intransparenter Fremdcode integriert werden. Welche Daten diese Module sammeln und an die Drittanbieter übermitteln, das wissen teilweise nicht einmal die App-Entwickler selbst, die diese Module in ihre Apps integrieren.

Auch wenn das Ergebnis von Exodus Privacy eine Vorahnung zulässt, ist erst eine Analyse des Netzwerkverkehrs wirklich aussagekräftig. Mit Exodus Privacy können wir nur sagen: Ja, entsprechender Tracking-Code bzw. der Tracker ist vorhanden. Ob dieser allerdings aktiv trackt, darüber lässt sich mit Exodus Privacy keine Aussage treffen – dazu muss die App manuell geprüft werden.

Nachfolgend habe ich dies mit der Android-Version von LastPass (Version 4.11.18.6150) getan. Die Ergebnisse sind auf relevante Ereignisse gekürzt.

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

[1] Unmittelbar nach dem Start der App kontaktiert diese nahezu alle Tracking-Anbieter, die Exodus Privacy bei seiner Analyse entdeckt hat:

  • Google Firebase Analytics (firebaseinstallations.googleapis.com)
  • Segment (cdn-settings.segment.com)
  • Google CrashLytics (firebase-settings.crashlytics.com)
  • AppsFlyer (inapps.appsflyer.com)
  • Mixpanel (api.mixpanel.com)
  • Google Analytics (ssl.google-analytics.com)

Beim Tracker-Bingo würde wohl jetzt jemand rufen:

B-I-N-G-O!

Der Nutzer wird erst gar nicht gefragt, ob er mit der Datenübermittlung an die Drittanbieter einverstanden ist.

[2] Greifen wir uns doch mal Mixpanel heraus und prüfen, was übermittelt wird [api.mixpanel.com]:

POST /track?ip=1 HTTP/1.1Content-Length: 4485Content-Type: application/x-www-form-urlencodedUser-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)Host: api.mixpanel.comConnection: closeAccept-Encoding: gzip, deflate

data=W3siZXZlbnQiOiJPbmJvYXJkaW5nIFJlbWluZGVyIFNldCIsInByb3BlcnRpZXMiOnsibXBfbGliIjoiYW5kcm9pZCIsIiRsaWJfdmVyc2lvbiI6IjUuOC41IiwiJG9zIjoiQW5kcm9pZCIsIiRvc192ZXJzaW9uIjoiMTAiLCIkbWFudWZhY3R1cmVyIjoiWGlhb21pIiwiJGJyYW5kIjoiWGlhb21pIiwiJG1vZGVsIjoiTWkgQTEiLCIkZ29vZ2xlX3BsYXlfc2VydmljZXMiOiJhdmFpbGFibGUiLCIkc2NyZWVuX2RwaSI6NDgwLCIkc2NyZWVuX2hlaWdodCI6MTkyMCwiJHNjcmVlbl93aWR0aCI6MTA4MCwiJGFwcF92ZXJzaW9uIjoiNC4xMS4xOC42MTUwIiwiJGFwcF92ZXJzaW9uX3N0cmluZyI6IjQuMTEuMTguNjE1MCIsIiRhcHBfcmVsZWFzZSI6NDExMTg2MTUwLCIkYXBwX2J1aWxkX251bWJlciI6NDExMTg2MTUwLCIkaGFzX25mYyI6ZmFsc2UsIiRoYXNfdGVsZXBob25lIjp0cnVlLCIkd2lmaSI6dHJ1ZSwiJGJsdWV0b290aF92ZXJzaW9uIjoiYmxlIiwidG9rZW4iOiJiZGJkODJmMTk5MWFjNzc1ZDUzOTUzOWFhMmI0OTgzMyIsInJlZmVycmVyIjoidXRtX3NvdXJjZT1nb29nbGUtcGxheSZ1dG1fbWVkaXVtPW9yZ2FuaWMiLCJ1dG1fbWVkaXVtIjoib3JnYW5pYyIsInV0bV9zb3VyY2UiOiJnb29nbGUtcGxheSIsInR[...]

Entwirren wird diesen Kauderwelsch einmal, indem wir zunächst die Base64-Codierung umwandeln und dann ein paar Datenpunkte herausgreifen:

  • „$os“:“Android“
  • „$os_version“:“10″
  • „$manufacturer“:“Xiaomi“
  • „$model“:“Mi A1″
  • „$google_play_services“:“available“
  • „$screen_height“:1920
  • „$screen_width“:1080″
  • „$app_version“:“4.11.18.6150″
  • „$has_telephone“:true“
  • „$wifi“:true
  • „$bluetooth_version“:“ble“
  • „token“:“bdbd82f1991ac775d539539aa2b49833″
  • „referrer“:“utm_source=google-play&utm_medium=organic“
  • „utm_source“:“google-play“
  • „$device_id“:“147666a8-772a-4221-b040-52ec4be06d88″
  • „Account Type“:“Free“
  • „Family User Type“:“None“
  • „Biometrics Enabled“:“false“
  • „Android Autofill Enabled“:“false“
  • […]

Unter anderem wird also die Android-Version ermittelt, welches Gerät der Nutzer verwendet, ob es sich dabei um ein Telefon handelt und aus welcher Quelle die App installiert wurde. Aber auch Informationen zum Vertragsverhältnis werden übermittelt (Account Type „Free“ / Family User Type „None) und ebenfalls, ob der biometrische Schutz (Fingerprint) aktiviert wurde.

[3] An den Anbieter AppsFlyer werden unter anderem folgende Informationen übermittelt [api.appsflyer.com]:

POST /api/v4.11/androidevent?buildnumber=4.11.0&app_id=com.lastpass.lpandroid HTTP/1.1Content-Type: application/jsonUser-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)Host: register.appsflyer.comConnection: closeAccept-Encoding: gzip, deflateContent-Length: 557

{"devkey":"7pPRYvqvm7DTP2V49nbUxn",
"operator":"PureMobile",
"network":"WIFI",
"advertiserId":"d57fa49c-45a8-4a60-8b53-2aad7bde9a73",
"app_name":"LastPass",
"uid":"1613724246370-4468121246610497154",
"carrier":"",
"app_version_code":"411186150",
"installDate":"2021-02-20_084000+0000",
"af_gcm_token":"cvZsfEnDSfGbhmmhaAUSsJ:APA91bFgBSn5KO9SwL9XzBn1u5PUvw4aQlPgWeG3iuk5sOF810ID9izXhWsDVO0B_qjvsJxElC7JZTNcl3ZUgMXmOPGGDh5-k9Cvkh5SvU59jnY0Aty9QNzCjwrpQvkR5KKRq-G2y94h",
"launch_counter":"0",
"model":"Mi A1",
"sdk":"29",
"app_version_name":"4.11.18.6150",
"brand":"Xiaomi"}

Unter den Informationen ist die Google Advertising-ID eures Geräts, Informationen zu eurem mobilen Serviceprovider (operator „PureMobile“) und offenbar auch eine einmalig generierte UID.

Registrierungsvorgang: Neues Konto erstellen

[4] Zu Testzwecken registriere ich ein neues Konto über die LastPass-App. Der Vorgang wird ebenfalls von den Tracking-Bibliotheken wie Segment [api.segment.io] begleitet:

POST /v1/import HTTP/1.1Content-Type: application/jsonAuthorization: Basic MWd2WWRHaGxkVnczdlZ3RGxVNjlvdVlKQWtDRDlnUDI6User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)Host: api.segment.ioConnection: closeAccept-Encoding: gzip, deflateContent-Length: 1236

{"batch":[{"channel":"mobile","type":"track","messageId":"4d1790ec-165f-4651-93e4-82f57dc8e870","timestamp":"2021-02-20T09:34:31.731Z","context":{"app":{"build":411186150,"name":"LastPass","namespace":"com.lastpass.lpandroid","version":"4.11.18.6150"},"traits":{"anonymousId":"af2388a2-2333-484c-a521-fb7e38355754"},"library":{"name":"analytics-android","version":"4.3.1"},"os":{"name":"Android","version":"10"},"timezone":"Europe/Berlin","ip":"95.208.235.0","screen":{"density":3.0,"width":1080,"height":1920},"userAgent":"Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)","locale":"de_DE","device":{"id":"bbc3120e2d955993","manufacturer":"Xiaomi","model":"Mi A1","name":"tissot","advertisingId":"d57fa49c-45a8-4a60-8b53-2aad7bde9a73","adTrackingEnabled":true},"network":{"wifi":true,"carrier":"","bluetooth":false,"cellular":false}},"integrations":{"AppsFlyer":false,"Mixpanel":false},"anonymousId":"af2388a2-2333-484c-a521-fb7e38355754","event":"Onboarding Password","properties":{"method":"android","lpversion":"4.11.18.6150","Account Type":"Free","Family User Type":"None","Settings":{"mobile_language":"de_DE","Biometrics Enabled":"false","Android Autofill Enabled":"false"}}}],"sentAt":"2021-02-20T09:34:47.749Z"}

Während der Nutzung

Auch während der Nutzung wird das App-Tracking fröhlich fortgesetzt. Zur Erinnerung: In Passwort-Managern werden (äußerst) sensible Informationen wie Zugangsdaten, Notizen, Bankkonten etc. hinterlegt. Und auch wenn die Tracker keine Inhaltsdaten erhalten, so verfolgen sie den Nutzer auf Schritt und Tritt bei der Nutzung von LastPass inkl. der Übermittlung von Metadaten wie:

  • Erstellung eines neuen Eintrags vom Typ Passwort, Adresse, Bankkonto inkl. Zeitpunkt und weiteren Metadaten
  • Übermittlung des jeweiligen LastPass-Vertragsverhältnisses (Premium_Trial, kein Family-Account etc.)
  • Unterschiedliche User-IDs, die eine nahtlose Verfolgung bzw. Verknüpfung der Nutzer-Aktionen sicherstellen sollen – auch die Google Advertising-ID
  • Diverse Daten zum Gerät wie Modell, Bildschirmauflösung, IP-Adresse, Zeitzone und Informationen darüber, ob Ad-Tracking erlaubt / nicht erlaubt ist
  • In welcher View (Ansicht) sich ein Nutzer gerade befindet
  • […]

Wer also bei der Nutzung seines Passwort-Managers ständig von Drittanbietern überwacht werden möchte, der ist bei LastPass genau richtig.

Datenschutzerklärung

Die über den Google PlayStore verlinkte Datenschutzerklärung nennt als Drittanbieter bzw. Partner lediglich Google Analytics. Zu allen weiteren Trackern fehlt jeglicher Hinweis. Insgesamt gewinnt man den Eindruck, dass die Datenschutzerklärung sehr allgemein gehalten ist und nur unzureichend darüber aufklärt, mit welchen Drittanbietern das Unternehmen hinter LastPass (LogMeIn, Inc.) zusammenarbeitet. Aus meiner Sicht ist die Datenschutzerklärung unvollständig.

Übrigens: Innerhalb der App habe ich keine Möglichkeit gefunden, dem Tracking zu widersprechen bzw. ein Opt-Out vorzunehmen. Entweder man nutzt die App und ist mit dem Tracking einverstanden, oder man muss sie deinstallieren.

Fazit

In der aktuell vorliegenden App-Version dürfte LastPass nicht nur gegen die DSGVO verstoßen, sondern auch hinsichtlich der Sicherheit ist das Vorgehen des Anbieters äußerst fraglich. Die Integration von proprietären und intransparenten Fremdcode ist nicht gerade ein Indiz dafür, dass Sicherheit bei der LogMeIn, Inc. einen hohen Stellenwert einnimmt. Ein kurze Recherche untermauert meine These:

Wer tatsächlich LastPass nutzt, dem empfehle ich den Passwort-Manager zu wechseln. Es gibt Lösungen, die nicht dauerhaft Daten an Drittanbieter versenden und das Nutzerverhalten aufzeichnen. Werft einfach einen Blick in die Empfehlungsecke unter der Rubrik Passwort-Manager.

Hilf mit die Spendenziele zu erreichen! Mitmachen ➡