Crooked Style Sheets: Bespitzeln mit CSS

Das Experiment "Crooked Style Sheets" zeigt, dass sich mit CSS ein paar Dinge über den Benutzer erfahren lassen – ganz ohne JavaScript.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Bespitzeln mit CSS

(Bild: pixabay.com)

Lesezeit: 2 Min.
Von
  • Herbert Braun

Tracking im Browser stützt sich in der Praxis auf eine Kombination aus JavaScript und Cookies oder anderen Speichertechniken. Dass es auch ohne Cookies geht, haben Forscher durch Browser-Fingerprinting nachgewiesen. Nun demonstriert ein kürzlich veröffentlichtes Experiment, wie Tracking komplett ohne JavaScript auskommen kann: "Crooked Style Sheets" benutzt dafür nur CSS.

Grundidee ist, dass Stylesheets abhängig von bestimmten Bedingungen unterschiedliche URLs laden und damit Besucherdaten an den Server schicken. Auf diese Weise kann der Betreiber einer Webseite etwa herausfinden, welche Bildschirmgröße und -ausrichtung der Anwender nutzt, ob er bestimmte Links aufgerufen oder bestimmte Bereiche mit der Maus überfahren hat.

Auch Stylesheets können Informationen über den Nutzer sammeln und an
ihren Server schicken.

Auch ein paar überraschende Tricks hat die Demo auf Lager: Über das pattern-Attribut in Textfeldern kann das Stylesheet seinen Autor informieren, ob der Nutzer einen vorgegebenen Text eingegeben hat. Keyframe-Animationen können messen, wie lange sich die Maus in einem Bereich aufgehalten hat. Altbekannt ist hingegen, dass Webfonts die installierten Schriftarten abfragen, was auch Rückschlüsse auf das Betriebssystem zulässt – und auch die verwendete Browser-Engine lässt sich auf diese Weise ermitteln. Details finden sich im GitHub-Repository des Projekts.

Einen Schutz vor diesen Tricks scheint es derzeit nicht zu geben, doch die Auswirkungen auf die Privatsphäre scheinen überschaubar zu sein. Ein Problem ist, dass der Betreiber die Seitenaufrufe und die Tracking-URLs serverseitig zusammenführen muss. Das Demo nutzt dafür Session-Cookies; eine unauffälligere Lösung mit IP-Adresse und Zeitstempel wäre jedoch denkbar.

Es ist übrigens nicht das erste Mal, dass CSS zum Bespitzeln eingesetzt wird – allerdings unterbinden die Browser den CSS History Hack seit einigen Jahren. (jo)