image

Onderzoeker: gebruik browser fingerprinting lastig te reguleren

donderdag 5 september 2019, 16:39 door Redactie, 8 reacties

Een maatregel die in de begintijd van het web werd gebruikt om websites beter te laten werken, en het tegenwoordig mogelijk maakt om internetgebruikers op basis van hun browser te volgen, zal voorlopig niet verdwijnen en is lastig te reguleren, zo stelt onderzoeker Pierre Laperdrix over browser fingerprinting.

Vroeger werden webpagina's door browsers op verschillende manieren geladen wat gevolgen kon hebben voor de weergave. Als oplossing keken websites naar de "user agent" header van de browser. Deze header bevatte informatie over de browser van de gebruiker en werd naar de webserver gestuurd, zodat die de juiste versie van de website kon voorschotelen. Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.

Websites kunnen met deze informatie een geoptimaliseerde ervaring bieden, maar het maakt het ook mogelijk om een unieke fingerprint te maken waarmee internetgebruikers over het web te volgen zijn. Een bijkomend voordeel voor trackers is dat er geen toestemming aan de gebruiker moet worden gevraagd. Voor de gebruiker is het daarnaast niet direct zichtbaar dat fingerprinting plaatsvindt. Verschillende browserontwikkelaars hebben inmiddels maatregelen genomen om fingerprinting tegen te gaan. Zo voorziet Tor Browser alle gebruikers van dezelfde fingerprint.

Laperdrix was vorig jaar betrokken bij onderzoek waaruit bleek dat fingerprinting op grote schaal met een klein percentage van unieke fingerprints mogelijk niet haalbaar is. Dat wil niet zeggen dat het geen probleem is. "Als er één waarde in je browser fingerprint is, of een combinatie, die niemand heeft, kun je nog steeds worden gevolgd. Daarom moet je voorzichtig zijn met fingerprinting", aldus de onderzoeker.

Volgens Laperdrix is er op het moment geen optimale oplossing om browser fingerprinting te verhelpen. "Doordat de oorsprong in het begin van het internet is geworteld is er geen enkele patch die het voorgoed kan oplossen. Het ontwerpen van beschermingsmaatregelen is dan ook lastig. Veel oplossingen die de afgelopen jaren zijn geprobeerd hadden hun zwaktes en sterktes", gaat de onderzoeker verder.

Een andere uitdaging is het reguleren van het gebruik van fingerprinting. In het geval van cookies is het eenvoudig om te zien of ze door een website zijn geplaatst. Voor fingerprinting is dat een ander verhaal. "Vanuit een juridisch perspectief is dit zeer lastig, aangezien toezichthouders nieuwe manieren moeten zien te vinden om met bedrijven samen te werken zodat de privacy van gebruikers wordt gerespecteerd", aldus Laperdrix, die verder stelt dat fingerprinting het gebruik van cookies niet kan vervangen.

Image

Reacties (8)
05-09-2019, 17:16 door Anoniem
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
Tijdzone, taalinstelling en videokaart als onderdeel van de UA -header kende ik nog niet. Wel browserversie en OS.
Dus kan iemand er eens een realistisch voorbeeld van geven? (verifieerbaar aub)
05-09-2019, 18:47 door Anoniem
Door Anoniem:
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
Tijdzone, taalinstelling en videokaart als onderdeel van de UA -header kende ik nog niet. Wel browserversie en OS.
Dus kan iemand er eens een realistisch voorbeeld van geven? (verifieerbaar aub)

Taalinstellingen hebben hun eigen header. De tijdzone en processorkernen kunnen via javascript opgehaald worden. Via WebGL kan de grafische kaart informatie opgehaald worden. In de UA zit soms ook de CPU architectuur.

https://user-agents.net/browsers/chrome/architectures/64
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
https://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp
https://html.spec.whatwg.org/multipage/workers.html#navigator.hardwareconcurrency
http://codeflow.org/entries/2016/feb/10/webgl_debug_renderer_info-extension-survey-results/

Ikzelf ben webdev en om eerlijk te zijn is het soms zeer nuttig om deze info ter beschikking te hebben. We kunnen eerder misschien voor een vraag-permissie systeem gaan als we het echt willen gaan afschermen.
05-09-2019, 19:26 door Anoniem
Door Anoniem:
Door Anoniem:
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
Tijdzone, taalinstelling en videokaart als onderdeel van de UA -header kende ik nog niet. Wel browserversie en OS.
Dus kan iemand er eens een realistisch voorbeeld van geven? (verifieerbaar aub)

Taalinstellingen hebben hun eigen header. De tijdzone en processorkernen kunnen via javascript opgehaald worden. Via WebGL kan de grafische kaart informatie opgehaald worden. In de UA zit soms ook de CPU architectuur.

https://user-agents.net/browsers/chrome/architectures/64
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
https://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp
https://html.spec.whatwg.org/multipage/workers.html#navigator.hardwareconcurrency
http://codeflow.org/entries/2016/feb/10/webgl_debug_renderer_info-extension-survey-results/

Ikzelf ben webdev en om eerlijk te zijn is het soms zeer nuttig om deze info ter beschikking te hebben. We kunnen eerder misschien voor een vraag-permissie systeem gaan als we het echt willen gaan afschermen.
Ok, ik geloof je en dank voor de reactie,
maar info over tijdzone, taalinstelling en videokaart verloopt dus niet via de UA-header!
(het artikel zegt namelijk van wel... ;)
05-09-2019, 20:52 door [Account Verwijderd] - Bijgewerkt: 05-09-2019, 21:27
Door Anoniem:
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
Tijdzone, taalinstelling en videokaart als onderdeel van de UA -header kende ik nog niet. Wel browserversie en OS.
Dus kan iemand er eens een realistisch voorbeeld van geven? (verifieerbaar aub)

https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead

(Voor achtergrondinformatie)
06-09-2019, 09:25 door Anoniem
Snap niet dat er gezegd wordt dat dit moeilijk tegen te gaan is.

In principe kan je met een heel simpel scriptje al die gegevens bij iedere page refresh random laten veranderen.
Je kan het ook handmatig doen met bv een plugin als useragentswitcher.
06-09-2019, 11:05 door Anoniem
Door Anoniem: Snap niet dat er gezegd wordt dat dit moeilijk tegen te gaan is.

In principe kan je met een heel simpel scriptje al die gegevens bij iedere page refresh random laten veranderen.
Je kan het ook handmatig doen met bv een plugin als useragentswitcher.
Wat dacht je van nog eenvoudiger: gewoon niet meer doorsturen en websites zich gewoon aan de W3C standaarden laten houden? Het punt "zodat die de juiste versie van de website kon voorschotelen" is dan direct overbodig.
06-09-2019, 14:43 door Anoniem
Door En Rattshaverist:
Door Anoniem:
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
Tijdzone, taalinstelling en videokaart als onderdeel van de UA -header kende ik nog niet. Wel browserversie en OS.
Dus kan iemand er eens een realistisch voorbeeld van geven? (verifieerbaar aub)

https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead

(Voor achtergrondinformatie)

Ik snap fingerprinting wel. Maar je hebt fingerprinting en je hebt UA-header: 2 verschillende dingen!
De UA-header is weliswaar een onderdeel bij fingerprinting, maar meer ook niet.

Waar het me om ging is dat de UA -header je niet niet tijdzone, taalinstelling en videokaart informatie geeft
zoals het artikel aangeeft. (dat ze met een andere request achterhaald kunnen worden is weer een hele andere zaak)

Immers een User Agent header ziet er bijvoorbeeld zo uit:
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0
Daar staat echt geen timezone/taalinstelling/videokaart informatie in.
Maar volgens de tekst van het artikel bovenaan zou dat wel zo zijn. En dat klopt dus niet. Ze schrijven immers:
Tegenwoordig bestaat de user agent header uit allerlei informatie, zoals browser, besturingssysteem, tijdzone, taalinstelling, processor en videokaart.
(mogelijk bedoelt de redactie hier "fingerprint" in plaats van "user agent header",
of anders heb ik wat gemist en dan hoor ik dat graag)

De redactie zou daarom uit profesionaliteitsoverwegingen er goed aan doen dit dus te corrigeren.
Wat je met http-headers (waarvan de User Agent (UA) -header er slechts één van is...) zou kunnen opvragen
is hier te vinden: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
06-09-2019, 20:42 door Anoniem
Chameleon browser op Android - fijne agent switcher browser.
URL ingeven en gaan met de gekozen browser agent.
Maar houdt rekening met extra laadtijden (geen cache etc.).

Als extensie te gebruiken op Android Firefox, maar je extensies
zorgen ook voor extra uniek zijn.
Lokale oplossingen ernaast als blokada en firehol helpen.
Het is wel geen tor browsen, maar wel wat stiller met adtracking en zo.
#sockpuppet
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.