Browser-Fingerprinting: Network Information API

Das W3C hat einen Draft zur sogenannten »Network Information API« veröffentlicht. Was kann diese API:

The Network Information API enables web applications to access information about the network connection in use by the device.

Im gleichen Draft finden sich dann auch gleich Überlegungen, wie diese API als Fingerprinting-Merkmal »missbraucht« werden könnte:

  • Fingerprint a user based on characteristics of a particular network (e.g. type and downlink estimates) at a point in time, and by observing change in such characteristics over a period of time.
  • Fingerprint a user based on transitions between one or more networks (e.g. based on order of transitions by type, downlink estimates, and time).
  • Infer user location (e.g. are they home, at work, or in transit) based on above criteria.

Die Autoren der API argumentieren dann weiter:

However, above considerations are not new, and sufficiently motivated attackers may already obtain such information using other technologies:

  • The attacker can use JavaScript to observe the duration (e.g. time from start of fetch to onload event) of any network fetch (same or cross-origin) on the client, and may get more detailed timing data about the same fetch via the Resource Timing API.
  • The attacker can use WebRTC to identify client’s public and private IP addresses via STUN, or similar mechanisms.
  • The attacker can observe the client IP, fetch duration, RTT, transfer speed, and other low-level socket metrics of a fetch on the server.

Nach dieser Argumentation haben unsere geliebten Marketing- und Tracker-Buden also eigentlich schon andere Möglichkeiten, um Browser-Fingerprinting zu betreiben. Aber anstatt das zu verhindern, machen wir lieber noch mehr Vorschläge, wie das Fingerprinting weiter erleichtert werden kann… Es ist wirklich zum verzweifeln.

Unterstütze den Blog mit einem Dauerauftrag! Mitmachen ➡