Technologie

Battery Status API: Wie der Akkustand deiner Geräte deine Privatsphäre bedroht

Battery Status API
geschrieben von Markus Werner

Der Akkustand verrät über dich und dein Gerät eine ganze Menge. Sicherheitsforscher warnten bereits im letzten Jahr vor dieser Überwachungsmöglichkeit durch Tracking-Dienste. Nun belegt eine neue Studie, dass diese Technik mittlerweile in freier Wildbahn eingesetzt wird. Nur ein weiterer kleiner Zacken in der Tracking-Krone.

Das Online-Tracking hat in den letzten 20 Jahren drastisch zugenommen. Vorwiegend setzt die Werbeindustrie auf diese Techniken, um uns im Internet auf Schritt und Tritt zu verfolgen. Sie wollen so viel wie möglich über uns erfahren – unsere Vorlieben, unsere Wünsche und unsere Geheimnisse. Dabei greifen sie zu immer neuen Methoden, um uns im Web eindeutig identifizieren zu können. Egal ob Drittanbieter-Cookies, EverCookies, Canvas Fingerprinting oder Hardware Fingerprinting. Alles wird genutzt. Sogar Schnittstellen, die eigentlich niemals für das Tracking gedacht waren. Mittels der wenig bekannten Battery Status API in der HTML5-Spezifikation kann der Akkustand uns verraten – sogar seitenübergreifend.

Der Nutzen der Battery Status API

Manch einer fragt sich sicherlich, wozu das gut sein soll, dass eine Website meinen Akkustatus abfragen kann. Das möchte ich kurz anhand eines einfachen Beispiels erklären. Stellt euch vor, diese Schnittstelle kommt bei einem webbasierenden E-Mail-Client zum Einsatz. Die Battery Status API bietet vier Attribute, die mittels JavaScript abgefragt werden können.

  • charging: Wird das Gerät geladen oder nicht
  • level: Wie viel Akkuleistung hat das Gerät noch. Es wird ein Wert zwischen 0 und 1.0 zurückgegeben. Beispiel: 0.6 sind verbleibende 60 Prozent Akkuleistung
  • chargingtime: Zeit in Sekunden bis zur vollständigen Akkuladung
  • dischargingTime: Zeit in Sekunden bis der Akku leer ist und das System herunterfährt

Mithilfe der vier Events chargingchange, chargingtimechange, dischargingtimechange und levelchange können die Zustandsänderungen beobachtet und protokolliert werden. Damit lässt sich nun beispielsweise festlegen, in welchen Zeitintervallen und in welchem Zustand (Akku laden/Akku entladen) der E-Mail-Client nach neuen Nachrichten sucht. Bei vollem Akku wird sicherlich häufiger abgerufen, als bei einem niedrigen Akkustand.

Genauso interessant ist die API (Programmierschnittstelle) aber ebenso für alle anderen Websitebetreiber. Denn damit lassen sich etwa Akkufresser, wie beispielsweise Videos usw. bei einem geringen Akkustand beispielsweise auszublenden. Damit kann der Nutzer die Website weiterhin verwenden, wenn auch leicht eingeschränkt. Aber es ist ja zu seinem Vorteil.

Die Battery Status API funktioniert derzeit in Firefox, Chrome, Opera sowie auch in den mobilen Versionen und ist standardmäßig aktiviert. Microsoft arbeitet derzeit an einer Umsetzung in seinem Edge-Browser. Ob Apple diese Funktion in Safari eines Tages implementieren wird, ist unklar. Eine genaue Auflistung, in welchen Browsern die API funktioniert, findet ihr bei Caniuse.

Tracking mithilfe der Schnittstelle möglich

Doch dieser Vorteil kippt leider auch schnell ins Negative. 2015 warnten vier französische und belgische Sicherheitsforscher davor, dass diese Battery Status API ebenfalls für das Tracking verwendet werden könne. Laut ihren Untersuchungen (PDF) sei es möglich, die gesammelten Daten in einem Log zu speichern. Dabei kommt ein eindeutiges Profil heraus, dass es erlaube, ein Gerät innerhalb einer kurzen Zeitspanne genau zu identifizieren – sogar websiteübergreifend.

Stellen wir uns vor: Ein Benutzer ruft eine Nachrichtenseite auf, wo ein Tracking-Skript eines Werbeunternehmens den Akkustatus überwacht. Fast zeitgleich ruft derselbe User am selben Gerät über eine VPN-Verbindung eine Pornoseite auf, die ebenfalls das gleiche Tracking-Skript einsetzt. Das Werbeunternehmen kann nun genau identifizieren, dass es sich bei beiden Aufrufen um dasselbe Gerät und somit dieselbe Person handeln muss. Auch wenn die IPs unterschiedlich sind.

Denn das Log liefert identische Werte. Für die Ermittlung bedarf es auch nur zweier Events: der verbleibenden Zeit bis der Akku leer ist und der Akkuleistung in Prozent. Um ein Tracking zu verhindern, gaben die Forscher als mögliche Lösung an, dass eine leichte Rundung der Werte genügen würde. Die Funktionalität der API wäre damit nicht eingeschränkt.

Tracking-Skripte nutzen diese Methode bereits

Zwei Forscher der Princeton University haben versucht, das Ausmaß des aktuellen Trackings zu untersuchen. Ein Entwurf der Studie (PDF) stammt vom 11. Juli 2016 und zeigt unter anderem auch, dass die Battery Status API in zwei Tracking-Skripten bereits in freier Wildbahn eingesetzt wird. Die Warnung der vier Sicherheitsforscher hat sich also bestätigt. Zwei klingt jetzt nicht viel, aber wir gehen mal davon aus, dass diese Zahl wächst. Denn es funktioniert scheinbar sehr gut. Koppelt man diese Daten nun noch mit anderen gängigen Tracking-Praktiken, wird das Ganze nochmal effizienter. Ihr könnt ja mal testen, was die Battery Status API über euch so verrät: Battery Status API Demo

batter-status-api-demo

Battery Status API Demo

Der Demo fehlt lediglich die Log-Funktion, verrät aber den aktuellen Zustand über euren Akku. Bei Geräten mit fester Stromquelle spielt diese Tracking-Möglichkeit keine Rolle, da die Werte bei all diesen Geräten konstant bleiben.

Battery Status API abschalten bzw. verhindern

Was könnt ihr nun gegen diese Tracking-Methode tun? Lasst es mich mal so ausdrücken: Nutzer von Firefox, Edge, IE und Safari sind die strahlenden Sieger. Chrome- und Opera-Freunde schauen etwas traurig und sind im Grunde die Verlierer. Es bleibt zu hoffen, dass die W3C die Battery Status API eines Tages entschärft und damit das Tracking unterbindet. Derweil helfen folgende Methoden:

Firefox: Battery Status API über about:config deaktivieren

Firefox-Nutzer haben es einfach – egal ob Desktop- oder Mobile-Browser.

  1. Öffnet Firefox
  2. Tippt in die Adresszeile „about:config“ ein
  3. Bestätigt den Hinweis mit „Ich werde vorsichtig sein, versprochen!“
  4. Gebt in die Suchleiste „dom.battery.enabled“ ein
  5. Klickt doppelt auf den Eintrag und setzt ihn damit auf „false“

Schon ist die Battery Status API in Firefox deaktiviert.

Chrome & Opera: JavaScript abschalten

Chrome- und Opera-Nutzer können die Schnittstelle nicht abschalten oder einfach so über irgendeine Einstellung blockieren. Hier hilft nur der vollständige Verzicht auf JavaScript im Browser. Das hat dann aber leider auch zur Folge, dass Webseiten mitunter nicht mehr richtig funktionieren und Ausnahmen hinzugefügt werden müssen.

Chrome

  1. Chrome öffnen
  2. In die Adresszeile „chrome://settings“ eingeben
  3. Ganz nach unten Scrollen und auf „Erweiterte Einstellungen anzeigen“ klicken
  4. Unter dem Punkt Privatsphäre auf Inhaltseinstellungen gehen
  5. Beim Punkt JavaScript den Eintrag „Keiner Seite erlauben, JavaScript auszuführen“ auswählen
  6. Eventuelle Websites als Ausnahme hinzufügen, um ihnen die Ausführung von JavaScript zu erlauben oder zu verbieten

Opera

Nur ein weiterer kleiner Zacken in der Tracking-Krone

Die Battery Status API ist nur ein weiteres kleines Häufchen Sand im großen Sandkasten der Tracking-Möglichkeiten. Innerhalb der letzten 20 Jahre hat sich in dem Bereich sehr viel getan. Anfangs konnte man sich noch gut dagegen wehren bzw. es stellte nur eine sehr geringe Gefahr für die eigene Privatsphäre dar. 1996 lag die durchschnittliche Anzahl der Drittanbieter-Anfragen bei den größten Webseiten unter eins, 10 Jahre später bei ca. 1,5 und heute kommen durchschnittlich mindestens vier Tracker zum Einsatz. Und ein Ende ist leider nicht in Sicht, wie eine aktuelle Studie amerikanischer Sicherheitsforscher belegt.

Das Portfolio der Tracker ist groß und sie lassen sich immer wieder neue Tricks einfallen. Mittlerweile reicht es nicht mehr, nur die Cookies und den Browserverlauf zu löschen. Selbst ein VPN schützt nur bedingt bis kaum vor der Identifizierung. Gerade Canvas und Hardware Fingerprinting machen uns das Leben schwer. Bei beiden Methoden wird einem Browser eine eindeutige Kennung verpasst. Canvas Fingerprinting lässt sich aber mit einem Addon, wie CanvasBlocker für Firefox oder CanvasFingerprintBlock für Chrome leicht verhindern. Kann ja jeder selbst mal testen.

Beim Hardware-Fingerprinting ist dies mitunter schwieriger. Im Firefox lässt sich zwar sehr vieles deaktivieren, aber eben nicht alles. Die Identifizierung lässt sich somit auf ein Mindestmaß einschränken, jedoch nicht völlig abschalten. Nutzer anderer Browser haben dagegen kaum Optionen das Senden hardwarespezifischer Informationen zu verhindern.

Was bringt die Zukunft?

Jedenfalls nichts Gutes, wenn das zügellose Datensammeln nicht gestoppt wird. Es geht mehr um die Art und Weise, als um den Umstand selbst, dass Daten gesammelt werden. Diese Maßlosigkeit alles angreifen zu wollen, egal ob der Nutzer das will oder nicht, geht für mich entschieden zu weit. Ein Vertrauensverhältnis gibt es schon lange nicht mehr, ist aber auf lange Sicht bitter nötig. Es braucht klare Regeln und Transparenz über die Datenerhebung und -nutzung.

Ansonsten ziehen sich noch mehr User in ihren digitalen Käfig zurück, was auch nicht der Sinn der Sache sein kann. Dadurch wird jeglicher Fortschritt gehemmt oder schlimmer noch verhindert. Uns droht der digitale Stillstand durch digitale Abschottung.

Über den Autor

Markus Werner

Markus Werner ist Redakteur.

4 Kommentare

  • Mich hat diese „Werbung“ irgendwann nur noch wütend gemacht. Das ist jetzt schon etliche Jahre her. Seitdem betreibe ich Abschottung. Firefox ist da tatsächlich das Mittel der Wahl, durch die vielen Plugins. Da wäre vor Allem NoScript, das JavaScript weitgehend unterbindet. Dann kommen AdBlock und Ghostery zum Einsatz. Und, geradezu unglaublich nützlich, ImageBlock.
    Früher habe ich dazu zusätzlich noch Privoxy eingesetzt, im Tandem mit Squid. Vielleicht richte ich mir das wieder ein.
    Das, was uns heute so als Werbung verkauft wird, ist nur noch eine reine Unverschämtheit. Ich kann Webseitenbetreiber verstehen, die mit ihrer Site Geld verdienen wollen oder müssen. Aber was zu viel ist, ist zu viel. Bei mir ist Werbung gestrichen. Dauerhaft.

    • Ein paar von deinen aufgezählten Tools habe ich auch bereits genutzt. Nichts gegen die Tools, diese machen was sie sollen. Aber die sind trotzdem teilweise verdammt unhandlich.
      Es werden relevante Inhalte nicht mehr angezeigt oder Webseiten sehen teilweise so verkrüppelt aus, dass das Surfen keinen Spaß mehr macht.
      Klar liegt das größtenteils an den nicht sauber programmierten Webseiten aber da sehe ich mir doch lieber ein paar Werbeanzeigen an als, dass relevante Inhalte verschwinden.

      • Die von Dir erwähnten verkrüppelten seiten gibt es. Aber ich surfe jetzt schon recht lange mit diesen Tools, und bin im Großen und Ganzen recht zufrieden. Es ist im Gegenteil so, dass ich das Gejammere, die Webseiten seien bis zur Unleserlichkeit mit Werbung überladen, lange Zeit nicht nachvollziehen konnte. Bei mir sind die meisten Seiten sehr übersichtlich 🙂

        Aber ich gebe zu, es gibt Seiten, die sind ohne Javascript nicht funktionsfähig. Dank NoScript kann ich hier entweder eine Ausnahme definieren, und dabei z.B. nur Scripte von bestimmten URLs zulassen, oder aber ich hake diese Domain ab und surfe weiter. Fast Nichts ist so wichtig, dass man nicht auch darauf verzichten kann.

  • Interessante Theorie wie ich finde. Auch ich habe mich immer wieder gewundert, wie schnell so ein Akku leer sein kann- allein durch die Instagram-Nutzung beispielsweise. Dass man uns damit noch besser „ausleuchtet“ ist natürlich verständlich. Smartphone Einstellungen überwachen heisst da wohl die Devise. Nur wer kann das zu 100%? Ich denke es gibt immer Sicherheitslücken…. Schön und gut alles „richtig einzustellen“- nur raubt auch das unglaublich viel Zeit. Digitaler Käfig ist dafür von Dir ein schönes, geflügeltes Wort! Schade, dass unser aller freie Zeit darunter leidet:
    http://www.freizeitcafe.info/die-neue-freizeit-studie-der-deutschen-2016/