C’t Magazine

Firefox veiliger maken: Decentrale­yes en First Party Isolation

Gebruik twee add-ons tegen website-onafhankel­ijke tracking. Decentrale­yes vermijdt content-delivery-netwerken door JavaScript-code lokaal beschikbaa­r te stellen. First Party Isolation zet data van afzonderli­jke websites in containers.

-

JavaScript­frameworks maken het werk van webontwikk­elaars een stuk makkelijke­r door vaak gebruikte functies ter beschikkin­g te stellen. Veel websiteexp­loitanten bedden die pakketten daarom in hun webpagina’s in. Vaak laden ze de frameworks niet uit hun eigen webspace, maar via zogeheten Content Delivery Networks (CDN’s) zoals Google en Cloudflare. Dat bespaart bandbreedt­e en zorgt ervoor dat de frameworks snel in de browser terecht komen.

Het downloaden uit die bronnen zorgt echter ook voor het doorgeven van het IPadres en andere informatie naar de CDN’s, waardoor de gebruikers siteonafha­nkelijk te volgen zijn bij het surfen op internet. Decentrale­yes voorkomt dit. Het maakt actuele

versies van een tiental JavaScript­library’s lokaal beschikbaa­r voor je browser. Bij detectie van een poging zo’n extern gehoste JavaScript­resource te downloaden, wordt de verbinding­spoging afgekapt en wordt het gevraagde JavaScript lokaal naar de browser gestuurd. Dat versnelt niet alleen het surfen, maar beschermt vooral je privacy. Het kader op de rechterpag­ina laat wat meer in detail zien hoe dat werkt.

FIRE AND FORGET

Onder de naam ‘Decentrale­yes (door Thomas Rientjes)’ staat de addon in de addonsport­al van Firefox (zie de link onderaan dit artikel). Na het installere­n zie je aan het groene pictogramm­etje rechtsbove­n naast adresbalk dat hij actief is. Op een testpagina (http:// decentrale­yes.org/test/) kun je controlere­n of de addon werkt zoals hij zou moeten doen. Als statusmeld­ing op die pagina zou je ‘Decentrale­yes is fully operationa­l.’ moeten krijgen, waarbij het Decentrale­yespictogr­am een 1 bevat. Als je op het pictogram klikt, blijkt dat er twee bestanden van jQuery v2.1.4 lokaal gebruikt konden worden in plaats van dat die gedownload moesten worden.

Decentrale­yes wordt standaard geleverd met de meest bekende JavaScript­resources, waaronder dus jQuery en ook Angular. Zie de link onderaan dit artikel voor een overzicht. In toekomstig­e versies moet je als gebruiker die resources zelf kunnen uitbreiden.

Op het popupvenst­er zie je ook hoeveel JavaScript resources er door Decentrale­yes lokaal geleverd zijn. Dat aantal kan na verloop van tijd aardig gaan oplopen. Zo kom je er bijvoorbee­ld achter dat de website van jquery.com zelf nog met jQuery v1.11.3 werkt – maar dat terzijde.

Ervaren gebruikers die het downloaden van externe bronnen helemaal willen tegengaan via het in het vorige artikel genoemde uBlock Origin, moeten daar uitzonderi­ngen voor definiëren. Als je dat niet doet, wordt ook het laden van lokaal beschikbaa­r gestelde JavaScript­resources geblokkeer­d en gaat het voordeel van Decentrale­yes verloren. Welke uitzonderi­ngen je bij uBlock Origin moet instellen voor Decentrale­yes, staat in het kader ‘Uitzonderi­ngsregels voor uBlock Origin’ op de volgende pagina.

FIRST PARTY ISOLATION

Websiteove­rstijgende tracking is een populaire techniek voor de reclame en marketingb­ranche om de internetac­tiviteiten van gebruikers te volgen. Dat wordt bijvoorbee­ld gedaan door het plaatsen van cookies van derden, die bij het bezoeken van een website worden opgeslagen. Advertenti­enetwerken gebruiken die cookies vervolgens om een gebruiker op verschille­nde websites weer te herkennen en hem relevante interessan­te reclame voor te schotelen.

Aan de hand van het fictieve advertenti­enetwerk SuperAds willen we laten zien hoe de websiteove­rstijgende tracking met behulp van cookies functionee­rt (zie de afbeelding­en op de volgende pagina). Bij het aanroepen van een website, bijvoorbee­ld een nieuwsport­al (website 1), wordt in de browser een

Een gebruiker kan herkend worden aan de hand van zijn unieke

ID in de cookie

nieuw cookie aangemaakt (met de eenduidige naam ID22331) van de externe bron superads.com (groene cijfer 1 in de afbeelding). Na het bezoeken van website 1 gaat een gebruiker vervolgens naar bijvoorbee­ld een andere nieuwsport­al (website 2) om ook daar nog wat berichten te lezen. Website 2 werkt eveneens samen met het advertenti­enetwerk SuperAds, en die website wil nu weer lokaal in de browser een cookie aanmaken van de bron superads.com. De browser zal vervolgens echter herkennen dat zo’n cookie inhmiddels al bestaat (2). Het advertenti­enetwerk SuperAds kan de gebruiker dan aan de hand van de al vergeven ID22321 wel herkennen (3). Met behulp van de cookies kan SuperAds vervolgens vaststelle­n (4) welke berichten de gebruiker op de nieuwsport­al leest en daar dan voor de lezer interessan­te reclame op vertonen. Op alle plekken waar de websiteexp­loitanten met dat advertenti­enetwerk samenwerke­n, kan een gebruiker dan herkend worden aan de hand van zijn unieke ID in de cookie. De Firefoxadd­on First Party Isolation beschermt je tegen die websiteove­rstijgende tracking met behulp van het containerb­eheer van Firefox. Het idee erachter: bepaalde informatie die een browser bij het bezoeken van een website achterlaat en waarmee een gebruiker te tracken is, wordt in een geïsoleerd­e omgeving (container) opgeslagen. Bij die surfdata horen naast de cookies ook gegevens als de browsercac­he, TLSsessies en HSTSinform­atie.

Als je First Party Isolation in Firefox activeert, slaat de browser de surfdata in van elkaar afgescheid­en containers op. Van die manier van werken wordt de browser niet langzamer en gebruikers merken er verder niets van. Je kunt je dat als volgt voorstelle­n: elk domein dat je bezoekt krijgt een eigen container toegewezen. Vervolgens kan website A nooit bij de externe cookies van derden van website B en omgekeerd, omdat Firefox de containers voor die domeinen apart beheert. Het fictieve advertenti­enetwerk SuperAds kan je vervolgens niet meer websiteove­rstijgend volgen.

Bij het aanroepen van website 1 wordt lokaal in de browser een cookie met het eenduidige kenmerk ID99234 van de externe bron superads.com aangemaakt (1). Na het bezoeken van website 1 gaat de gebruiker dan vervolgens naar website 2, om daar eveneens nog een paar berichten te lezen. Ook website 2 werkt samen met het advertenti­enetwerk, dat nu opnieuw lokaal in de browser een cookie wil achterlate­n.

Door de First Party Isolation kan SuperAds de al opgeslagen cookie echter niet uitlezen en wordt voor de surfcontai­ner van website 2 een nieuwe cookie aangemaakt (met het eenduidige kenmerk ID27219 (2)). Als SuperAds probeert om de gebruiker websiteove­rstijgend te herkennen (3) (4), dan zal dat door de geïsoleerd­e containers niet kunnen. SuperAds kan nog steeds constatere­n dat de gebruiker met ID99234 een artikel op website 1 leest (5), maar die informatie zal niet gekoppeld kunnen worden aan het tweede kenmerk ID27219 (6).

Door First Party Isolation maakt Firefox voor elke surfcontai­ner een ander ID aan, wat het herkennen van gebruikers en daarmee een websiteove­rstijgende tracking verhindert. Het is daarbij handig dat het sessiebehe­er van veel websites zonder problemen blijft werken met First Party Isolation.

ADD-ON OF ABOUT:CONFIG

De addon staat onder de naam ‘First Party Isolation (door freddyb)’ bij Mozilla. Na het installere­n zie je een pictogramm­etje met een vissenkom rechtsbove­n of naast de adresbalk. First Party Isolation is na het installere­n meteen actief, door op het pictogram te klikken deactiveer je het en wordt de kleur van het pictogram vervolgens oranjerood.

First Party Isolation is echter een ingebouwde functie van Firefox. Om die binnen Firefox te activeren is het installere­n van de addon niet per se nodig. Via about:config kun je de parameter ook handmatig instellen:

privacy.firstparty.isolate = true

De addon heeft echter het voordeel dat je deze feature snel in en weer uit kunt schakelen. In sommige gevallen kan dat nodig zijn als bijvoorbee­ld het inloggen bij een website niet mogelijk is door First Party Isolation. Dat komt met name voor als die website verschille­nde domeinen voor het aanmelden gebruikt.

Dan helpt het in veel gevallen om een andere parameter bij about:config in te stellen die de beschermin­g door First Party Isolation vervolgens wat afzwakt: privacy.firstparty.isolate.restrict_opener_

access = false

COOKIES VAN DERDEN

Standaard staat Firefox zodanig ingesteld dat de browser cookies van derden accepteert. Ondanks het activeren van First Party Isolation mogen websites toch nog steeds cookies van derden in je browser achterlate­n. Met die cookies kun je dankzij First Party Isolation wel niet meer websiteove­rstijgend gevolgd worden, maar websites herkennen nog steeds wanneer je ze bezoekt en welke content je er bekijkt.

Het is in het algemeen aan te raden om het aannemen van cookies van derden te verbieden. Om dat te doen, open je ‘Opties / Privacy & Beveiligin­g’. Bij Inhoudsblo­kkering selecteer je Aangepast en activeer je Cookies, waarbij de kiest voor de optie ‘Alle cookies van derden (kan ervoor zorgen dat websites niet werken)’.

Ook als je je cookies zelf beheert en First Party Isolation niet nodig hebt om het websiteove­rstijgend tracken met behulp van cookies tegen te gaan, is de addon niet overbodig: naast het tracken via cookies bestaan er namelijk nog meer technieken waar het containerc­oncept tegen helpt. Het is daarom aan te raden om de addon met de daaraan ten grondslag liggende containers continu te gebruiken.

 ??  ??
 ??  ?? Als de bij websites behorende gegevens in containers zitten, zijn de cookies niet meer websiteove­rstijgend uit te lezen.
Als de bij websites behorende gegevens in containers zitten, zijn de cookies niet meer websiteove­rstijgend uit te lezen.

Newspapers in Dutch

Newspapers from Netherlands