Akku-Statusinformationen als Datenschutzrisiko

von Lukasz Olejnik, 01. Aug 2016

Einführung

Datenschutzrisiken und -gefahren entstehen und zeigen sich auch in scheinbar harmlosen Mechanismen. Das haben wir bereits gesehen und das werden wir auch in Zukunft noch bemerken.

Vor kurzem nahm ich an einer Studie teil, die das Risiko der W3C Battery Status API bewerten sollte. Der Mechanismus erlaubt es einer Webseite, den Akkustatus eines Geräts auszulesen (Smartphone, Laptop, usw.). Einer der positiven Anwendungsfälle könnte zum Beispiel sein, dass das Ausführen von rechenintensiven Operationen gestoppt wird, wenn der Akku fast leer ist.

Unsere Datenschutzanalyse der Battery Status API enthüllte interessante Ergebnisse.

Datenschutzanalyse der Battery Status API

Das Auslesen des Akkus liefert folgende Informationen:

  • den aktuellen Ladezustand des Akkus (Format: 0,00 – 1,0; für leer bis voll)
  • Restzeit bis zur vollständigen Entladung des Akkus (in Sekunden)
  • Restzeit bis zur vollständigen Aufladung des Akkus, falls an ein Ladegerät angeschlossen (in Sekunden)

Diese Werte werden aktualisiert, wenn ein neuer Wert durch das Betriebssystem geliefert wird.

Was könnten hier die Probleme sein?

Die Häufigkeit der Aktualisierungen

Die Häufigkeit der Aktualisierungen der gemeldeten Informationen der Battery Status API erlauben potentiell die Überwachung der Computernutzung der Benutzer. Zum Beispiel wurde es potentiell möglich zu analysieren, wie häufig der Prozessor des Geräts unter voller Belastung arbeitet. Dies ermöglicht Verhaltensanalysen.

Darüber hinaus befinden sich identische Computerinstallationen in Standardumgebungen (z.B. in Schulen, Büros, etc.) oft hinter einem NAT (Network Address Translation). Einfach gesagt erlaubt es der NAT-Mechanismus einer Vielzahl von Usern mit einer — von außen gesehen — einzigen IP-Adresse online zu gehen. Die Fähigkeit, mögliche Unterschiede zwischen den ansonsten identischen Computerinstallationen festzustellen erlaubt es möglicherweise, bestimmte User zu überwachen (und anzugreifen?).

Akku-Informationen als Identifikatoren

Die Informationen, die von der Battery Status API übertragen werden, ändern sich nicht immer häufig. Mit anderen Worten sind sie für einen bestimmten Zeitraum statisch; es könnte zu einem kurzlebigen Identifikator führen. Zur gleichen Zeit löschen User manchmal Standard-Web-Identifikatoren (wie Cookies). Doch ein Web-Skript könnte Identifikatoren analysieren, die von der Battery Status API stammen, was dann möglicherweise zur Erzeugung von weiteren Identifikatoren führen könnte. Ein einfaches Beispiel folgt.

Ein Beispiel-Web-Skript überwacht kontinuierlich den Status von Identifikatoren sowie die Informationen, die von der Battery Status API stammen. Irgendwann löscht der User dann (z.B.) alle identifizierenden Cookies. Das überwachende Web-Skript sieht plötzlich einen neuen User — ohne Cookie — also setzt es neue. Doch die Analyse des Akkustatus könnte Hinweise dafür liefern, dass dieser neue User — eigentlich — kein neuer User ist, sondern ein schon vorher bekannter. Der Besitzer des Skripts könnte dann schlussfolgern, dass es sich um einen einzigen User handelt und kann die Überwachung fortsetzen. Dies ist ein Beispielszenario für die Wiedererzeugung von Identifikatoren, auch als Respawning bekannt.

Auslesen der Akkukapazität

Das war ein Überraschung! Es stellte sich heraus, dass es unter bestimmten Umständen möglich war, die tatsächliche Akkukapazität im Rohformat auszulesen; insbesondere mit Firefox auf Linux-Systemen. Wir erstellten ein Testskript, welches die überaus ausführliche Übertragung (hier 0,932874 anstelle der ausreichenden 0,93) des Akkustands ausnutzte und diese Information mit dem Wissen darüber kombinierte, wie der Akkustand vom Betriebssystem berechnet wird, bevor dies dem Webbrowser übermittelt wird. Es stellte sich heraus, dass es möglich war, sogar die Akkukapazität auszulesen und diese als Identifikator zu verwenden. Weitere Informationen entnehmen sie bitte dem Bericht.

Ergebnisse

Die Studie erzielte folgende Wirkung.

  • ein W3C Standard wird aktualisiert, um die Analyse der Privatsphäre mit einfließen zu lassen
  • der Firefox Browser lieferte ein Update aus
  • die Arbeit erhielt einige Anerkennung

Wie Tracker Akkuinformationen verwenden

Ob es erwartet wurde oder nicht, die Information um den Akkustand wird tatsächlich von Tracking-Skripts verwendet, wie in einer aktuellen Studie darüber berichtet wurde. Einige Tracking/Analyse-Skripts (z.B. hier) greifen auf diese Information zu und lesen sie aus.

Darüber hinaus könnten einige Unternehmen die Möglichkeit analysieren, den Zugriff auf den Akkustand zu monetarisieren. Wenn der Akkustand niedrig wird, könnten die Leute anfällig für Entscheidungen werden, für die sie sich sonst anders entschieden hätten. In solchen Umständen werden User eher einwilligen, für ein Service mehr zu bezahlen (z.B. bei der Hotelsuche).

Als erste Reaktion erwägen einige Browser-Hersteller den Zugang zu Auslesemechanismen des Akkus einzuschränken (oder zu entfernen).

Fazit

Selbst die unwahrscheinlichsten Mechanismen bringen unerwartete Konsequenzen aus einem Blickwinkel des Datenschutzes. Darum ist es notwendig neue Features, Standards, Designs, Architekturen und Produkte vom Standpunkt eines Datenschützers zu analysieren. Dieser sorgfältige Prozess wird Ergebnisse liefern sowie die Anzahl der offenen Fragen, den Missbrauch und unwillkommene Überraschungen reduzieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*