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 istraživači iz Hong Konga, a sustav uspijeva zaobići velik broj obrambenih metoda protiv stvaranja otiska internetskog preglednika. Kako se sve više preglednika tijekom vremena počinje aktivno boriti protiv prikupljanja otisaka, postupno ograničavaju količinu dostupnih podataka o pregledniku koji se mogu dohvatiti putem skripti. Zbog toga su istraživači željeli pronaći metodu koje nije ograničena postojećim metodama zaštite. Glavna ideja 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. Za tu su se metodu odlučili zato što je fizičku poziciju korisnika mnogo teže lažirati ili njome manipulirati u odnosu na druge podatke koje sustavi za praćenje obično prikupljaju. Osim toga, ta informacija ne ovisi o samom pregledniku, pa ostaje korisna čak i ako korisnik mijenja preglednike. Ključno je naglasiti da ne koriste IP adrese, nego isključivo zahtjeve za učitavanje slika s različitih domena. Na temelju tih zahtjeva određuju vremenska kašnjenja korisnikova preglednika te 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 pouzdanih internetskih stranica. Prikupljaju sedam statističkih značajki za svakog korisnika: maksimalnu, minimalnu i srednju veličinu TCP prozora, varijancu prozora, kvadratni srednjak (engl. Root‑Mean‑Square), asimetriju prozora (engl. Skew) te koeficijent spljoštenosti (engl. Kurtosis). 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 2020. godine istraživači iz Beijinga [8], s ciljem prepoznavanja manjih promjena otiska kroz vrijeme. Razvijen je kao nastavak prijašnjih 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. Autori navode kako također koriste informaciju o tome je li korisnik dopustio korištenje kolačića na stranici, zajedno i s već zastarjelom opcijom DNT zaglavlja (engl. Do Not Track). Svaka prikupljena informacija nosi određenu težinu koja određuje njezin doprinos ukupnom otisku, uzimajući u obzir i sadržaj same informacije. Koriste uspoređivanje otisaka, pri čemu, ovisno o količini informacija koje su dovoljno slične, primjenjuju različite postupke za nastavak rada. U slučajevima kada provjera dviju vrijednosti otisaka ne pokazuje preklapanje, provjeravaju se dijelovi otiska koji se najmanje mijenjaju te im se algoritamski određuje sličnost i prag na temelju kojeg se odlučuje jesu li vrijednosti dovoljno slične. Koriste bazu podataka kako bi istodobno pohranjivali otiske korisnika, ali i kao izvor znanja za utvrđivanje je li određeni otisak sličan nekom postojećem ili predstavlja potencijalno novog korisnika čiji otisak još nije zapisan u bazi.
Tablica 2 - Prikaz primjera prikupljenih informacija za stvaranje otiska
Istraživači iz Manile koriste skup pravila za određivanje otiska, s ciljem praćenja kako se informacije o strojevima korisnika mijenjaju kroz vrijeme te pronalaženja konzistentnog načina za određivanje otiska. Definiraju stabilnost i raznolikost kao bitna svojstva za pravilan rad tehnika praćenja otiska korisnika, pri čemu stabilnost podrazumijeva da se otisci istog korisnika ne mijenjaju drastično kroz vrijeme, dok raznolikost pretpostavlja da će različiti korisnici imati dovoljno različite otiske kako bi se međusobno razlikovali. 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 učinkovita. Prikupili su dobrovoljne sudionike te za svakog mjerili različite mjere otiska 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. Tijekom prikupljanja informacija o korisnicima izračunavaju entropiju za sve atribute. 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 s podacima iz skupa podataka. Na tablici priloženoj u radu jasno se vidi kako se dijelovi otiska mijenjaju dok određeni dijelovi ostaju konzistentni, te ideja iza praćenja istog korisnika sa djelomično promjenjivim informacijama.
Umjetna inteligencija sve je prisutnija u svakodnevnom životu, u znanstvenim istraživanjima i u specijaliziranim primjenama. Metode strojnog učenja, dubokog učenja te veliki jezični modeli doživjeli su izniman razvoj i široku primjenu, a mnogi znanstvenici istražuju i njihove moguće primjene u području stvaranja otiska internetskog preglednika.
Istraživači iz Shanghai-ja 2021. istražuju primjenu nenadziranog učenja zajedno s 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.
U istraživanju iz 2024. znanstvenici iz Wuhan-a koriste konvolucijske neuronske mreže kako bi odredili 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 svrstavaju se u jedan od triju pristupa, s ciljem da promjene informaciju koja će biti prikupljena ili zabrane prikupljanje same informacije [4]. Pristupi uključuj vraćanje nasumičnih vrijednosti ili normaliziranje vrijednosti JavaScript aplikacijskih sučelja te primjenu 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, no smatraju manje učinkovitom metodom, jer je moguće reverznim inženjerstvom saznati točne vrijednosti, a dodatno mogu utjecati 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. Međutim, takav pristup može znatno ograničiti, pa čak i u potpunosti onemogućiti funkcionalnost određenih internetskih stranica. Heuristički pristup koriste proširenja, među kojima je i Privacy Badger, no takav pristup je problematičan jer zahtijeva stalna ažuriranja kako bi mogao prepoznati nove metode stvaranja otisaka. Područje detekcije skripti za stvaranje otisaka internetskog preglednika bilo je dugo zanemareno, no sve češća primjena 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 zaštitnih metoda uključuje pristup temeljen na blokiranju zahtjeva za preuzimanje skripti za otiske na temelju njihove domene ili poveznice te pristup temeljen na ograničavanju JavaScript aplikacijskih sučelja koja su poznate mete skripti za stvaranje otiska internetskog preglednika. Moguće su i hibridne metode koje kombiniraju ideje iz oba pristupa [4].
Istraživači sa Sveučilišta u Iowi i Kaliforniji te iz tvrtke Mozilla Corporation, koja razvija preglednik Mozilla Firefox, udružili su se 2021. godine kako bi razvili detektor skripti za stvaranje otiska internetskog preglednika temeljen na metodama strojnog učenja [4]. Koriste veliku količinu heuristike niže razine koda kako bi naučili klasifikator prepoznati česte sintaksne i semantičke uzorke skripti za stvaranje otiska. Koriste statičke značajke, poput sintakse skripte, te dinamičke značajke, poput načina na koji se skripta pokreće, kako bi otkrili skripte koje se ne mogu detektirati običnim posjećivanjem stranice, kao i one koje su namjerno sakrivene. Treniraju različite modele na različitim skupovima značajki te kombiniraju njihove izlaze kako bi se postigla veća točnost klasifikacije. Skupljaju sadržaje skripti i njihove tragove pokretanja kako bi koristili i statičku i dinamičku analizu za prikupljanje značajki vezanih za stvaranje otiska. Statičkom analizom reprezentiraju skripte kao stabla sažete sintakse, čime zanemaruju razlike u stilu pisanja koda. Kako bi osigurali ispravnu interpretaciju skripti, postavljaju ih na prazne HTML stranice i analiziraju verziju koda koju je već obradio JavaScript mehanizam. Dinamičkom analizom pokrivaju značajke koje statička analiza ne prepoznaje, osobito odnose između čvorova roditelj i dijete u skriptama, koji se u statičkom pristupu ponekad filtriraju. 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 prenijeli su i na poznate liste za zaštitu od praćenja te organizacijama koje sudjeluju u izradi internetskih standarda.
Istraživači iz Beča nastoje razviti pouzdaniju metodu prepoznavanja skripti za stvaranje otiska od uobičajenih heurističkih tehnika ili filtriranja pomoću liste domena ili skripti [13]. Proces stvaranja otiska promatraju kao prikupljanje informacija iz velikog broja različitih aplikacijskih sučelja preglednika te slanje tih prikupljenih informacija kroz mrežne zahtjeve. Tijek informacija smatraju ključnim elementom za uspješno prepoznavanje skripti za stvaranje otiska, jer upravo način na koji se podaci prikupljaju i šalju može otkriti da skripta radi fingerprinting. Stvorili su poseban preglednik EssentialFP, baziran na Chromium podlozi, koji koristi sigurnosni model kontrole tijeka informacija (engl. Information Flow Control) kako bi se svaki tijek informacija mogao pratiti. Koriste FingerprintJS, ImprintJS i ClientJS aplikacijska sučelja kako bi aproksimirali koje se vrijednosti smatraju važnima za stvaranje otiska. Sve vrijednosti pročitane iz izvora otiska dobivaju sigurnosnu oznaku, a te se sigurnosne oznake mijenjaju ako se praćene vrijednosti promijene 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. Autori su morali proširiti funkcionalnosti JSFlow alata kako bi u pregledniku podržavao sve funkcionalnosti očekivane od običnog JavaScript koda, kao i proširenje funkcionalnosti Chromium podloge za preglednik. Smatraju da bi daljnji razvoj EssentialFP‑a ili njegova implementacija izravno u V8 JavaScript pokretač mogla doprinijeti prikupljanju kvalitetnijih informacija s različitih preglednika te omogućiti integriranije slanje informacija preko mreže.
Postoji više metoda za smanjenje izloženosti tehnikama stvaranja otiska preglednika. Budući da i sama upotreba zaštitnih mjera može postati dodatni izvor podataka za stvaranje otiska, važno je pažljivo odabrati tehnike koje će se koristiti. Korisnici trebaju odlučiti koliko im je važna funkcionalnost svih stranica te koliko im je bitno da je preglednik i dalje prilagodljiv njihovim željama putem raznih proširenja i dodataka. Glavna ideja dobrih zaštita jest biti dovoljno sličan drugim korisnicima, ali bez curenja informacija koje mogu lagano identificirati korisnika. Korištenje Tor preglednika (ili alternativno Brave preglednika) bez proširenja smatra se najrealističnijim načinom zaštite, jer će postojati više sličnih korisnika, dok Tor blokira većinu tehnika prikupljanja detaljnih informacija o korisniku i pregledniku. Za uobičajene preglednike kao Firefox, koji već provode djelomičnu zaštitu, korisno je koristiti alate kao što su Privacy Badger, Disconnect ili NoScript. Budući da se većina skripti za stvaranje otiska preglednika još uvijek pretežito oslanja na JavaScript, metode koje blokiraju njegovo pokretanje mogu značajno smanjiti količinu informacija koje takve skripte mogu prikupiti.
U ovom radu prikazane su najvažnije metode otiskivanja preglednika te načini njihovog otkrivanja i sprječavanja. Otiskivanje je i dalje prisutno na velikom broju stranica i predstavlja značajan problem za privatnost korisnika, posebno zato što ne ovisi o kolačićima i teško ga je izbjeći. Suvremene tehnike koriste JavaScript aplikacijska sučelja, mjerenje performansi i modele strojnog učenja, što im omogućuje prikupljanje detaljnijih i stabilnijih otisaka nego prije.
Prikazane su i metode koje pokušavaju smanjiti količinu dostupnih informacija ili prepoznati skripte koje stvaraju otiske. Sustavi kao FP‑Inspector i EssentialFP pokazuju da je moguće pratiti način na koji skripte rade i otkriti pokušaje prikupljanja otisaka. S druge strane, preglednici i proširenja ograničavaju određene funkcionalnosti ili standardiziraju vrijednosti kako bi korisnike učinili manje prepoznatljivima.
Umjetna inteligencija sve se više koristi i kod stvaranja i kod otkrivanja otisaka, što pokazuje da se ovo područje i dalje brzo razvija. Budući da ne postoji potpuno učinkovita zaštita, smanjenje izloženosti moguće je korištenjem postojećih mehanizama, uz kompromis između privatnosti i funkcionalnosti.
S obzirom na to da se metode otiskivanja stalno usavršavaju, važno je razvijati nove oblike zaštite i poticati korisnike na korištenje sigurnijih preglednika i dodataka. Očekuje se da će otiskivanje preglednika ostati aktivno područje istraživanja zbog sve većeg oslanjanja internetskih servisa na praćenje bez upotrebe kolačića.