Sledenje brskalnikom prek stanja baterije

Matej Huš

5. avg 2016 ob 06:41:20

Standard HTML5 predpisuje Battery Status API, prek katerega lahko spletna stran ugotovi, kako napolnjeno baterijo imate na mobilni napravi. Pridobi lahko podatek o napolnjenosti v odstotkih in o ocenjenem trajanju avtonomije ali predvidenem času polnjenja, če je priključena na polnilec. Namen tega je oceniti, kdaj naj strežnik pošlje varčno spletno stran, če je uporabnikova baterija pri koncu. Te podatke pa se da uporabiti tudi za sledenje uporabnikom pri brskanju po spletnih straneh, ugotavljata raziskovalca s Princetona.

Edinstvenih kombinacij omenjenih parametrov je približno 14 milijonov (zlasti ker je stanje napolnjenosti javljeno bolj natančno, kot je potrebno; Firefox je to že zakrpal), kar je v primerjavi s številom uporabnikov spleta malo, a še vedno dovolj, da lahko nekatere ugotovitve postavljamo s precejšnjo zanesljivostjo. Obstaja sicer kup natančnejših tehnik sledenja (piškotki, superpiškotki, IP, sistemske nastavitve itd.), a proti tem se je sorazmerno enostavno boriti. Če hkrati obiščemo dve spletni strani, ki strežeta isto reklamo, ki pokaže enake vrednosti parametrov baterije, je to znak, da gre z verjetnostjo 1:14.000.000 za isti računalnik. Dlje časa ko ostanemo na straneh in parametri ostajajo usklajeni na obeh straneh, višja je verjetnost, da gre za isti računalnik, pa četudi se na primer v eno stran povezujemo prek proxyja.

To so ugotavljali že lani, sedaj pa so odkrili, da na internetu dejansko obstojijo skripte, ki to še donedavna teoretično ranljivost, izkoriščajo. Ob tem seveda ne moremo mimo dejstva, ki ga je ugotovil že Uber - če imajo ljudje skoraj prazno baterijo, so za prevoz pripravljeni plačati več. Firefox že omogoča izklop funkcije, drugi pa ga bojda tudi dobijo.