Avira Security Antivirus & VPN: Tracking ohne Zustimmung

Das vorliegende Android-Review befasst sich mit der Android-App Avira Security Antivirus & VPN (Version 7.9.1). Die App wird von der Avira Operations GmbH & Co. KG angeboten und bietet laut dem Hersteller den

ultimativen Virenschutz.

Ein Kurzcheck soll nun eine Einschätzung darüber geben, wie datenschutzfreundlich die Android-App Avira Security Antivirus & VPN ist – gerade im sicherheitskritischen Umfeld ist dies eine entscheidende Frage. Dazu wird zunächst das Datensendeverhalten der App analysiert und anschließend ein Blick in die Datenschutzerklärung geworfen.

Nachfolgend ist das Datensendeverhalten der Android-Version dargestellt.

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

[1] Unmittelbar nach dem Start der App wird eine Verbindung zu Google Firebase Installations initiiert [firebaseinstallations.googleapis.com]:

POST /v1/projects/second-kite-739/installations HTTP/1.1
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
X-Android-Package: com.avira.android
x-firebase-client: kotlin/1.4.21 fire-rc/20.0.4 device-model/tissot android-target-sdk/30 android-min-sdk/23 fire-core-ktx/19.5.0 device-name/lineage_tissot fire-android/29 fire-cls/17.4.1 fire-core/19.5.0 android-installer/com.android.vending fire-iid/21.1.0 fire-fcm/20.1.7_1p android-platform/ fire-abt/20.0.0 fire-installations/16.3.5 device-brand/Xiaomi fire-analytics-ktx/18.0.3 fire-analytics/18.0.3
x-firebase-client-log-type: 3
X-Android-Cert: 1B3C8B566D5B80541C75144A9BB16057B71DCB9D
x-goog-api-key: AIzaSyBZ6QLjpsgYgDSLWh-L9Ohz7_PY1cJeJvk
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: firebaseinstallations.googleapis.com
Connection: close
Accept-Encoding: gzip, deflate
Content-Length: 129

{"fid":"dO6cWgJDQmGtEVkzhDfPNX","appId":"1:991155676529:android:4fe3b399be57754f","authVersion":"FIS_v2","sdkVersion":"a:16.3.5"}

[2] Danach erfolgt eine Verbindung zu Mixpanel, einem bekannten Tracking-Anbieter aus den USA [decide.mixpanel.com]:

GET /decide?version=1&lib=android&token=12dc93200173c019dbc2e60f29e3a116&distinct_id=de61f200-e2da-4f70-965d-809040abc27e&properties=%7B%22%24android_lib_version%22%3A%225.4.2%22%2C%22%24android_app_version%22%3A%227.9.1%22%2C%22%24android_version%22%3A%2210%22%2C%22%24android_app_release%22%3A4924%2C%22%24android_device_model%22%3A%22Mi+A1%22%7D HTTP/1.1
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: decide.mixpanel.com
Connection: close
Accept-Encoding: gzip, deflate

[3] Danach erfolgen diverse Verbindungen zu Avira [api.my.avira.com]:

POST /v2/devices HTTP/1.1
Host: api.my.avira.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0aWQiOiJkOTNlMTAzOTA4YTkxOGUxNjUyZGEzMDA2NmUyNzgzYzdhNTU1MjVlIiwiY2lkIjoiYW5kcm9pZF9zZWN1cml0eSIsInNjb3BlIjoibWU6R0VULHVzZXJzOlBPU1QsZGV2aWNlczpQT1NUIiwiY2F0IjoxNjM4MTc0MDE3Ljg3NjQxOH0.rZx73tmru32fqRxOa53BUHA6EbATlKvIbchKKukQlLI
Accept: application/json
Content: application/json
Content-Type: application/json; charset=UTF-8
Content-Length: 348
Accept-Encoding: gzip, deflate
User-Agent: okhttp/4.7.2
Connection: close

{
   "data":{
      "relationships":{
         "partner":{
            "data":{
               "type":"partners",
               "id":"avira"
            }
         }
      },
      "attributes":{
         "brand":"Xiaomi",
         "hardware_id":"4bbb026fc707849c20d5f42fb8ca1fc317c081ea",
         "os":"android",
         "model":"Mi A1",
         "country":"DE",
         "type":"phone",
         "hidden":false,"os_version":"10",
         "agent_version":"7.9.1.4924",
         "agent_language":"de",
         "os_type":"mobile",
         "locked":false
      }
   }
}

[4] Weiter geht es dann erneut mit einem Verbindungsaufbau zu Google Crashlytics [firebase-settings.crashlytics.com]:

GET /spi/v2/platforms/android/apps/com.avira.android/settings?instance=52a1a692bf58e9ae69cd3acc76848a3ceabcaefc&build_version=4924&display_version=7.9.1&source=4&icon_hash=075508d12e53c6bc50db63d2e7cb001e6466249f HTTP/1.1
User-Agent: Crashlytics Android SDK/1.4.8.32
X-CRASHLYTICS-DEVELOPER-TOKEN: 470fa2b4ae81cd56ecbcda9735803434cec591fa
X-CRASHLYTICS-API-KEY: 546daf490f1f351e7b3e966811f730800bcac2fb
X-CRASHLYTICS-API-CLIENT-TYPE: android
X-CRASHLYTICS-API-CLIENT-VERSION: 1.4.8.32
Accept: application/json
X-CRASHLYTICS-DEVICE-MODEL: Xiaomi/Mi A1
X-CRASHLYTICS-OS-BUILD-VERSION: 10036836
X-CRASHLYTICS-OS-DISPLAY-VERSION: 10
X-CRASHLYTICS-INSTALLATION-ID: a9eab84cb016496f9bb2dd25c330ab82
Host: settings.crashlytics.com
Connection: close
Accept-Encoding: gzip, deflate

[5] Die App registriert sich für den Empfang von Push-Nachrichten am Firebase-Cloud-Messaging-Dienst von Google [android.clients.google.com]:

POST /c2dm/register3 HTTP/1.1
Authorization: AidLogin 3868886209058190204:2966639822192392558
app: com.avira.android
gcm_ver: 214218039
User-Agent: Android-GCM/1.5 (tissot QQ3A.200805.001)
Content-Length: 1243
content-type: application/x-www-form-urlencoded
Host: android.clients.google.com
Connection: close
Accept-Encoding: gzip, deflate

X-subtype=991155676529&sender=991155676529&X-app_ver=4924&X-osv=29&X-cliv=fiid-21.1.0&X-gmsv=214218039&X-appid=dO6cWgJDQmGtEVkzhDfPNX&X-scope=*&X-Goog-Firebase-Installations-Auth=eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjE6OTkxMTU1Njc2NTI5OmFuZHJvaWQ6NGZlM2IzOTliZTU3NzU0ZiIsImV4cCI6MTYzODc3ODgxNywiZmlkIjoiZE82Y1dnSkRRbUd0RVZremhEZlBOWCIsInByb2plY3ROdW1iZXIiOjk5MTE1NTY3NjUyOX0.AB2LPV8wRQIgHSvYm0GJZukb54tb-bVvj7woqQ-FbW2uPl0q4JWbgooCIQDgXdGm3G2f82RR89D3I0XnO-mYEqjjCx6M_HxlZhnZJA&X-gmp_app_id=1%3A991155676529%3Aandroid%3A4fe3b399be57754f&X-Firebase-Client=kotlin%2F1.4.21+fire-rc%2F20.0.4+device-model%2Ftissot+android-target-sdk%2F30+android-min-sdk%2F23+fire-core-ktx%2F19.5.0+device-name%2Flineage_tissot+fire-android%2F29+fire-cls%2F17.4.1+fire-core%2F19.5.0+android-installer%2Fcom.android.vending+fire-iid%2F21.1.0+fire-fcm%2F20.1.7_1p+android-platform%2F+fire-abt%2F20.0.0+fire-installations%2F16.3.5+device-brand%2FXiaomi+fire-analytics-ktx%2F18.0.3+fire-analytics%2F18.0.3&X-firebase-app-name-hash=R1dAH9Ui7M-ynoznwBdw01tLxhI&X-Firebase-Client-Log-Type=1&X-app_ver_name=7.9.1&app=com.avira.android&device=3868886209058190204&app_ver=4924&gcm_ver=214218039&plat=0&cert=1b3c8b566d5b80541c75144a9bb16057b71dcb9d&target_ver=30

[6] Aufgrund der Verzahnung mit Google Firebase sind einige Verbindungen bzw. Datenübermittlungen zu Google möglich. Hier zum Dienst Firebase Remote Config [firebaseremoteconfig.googleapis.com]:

POST /v1/projects/991155676529/namespaces/firebase:fetch HTTP/1.1
X-Goog-Api-Key: AIzaSyBZ6QLjpsgYgDSLWh-L9Ohz7_PY1cJeJvk
X-Android-Package: com.avira.android
X-Android-Cert: 1B3C8B566D5B80541C75144A9BB16057B71DCB9D
X-Google-GFE-Can-Retry: yes
X-Goog-Firebase-Installations-Auth: eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjE6OTkxMTU1Njc2NTI5OmFuZHJvaWQ6NGZlM2IzOTliZTU3NzU0ZiIsImV4cCI6MTYzODc3ODgxNywiZmlkIjoiZE82Y1dnSkRRbUd0RVZremhEZlBOWCIsInByb2plY3ROdW1iZXIiOjk5MTE1NTY3NjUyOX0.AB2LPV8wRQIgHSvYm0GJZukb54tb-bVvj7woqQ-FbW2uPl0q4JWbgooCIQDgXdGm3G2f82RR89D3I0XnO-mYEqjjCx6M_HxlZhnZJA
Content-Type: application/json
Accept: application/json
Content-Length: 725
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: firebaseremoteconfig.googleapis.com
Connection: close
Accept-Encoding: gzip, deflate

{"appInstanceId":"dO6cWgJDQmGtEVkzhDfPNX","appVersion":"7.9.1","countryCode":"DE","analyticsUserProperties":{"device_locale":"de","licenseType":"free","logged_in":"false","userIsPro":"false"},"appId":"1:991155676529:android:4fe3b399be57754f","platformVersion":"29","timeZone":"Europe\/Berlin","sdkVersion":"20.0.4","packageName":"com.avira.android","appInstanceIdToken":"eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjE6OTkxMTU1Njc2NTI5OmFuZHJvaWQ6NGZlM2IzOTliZTU3NzU0ZiIsImV4cCI6MTYzODc3ODgxNywiZmlkIjoiZE82Y1dnSkRRbUd0RVZremhEZlBOWCIsInByb2plY3ROdW1iZXIiOjk5MTE1NTY3NjUyOX0.AB2LPV8wRQIgHSvYm0GJZukb54tb-bVvj7woqQ-FbW2uPl0q4JWbgooCIQDgXdGm3G2f82RR89D3I0XnO-mYEqjjCx6M_HxlZhnZJA","languageCode":"de-DE","appBuild":"4924"}

[7] Weiter geht es dann mit Datenübermittlungen an Mixpanel, einem bekannten Tracking-Anbieter aus den USA [decide.mixpanel.com]:

POST /track?ip=1 HTTP/1.1
Content-Length: 1099
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: api.mixpanel.com
Connection: close
Accept-Encoding: gzip, deflate

data=W3siZXZlbnQiOiJJbnN0YWxsIiwicHJvcGVydGllcyI6eyJtcF9saWIiOiJhbmRyb2lkIiwiJGxpYl92ZXJzaW9uIjoiNS40LjIiLCIkb3MiOiJBbmRyb2lkIiwiJG9zX3ZlcnNpb24iOiIxMCIsIiRtYW51ZmFjdHVyZXIiOiJYaWFvbWkiLCIkYnJhbmQiOiJYaWFvbWkiLCIkbW9kZWwiOiJNaSBBMSIsIiRnb29nbGVfcGxheV9zZXJ2aWNlcyI6ImF2YWlsYWJsZSIsIiRzY3JlZW5fZHBpIjo0ODAsIiRzY3JlZW5faGVpZ2h0IjoxOTIwLCIkc2NyZWVuX3dpZHRoIjoxMDgwLCIkYXBwX3ZlcnNpb24iOiI3LjkuMSIsIiRhcHBfdmVyc2lvbl9zdHJpbmciOiI3LjkuMSIsIiRhcHBfcmVsZWFzZSI6NDkyNCwiJGFwcF9idWlsZF9udW1iZXIiOjQ5MjQsIiRoYXNfbmZjIjpmYWxzZSwiJGhhc190ZWxlcGhvbmUiOnRydWUsIiRjYXJyaWVyIjoiY29uZ3N0YXIiLCIkd2lmaSI6dHJ1ZSwiJGJsdWV0b290aF92ZXJzaW9uIjoiYmxlIiwidG9rZW4iOiIxMmRjOTMyMDAxNzNjMDE5ZGJjMmU2MGYyOWUzYTExNiIsInRpbWUiOjE2MzgxNzY1MDcsImRpc3RpbmN0X2lkIjoiNjcwZWM3NzMtZmZkYy00ZjA5LTk2ZWYtYTBlNzVmMjI4YWVkIiwiaGFzUGxheVN0b3JlIjp0cnVlLCJzb3VyY2UiOiJjb20uYW5kcm9pZC52ZW5kaW5nIiwiY2FtcGFpZ25OYW1lIjoiIiwiZXhwZXJpbWVudCI6IiJ9LCIkbXBfbWV0YWRhdGEiOnsiJG1wX2V2ZW50X2lkIjoiNDhiMWVkYWJlNTUxMjk2NyIsIiRtcF9zZXNzaW9uX2lkIjoiMjdkYWNiZDEwZGE0YjYxMCIsIiRtcF9zZXNzaW9uX3NlcV9pZCI6MSwiJG1wX3Nlc3Npb25fc3RhcnRfc2VjIjoxNjM4MTc2NTA3fX1d&verbose=1

Der Aufruf ist – wie für Mixpanel üblich – Base64 codiert. Entcodieren wir den Aufruf mal:

[{„event“:“Install“,“properties“:{„mp_lib“:“android“,“$lib_version“:“5.4.2″,“$os“:“Android“,“$os_version“:“10″,“$manufacturer“:“Xiaomi“,“$brand“:“Xiaomi“,“$model“:“Mi A1″,“$google_play_services“:“available“,“$screen_dpi“:480,“$screen_height“:1920,“$screen_width“:1080,“$app_version“:“7.9.1″,“$app_version_string“:“7.9.1″,“$app_release“:4924,“$app_build_number“:4924,“$has_nfc“:false,“$has_telephone“:true,“$carrier“:“congstar“,“$wifi“:true,“$bluetooth_version“:“ble“,“token“:“12dc93200173c019dbc2e60f29e3a116″,“time“:1638176507,“distinct_id“:“670ec773-ffdc-4f09-96ef-a0e75f228aed“,“hasPlayStore“:true,“source“:“com.android.vending“,“campaignName“:““,“experiment“:““},“$mp_metadata“:{„$mp_event_id“:“48b1edabe5512967″,“$mp_session_id“:“27dacbd10da4b610″,“$mp_session_seq_id“:1,“$mp_session_start_sec“:1638176507}}]

Übermittelt wird demnach:

  • Android-Version: 10
  • Gerätehersteller: Xiaomi
  • Modell: Mi A1
  • Play Services vorhanden: Ja
  • Bildschirmauflösung: 1920×480
  • App-Version: 7.9.1
  • Mobilfunkanbieter: Congstar
  • Mobilfunk/WiFi/Bluetooth/NFC aktiv bzw. vorhanden: Ja/Nein
  • Bluetooth Low Engery Token: 12dc93200173c019dbc2e60f29e3a116
  • […]

[8] Zum Abschluss wird noch ein weiterer Verbindungsaufbau zu Google initiiert [app-measurement.com]:

POST /a HTTP/1.1
Content-Length: 1347
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: app-measurement.com
Connection: close
Accept-Encoding: gzip, deflate

[...]

Es handelt sich hierbei um den Google-Tracker »Google Firebase Analytics«, der den Google-Cloud-Messaging- (GCM) Nachfolger Firebase Cloud Messaging (FCM) standardmäßig mit Daten beliefert, sofern die Entwickler dies nicht aktiv deaktivieren. Leider können wir die übermittelten Daten nicht einsehen, da Google eine zusätzliche Verschlüsselung darüber legt.

Vor der App-Nutzung (Cookie-Consent-Banner)

Bevor die Avira Security Antivirus & VPN App genutzt werden kann, erscheint auf dem Bildschirm ein Cookie-Consent-Banner. Zum Hintergrund: Vor der Einbindung Elemente Dritter, wie zum Beispiel Tools zur Reichweitenmessung, Nutzungsanalyse (Tracking) oder Social-Media-Plugins, muss der App-Betreiber vom Nutzer (Betroffener) eine Einwilligung in die konkrete Datenverarbeitung einholen. Eine solche Einwilligung muss nach DSGVO ausdrücklich, informiert, freiwillig, aktiv und vor der eigentlichen Übermittlung der Daten erfolgen.

Am 1. Dezember 2021 tritt zusätzlich das neue Telekommunikation-Telemedien-Datenschutz-Gesetz (TTDSG) in Kraft. Es regelt zukünftig den Einsatz von Cookies und ähnlichen Technologien, mittels derer Informationen auf Endeinrichtungen gespeichert oder aus diesen ausgelesen werden – und zwar unabhängig davon, ob ein Personenbezug vorliegt oder nicht.

Die nachfolgende Einwilligung erfüllt diese Anforderungen (DSGVO und TTDSG) nach meinem Verständnis nicht. Das hat vor allem vier Gründe:

  • Datenübermittlung: Eine Datenübermittlung bzw. Anfrage an Google (Firebase|Analytics) und Mixpanel (Tracking) erfolgt bereits vor der Einwilligung.
  • Auslesen von Geräteinformationen (ab 1. Dezember 2021): Das Auslesen bzw. der Zugriff auf Endgeräteinformationen erfordert nach TTDSG (§ 25 Abs. 1 S. 1 TTDSG) eine ausdrückliche, informierte, freiwillige, aktive und vorherige Einwilligung des Nutzers. Diese Einwilligungspflicht gilt unabhängig davon, ob die auf den Endgeräten gespeicherten oder aus diesen ausgelesenen Informationen personenbezogen oder anonym sind. Diese Einwilligung wird jedoch nicht eingeholt, sondern Informationen aus dem Endgerät ausgelesen und an Google/Mixpanel übermittelt.
  • Nudging: Es wird zwar die Möglichkeit angeboten, die »Dateneinstellungen (zu) verwalten«, allerdings ist die Auswahlmöglichkeit als weißer Button dargestellt. Der blaue Button mit der Aufschrift Akzeptieren sticht hervor. Aufgrund des blau hervorgehobenen Buttons werden die meisten Nutzer darauf tippen – das ist Nudging, also eine Form der Beeinflussung, um den Nutzer in seiner Entscheidung/Verhalten zu manipulieren.
  • Informiertheit: Auch in der Kategorie Informiertheit erfüllt der Consent-Banner nicht meine Anforderungen. Unter anderem ist nicht auf einen Blick ersichtlich, mit welchen (Dritt-)Anbietern zusammengearbeitet wird.

Avira Consent-Banner

Nach der Einwilligung in den Cookie-Consent-Banner

Insgesamt besteht beim Cookie-Consent-Banner noch Nachholbedarf. Schauen wir nun, was passiert, wenn ich in den Datenschutzeinstellungen den Schieberegler bei App-Nutzung deaktiviere und anschließend auf Speichern und fortfahren tippe:

Avira Datenschutzeinstellungen

[1] Es erfolgen erneut diverse Verbindungen zu Avira [api.my.avira.com]:

GET /v2/me HTTP/1.1
Host: api.my.avira.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaWQiOiJhbmRyb2lkX3NlY3VyaXR5IiwidWlkIjozODI1OTUxMTE3LCJkaWQiOjI1OTE0ODI2NTQsImFub24iOnRydWUsInNjb3BlIjoiKiIsImNhdCI6MTYzODE3NjUwOC44MTA1NTU1LCJyZnIiOmZhbHNlLCJhZ3VpZCI6Ii0zMzE4NDgwMzc0Njk2MzE3ODkyNDQxNzk3NDIwMTYzNzI5NzkxIn0.K-PCa87VG1ySzY0IggMJeMeSVNH8VSEvOXFtBdI5AGo
Accept: application/json
Content: application/json
Accept-Encoding: gzip, deflate
User-Agent: okhttp/4.7.2
Connection: close

[2] Überraschenderweise ist nun auch Facebook mit an Bord [graph.facebook.com]:

GET /v9.0/1257047877643194/mobile_sdk_gk?fields=gatekeepers&format=json&sdk_version=9.1.0&sdk=android&platform=android HTTP/1.1
User-Agent: FBAndroidSDK.9.1.0
Accept-Language: de_DE
Content-Type: application/x-www-form-urlencoded
Host: graph.facebook.com
Connection: close
Accept-Encoding: gzip, deflate

[3] Auch das Tracking zu Google ist weiterhin aktiv [app-measurement.com]:

POST /a HTTP/1.1
Content-Length: 1884
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: app-measurement.com
Connection: close
Accept-Encoding: gzip, deflate

[...]

[4] Und auch Mixpanel wird weiterhin mit Daten beliefert [app-measurement.com]:

POST /track?ip=1 HTTP/1.1
Content-Length: 2055
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: api.mixpanel.com
Connection: close
Accept-Encoding: gzip, deflate

data=W3siZXZlbnQiOiJhcHBfb3BlbiIsInByb3BlcnRpZXMiOnsibXBfbGliIjoiYW5kcm9pZCIsIiRsaWJfdmVyc2lvbiI6IjUuNC4yIiwiJG9zIjoiQW5kcm9pZCIsIiRvc192ZXJzaW9uIjoiMTAiLCIkbWFudWZhY3R1cmVyIjoiWGlhb21pIiwiJGJyYW5kIjoiWGlhb21pIiwiJG1vZGVsIjoiTWkgQTEiLCIkZ29vZ2xlX3BsYXlfc2VydmljZXMiOiJhdmFpbGFibGUiLCIkc2NyZWVuX2RwaSI6NDgwLCIkc2NyZWVuX2hlaWdodCI6MTkyMCwiJHNjcmVlbl93aWR0aCI6MTA4MCwiJGFwcF92ZXJzaW9uIjoiNy45LjEiLCIkYXBwX3ZlcnNpb25fc3RyaW5nIjoiNy45LjEiLCIkYXBwX3JlbGVhc2UiOjQ5MjQsIiRhcHBfYnVpbGRfbnVtYmVyIjo0OTI0LCIkaGFzX25mYyI6ZmFsc2UsIiRoYXNfdGVsZXBob25lIjp0cnVlLCIkY2FycmllciI6ImNvbmdzdGFyIiwiJHdpZmkiOnRydWUsIiRibHVldG9vdGhfdmVyc2lvbiI6ImJsZSIsInRva2VuIjoiMTJkYzkzMjAwMTczYzAxOWRiYzJlNjBmMjllM2ExMTYiLCJFeHBlcmltZW50SWRzIjpbXSwidGltZSI6MTYzODE3ODAxMiwiZGlzdGluY3RfaWQiOiI2NzBlYzc3My1mZmRjLTRmMDktOTZlZi1hMGU3NWYyMjhhZWQifSwiJG1wX21ldGFkYXRhIjp7IiRtcF9ldmVudF9pZCI6ImUxMWUyNmY1ZjBmMTg4NTkiLCIkbXBfc2Vzc2lvbl9pZCI6ImMxN2E1NThjNjExMjBkOWMiLCIkbXBfc2Vzc2lvbl9zZXFfaWQiOjAsIiRtcF9zZXNzaW9uX3N0YXJ0X3NlYyI6MTYzODE3NzYwN319LHsiZXZlbnQiOiJ0YWJiYXJfaXRlbV9jbGljayIsInByb3BlcnRpZXMiOnsibXBfbGliIjoiYW5kcm9pZCIsIiRsaWJfdmVyc2lvbiI6IjUuNC4yIiwiJG9zIjoiQW5kcm9pZCIsIiRvc192ZXJzaW9uIjoiMTAiLCIkbWFudWZhY3R1cmVyIjoiWGlhb21pIiwiJGJyYW5kIjoiWGlhb21pIiwiJG1vZGVsIjoiTWkgQTEiLCIkZ29vZ2xlX3BsYXlfc2VydmljZXMiOiJhdmFpbGFibGUiLCIkc2NyZWVuX2RwaSI6NDgwLCIkc2NyZWVuX2hlaWdodCI6MTkyMCwiJHNjcmVlbl93aWR0aCI6MTA4MCwiJGFwcF92ZXJzaW9uIjoiNy45LjEiLCIkYXBwX3ZlcnNpb25fc3RyaW5nIjoiNy45LjEiLCIkYXBwX3JlbGVhc2UiOjQ5MjQsIiRhcHBfYnVpbGRfbnVtYmVyIjo0OTI0LCIkaGFzX25mYyI6ZmFsc2UsIiRoYXNfdGVsZXBob25lIjp0cnVlLCIkY2FycmllciI6ImNvbmdzdGFyIiwiJHdpZmkiOnRydWUsIiRibHVldG9vdGhfdmVyc2lvbiI6ImJsZSIsInRva2VuIjoiMTJkYzkzMjAwMTczYzAxOWRiYzJlNjBmMjllM2ExMTYiLCJFeHBlcmltZW50SWRzIjpbXSwidGltZSI6MTYzODE3ODAxMiwiZGlzdGluY3RfaWQiOiI2NzBlYzc3My1mZmRjLTRmMDktOTZlZi1hMGU3NWYyMjhhZWQiLCJpdGVtX25hbWUiOiJzdGF0dXMifSwiJG1wX21ldGFkYXRhIjp7IiRtcF9ldmVudF9pZCI6IjUyYmQzZDQxYWNmODYzMTMiLCIkbXBfc2Vzc2lvbl9pZCI6ImMxN2E1NThjNjExMjBkOWMiLCIkbXBfc2Vzc2lvbl9zZXFfaWQiOjEsIiRtcF9zZXNzaW9uX3N0YXJ0X3NlYyI6MTYzODE3NzYwN319XQ%3D%3D&verbose=1

Der Aufruf ist – wie für Mixpanel üblich – Base64 codiert. Entcodieren wir den Aufruf mal:

[{„event“:“app_open“,“properties“:{„mp_lib“:“android“,“$lib_version“:“5.4.2″,“$os“:“Android“,“$os_version“:“10″,“$manufacturer“:“Xiaomi“,“$brand“:“Xiaomi“,“$model“:“Mi A1″,“$google_play_services“:“available“,“$screen_dpi“:480,“$screen_height“:1920,“$screen_width“:1080,“$app_version“:“7.9.1″,“$app_version_string“:“7.9.1″,“$app_release“:4924,“$app_build_number“:4924,“$has_nfc“:false,“$has_telephone“:true,“$carrier“:“congstar“,“$wifi“:true,“$bluetooth_version“:“ble“,“token“:“12dc93200173c019dbc2e60f29e3a116″,“ExperimentIds“:[],“time“:1638178012,“distinct_id“:“670ec773-ffdc-4f09-96ef-a0e75f228aed“},“$mp_metadata“:{„$mp_event_id“:“e11e26f5f0f18859″,“$mp_session_id“:“c17a558c61120d9c“,“$mp_session_seq_id“:0,“$mp_session_start_sec“:1638177607}},{„event“:“tabbar_item_click“,“properties“:{„mp_lib“:“android“,“$lib_version“:“5.4.2″,“$os“:“Android“,“$os_version“:“10″,“$manufacturer“:“Xiaomi“,“$brand“:“Xiaomi“,“$model“:“Mi A1″,“$google_play_services“:“available“,“$screen_dpi“:480,“$screen_height“:1920,“$screen_width“:1080,“$app_version“:“7.9.1″,“$app_version_string“:“7.9.1″,“$app_release“:4924,“$app_build_number“:4924,“$has_nfc“:false,“$has_telephone“:true,“$carrier“:“congstar“,“$wifi“:true,“$bluetooth_version“:“ble“,“token“:“12dc93200173c019dbc2e60f29e3a116″,“ExperimentIds“:[],“time“:1638178012,“distinct_id“:“670ec773-ffdc-4f09-96ef-a0e75f228aed“,“item_name“:“status“},“$mp_metadata“:{„$mp_event_id“:“52bd3d41acf86313″,“$mp_session_id“:“c17a558c61120d9c“,“$mp_session_seq_id“:1,“$mp_session_start_sec“:1638177607}}]

App-Nutzung: Start eines Scan-Vorgangs

[1] Nach der Einleitung eines Viren-Scan-Vorgangs via Smart Scan wird eine Verbindung zu AppsFlyer initiiert – einem weiteren Tracking-Anbieter aus den USA [register.appsflyer.com]:

POST /api/v6.0/androidevent?buildnumber=6.0.0&app_id=com.avira.android HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: register.appsflyer.com
Connection: close
Accept-Encoding: gzip, deflate
Content-Length: 556

{
   "devkey":"AsUXQMazXUYA8zczgTEike",
   "operator":"Telekom",
   "network":"WIFI",
   "advertiserId":"d57fa49c-45a8-4a60-8b53-2aad7bde9a73",
   "app_name":"Avira Security",
   "uid":"1638178560558-2385496444498242308",
   "carrier":"congstar",
   "app_version_code":"4924",
   "installDate":"2021-11-29_081415+0000",
   "af_gcm_token":"dTBV0ZOlQeKFeTQ2S-s_hs:APA91bG8RGOA7MFsUVAKU45hjevCgAJxTihZX5kjRawxSEy_sNT_WGj6A42LB-3ChSO0At8yRHgLSKp0PtPOixRLMX0IXWzJ0QflKdzoOr2X8dGxKWCeOgxcvjr_x7lacG4TWFPtfQ2t",
   "launch_counter":"0",
   "model":"Mi A1",
   "sdk":"29",
   "app_version_name":"7.9.1",
   "brand":"Xiaomi"
}

Anbei werden nicht nur Informationen zum Gerätemodell und Mobilfunkanbieter ausgelesen und übermittelt, sondern auch ebenfalls die Google-Advertising-ID. Allein die Übermittlung der Google-Advertising-ID genügt im Grunde genommen, dass AppsFlyer nun eine Verknüpfung zwischen Nutzern der Avira Security Antivirus & VPN und den anderen bisher über den Nutzer gesammelten Datensätze herstellen kann. AppsFlyer ist vergleichsweise häufig in Apps integriert und erfasst regelmäßig die Google-Advertising-ID.

[2] Zusätzlich werden an AppsFlyer Daten übermittelt, die codiert/verschlüsselt sind und somit nicht einsehbar [inapps.appsflyer.com]:

POST /api/v6.0/androidevent?app_id=com.avira.android&buildnumber=6.0.0 HTTP/1.1
Content-Length: 2136
Content-Type: application/octet-stream
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; Mi A1 Build/QQ3A.200805.001)
Host: inapps.appsflyer.com
Connection: close
Accept-Encoding: gzip, deflate

[codiert/verschlüsselt]

An dieser Stelle beende ich die Prüfung des Datensendeverhaltens – ich habe genug gesehen.

Datenschutzerklärung

Der Avira Security Antivirus & VPN App ist ein spezieller Abschnitt in der Datenschutzerklärung gewidmet. Insgesamt ist die Datenschutzerklärung wenig transparent. Einem Betroffenen ist nicht ersichtlich, mit welchen (Dritt-)Anbietern Avira zusammenarbeitet. Weder zu Google, noch zu den beiden Tracking-Anbietern Mixpanel und AppsFlyer findet man Informationen. Als Nutzer kann man sich damit im Vorfeld nicht informieren, welche Daten diese Anbieter von einem erhalten.

Einzig zu Facebook wird man fündig:

Sollten Sie Facebook für den Login zu Ihrem Benutzerkonto verwenden, erhalten wir von Facebook folgende Daten:

E-Mail-Adresse, Facebook-ID, Vor- und Nachname,  Land und Profilbild

Als Zweck für die Datenverarbeitung gibt Avira diverse Gründe an:

– Vertragserfüllung
– Umsatzgenerierung
– Operative Prozesse
– Marketing
– Auswertungen

Als Rechtsgrundlage bezieht man sich auf:

Für nutzerbezogene Daten: Art. 6 Abs. 1 lit. b (Vertragsanbahnung und – erfüllung) DSGVO

Für Daten Dritter: Art. 6 Abs. 1 lit f (Berechtigtes Interesse: IT-Sicherheit) DSGVO

Es fällt mir schwer, vertragliche Maßnahmen bzw. berechtigtes Interesse als Grund anzuerkennen, die die Einbindung der ganzen Tracking-Dienstleister rechtfertigen soll. Zur Erinnerung: Selbst wenn man beim Cookie-Consent-Banner lediglich den Schieberegler Erforderliche Informationen aktiv lässt (der sich übrigens nicht deaktivieren lässt), findet eine Übermittlung an Tracking-Anbieter wie Mixpanel, AppsFlyer, Facebook und Co. statt. Es ist das übliche Spiel der Verantwortlichen: Man begründet das Tracking rechtlich mit

Beides greift hier nach meiner Einschätzung nicht. Nach DSGVO und gerade auch nach TTDSG (ab 1. Dezember 2021) dürfte es sich um rechtswidrige Datenübermittlungen handeln.

Fazit

Avira lässt den Nutzer durch diverse Tracking-Dienstleister auf Schritt und Tritt verfolgen und begründet dies mit Art. 6 Abs. 1 lit. b) und Art. 6 Abs. 1 lit f DSGVO – das ist nicht nachvollziehbar. Millionen Kunden sind diesem Tracking einfach ausgesetzt, ohne die Möglichkeit zu haben dem zu widersprechen oder ein Opt-Out vorzunehmen. Überdies muss nach TTDSG eine Willenserklärung zwingend erteilt werdenh, bevor der einwilligungsbedürftige Zugriff auf die Endeinrichtung erfolgt.

Avira Security Antivirus & VPN hat mehr Tracking-Bibliotheken integriert, als ich Finger an einer Hand abzählen kann – angesichts des Risikos für Sicherheit und Datenschutz, das mit der Einbindung von Tracking-Bibliotheken einhergeht, sollte man auf die Installation dieser vermeintlichen Sicherheit-Apps besser verzichten. Gerade im Sicherheitskontext, bei dem es auch erheblich auf Vertrauen ankommt, haben Tracking-Bibliotheken nichts zu suchen.

Virenscanner-Apps

Die Sicherheitsarchitektur von Android/iOS schränkt die Funktionsweise von Virenscanner-Apps stark ein und macht sie im Grunde nutzlos. Schlimmer: Die vermeintlichen Sicherheits-Apps sind Datenschleudern. Komplett beleuchtet im Beitrag: Trügerische Sicherheit: Virenscanner-Apps sind schlichtweg überflüssig
Du kannst den Blog aktiv unterstützen! Mitmachen ➡