FP-Block
usable web privacy by controlling browser fingerprinting
Joint work with Sjouke Mauw (UL), Christof Ferreira Torres (UL)
FP-Block usable web privacy by controlling browser fingerprinting - - PowerPoint PPT Presentation
FP-Block usable web privacy by controlling browser fingerprinting Joint work with Sjouke Mauw (UL), Christof Ferreira Torres (UL) OUtline Part 1: introduction Part 2: thwarting 3 rd party fingerprint-based web-tracking Introducing
usable web privacy by controlling browser fingerprinting
Joint work with Sjouke Mauw (UL), Christof Ferreira Torres (UL)
OUtline
introduction
thwarting 3rd party fingerprint-based web-tracking
Introducing myself
– vote privacy – healthcare privacy, e-health – auction verifiability & privacy – formalising privacy – practical security
Introducing myself
– vote privacy – healthcare privacy, e-health – auction verifiability & privacy – formalising privacy – practical security
5 / 112
We are terrible at privacy
6 / 112
We are terrible at privacy
7 / 112
We are terrible at privacy
8 / 112
We are terrible at privacy
9 / 112
We really don't get privacy
10 / 112
We really don't get privacy
Note: account number can suffice for withdrawal
11 / 112
In our defence: privacy is hard...
12 / 112
In our defence: privacy is hard...
13 / 112
… really hard...
14 / 112
… really, really hard. “Another thing which is just an observation, when I was working on the blocking of the social plugins, I always used the website to test my implementation. Today Facebook suggested me on my phone the group of .” – anonymous UL Bachelor student / coauthor
15 / 112
Reasoning about privacy
16 / 112
Reasoning about privacy
17 / 112
Reasoning about privacy
– (in)distinguishability
18 / 112
Reasoning about privacy
– (in)distinguishability – (un)certainty
19 / 112
Did privacy become harder?
20 / 112
Did privacy become harder?
21 / 112
Did privacy become harder?
22 / 112
Did privacy become harder?
23 / 112
My research interests in a nutshell
24 / 112
My research interests in a nutshell
25 / 112
My research interests in a nutshell
26 / 112
My research interests in a nutshell
usable web privacy by controlling browser fingerprinting
28 / 112
OUtline
29 / 112
Reasons to track
30 / 112
Web tracking
Tracking is good!
– Finding common browsing “errors” – Related items of interest – ...
31 / 112
Embedded tracking, however...
32 / 112
Embedded tracking, however...
33 / 112
Embedded tracking, however...
– Request will send cookie – Response can set / update cookie
34 / 112
Embedded tracking, however...
– Request will send cookie – Response can set / update cookie
35 / 112
Embedded tracking, however...
– Request will send cookie – Response can set / update cookie
36 / 112
Embedded content
37 / 112
Embedded content
Top 10k Top 1mil
17% 11%
10% 20%
19% 44%
26% 47%
20% 16%
33% 44%
18% 20%
38 / 112
Embedded content
Top 10k Top 1mil
17% 11%
10% 20%
19% 44%
26% 47%
20% 16%
33% 44%
18% 20% * aggregated numbers from builtwith.com. numbers by similartech.com are higher.
39 / 112
Browser Browser
Tracking via embedded content
ID
40 / 112
Browser Browser
Tracking via embedded content
Website A Website A
A,ID ID
41 / 112
Browser Browser
Tracking via embedded content
Website A Website A
A,ID B ID
42 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B
A,ID B ID A,ID
43 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B
A,ID B ID A,ID
ID: A
44 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B Website C Website C
A,ID C,ID B ID A,ID
ID: A
45 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B Website C Website C
A,ID C,ID B ID B A,ID
ID: A
46 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B Website C Website C
A,ID C,ID B ID B C,ID A,ID
ID: A
47 / 112
Browser Browser
Tracking via embedded content
Website A Website A Website B Website B Website C Website C
A,ID C,ID B ID B C,ID A,ID
ID: A
ID: B
48 / 112
How to track
– Cookies / evercookies / zombiecookies / ... – History exploit / CSS tricks / ... – Active fingerprinting
– Web bugs – Passive fingerprinting
49 / 112
Why fingerprinting?
– Passive: infer info from server side. – Active: gather info from client side on-the-fly.
– [S&P13, CCS13]: some, but not much... yet.
Related work
51 / 112
Panopticlick [PETS10]
52 / 112
Panopticlick [PETS10]
53 / 112
Panopticlick [PETS10]
– 90% of desktop browsers unique – No JS better results
– Mobile less plugins better results
54 / 112
Panopticlick [PETS10]
– 90% of desktop browsers unique – No JS better results
– Mobile less plugins better results
55 / 112
Panopticlick [PETS10]
– 90% of desktop browsers unique – No JS better results
– Mobile less plugins better results
56 / 112
Panopticlick [PETS10]
– 90% of desktop browsers unique – No JS better results
– Mobile less plugins better results
57 / 112
Panopticlick [PETS10]
– 90% of desktop browsers unique – No JS better results
– Mobile less plugins better results
58 / 112
Panopticlick (2)
Test Entropy (bits) user-agent header 10.00 plugins 15.40 fontlist 13.90 screen resolution 4.83 supercookie test 2.12 http accept headers 6.09 timezone 3.04 cookies enabled? 0.35
59 / 112
Panopticlick (2)
Test Entropy (bits) user-agent header 10.00 plugins 15.40 fontlist 13.90 screen resolution 4.83 supercookie test 2.12 http accept headers 6.09 timezone 3.04 cookies enabled? 0.35
60 / 112
Panopticlick (2)
Test Entropy (bits) user-agent header 10.00 plugins 15.40 fontlist 13.90 screen resolution 4.83 supercookie test 2.12 http accept headers 6.09 timezone 3.04 cookies enabled? 0.35
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
61 / 112
More ways to fingerprint
62 / 112
More ways to fingerprint
[W2SP11] – fingerprinting JavaScript implementations Hooray for the speedwars!
63 / 112
More ways to fingerprint
[W2SP11] – fingerprinting JavaScript implementations Hooray for the speedwars! [W2SP12] – fingerprinting HTML5 font rendering All Arials are equal... except most aren't.
64 / 112
More ways to fingerprint
[W2SP11] – fingerprinting JavaScript implementations Hooray for the speedwars! [W2SP12] – fingerprinting HTML5 font rendering All Arials are equal... except most aren't. [W2SP13] – fingerprinting JS engine errors. “Foutje, bedankt.”
65 / 112
More ways to fingerprint
[W2SP11] – fingerprinting JavaScript implementations Hooray for the speedwars! [W2SP12] – fingerprinting HTML5 font rendering All Arials are equal... except most aren't. [W2SP13] – fingerprinting JS engine errors. “Foutje, bedankt.” Clock skew can be passively detected, proxies don't help.
66 / 112
Fighting fingerprinting
67 / 112
Fighting fingerprinting
[NSDI12]: X
68 / 112
Fighting fingerprinting
[NSDI12]: X
[W2SP11]: X
69 / 112
Fighting fingerprinting
[NSDI12]: X
[W2SP11]: X
[CCS13]: X
[CCS13]: X
70 / 112
Fighting fingerprinting
[NSDI12]: X
[W2SP11]: X
[CCS13]: X
[CCS13]: X
71 / 112
Privacy plugins
72 / 112
Typical countermeasures
Browser Browser
ID ID'
73 / 112
Typical countermeasures
Website A Website A
A,ID'
Browser Browser
ID ID'
74 / 112
Typical countermeasures
Website A Website A
A,ID' B
Browser Browser
ID ID'
75 / 112
Typical countermeasures
Website A Website A Website B Website B
A,ID' B
Browser Browser
A,ID' ID ID'
76 / 112
Typical countermeasures
Website A Website A Website B Website B Website C Website C
A,ID' C,ID' B
Browser Browser
A,ID' ID ID'
77 / 112
Typical countermeasures
Website A Website A Website B Website B Website C Website C
A,ID' C,ID' B
Browser Browser
B A,ID' ID ID'
78 / 112
Typical countermeasures
Website A Website A Website B Website B Website C Website C
A,ID' C,ID' B
Browser Browser
B C,ID' A,ID' ID ID'
79 / 112
Overcoming the defensive paradox
The defense can be detected … ... which makes you more unique.
80 / 112
Overcoming the defensive paradox
The defense can be detected … ... which makes you more unique. How to overcome?
81 / 112
Option 1: constant fingerprint / site
Browser Browser
ID ID*
82 / 112
Option 1: constant fingerprint / site
Website A Website A
Browser Browser
ID ID* A,IDa
83 / 112
Option 1: constant fingerprint / site
Website A Website A
B
Browser Browser
ID ID* A,IDa
84 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B
B
Browser Browser
A,IDb ID ID* A,IDa
85 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
A,IDb ID ID* A,IDa
86 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B A,IDb ID ID* A,IDa
87 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B C,IDb A,IDb ID ID* A,IDa
88 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B C,IDb A,IDb ID ID* A,IDa
89 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
Browser Browser
ID ID* A,IDa
90 / 112
Option 1: constant fingerprint / site
Website A Website A Website B Website B Website C Website C
Browser Browser
ID ID* A,IDa A,IDa
91 / 112
Option 2: separate web identities
Browser Browser
ID ID*
92 / 112
Option 2: separate web identities
Website A Website A
Browser Browser
ID ID* A,IDa
93 / 112
Option 2: separate web identities
Website A Website A
B
Browser Browser
ID ID* A,IDa
94 / 112
Option 2: separate web identities
Website A Website A Website B Website B
B
Browser Browser
A,IDa ID ID* A,IDa
95 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
A,IDa ID ID* A,IDa
96 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B A,IDa ID ID* A,IDa
97 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B C,IDc A,IDa ID ID* A,IDa
98 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
C,IDc B
Browser Browser
B C,IDc A,IDa ID ID* A,IDa
IDa ≠ IDc
99 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
Browser Browser
ID ID* A,IDa
100 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
Browser Browser
ID ID* A,IDa A,IDa
101 / 112
Option 2: separate web identities
Website A Website A Website B Website B Website C Website C
B
Browser Browser
A,IDa ID ID* A,IDa A,IDa
102 / 112
Determining the fingerprint surface
Theoretical argument: If there is one computer used directly by everyone at the same time, then fingerprints might be indistinguishable. Practice
complete coverage infeasible → determine fingerprint vectors
103 / 112
Fingerprinters
Non-profit:
Commercial:
104 / 112
Fingerprint vectors
105 / 112
Proof-of-concept: FP-Block plugin
– HTTP (passive fingerprinting) – JavaScript (active fingerprinting)
– detection [CCS14] – prevention (new)
106 / 112
Fingerprint coverage
Footnotes:
technology required.
by the fingerprinting company.
Javascript layers.
important functionality.
107 / 112
Validation
– 2 domains – On each: page embedding file from other domain – Generate fingerprint with fingerprintJS
– BC, IO, TM, fingerprintJS, Panopticlick, AddThis
108 / 112
Monitoring evolution of fingerprinters
Updates since September 2014:
–
–
–
complex
added screen orientation
major changes since 27 oct '14
109 / 112
Conclusions
→ overcomes defensive paradox Results:
110 / 112
Thank you for your attention!
111 / 112
References (1)
[PETS10]
Enhancing Technologies Symposium (PETS'10), LNCS 6205, pp. 1-18. Springer, 2010. [CCS13]
Conference on Computer & Communications Security (CCS'13), pp. 1129-
[W2SP11]
information in JavaScript implementations. In Proc. 2nd Web 2.0 Security and Privacy (W2SP'11). [W2SP12]
[W2SP13]
engine fingerprinting. In Proc. 3rd Web 2.0 Security and Privacy (W2SP'13).
112 / 112
References (2)
[Roos11]
This!. Tilburg Law School Research Paper No. 03/2011.
[S&P13] [NordSec11]
device fingerprinting. In Proc. 34th Symposium on Security and Privacy (SP'13), pp. 541-555. IEEE, 2013.
via Cross-Browser Fingerprinting. In Proc. 16th Nordic Conference in Secure IT Systems (Nordsec 2011), Springer-Verlag, LNCS 7161, pp. 31- 46, 2012.
[NSDI12]
against third-party tracking on the web. In Proc. 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI’12), pages 155–168. USENIX, 2012.