Device fingerprinting - sledenje brez piškotkov

Pozdravljeni!

Pravkar zaključujem svoje diplomsko delo, kjer preučujem sledenje spletnim uporabnikom brez uporabe piškotkov. Zadeva temelji na browser (device) fingerprintingu, ideja pa izhaja od tule.

Naredil sem algoritem, ki zbere informacije o obiskovalčevem sistemu in brskalniku, ter iz njih naredi hash ki potem služi kot identifikator obiskovalca.

Sedaj moram zbrati čim večje število fingerprintov, da lahko ocenim kako uspešen je moj algoritem, za to pa potrebujem vašo pomoč. Obiskati je potrebno spletno stran http://fingerprinting.comyr.com in klikniti na gumb "Create my fingerprint", vse skupaj traja 10 sekund. :)

Tisti bolj zagnani lahko poskusite tudi z različnimi browserji, da vidite če se Hash ujema, saj je trenutno nastavljen identifikator (naredim jih več z različnimi natančnostmi). Pod zavihkom Linked fingerprints lahko tudi vidite zgodovino vaših obiskov.

Lastnosti identifikatorja:
- neobčutljiv na Private browsing mode
- neobčutljiv na Clear all browsing history funkcijo
- neobčutljiv na update pluginov
- Cross-browser
- Javascript only, ne potrebuje Flasha, Silverlighta za detekcijo (vseeno sta vključena na stran za zbiranje informacij in boljšo natančnost ostalih identifikatorjev)

Kako deluje:
Algoritem zbira informacije (kot so):
- user agent string
- screen resolution
- seznam uporabnikovih fontov (Flash in Javascript)
- seznam pluginov
- timezone
- Flash info
- Silverlight info
- OS in browser info
- ...

in iz njih poskuša izvleči čim več uporabnih podatkov. Nato iz njih naredi hash, ki služi kot identifikator za kasnejšo prepoznavo uporabnika.
Ugotoviti želim, koliko podatkov potrebujem, če želim generirati enoličen hash za vsakega uporabnika, pri čemer pa želim sistem ohraniti čimbolj preprost in odporen na spremembe (update).

Če koga zanima več o tem, naj prosim obišče stran (v angleščini) http://fingerprinting.comyr.com, kjer je tudi bolj razloženo vse skupaj. So pa poleg tudi linki do teoretičnega ozadja, podobnih strani in demotov ter bolj detajlni opis podatkov, ki jih zbiram.

Seveda so dobrodošli tudi komentarji oziroma vprašanja.

Najlepša hvala vsem, ki boste sodelovali. :)

18 odgovorov

@kurent, a si videl samy.pl/evercookie ?

1

In sem enkrat Samy-a poslal nekaj idej -- povej pa pobrskam in posredujem :)

1

@glasujem: ja sem videl, saj tudi v svoji implementaciji uporabljam del evercookija (Flash in Silverlight cookie). sicer pa zadeva ne deluje več v novejših browserjih.

Je pa to tudi drugačen koncept od fingerprintinga, še vedno so to piškotki, ki jih je pač težje izbrisati.

1

@kurent, nas lahko malce posodobiš glede informacij o tvojem projektu?

Jaz bi potreboval eno podobno reč, da bi lahko prepoznal uporabnike, ki si zamenjajo IP in pobrišejo klasične piškotke na klasičen način.

@Gogy, sry, šele zdaj sem videl tvoje vprašanje.

Z raziskavo v okviru diplomske naloge sem zaključil. Naredil sem dve ločeni raziskavi, prvo cross-browser (ta, ki je objavljena) in drugo, ki vsebuje identifikatorje odvisne od browserja (večina ljudi ne menja brskalnikov).

Na vzorcu okoli 250 uporabnikov je cross-browser sistem uspel enolično prepoznati 87% uporabnikov, ostali fingerprinti pa niso bili unikatni, delili so se med dvema ali tremi uporabniki.

Sistem, ki upošteva tudi brskalnikove atribute je bil precej bolj uspešen, 98% uporabnikov je generiralo unikaten prstni odtis (desktop naprave so vse ustvarile unikaten prstni odtis - 100% uspešnost). Problematične so mobilne naprave, ker so si med seboj zelo podobne. (je pa na mobilnih napravah precej težje izbrisat piškotke)

Množica uporabnikov je tudi precej majhna (250), zato je rezultate težko posplošiti, verjetno bi se pri vecjem datasetu uspešnost zmanjšala. Podobne raziskave so dosegle od 90 - 95% uspešnost.

Pomemben pa je pravni vidik fingerprintinga, saj recimo EU Cookie Law (in posledično naš ZeKom-1) obravnava fingerprinting enako kot piškotke. Pravzaprav je zakon tehnološko nevtralen, saj se ne omejuje le na piškotke, ampak se opredeljuje do vseh metod, katerih rezultat je enak kot pri piškotkih (identifikacija). Še več, prstni odtis naprave se lahko smatra kot osebni podatek, kar pomeni, da je podvržen tudi zakonu o varovanju osebnih podatkov, medtem ko piškotki niso osebni podatek.

51

Nazadnje ko sem podrobneje gledal zakon oz. EU cookie direktivo je bila usmerjena na shranjevanje podatkov na terminalsko opremo uporabnika.

Danes sem bolj površno podkovan v tem.. mi je pa ostalo v spominu nekaj podobnega kot je to:

Oz.

"The ePrivacy directive – more specifically Article 5(3) – requires prior informed consent for storage ofor access to information stored on a user's terminal equipment. In other words, you must ask users if they agreeto most cookies and similar technologies (e.g. web beacons, Flash cookies, etc.) before the site starts to use them.

For consent to be valid, it must be informed, specific, freely givenand must constitute a real indication of the individual's wishes."
http://ec.europa.eu/ipg/basics/legal/cookies/indexen.htm#section2

Fingerprinting ne shranjuje ničesar na terminalsko opremo uporabnika.
Če se krši kakšne drug zakon s sledenjem uporabnika brez shranjevanja podatkov na terminalno opremo oz. izven cookie direktive pa ne vem.

Vsekakor pa je v cookie direktivi navedeno shranjevanje na terminalsko opremo uporabnika in pridobivanje soglasja v kontekstu shranjevanja stvari na terminalsko opremo. To tudi ni bil en EU Cookie Law, ki bi veljal kar v celi Evropi, ampak je bila guidance direktiva na podlagi katere so različne države sprejele različne zakone (hvala mati Slovenija pi%W$a ti materina ker si sprejela eno od najbolj debilnih možnih implementacij).

1

@hanyo
Vecina spregleda drugi del stavka (bold) - shranjevanje ali dostop do podatkov na terminalski opremi brez privolitve. Tudi jaz sem mislil, da fingerprinting zaradi tega, ker nic ne shrani na napravo, zakon zaobide, vendar sem se motil. Tudi dostop do podatkov, ki niso nujno potrebni za delovanje ni dovoljeno brez privolitve in seznanitve uporabnika. To sta mi potrdila tudi dva prijatelja pravnika. Drugo vprašanje pa je, če je IP sposoben odkriti fingerprinting, saj se ga da narediti zelo nevidnega.

"The ePrivacy directive – more specifically Article 5(3) – requires prior informed consent for storage ofor access to information stored on a user's terminal equipment. In other words, you must ask users if they agreeto most cookies and similar technologies (e.g. web beacons, Flash cookies, etc.) before the site starts to use them.

Britanski IP pravi:
"Alternatives to cookies and the broader privacy context
In some areas it is possible for functions usually performed by a cookie to be achieved through other means. This could include, for example, using certain characteristics to identify devices so that you can analyse visits to a website (this is sometimes known as ‘device fingerprinting’). When considering alternatives to cookies it is important to look at the broader privacy context. Focusing solely on cookies is missing the point. Even where the clear cookies rules do not apply you must consider the DPA whenever you are collecting information that builds up a picture that could allow you to identify an individual. You should tell people what you are collecting and how you are using this information."
Vir ICO

Naša IP v smernicah pravi:
"Zakon se nanaša na uporabo piškotkov in vseh drugih tehnologij, ki omogočajo shranjevanje podatkov ali pridobivanje dostopa do podatkov, shranjenih v terminalski opremi naročnika * (kot npr. t. i. Flash piškotki oz. Local Sharared Objects, web beacon ali bug oz. clear gif ). Vse več se uporablja tudi prepoznava podpisa uporabnikove naprave oz. brskalnika (device/browser fingerprinting), ki sicer ne uporablja piškotkov, a lahko prepozna uporabnika. Tudi v slednjem primeru pridejo v poštev pravila o varovanju osebnih podatkov ter tako lahko tudi določbe nove zakonodaje.

  • Čeprav je naslov 158. člena ZEKom-1 »piškotki«, je potrebno upoštevati Direktivo 136/2009, ki spreminja Direktivo 2002/58/ES, in ki v uvodni določbi 66 pravi: “Tretje strani si morebiti želijo shranjevati informacije o uporabnikovi opremi ali pridobiti dostop do že shranjenih podatkov iz najrazličnejših razlogov, ki zajemajo vse od legitimnih namenov (na primer določene vrste piškotkov) do tistih, ki obsegajo neupravičen vdor v zasebnost (na primer vohunska programska oprema ali virusi)./…” Iz navedenega izhaja, da namen novih pravil ni osredotočen na piškotke, pač pa na kakršno koli pridobivanje podatkov ali shranjevanje podatkov na opremo uporabnika, ne glede na to, s pomočjo kakšne tehnologije se to dogaja. " Vir

B. Prastalo pravi:
"Article 5(3), among other things, deals with the issue of cookies. However, it has to be noted that Articel 5(3) does not mention the word cookie or any other synonym. It only focuses on the final result of the use of tools such as cookies. This is owing to the fact that the Directive on Privacy and Electronic Communications is a technology-neutral directive. This means that it acknowledges that the development of law cannot keep pace with the development of technology. So in order to remain up-to-date and applicable to future technologies which will probably be able to do the same things as cookies, but more efficiently, the drafters decided not to refer to any specific type of present-day technology. Artice 5(3) is a clear illustration of this approach since it refers to information storing or gaining access to information stored in the user's terminal equipment without an mention of cookies."
Vir

4

@kurent

Odlično, hvala za pojasnilo.

1