Browser Fingerprinting: Exploring
Device Diversity to Augment
Authentication and Build
Client-Side Countermeasures
Pierre Laperdrix
Congrès SIF
Insa Rennes et IRISA
7 février 2019
I. What is browser fingerprinting?
II. Defending against fingerprinting: Blink and FPRandom
III. Conclusion
Outline
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Internet and web browsers 3
Header
Sidebar
Main content
Text
Navigation
Footer
Image
Browser
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Internet in 1995 4
I am
I am
Header
Sidebar
Main content
Text
Navigation
Footer
Image
Browsers send device-specific
information to servers to improve user
experience on the web.
HTTP User agent
NCSA_Mosaic/2.0
(Windows 3.1)
Mozilla/1.22
(compatible; MSIE
2.0; Windows 95)
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Internet in 2019 5
A bigger and richer web
•Audio
•Video
•3D rendering
•Real-time communications
•Web payments
•Virtual reality
…
1995 2019
Browser:
Netscape
Language: Fr
Browser: Chrome v71
OS: Linux
Screen:
1920x1080
Language: Fr
Timezone
: GMT+1
Graphic card: GTX 1080Ti
…
Browser
What happens when we start collecting all the
information available in a web browser?
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Definition of browser fingerprinting
Definitions
•A browser fingerprint is a set of information related to a user’s device
from the hardware to the operating system to the browser and its
configuration.
•Browser fingerprinting refers to the process of collecting information
through a web browser to build a fingerprint of a device.
6
Pierre Laperdrix
Congrès SIF
7 février 2019
I. See your own fingerprint 7
•Website launched in
November 2014
•Collected 980,000+
fingerprints so far
•Browser extension
available to see the
evolution of your own
browser fingerprint
https://amiunique.org (Am I Unique)
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Example of a browser fingerprint 8
Attribute
Value
User agent
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:55.0) Gecko/20100101
Firefox/55.0
HTTP headers
text/html, application/
xhtml+xml, application/xml;q=0.9,*/*;q=0.8 gzip,
deflate,
br en-US,en;q=0.5
Plugins
Plugin 0: QuickTime Plug
-in 7.6.6; libtotem-narrowspace-plugin.so; Plugin
1: Shockwave Flash; Shockwave Flash 26.0 r0; libflashplayer.so.
Fonts
Century Schoolbook, Source Sans Pro Light,
DejaVu Sans Mono, Bitstream
Vera Serif, URW Palladio L,
Bitstream Vera Sans Mono, Bitstream
Vera Sans,
...
Platform Linux x86_64
Screen resolution
1920x1080x24
Timezone
-
480 (UTC+8)
OS
Linux 3.14.3
-200.fc20.x86 32-bit
WebGL vendor
NVIDIA Corporation
WebGL renderer
GeForce GTX 650
Ti/PCIe/SSE2
Canvas
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Example of values collected on AmIUnique 9
Some user-agents
•Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101
Firefox/34.0
•Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X)
AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440
Safari/600.1.4
•Mozilla/5.0 (Android; Mobile; rv:27.0) Gecko/27.0 Firefox/27.0
•Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
•Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101
Firefox/34.0
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Example of values collected on AmIUnique 10
Other custom user-agents
•godzilla/5.0 (X122; BSD; rv:500.0) Gecko/20100101
•pouet
•“54. When a warlike prince attacks a powerful state, his generalship shows
itself in preventing the concentration of the enemy's forces. He overawes
his opponents, and their allies are prevented from joining against him.”
•Deepnet Explorer 1.5.3; Smart 2x2; Avant Browser; .NET CLR 2.0.50727;
InfoPath.1)
•NSA
•Game Boy Advance
•eat it
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Canvas fingerprinting –Test on AmIUnique 11
1
2
3
Pierre Laperdrix
Congrès SIF
7 février 2019
I. Impact on privacy
What makes fingerprinting a threat to online privacy?
1. It is really easy to collect all this data. No need for extra
permissions.
2. Two studies have investigated the diversity of browser fingerprints.
12
470,161 fingerprints
94.2% were unique
Tracking is possible
118,934 fingerprints
89.4% were unique
I. What is browser fingerprinting?
II. Defending against fingerprinting: Blink and FPRandom
III. Conclusion
Outline
Pierre Laperdrix
Congrès SIF
7 février 2019
II. Blink –Defending against fingerprinting
•Goal: to protect users against browser fingerprinting, i.e. to prevent
them from being tracked online
•Challenge: finding the right balance between protection and usability
•The proposed defense solution should:
not break browsing.
not be detectable (no inconsistencies or no side-effects).
work automatically without requiring user interaction.
14
User agent
Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:54.0)
Gecko/20100101 Firefox/54.0
Platform
Linux i686
WebGL
renderer
GeForce GTX 650
Ti/PCIe/SSE2
Pierre Laperdrix
Congrès SIF
7 février 2019
II. Blink –Approach
•Increase temporal diversity of fingerprints
•Browsing without Blink
•Browsing with Blink
•Reconfigure platform at runtime
15
Pierre Laperdrix
Congrès SIF
7 février 2019
II. Blink –Prototype 16
Browsing platform
Host machine
OS Browser
Browsers Plugins Fonts
OS
Diversity reservoir
VM1
B3
B1
B4
B2
P3
P1
P4
P2
F3
F1
F4
F2
VM2 VM3
User Profile
Pierre Laperdrix
Congrès SIF
7 février 2019
II. FPRandom
•Protection against specific techniques of fingerprinting at the browser
level
•Targeting “dynamic” attributes, i.e. those that are the result of a
computation, by introducing noise
17
plugins;oscpu;doNotTrack;getVRDisplays;mimeTypes;vibrate;vend
orSub;vendor;productSub;cookieEnabled;mozGetUserMedia;getBa
ttery;buildID;javaEnabled;getGamepads;permissions…
sendBeacon;vibrate;javaEnabled;getGamepads;mozGetUserMedia;
requestMediaKeySystemAccess;registerProtocolHandler;registerCo
ntentHandler;taintEnabled;permissions…..
Canvas fingerprinting AudioContext fingerprinting Enumeration order
Pierre Laperdrix
Congrès SIF
7 février 2019
II. Blink and FPRandom 18
Blink
OS level
FPRandom
Browser level
Size
Color
Text
Introduction
of noise
I. What is browser fingerprinting?
II. Defending against fingerprinting: Blink and FPRandom
III. Conclusion
Outline
Pierre Laperdrix
Congrès SIF
7 février 2019
Increase online security?
Regulate fingerprinting
Control fingerprinting?
III. Conclusion –Overview on fingerprinting 20
Past Present Future
Will you allow github.com to collect your
browser fingerprint? This may be used to
verify your online identity.
Use fingerprints
Protect against it
Tracking at large scale
Understand
fingerprinting
Add new attributes
Design defense
mechanisms
Pierre Laperdrix
Congrès SIF
7 février 2019
Thank you!
Any questions?
21
Websites on fingerprinting
https://amiunique.org
https://fpcentral.tbb.torproject.org/
Contact
plaperdrix@cs.stonybrook.edu
@RockPartridge
Pierre Laperdrix
Congrès SIF
7 février 2019
Additional slides
22
Pierre Laperdrix
Congrès SIF
7 février 2019
AmIUnique –Study 23
•Study performed on 118,934 in 2016
•90% of unique fingerprints Tracking is possible
•Validates Panopticlick’s findings
•Fingerprinting mobile devices is possible
•List of plugins and fonts are strongest on desktops
•User-agents and canvas are strongest on mobile devices
•Online privacy could be improved with simple browser modifications
Pierre Laperdrix
Congrès SIF
7 février 2019
AmIUnique –Entropy for all collected attributes 24
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
Normalized Shannon Entropy [0,1]
All Desktop Mobile
Pierre Laperdrix
Congrès SIF
7 février 2019
Fingerprint Central
•Project developed as part of the Google Summer of Code 2016
•Help Tor users to see if their fingerprint only has acceptable values
•Help Tor developers react to new fingerprinting vectors rapidly
•Will integrate the Quality Assurance process of the Tor Browser to
verify the non-regression of the Tor fingerprinting protection
25
Pierre Laperdrix
Congrès SIF
7 février 2019
Tor browser
•In theory, all
fingerprints
from the Tor
Browser should
be identical.
•In reality,
differences can
still be found
(screen
resolution,
platform…).
26
Tor browser on Fedora 25 Firefox browser on Fedora 25
Pierre Laperdrix
Congrès SIF
7 février 2019
Plugins –Current state in browsers
•Plugins are considered to be a source of hangs, crashes, security
incidents, and code complexity.
•HTML5 now replaces the features offered by plugins.
•Support for the plugin architecture called NPAPI was removed from
Chrome in April 2015 and Firefox in March 2017.
27
Pierre Laperdrix
Congrès SIF
7 février 2019
Plugins –Data from AmIUnique (2015) 28
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Entropy
Enabled
Disabled
Removed
NPAPI support
•The global entropy
of plugins is rapidly
dropping.
•Their use in
fingerprinting is
becoming limited.
Pierre Laperdrix
Congrès SIF
7 février 2019
Battery API - History 29
Timeline from “Battery Status Not Included: Assessing Privacy in Web
Standards” by Olejnik et al.