Het goede nieuws: in Nederland valt bijvoorbeeld fingerprinting ook onder de cookiewet, die stelt dat gebruikers toestemming moeten geven om cookies te ontvangen. Het slechte nieuws: over niet alle methoden is het even duidelijk of ze eronder vallen. Nog slechter nieuws: veel middelen worden al ingezet en gebruikers blijven in het ongewisse.
Een Do Not Track-instelling of het gebruik van een plug-in als Ghostery is niet altijd voldoende om deze volgmethodes uit te schakelen. Er wordt namelijk steeds vaker gegrepen naar een ander middel: het toevoegen van code aan de datastroom. Daarvoor hoeft er dus niets gedaan te worden met je smartphone of tablet - de adverteerder weet wel wie je bent. Dit zijn vier methodes om gevolgd te worden, zelfs als je geen cookies opslaat.
Device-fingerprinting
Fingerprinting draait om het achterhalen van 'vingerafdrukken' van clients. Hoe specifieker deze informatie is, hoe makkelijker het is om individuele apparaten te identificeren. Zo heb je geen cookies meer nodig om bijvoorbeeld gerichter te adverteren of te volgen wat gebruikers doen. Er zijn meerdere methodes, die ruwweg kunnen worden opgedeeld in twee categorieën.
Passieve fingerprinting gaat om met de informatie die moet worden gedeeld voor netwerkverkeer. Informatie over de TCP/IP stack of DNS-verkeer leidt bijvoorbeeld tot het gebruikte OS en WiFi-verkeer kan passief worden geanalyseerd om de 802.11-implementatie te ontdekken en zelfs het gebruikte apparaat aan te wijzen. Passieve methodes zijn minder specifiek dan de actieve en worden daarom minder gebruikt.
Actieve fingerprinting daarentegen, oftewel manieren waarop beheerders actief de client benaderen om informatie te achterhalen, is zeer geschikt om individuele gebruikers te registreren. Hier de twee bekendste methoden, die onder dezelfde paraplu vallen:
1. Browser-fingerprinting
De bekendste methode om individuele gebruikers te achterhalen is door browser-fingerprinting. De ene browser is de andere niet, door de plug-ins die worden gebruikt, de versies daarvan en individuele configuraties. Er wordt bij deze methode ook informatie gebruikt als de tijdzone, schermgrootte en geïnstalleerde lettertypes.
Deze combinatie levert een vrij uniek patroon op. Hoe uniek? Bekijk het zelf bij de door de EFF opgetuigde site Panopticlick. Deze meet wat er te meten valt van je browserinformatie en vertelt je hoe uniek jouw vingerafdruk is. Hier op de redactie gebruik ik een vrij gestandaardiseerde browser en deze levert volgens de test een uniek patroon op tussen de 4,7 miljoen geteste browsers.
Op de volgende pagina: Het verschil tussen ever-, zombie-, super- en permacookie.
2. Canvas-fingerprinting
Een verlengstuk van browser-fingerprinting wordt canvas-fingerprinting genoemd. Het canvas-element in HTML5 zorgt onder meer voor de rendering van 2D-vormen en bitmaps. Hoe die rendering via de canvas-API verloopt, wordt bepaalt door een hoop variabelen, zoals de browser, grafische kaart, drivers en lettertypebibliotheek. Deze set factoren (beschikbare lettertypes, welke grafische instellingen worden gebruikt etc.) is zo specifiek, dat het een uniek patroon oplevert.
Een adverteerder kan dit gebruiken door geprepareerde afbeeldingen te tonen die deze feature aanspreken. Door de rendering bij browsers van bezoekers levert dat een patroon op waarmee de (terugkerende) gebruiker kan worden geïdentificeerd. Onderzoekers Keaton Mowery en Hovav Schacham schreven in 2012 een rapport (PDF) over deze techniek en zagen dit als een onvermijdelijk gevolg van het moderne web.
"We zijn pessimistisch over de mogelijkheid om deze vingerafdrukken te elimineren zonder de browserfunctionaliteit en prestaties stevig te verminderen, of zonder nóg meer goedkeuringsdialogen toe te voegen om basisfunctionaliteit te kunnen gebruiken." Kortom, je kunt er wel weer een cookiewet-achtige constructie tegenaan gooien, maar daar wordt niemand blij van.
Supercookies
De term 'supercookie' wordt erg breed ingezet en het is lastig om te weten waar je precies mee te maken hebt als dit wordt genoemd. Kortgezegd komt het erop neer dat de supercookie een manier van tracken is zonder direct cookies te plaatsen. De supercookie wordt vaak gebruikt als we het hebben over het terugplaatsen van cookies via twijfelachtige methodes - om zo cookieblokkerende gebruikers alsnog te kunnen volgen.
Om het verwarrend te maken, wordt de term supercookie nu ook gebruikt voor alle methodes om gebruikers te volgen zonder iets met cookies te doen. De permacookie is zo'n voorbeeld (zie hieronder). Maar met deze brede definitie valt zelfs fingerprinting daaronder. Heeft iemand een beter woord?
3. Evercookies en zombiecookies
Dit is de oer-supercookie en het gaat eigenlijk om een cookiepaar. De evercookie is een stuk Flash- of HTML5-code waaraan een ID is gekoppeld. Deze worden gecachet en als gebruikers cookies wissen, blijft bijvoorbeeld dat Flash-ID bestaan. Bij een nieuw bezoek aan een site waarvan de oorspronkelijke cookie is verwijderd, wordt Flash aangesproken, het ID herkend en de cookie hersteld.
De herstelde cookie wordt dan ook wel eens de zombiecookie genoemd, omdat hij opstaat uit de dood. De evercookie (de code die de zombiecookie oproept) valt gewoon onder de cookiewet en daar moet je dus in Nederland per site expliciete toestemming voor geven. (Alhoewel die expliciete toestemming in een wijziging impliciet is geworden. Kortom, als je de cookiemelding negeert, accepteer je de cookies.)
4. Permacookies
Deze naam is eigenlijk heel verkeerd, want het heeft niets te maken met cookies. Bij een permacookie wordt een HTTP-header door de telco geïnjecteerd op je mobiele verkeer om zo individuele bezoekers te kunnen identificeren. Dat gaat dus buiten je om, er wordt niets op het apparaat geplaatst en het tracken gebeurt zonder dat je het doorhebt. Amerikaanse providers gebruiken deze headers en gebruikers kunnen zelf kijken of deze wordt meegezonden door deze testsite te bezoeken. Overigens wordt de permacookie ook al in Nederland gebruikt.
Hierna: Nu we weten wat er allemaal mogelijk is: blokkeren die boel!
Hoe voorkom je dit?
Tot zover de theorie. In de praktijk worden deze methodes al volop toegepast, zo blijkt uit onderzoek dat afgelopen zomer werd gepubliceerd (PDF). Duizenden hoofdpagina's van grote sites draaien scripts om canvas-fingerprinting toe te passen. De meeste daarvan gebruiken open source-library fingerprintjs en de onderzoekers troffen dan ook veel overeenkomsten in deze scripts aan.
Ze keken ook naar gecachete code met ID's die zorgt voor de herrijzenis van cookies en vonden ook diverse voorbeelden van Flash en HTML5-evercookies die de zombiecookie spawnen. De permacookie is niet meegenomen in dat onderzoek, maar daar is ook wel een oplossing voor.
Fingerprinting
De enige manier om dit te voorkomen, is door sites specifiek toestemming te laten vragen. En voor je denkt: "nee, niet nog een melding", dit kan al met bijvoorbeeld de Tor browser. Deze herkent scripts die canvas-fingerprinting benutten en voeren een lege afbeelding terug, zodat de server niet kan interpreteren welke lettertypes en rendering worden gebruikt.
Ook Firefox gebruikt een beperkte methode om browser-fingerprinting te voorkomen, door in elk geval te proberen om te voorkomen dat servers te veel plug-in informatie kunnen uitlezen. Ook lopen er verschillende onderzoeken naar manieren om browser-fingerprinting te voorkomen. Zo probeert de EFF in kaart te brengen wat de mogelijkheden voor fingerprinting zijn. Hopelijk worden in de nabije toekomst manieren om fingerprinting te blokkeren mainstream.
Evercookies blokkeren
De evercookie is eigenlijk een stukje code dat in het cachegeheugen van de browser wordt gezet. De manier om ook evercookies te blokkeren is dus door ook deze caches te legen. Het probleem is dat het vaak lastig is om bijvoorbeeld Flash-cache te verwijderen. Als je lokale opslag wilt wissen, moet je dat vaak apart aanvinken of een aparte cache-instellingspagina in de browser bezoeken.
Maar zelfs dan is er nog een optie voor het terugroepen van een zombiecookie. De Flash-plugin draait los van gebruikersaccounts en als gebruiker A de lokale opslag uit privacyoverwegingen wist, kan er nog een ID kleven binnen het account van gebruiker B. Als die vervolgens aan het browsen slaat, wordt ook de zombiecookie weer teruggeplaatst bij gebruiker A.
In Nederland vallen evercookies dus net zo goed onder de telecomwet. Een site moet dus toestemming vragen - hoewel dit zover verwaterd is dat het nu meer is: een site moet melden dat er toestemming wordt gegeven als je doorklikt - om evercookies te kunnen gebruiken. En met een plug-in als Ghostery heb je nergens last van.
Permacookies dwarsbomen
Permacookies zijn lastig, omdat ze buiten de client om op je data worden gezet. Maar bij HTTPS-verkeer worden ook de headers versleuteld van client naar server. Het enige wat de provider ziet - behalve de versleutelde data - zijn informatie over de SSL-configuratie. Als het goed is kan de provider daar dus geen header inproppen.
Een plug-in als HTTPS Everywhere zou dus een goed idee zijn - ware het niet dat door een reeks SSL-incidenten dit jaar erg veel HTTPS-opties ontbreken als het niet als cruciaal wordt gezien. Zelfs hier op Computerworld ontbreekt momenteel deze versleutelde optie (de login loopt wel via HTTPS), hoewel een HTTPS-versie voor de hele site binnenkort wordt toegevoegd.
Reageer
Preview