Ovo je stara izmjena dokumenta!
Browser fingerprinting
Istražite tehnike browser fingerprintinga na temelju radova iz IEEEXplore i Web of science baza objavljenih nakon 2020.
U ovom preglednom radu i wiki stranici prikazane su povijesne i suvremene metode stvaranja otiska internetskog preglednika te načini na koje kombinacije internetskih aplikacijskih sučelja omogućuju identifikaciju korisnika bez oslanjanja na kolačiće. Sažimaju se glavne kategorije tehnika prikupljanja i spajanja signala, uključujući stabilne izvore entropije i mehanizme zaobilaženja zaštita. Nadalje se uspoređuju pristupi detekciji stvaranja otiska, poput analize ponašanja skripti i praćenja tokova podataka od osjetljivih izvora. Na temelju pregleda literature iznose se preporučene mjere zaštite, uključujući smanjenje površine za stvaranje otiska internetskog preglednika, standardizaciju vrijednosti i ograničavanje preciznosti vremenskih izvora, uz razmatranje kompromisa između privatnosti i funkcionalnosti interneta.
Keywords: browser fingerprinting, browser safety, tracking, machine learning, stvaranje otiska internetskog preglednika, preglednik, browser, otisak web preglednika, HTTP, JavaScript, privatnost, sigurnost na internetu, sigurnost podataka
Prilikom pristupa internetskoj stranici, preglednik korisnika šalje HTTP zahtjeve poslužitelju kako bi preuzeo sadržaj potreban za prikaz stranice. HTTP zahtjevi sastoje se od metode, poveznice, zaglavlja s metapodacima te, po potrebi, tijela zahtjeva.
Svaki put kada korisnik otvori internetsku stranicu, njegov preglednik šalje osnovne informacije poslužitelju kako bi se stranica mogla prikazati. Te informacije uključuju podatke poput jezika preglednika, vremenske zone, rezolucije zaslona te instaliranih fontova i dodataka. Takve podatke koriste sustavi za oglašavanje i alati za praćenje korisnika kako bi omogućili njihovo prepoznavanje na različitim internetskim stranicama. Na temelju prikupljenih podataka moguće je stvoriti otisak internetskog preglednika (engl. browser fingerprint), odnosno jedinstveni skup informacija o korisniku i uređaju koji omogućuje njegovo prepoznavanje. Takav otisak namijenjen je otkrivanju jedinstvenog skupa informacija o korisniku i uređaju koji koristi, najčešće u svrhe praćenja aktivnosti korisnika na više internetskih stranica te prikazivanje oglasa na temelju prikupljenih podataka o korisniku.
Budući da se dio podataka koje preglednik šalje poslužitelju koristi za pravilno prikazivanje internetskih stranica, razvoj metoda zaštite od stvaranja jedinstvenog otiska preglednika povijesno je predstavljao izazov. Metoda trebaju biti učinkovite u zaštiti privatnosti korisnika, a da pritome ne narušavaju funkcionalnost i korisničko iskustvo preglednika.
Browser fingerprinting prisutan je i dan danas na mnogim stranicama, uključujući popularne stranice i kompanije Youtube, Microsoft, eBay, Google ads servis i druge popularne domene [1]. Propisi poput GDPR-a (engl. General Data Protection Regulation) u Europskoj uniji štite korisnike od praćenja na internetu, primjerice putem kolačića [2], dok se browser fingerprinting također smatra oblikom obrade osobnih podataka. Zbog toga je za takve oblike praćenja potrebna valjana pravna osnova ili izričiti pristanak korisnika, no mnoge internetske stranice i servisi se tih zahtjeva ne pridržavaju u potpunosti. Među njima su oglašivačke mreže te servisi za prepoznavanje automatiziranih aktivnosti (botova), koji se često oslanjaju na tehnike poput browser fingerprintinga. Centar informacijske sigurnosti već od 2012. goidne upozorava korisnike interneta na browser fingerprinting i očekuje porast korištenja browser fingerprintinga s vremenom. Ta tvrdnja se pokazala točnom nakon što su, zbog uvođenja GDPR-a su metode praćenja korisnika putem kolačića strože regulirane.
U ovome radu bit će objašnjen način rada browser fingerprintinga, prikazane razlike između starijih i novijih metoda te analizirane dostupne metode zaštite korisnika.
Otisak internetskog preglednika je bilo koji skup informacija vezan za korisnikov uređaj i/ili preglednik, koje se prikupljaju tijekom pristupa internetskoj stranici. Te informacije omogućuju jednoznačnu identifikaciju korisnika u odnosu na druge korisnike. Stvaranje otiska internetskog preglednika (engl. Browser Fingerprinting) je tehnika praćenja korisnika bez stanja (engl. stateless). Po tome se bitno razlikuje od metoda koje se oslanjaju na kolačiće (engl. Cookies), jer ne sprema nikakve informacije u kolačiće ili lokalnu pohranu. Kolačići se, za razliku od toga, koriste kako bi internetske stranice mogle spremati male količine podataka koje preglednik kasnije koristi, primjerice za održavanje prijave korisnika ili spremanje stavki u košarici internetske trgovine. Budući da ovise o pohrani na korisničkom uređaju, mogu se jednostavno obrisati, blokirati ili ograničiti. Otiskom internetskog preglednika prikupljaju se informacije o inačici preglednika, operacijskom sustavu, instaliranim dodacima i konfiguracijskim značajkama. Iako su te informacije pojedinačno najčešće nebitne, njihove specifične kombinacije mogu biti dovoljno rijetke ili čak jedinstvene da omoguće prepoznavanje korisnika.
Neki od podataka koji se prikupljaju za stvaranje otiska su idući:
1. HTTP Zaglavlja:
• User-Agent: Zaglavlje koje opisuje preglednik i njegovu inačicu.
• HTTP_ACCEPT Zaglavlje: poslužitelju govori kakve vrste medija podržava korišteni preglednik.
• Accept-Language Zaglavlje: označava jezike koje korisnik preferira u pregledniku. Moguće je postaviti više jezika, no zbog privatnosti se ponekad ne šalje cijeli popis preferenci.
• DNT zaglavlje: signal poslužitelju da korisnik ne želi biti praćen. Zastarjela komponenta HTTP protokola.
2. Karakteristike preglednika:
• Detalji proširenja za preglednik (engl. Browser Plugin Details): U starijim inačicama preglednika koristili su se dodaci (engl. plugins) koji su pregledniku pomagali u prikazivanju i procesiranju različitih vrsta sadržaja. Danas su takvi dodaci uglavnom ukinuti, a zamijenili su ih programski dodaci (engl. add-ons) i moderna proširenja (engl. extensions).Detalji proširenja za preglednik (engl. Browser Plugin Details):
• Pomak vremenske zone: Prikazuje razliku između korisnikove vremenske zone i koordiniranog svjetskog vremena.
• Vremenska zona: Tekstualni zapis vremenske zone, primjerice „Europe/Warsaw“
• Dimenzije ekrana i dubina boje: Obuhvaćaju širinu i visinu zaslona, površinu prikaza unutar preglednika, dubinu boje odnosno broj bitova po pikselu koji se koristi za prikaz boja.
• Status dozvola: Preko aplikacijskog sučelja dopuštenja (engl. Permissions API) saznaje se dozvoljeni su li kamera, mikrofon i lokacija
• Podržani MIME tipovi i kodeci: Odnosi se na informacije o vrstama datoteka i multimedijskim kodecima koje preglednik može prikazati ili reproducirati.
3. Mjere otiska:
• Instalirani fontovi: U HTML oznaku <span> se prikazuju tekstovi u različitim fontovima te mjeri širina oznake kako bi sustav za praćenje saznao koje fontove korisnik ima instalirano.
• Kolačići: Mjere se jesu li uključeni te se provjeravaju „superkolačići“. Unatoč nazivu, superkolačići nisu kolačići nego tehnike korištenja drugih funkcionalnosti preglednika za pohranu podataka, primjerice predmemorije (engl. Cache)
• Hash za Canvas element i WebGL aplikacijsko programsko sučelje (engl. Canvas Hash / WebGL API): WebGL i Canvas su različite metode za stvaranje prikaza na internetskoj stranici. Sustavi za praćenje mogu generirati složene prikaze oblika, boja i teksta te analizirati piksele prikaza. Različiti dijelovi korisnikovog sustava utječu na rezultat, a nakon provjere može se izraditi hash otiska preglednika.
4. Speficikacije sklopovlja i programske podrške:
• Platforma: Navodi operacijski sustav i arhitekturu procesora
• Podrška za dodir (engl. Touch Support): Govori o količini točaka podržane za dodir na stroju, na primjer mobitelu ili tabletu.
• Korištenje programa za blokiranje oglasa (engl. Ad Blocker Usage)
• Audiocontext otisak: Sustav za praćenje stvori audio koji se koristi za mjerenje značajki audio sustava korisnikovog računala.
• Količina jezgri procesora na računalu
• Memorija računala
Postoje internetski stranice na kojima je moguće generirati vlastiti otisak preglednika, provjeriti njegovu jedinstvenost te vidjeti neke od gore navedenih komponenti. NNajpoznatije među njima su AmIUnique (https://amiunique.org/) i CoverYourTracks (https://coveryourtracks.eff.org).
Najranije metode za stvaranje otiska koristile su JavaScript aplikacijska sučelja za identificiranje korisnika. Neka od tih su navigator, screen, Plugin te mimeType objekti. Poznati eksperiment u području, Panopticlick [6] analizira informacije iz HTTP zaglavlja i JavaScript aplikacijskih sučelja. Kako se razvijaju internetski preglednici, nova JavaScript sučelja otvaraju nove mogućnosti za stvaranje otisaka, te se posebno ističu Canvas, WebGL, Audio i Battery status aplikacijska sučelja zajedno sa fontovima i proširenjima (engl. Extensions). Mnogo takvih aplikacijskih sučelja je s vremenom ograničeno ili smatrano zastarjelim te se zbog toga ne koriste u određenim preglednicima.
Moderne stranice još uvijek koriste JavaScript aplikacijska sučelja, metode i svojstva kako bi stvarali otiske korisnika. Autori rada u kojem je predstavljen alat FP-Inspector [4], namijenjen automatskom otkrivanju fingerprinting skripti, izdvajaju sljedeće elemente kao najpouzdanije pokazatelje da se na nekoj stranici provodi izrada otiska internetskog preglednika.
Tablica 1 – Uzorak iz tablice najčešće korištenih ključnih riječi iz JavaScript aplikacijskih sučelja prepoznatih pomoću FP-Inspector detetktora
Najčešća podjela metoda stvaranja otiska je na aktivne i pasivne metode. Aktivne metode ispituju putem JavaScript koda preglednik ili uređaj, a pasivne metode koriste informacije koje ionako dolaze u zahtjevima, najčešće kroz zaglavlja. U ranije spomenutom istraživanju vezanom uz FP‑Inspector [4], metode stvaranja otiska podijeljene su u dvije glavne kategorije, koje se dalje dijele na više podkategorija:
1. Stvaranje otiska provjeravanjem funkcionalnosti (engl. Functionality fingerprinting): Kategorija koja se bavi provjerama koje funkcionalnosti podržava preglednik, često u obliku aplikacijskih sučelja
• Preko aplikacijskog sučelja dopuštenja (engl. Permissions API) provjerava se status i dopuštenja za aplikacijska sučelja obavijesti, geolokacije i kamere. Ovakva tehnika zove se otisak dopuštenja (engl. Permission fingerprinting).
• Preko sučelja za komuniciranje sa perifernom opremom spojenom na stroj saznaju se informacije koje se koriste za stvaranje otiska periferije (engl. Peripheral fingerprinting). Jedan od mogućih načina stvaranja takvog otiska je koristiti funkciju „getLayoutMap“ za dobivanje informacija o veličini, prisutnim tipkama i dodatnim informacijama o tipkovnici korisnika.
• Preko aplikacijskih sučelja koje zamjenjuju funkcionalnosti čistog JavaScript koda moguće je saznati koji preglednik i inačicu preglednika korisnik koristi. Radni alat za audio (engl. AudioWorklet) implementiran je samo u preglednicima koji su bazirani na Chromium inačicama 66 i nadalje, a funkcije kao setTimeout i mozRTCSessionDescription su nadjačane u nekim preglednicima. PrivacyBadger proširenje za preglednike također nadjača neke funkcionalnosti. Sve te informacije mogu doprinijeti stvaranju otiska.
2. Algoritamsko stvaranje otiska: Tehnike koje algoritamski pregledavaju kako za određeni ulaz preglednik obrađuje dobivene informacije.
• Stvaranje otiska mjerenjem vremena (engl. Timing Fingerprinting) tehnika je u kojoj je ključno aplikacijsko sučelje mjerenja performansi (engl. Performance API). Aplikacijsko sučelje nudi detaljne vremenske trenutke prilikom učitavanja resursa stranice, kao što su domainLookupStart, domainLookupEnd, domINteractive, msFirstPaint. Te mjere mogu također sustavima za praćenje reći da li je korisnik posjećivao prethodno stranicu ukoliko je vrijeme odziva DNS pretrage dovoljno kratko.
• Stvaranje otiska animacijama (engl. Animation fingerprinting) pomoću funkcionalnosti kao requestAnimationFrame računaju frekvenciju prikaza okvira (engl. framerate) prilikom prikazivanja sadržaja u pregledniku. Često se ta informacija koristi kako bi se saznala frekvencija osvježavanja ekrana korisnikovog stroja.
• Stvaranje otiska putem aplikacijskih sučelja za zvuk je moguće korištenjem proizvedenih zvučnih signala sa AudioContext aplikacijskim sučeljem. Postoje razlike kako se ti signali proizvode na različitim preglednicima, pogotovo u svojstvima numberOfInputs, numberOfOutputs, destinations.
• Stvaranje otiska pomoću senzora moguće je korištenjem senzora stroja, na primjer devicemotion, deviceorientation i userproximity senzori.
Istraživači također i sami razvijaju metode za stvaranje otiska preglednika kako bi ukazali na potencijalne nesigurnosti u aplikacijskim sučeljima ili prikazali nove načine stvaranja otiska koje je potrebno imati na umu prilikom razvoja zaštita na preglednicima ili proširenjima.
PingLoc prototipni sustav [7] razvili su znanstvenici iz Hong Konga koji uspijeva zaobići mnogo obrambenih metoda protiv stvaranja otiska internetskog preglednika. Kako se s vremenom sve više preglednika počinje boriti protiv prikupljanja otisaka internetskih preglednika, ograničavaju prikupljanje podataka vezano za preglednik. Znanstvenici su zbog toga htjeli pronaći mjeru koja nije ograničena metodama zaštite. Glavna ideja iza metode je korištenje fizičkog vremenskog kašnjenja između korisnikovog preglednika i jednog ili više poslužitelja kako bi saznali korisnikov otisak lokacije za konstrukciju profila korisnika. Odlučili su se za tu metodu zbog toga što je teže manipulirati informacijom fizičke pozicije korisnika naspram ostalih informacija koje često prikupljaju sustavi za praćenje te nije vezana za sami preglednik ukoliko korisnik mijenja preglednike. Ključno je napomenuti da ne koriste IP adrese, već samo zahtjeve za prikaz slika sa različitih domena kako bi saznali vrijeme kašnjenja korisnikovog preglednika, stanje i karakteristike mrežne veze između korisnika i udaljenog poslužitelja. Slike su odabrane za stvaranje otiska kako bi se zaobišli CORS i SOP sigurnosni mehanizmi web preglednika, pogotovo zato što je dovoljno koristiti slike sa poznatih i povjerljivih internetskih stranica. Prikupljaju 7 statističkih značajki za svakog korisnika, a to su maksimalna, minimalna i srednja veličina TCP prozora, varijanca prozora, kvadratni srednjak (engl. Root-Mean-Square) prozora, asimetriju prozora (engl. Skew) i šiljatost razdiobe ili Kurt. Koriste 11 različitih stranica za mjerenje tih značajki te pomoću njih za svakog korisnika sastavljaju vektor sa 77 dimenzija. Samo stvaranje korisničkih profila radi model strojnog učenja koji služi kao klasifikator.
Model za prepoznavanje otiska internetskog preglednika (engl. Browser Fingerprint Recognition Model) razvili su znanstvenici iz Beijinga [8] 2020. godine s ciljem prepoznavanja kada se otisak malo promijeni kroz vrijeme. Nastao je nastavkom razvijanja prošlih metoda stvaranja otiska. Prikuplja informacije o pregledniku i stanju računala iz JavaScript koda prisutnom na posjećenoj stranici. Kombinira prošle tehnike praćenja pomoću kolačića i stvaranja otiska putem aplikacijskog sučelja Canvas, zajedno sa informacijama o IP adresi korisnika. Navode kako također koriste informaciju odbijen li je pristup kolačićima kao dio otiska, zajedno i sa već zastarjelom opcijom DNT zaglavlja (engl. Do Not Track). Svaka informacija prikupljena ima određenu težinu koja joj se pridodaje za doprinos otisku, zajedno sa samim informacijama koje sadrži. Koriste uspoređivanje otisaka, prilikom čega ovisno o količini informacijama koje su dovoljno slične imaju različite procedure za nastavak rada. U slučajevima kada im provjere dviju vrijednosti otisaka ne vraćaju preklapanje, provjeravaju se najmanje promjenjivi dijelovi otiska te im se algoritamski određuje sličnost i prag za odlučivanje jesu li dovoljno slične vrijednosti. Koriste bazu podataka kako bi simultano pamtili otiske korisnika, ali ih također koriste kao znanje za otkrivanje je li otisak sličan nekom postojećem ili potencijalno novi korisnik čiji otisak još nije zapisan u bazu podataka.
Tablica 2 - Prikaz primjera prikupljenih informacija za stvaranje otiska
Znanstvenici iz Manile koriste niz pravila za određivanje otiska sa ciljem da prate kako se informacije o strojevima korisnika mijenjaju kroz vrijeme i saznaju konzistentan način za određivanje otiska. Definiraju stabilnost i raznolikost kao bitna svojstva za pravilan rad tehnika praćenja otiska korisnika, gdje je stabilnost pretpostavka da se otisci korisnika neće drastično mijenjati, a raznolikost pretpostavka da će različiti korisnici imati dovoljno različite otiske za razlikovanje. Te pretpostavke bi trebale biti istinite za dobre tehnike stvaranja otiska, ali navode da je kritična procjena jedinstvenosti otiska kako bi tehnika stvaranja otiska bila efektivna. Prikupili su voljne sudionike te mjerili za njih različite mjere otiska kao i njihove promjene kroz vrijeme, gdje pritom razlikuju automatizirane promjene, promjene koje korisnik učini mijenjanjem postavki te promjene prilikom događaja koje korisnik pokrene. Računaju entropiju za sve atribute prilikom prikupljanja informacija o korisniku . Zatim, koriste algoritam za praćenje kojim provjeravaju jednakost značajki, računaju entropiju ima li skup podataka slične vrijednosti kao prikupljene te evaluiraju sličnost mjerenog preglednika sa podacima iz skupa podataka. Na tablici priloženoj u radu se lijepo vidi kako se dijelovi otiska mijenjaju, a određeni dijelovi ostaju konzistentni, te ideja iza praćenja istog korisnika sa djelomično promjenjivim informacijama.
Umjetna inteligencija je sveprisutnija u svakodnevnom životu, istraživanjima i specijaliziranim primjenama. Metode strojnog učenja, dubokog učenja te veliki jezični modeli su vidjeli rekordni razvoj i široke primjene, te mnogi znanstvenici istražuju i moguće primjene u području stvaranja otiska internetskog preglednika. Znanstvenici iz Shanghai-ja 2021. istražuju korištenje nenadziranog učenja zajedno sa autoenkoderima i postepenim grupiranjem za identifikaciju otiska preglednika [10]. Autoenkoder stvara latentni prikaz (engl. embedding) iz sirovih značajki otiska za sažimanje informacije, a postepenim grupiranjem se pridružuju novi otisci koji su dovoljno slični postojećem otisku ili grupi otisaka kako bi se korisnici kontinuirano pratili kroz vrijeme. Istraživanje iz 2024. znanstvenika iz Wuhan-a koriste konvolucijske neuronske mreže za određivanje pripadaju li dva različita otiska istom korisniku [12]. Otisci internetskih preglednika modeliraju se kao strukturirani vektori značajki te se pretvaraju u pogodniji oblik za obradu konvolucijskim neuronskim mrežama. Model umjetne inteligencije sposoban je naučiti koje su promjene u otisku s vremenom normalne, a koje promjene su dovoljno značajne da upućuju na novog korisnika.
Povijesno, najčešće metode zaštite spadaju u jednu od tri pristupa, sa idejama da promjene informaciju koja će biti prikupljena ili zabrane prikupljanje same informacije [4]. Pristupi su vraćanje nasumičnih vrijednosti ili normaliziranje vrijednosti JavaScript aplikacijskih sučelja te korištenje heurističkog pristupa za blokiranje i/ili prepoznavanje skripti za stvaranje otiska. Nasumične vrijednosti se često koriste prilikom vraćanja vrijednosti iz Canvas aplikacijskog sučelja, ali se smatra manje efektivnom metodom zbog toga što je moguće reverznim inženjerstvom saznati točne vrijednosti te potencijalno utječu na normalan rad internetskih stranica. Normaliziranje podataka rade preglednici Tor i Brave tako da svi korisnici vraćaju iste otiske sa specifičnim vrijednostima ili potpuno blokirajući neka aplikacijska sučelja, ali takav pristup može znatno ograničiti ili potpuno zaustaviti funkcionalnost pojedinih internetskih stranica. Heuristički pristup koriste proširenja, jedno od kojih je proširenje Privacy Badger, ali problematičan je zbog toga što treba biti stalno ažuriran kako bi detektirao nove metode stvaranja otisaka. Područje detekcije skripti za stvaranje otisaka internetskog preglednika bilo je zapušteno dugo godina, ali češće korištenje umjetne inteligencije, strojnog učenja i dubokog učenja unijelo je puno potencijala za razvoj boljih detektora za skripte koje stvaraju otiske.
Još jedna moguća podjela načina zašite je pristup temeljen na blokiranju zahtjeva za preuzimanje skripti za otiske čisto odlukom prema njihovoj domeni ili poveznici, ili pristup temeljen na ograničavanju JavaScript aplikacijskih sučelja koje su poznate mete skripti za stvaranje otiska internetskog preglednika. Moguće su i hibridne metode koje miješaju ideje iz oba pristupa [4].
Znanstvenici iz Iowe, Kalifornije te tvrtke Mozilla Corporation koja razvija preglednik Mozilla Firefox udružili su se 2021. kako bi razvili detektor skripti za stvaranje otiska internetskog preglednika koji koristi metode strojnog učenja [4]. Koriste veliku količinu heuristike niže razine koda kako bi naučili klasifikator za prepoznavanje česte sintaksne i semantičke uzorke skripti za stvaranje otiska. Koriste statičke značajke kao sintaksa skripte i dinamičke značajke kao pokretanje skripte kako bi uhvatili pokrenute skripte koje se ne detektiraju prilikom samog posjećivanja stranice te skripte koje su sakrivene. Uče različite modele za različite značajke te kombiniraju njihove izlaze sa ciljem bolje točnosti klasifikacije. Skupljaju sadržaje skripti te njihove tragove pokretanja kako bi koristili i statičku i dinamičku analizu za prikupljanje značajki vezane za stvaranje otiska. Statičkom analizom reprezentiraju skripte kao stabla sažete sintakse kako bi ignorirali razlike u stilu pisanja koda, a paze da ispravno razumiju skripte tako da ih postave na prazne HTML stranice kako bi imali reprezentaciju skripte koju je već obradio JavaScript. Dinamičkom analizom pokrivaju značajke koje statička analiza ne prepoznaje, osobito odnose čvor roditelj i čvor dijete u skriptama koji se potencijalno filtriraju u statičkoj analizi. Dva različita modela bazirana na stablu odlučivanja koriste se za provjeru je li skripta zadužena za stvaranje otiska, jedan koji koristi značajke iz statičke analize, a drugi koji koristi značajke iz dinamičke analize. Rezultate svog istraživanja također su prenijeli poznatim listama za zaštitu od praćenja te tijelima koji određuju standarde na internetu.
Znanstvenici iz Beća žele razviti pouzdaniju metodu prepoznavanja skripti za stvaranje otiska od heurističkih tehnika ili filtriranja pomoću liste domena ili skripti [13]. Razmatraju proces stvaranja otiska kao prikupljanje informacija sa široke površine aplikacijskih sučelja preglednika te komuniciranje te informacije mrežom. Smatraju upravo tok informacija kao ključnim dijelom za uspješno prepoznavanje skripti za stvaranje otiska. Stvorili su poseban preglednik EssentialFP baziran na Chromium podlozi koji koristi sigurnosni model kontrole toka informacija (engl. Information Flow Control) kako bi svaki tok informacija bio praćen. Koriste FingerprintJS, ImprintJS i ClientJS aplikacijska sučelja kako bi aproksimirali koje vrijednosti će se smatrati bitnim za stvaranje otiska. Sve vrijednosti pročitane iz izvora otiska dobivaju sigurnosnu oznaku, a te sigurnosne oznake se mijenjaju ukoliko praćene vrijednosti budu promijenjene tijekom izvršavanja JavaScript skripti. Na mrežnim izlazima prate koje vrijednosti zapravo iscure van. EssentialFP koristi interpreter JSFlow namijenjen za poboljšanu sigurnost i praćenje pokrenutih procesa. Preglednik izvršava JavaScript kod tako da poziva JSFlow kao biblioteku, što znači da će sve pokrenute skripte biti evaluirane. Morali su proširiti funkcionalnosti JSFlow alata kako bi radio na pregledniku sve funkcionalnosti očekivane od običnog JavaScript koda, kao i proširenje funkcionalnosti Chromium podloge za preglednik. Smatraju da potencijalni razvoj EssentialFP ili implementacija direktno u V8 JavaScript pokretač može doprinjeti prikupljanju kvalitetnih informacija sa različitih preglednika ili integriranije komuniciranje informacije preko mreže.
Za zaštitu od izloženosti stvaranja otiska preglednika ima raznih metoda. Zbog toga što je korištenje zaštite potencijalno još jedna mjera za stvaranje otiska, odabir tehnika koje će se koristiti za zaštitu je potrebno mudro izabrati. Korisnici trebaju također odlučiti koliko im je bitna funkcionalnost svih stranica te koliko je bitno da im je preglednik prilagodljiv njihovim željama kroz razna proširenja i dodatke. Glavna ideja dobrih zaštita je biti dovoljno sličan drugim korisnicima, ali bez da cure informacije koje lagano identificiraju korisnika. Korištenje Tor preglednika ili alternativno Brave preglednika bez proširenja je najviše realističan način zaštite zbog toga što će postojati više sličnih korisnika, dok Tor blokira mnogo načina za praćenje specifičnijih informacija o korisnicima i preglednicima. Za uobičajene preglednike kao Firefox koji već provode djelomičnu zaštitu, korisno je koristiti alate Privacy Badger, Disconnect ili NoScript. Većina skripti za stvaranje otiska preglednika još uvijek se oslanja pretežito na JavaScript kod, tako da načini koji blokiraju pokretanje JavaScript koda je način za smanjiti informaciju koju uspijevaju prikupiti.