Durch die wachsende Bedeutung des Aspekts der Privatsphäre und des Datenschutz bei Smart Home und IoT-Geräten haben sich in den letzten Jahren auch unsere Tests immer weiter in diese Richtung entwickelt. Wo dieses Thema am Anfang unserer IoT-Zertifizierung zwar schon mit überprüft wurde, aber noch keine kritische Relevanz hatte, besteht heute kein Produkt mehr unsere Tests ohne ein solides Konzept für den Schutz der persönlichen Daten der Nutzer umzusetzen. Dies bedeutet genauer, dass zwei entscheidende Punkte abgedeckt sein müssen: Erstens, das Produkt behandelt persönliche Daten auf eine sichere Art und Weise und schützt diese vor dem Zugriff etwaiger Angreifer. Und zweitens, der Nutzer wird über die Datenschutzerklärung zum Produkt umfassend über die Sammlung, Verarbeitung und mögliche Weitergabe seiner Daten informiert und kann auf dieser Basis für sich entscheiden, ob eine Nutzung für ihn vertretbar ist. Dabei bewerten wir aber ausdrücklich nicht, den Umfang der erfassten Daten und dem damit verbundenen Einfluss auf die Privatsphäre des Nutzers.

Nun ist diese Frage aber natürlich trotzdem für viele Nutzer sehr interessant und auch nicht jeder (oder ehrlicherweise kaum jemand) setzt sich vor der Benutzung einer neuen App ernsthaft mit der dazugehörigen Datenschutzerklärung auseinander, um eine fundierte Entscheidung über die (Nicht-)Nutzung derselben zu treffen. Um genau hier anzusetzen, haben wir unser neues Testformat Android App Privacy konzipiert. 

Die Idee hierbei ist ein Test, der sich auf prinzipiell jede beliebige Android-Applikation anwenden lässt und dabei gesamtheitlich den Datenschutz und den direkten Einfluss auf die Privatsphäre des Nutzers bei Verwendung dieser untersucht und bewertet. Im Fokus steht hierbei aber ausdrücklich nicht, wie bei unseren anderen Tests, die Sicherheit der betreffenden Applikation sondern die Privatsphäre des Nutzers gegenüber des App-Betreibers. Dabei bezieht sich der Test nicht nur auf Android-Applikationen, die zu Smart Home oder IoT-Lösungen gehören, sondern auf prinzipiell jede beliebige Applikation. Das Ergebnis des Tests soll dann ein messbarer Wert sein, der es erlaubt verschiedene Applikationen untereinander zu vergleichen und ggf. zu sortieren. Um die Vergleichbarkeit möglichst hoch zu halten und außerdem die Möglichkeit einer hohen Skalierbarkeit vorzuhalten, haben wir uns dabei für einen vollautomatischen Ansatz entschieden – dieser ist schnell und durch jegliche Eliminierung menschlicher Interaktion größtmöglich objektiv. Unterteilt ist der Test in prinzipiell drei große Bereiche, die dann zur endgültigen Bewertung im Endergebnis verknüpft werden. Diese drei Bereiche sind: Statische Analyse, Verhaltensanalyse und Analyse der Datenschutzerklärung.

Statische Analyse

Wie bei jedem anderen Test auch, sammeln wir im ersten Schritt erst einmal alle relevanten Informationen, die wir ohne das Ausführen der betreffenden Applikation erhalten können. In diesem Fall sind das vor allem Informationen, wie angeforderte Berechtigungen, enthaltene Tracking- und auffällige Third-Party-Module sowie relevante und interessante Bereiche des Applikations-Quellcodes. Das können statische URLs, Hinweise auf Kommunikation zu bestimmten Domains und dergleichen sein. Ziel ist es hierbei eine erste Einschätzung der theoretischen Möglichkeiten und Fähigkeiten der betreffenden Applikation zu erhalten, die sich dann mit den Ergebnissen der praktischen Verhaltensanalyse belegen, beweisen oder kombinieren lässt.

Eine der wichtigen Fragen in der statischen Analyse: Welche Tracker sind in der Applikation enthalten?

Verhaltensanalyse

Der umfangreichste und aufwändigste Bereich stellt dann die Verhaltensanalyse dar. Hierbei geht es darum, das Kommunikationsverhalten der Applikation möglichst umfassend und unter realistischen Bedingungen zu untersuchen. Eine simple Beobachtung der Kommunikation der App im gestarteten Zustand reicht hier logischerweise nicht aus, da hierbei nahezu ausgeschlossen werden kann, dass alle Zustände und damit Kommunikationsprozesse der App auch ausgelöst werden. Um dies aber mit relativ hoher Wahrscheinlichkeit gewährleisten zu können, müssen alle App-Funktionen betätigt, d.h. einfach gesagt, jeder Knopf auch mindestens einmal gedrückt werden. Zu diesem Zweck haben wir eine Zusatzapplikation entwickelt, die automatisiert, rekursiv die Menüstruktur der analysierten Applikation durchläuft und dabei jedes interaktive UI-Element, wie Buttons, Slider, Links etc., einmal betätigt. Parallel dazu wird sämtliche von der Applikation ausgeführte Kommunikation aufgezeichnet. Das Ergebnis anschließend ist eine ziemlich umfassende Übersicht, über die praktischen Kommunikationsmöglichkeiten einer App – sollte es notwendig sein, können wir dabei sogar einzelne Aktion auf der UI direkt mit der dazugehörigen, ausgelösten Kommunikation assoziieren.

Verknüpfung der Ergebnisse aus statischer Analyse und Verhaltensanalyse zeigt, welche der identifizierten Tracker auch tatsächlich aktiv sind und/oder in der Datenschutzerklärung erwähnt werden.

Die aufgezeichnete Kommunikation wird dann auf interessante und relevante Informationen durchsucht. So wird nachverfolgt zu welchen Domains kommuniziert wurde, welche Daten und Datenmenge dabei übertragen wurde und ob sich diese Daten mit Informationen aus der statischen Analyse in Verbindung bringen lassen. So ist es zum Beispiel besonders interessant nachzuvollziehen, ob Tracking-Module, die statisch identifiziert werden konnten, auch praktisch aktiv sind.

Über die Beobachtung der Kommunikation kann nachvollzogen werden, wohin kommuniziert wird und welche Daten dabei übertragen werden.

Datenschutzerklärung

Wie bereits erwähnt, liegt der Fokus des Testformats Android App Privacy auf den tatsächlichen, praktischen Datensammlungs- und -verarbeitungsfähigkeiten einer Applikation. Die Datenschutzerklärung und die darin zur Verfügung gestellten Information sind für dieses Testformat dementsprechend nicht von zu großer Relevanz – wir wollen in diesem Test analysieren, was die Applikation wirklich tut, nicht was die Datenschutzerklärung behauptet, was sie tut.

Ganz außer Acht lassen können wir sie trotzdem nicht, da sie natürlich, gerade zu Fragen der Datenweiterverarbeitung und -weitergabe an Dritte, Informationen enthalten kann (und sollte), die sich aus dem reinen Kommunikationsverhalten der Applikation nicht vollständig ableiten lassen. Außerdem, auch trotz des gesetzten Fokus für die Analyse, sollte sich im Ergebnis eine Applikation mit guter Datenschutzerklärung natürlich trotzdem vor einer Applikation mit ähnlichem Kommunikationsverhalten, aber schlechter Datenschutzerklärung wiederfinden.

Aus der Datenschutzerklärung lassen sich einige Information automatisiert extrahieren, die dann Aufschluss über ihre Güte eben und sich mit den Ergebnissen der anderen Analyseschritte verknüpfen lassen.

Zum Zwecke der Auswertung der Datenschutzerklärung, haben wir dementsprechend ebenfalls einen vollautomatischen Text-Mining-Ansatz entwickelt, der es uns erlaubt, essentielle Informationen aus dem Text zu extrahieren und mit den Erkenntnissen aus der Verhaltensanalyse abzugleichen. Ein automatischer Ansatz hat hier natürlich Schwächen gegenüber einer detaillierten, manuellen Auswertung, aber einen guten Indikator liefert er hier nichtsdestotrotz. Die zusätzlich erfassten statistischen Werte zu beispielsweise Lesbarkeit, Verständlichkeit und Strukturierung bilden dann schließlich auch recht gut ab, wieviel Mühe in die Erstellung der Datenschutzerklärung gesteckt wurde.

Bewertung

Zur Bewertung der einzelnen Analyseschritte haben wir maximal erreichbare Werte definiert, die die unterschiedlichen Schritte gegeneinander gewichten und von denen wir entsprechend der identifizierten Negativpunkte abziehen. Die statische Analyse und die Verhaltensanalyse sind dabei fast gleichwertig. Nur die Analyse der Datenschutzerklärung wird aus den oben bereits genannten Gründen leicht niederwertig gewichtet. Die Gesamtbewertung ergibt sich dann entsprechend einfach aus der Addition der Bewertungen für alle drei Analyseschritte und einer Darstellung der erreichten Punkte als Prozentwert vom Maximalergebnis. Wir sind uns natürlich bewusst, dass eine Reduzierung des Testergebnisses auf einen einzelnen Zahlenwert zu Detailverlust im Vergleich zweier Applikationen führt. Nichtsdestotrotz möchten wir, wie auch schon bei den anderen Testformaten die Möglichkeit offen lassen, das Ergebnis auf einen Blick erfass- und auf einem Siegel darstellbar zu präsentieren. So lässt sich auch für den weniger versierten Nutzer direkt eine Einschätzung treffen – Zu interessanten Tests in dem neuen Format wird es dann ohnehin auch wieder Posts geben, die das Ergebnis in seine Bestandteile auflösen und einen tieferen Einblick gewähren. Außerdem planen wir zukünftig auch, über diese erste, kurze Einleitung hinaus, weitere Posts mit mehr Details zum Thema „Wie und warum wird getestet im Android App Privacy Test?“.