| Starije izmjene na obje strane
Starija izmjena
Novija izmjena
|
Starija izmjena
|
racfor_wiki:seminari2025:fb53909 [2026/01/30 19:32] Filip Borić [Dodatne metode stvaranja otiska i korištenje modela umjetne inteligencije za stvaranje otiska] |
racfor_wiki:seminari2025:fb53909 [2026/01/30 19:38] (trenutno) Filip Borić [Dodatne metode stvaranja otiska i korištenje modela umjetne inteligencije za stvaranje otiska] |
| |
| 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. | 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. | 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. | 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. | 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. | 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 ===== | ===== Otisak internetskog preglednika ===== |
| |
| **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. | **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. | 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. | 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. |
| 2. Karakteristike preglednika: | 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//): | • 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. | • Pomak vremenske zone: Prikazuje razliku između korisnikove vremenske zone i koordiniranog svjetskog vremena. |
| • 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. | • 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 | • 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. | • Podržani MIME tipovi i kodeci: Odnosi se na informacije o vrstama datoteka i multimedijskim kodecima koje preglednik može prikazati ili reproducirati. |
| ===== Metode stvaranja otiska ===== | ===== Metode stvaranja otiska ===== |
| |
| 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. | 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. | 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. |
| 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: | 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 | 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 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 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. | • 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. | 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 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 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 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. |
| |
| |
| 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. | 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. |
| ==== Browser Fingerprint Recognition Model ==== | ==== Browser Fingerprint Recognition Model ==== |
| |
| |
| 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. | 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. |
| |
| {{ :racfor_wiki:seminari2025:bf_fb_tablica2.png?400 |}} | {{ :racfor_wiki:seminari2025:bf_fb_tablica2.png?400 |}} |
| 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. | 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. | 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. | 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. |
| |
| ===== Metode detekcije i obrane od stvaranja otiska internetskog preglednika ===== | ===== Metode detekcije i obrane od stvaranja otiska internetskog preglednika ===== |
| 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. | 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]. |
| 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]. | |
| ==== FP-Inspector ==== | ==== FP-Inspector ==== |
| |
| 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. | 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. |
| |
| ==== EssentialFP ==== | ==== EssentialFP ==== |
| |
| 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. | 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. |
| |
| ===== Dobra praksa ===== | ===== Dobra praksa ===== |
| |
| 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. | 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 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. | 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. |
| |
| | ===== Zaključak ===== |
| |
| ===== Poglavlje ... ===== | 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. |
| |
| ===== Zaključak ===== | 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. |
| |
| ===== Literatura ===== | ===== Literatura ===== |