SlideShare a Scribd company logo
Weird New Tricks for
Browser Fingerprinting
yan (@bcrypt)
ToorCon 2015
real pic of me
also work on these things
EFF staff photo, 2015
BETTER
TRACKING
METHODS
Tracking web users is all the rage
● Show ads!
● Inject QUANTUM malware
● Cybercatch cybercriminals
● Gather website analytics
● Detect fraud / droidnets
● Enforce paywalls
● etc.
A long time ago in a galaxy far, far away . . .
Obi-Wan tracked Luke using:
● cookies
● passive fingerprinting*
(IP address, locales,
user-agent, OS, etc.)
● sweet Jedi mind tricks
* In this presentation, fingerprinting ==
any non-cookie web tracking method.
THE ADBLOCKERS* STRIKE BACK
* In this
presentation,
adblocker == any
tool that blocks
web tracking
(including non-
advertising)
THE PHANTOM ADBLOCKER BLOCKERS
REVENGE OF THE ADBLOCKER BLOCKER BLOCKERS!!!
A New Hope: Browser Fingerprinting
● Evade blocking algorithms that blacklist
domains based on cookie frequency (ex:
Privacy Badger).
● Track users who disable 3rd party cookies
(ex: Safari).
● Harder to delete than cookies.
● Can reveal new information about a user.
new web features ==
new fingerprinting techniques
HOLY SHIT I HAVE 4 LIGHTSABERS ZOMG!!1
● active fingerprinting
(HTML5 canvas, clock
skew, installed fonts
& plugins, WebRTC...)
● supercookies (Flash
cookies, caches,
HSTS, etags...)
Fingerprinting attacks in the wild
geez thx a
lot Samy
#realtalk
How would you track a
paranoid user who clears
cookies & uses an adblocker?
Could fingerprint them, but
adblockers & browsers will
get better at blocking you…
…unless blocking causes too
much collateral damage.
Collateral:
Privacy-conscious users usually
care about security.
Can we fingerprint them using
security features that are too
important for them to turn off?
Trick #1: Abuse HTTP Public Key Pinning
HPKP (RFC 7469)
Server: One of these hashes must be
in the TLS cert chain you receive
from me.
Browser: DOPE!! NEXT TIME I SEE YOU
I WILL CHECK IT BEFORE I WRECK IT
Public-Key-Pins:
max-age=3000;
pin-sha256="
d6qzRu9zOECb90Uez27xWltNsj0e1Md
7GkYYkVoZWmM=";
pin-sha256="
E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+
xcprMF+44U1g=";
report-uri= “http://example.
com/report”;
includeSubdomains;
How long to
cache this shit for SHA-256 of a pub. key
in the cert chain.
Browser checks &
caches this.
SHA-256 of a backup
pub. key (required). Must
NOT be in the cert chain.
Browser caches this.
POST endpoint to report
pin validation failures
(optional).
Whether to pin for the host’s
subdomains as well (optional).
Supercookie #1: fake backup pins
1. https://example.com sets a unique backup
pin for each user + includeSubdomains +
report-uri.
2. <img src=“https://bad.example.com”> serves a
chain that deliberately fails pin
validation.
3. A validation failure report is sent which
includes a unique cached backup pin!
Trick #2: Abuse HTTP Strict Transport
Security + Content Security Policy
HSTS (RFC 6797)
Server: Hey, I just met you, and
this is crazy, but please only call
me over HTTPS for the next 604800
seconds.
Browser: OK
Strict-Transport-Security:
max-age=3000;
includeSubdomains;
How long to
remember to only
connect to this host
via HTTPS
Whether subdomains
should also only be
connected to over
HTTPS (optional).
Supercookie #2: HSTS cache state
1. sneaky.com wants to fingerprint users.
2. example.com is known to support HSTS.
3. sneaky.com/index.html embeds <img src=
‘http://example.com’>.
What happens then?
Case 1: Browser has never visited example.com
-> makes a network round-trip, gets 301/302 to
https://example.com
Case 2: Browser visited example.com before.
-> HSTS causes an “internal” redirect (307) to
https://example.com/ ~immediately
If we can measure the HTTP to
HTTPS redirect latency, we can
distinguish Case 1 from Case 2!
Q: How do we measure that?
A: Abuse one more browser
security feature.
Content Security Policy (W3C spec)
Server: For your safety, please
only allow resources of type <X>
from origins <A> & <B> while on
this page.
Browser: I GOT U FAM
Content-Security-Policy:
img-src: https://*;
script-src: ‘self’ *.
scripts.com cdn.example.com
Allow images to load
from HTTPS origins
only
Allow scripts to load
from the page’s origin,
*.scripts.com, and cdn.
example.com only.
The Missing Ingredient:
Set CSP to ‘img-src http://*’
HTTPS image requests are blocked and
fire an error event to JS listeners.
Why is this useful?
1. JS only lets us listen for img onerror and
onload events. Turns out CSP violation
triggers onerror consistently and early in
the fetch pipeline.
2. If browser ever completes a request for
https://example.com, it will get the HSTS
pin and future results are polluted. CSP
prevents this from happening!
After setting CSP:
Case 1: Browser has never visited example.com
-> makes network request, gets 301/302 to
https://example.com, img onerror fires.
Case 2: Browser visited example.com before.
-> HSTS rewrites src to https://example.com/
~immediately, img onerror fires.
How long does the HTTP to HTTPS redirect take?
Case 1: Browser has never visited example.com
-> Order of 100ms depending on network latency
and site response time.
Case 2: Browser visited example.com before.
-> Order of 1ms, independent of the site and
network conditions.
Putting it all together
Remember the CSS visited-selector bug?
Slide from Michael
Coates, 2011 ->
That was soooooo 2010
New plan:
1. Scrape Alexa Top 1M for hosts that send HSTS
and aren’t preloaded.
2. Load all the HSTS hosts asynchronously on
one page.
3. Measure the onerror timing & separate hosts
into visited and unvisited.
Turns out...
Redirect timing is hard to
measure accurately for 300+
async image loads at once.
Improved by calibrating
timing drift using a request
to a preloaded HSTS host
every other request.
Chrome still had many false
positives; confirmed timings
for positive results using
synchronous loads.
demo:
http://zyan.scripts.mit.edu/sniffly
scraper + tracker code:
https://github.com/diracdeltas/sniffly
Your mileage may vary
● Results depend on latest
HSTS preload list.
● HTTPS Everywhere & other
extensions cause false
positives.
● Doesn’t work as-is in Tor
Browser thanks to 100 ms
timing buckets.
Your mileage may vary
● Only leaks origin, not full path . . . or does it?
Actually, looks feasible to adapt this attack to leak
the 301 redirect cache instead of the HSTS cache. :)
The End
Call me maybe:
yan@mit.edu / @bcrypt
Special thanks to Scott
Helme, Jan Schaumann,
Chris Palmer, and Chris
Rohlf for feedback and
demo testing.
Many <3’s to White Ops for
sponsoring my trip to ToorCon!

More Related Content

What's hot

A3 sec -_msr_2.0
A3 sec -_msr_2.0A3 sec -_msr_2.0
A3 sec -_msr_2.0a3sec
 
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download DetectionDrivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
Wayne Huang
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
Mauricio "Maltron" Leal
 
Systems Introspection
Systems IntrospectionSystems Introspection
Systems Introspection
Andrew Howden
 
Node Js Websocket Js Meetup Slides
Node Js Websocket Js Meetup SlidesNode Js Websocket Js Meetup Slides
Node Js Websocket Js Meetup SlidesMakoto Inoue
 
Real time web: is there a life without socket.io and node.js?
Real time web: is there a life without socket.io and node.js?Real time web: is there a life without socket.io and node.js?
Real time web: is there a life without socket.io and node.js?
Eduard Trayan
 
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Krzysztof Kotowicz
 
Html5: Something wicked this way comes (Hack in Paris)
Html5: Something wicked this way comes (Hack in Paris)Html5: Something wicked this way comes (Hack in Paris)
Html5: Something wicked this way comes (Hack in Paris)
Krzysztof Kotowicz
 
The Adventures of XSS Payloads in Strange Places
The Adventures of XSS Payloads in Strange PlacesThe Adventures of XSS Payloads in Strange Places
The Adventures of XSS Payloads in Strange Places
Ricardo Almeida
 

What's hot (10)

A3 sec -_msr_2.0
A3 sec -_msr_2.0A3 sec -_msr_2.0
A3 sec -_msr_2.0
 
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download DetectionDrivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection
 
Cqcon2015
Cqcon2015Cqcon2015
Cqcon2015
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
 
Systems Introspection
Systems IntrospectionSystems Introspection
Systems Introspection
 
Node Js Websocket Js Meetup Slides
Node Js Websocket Js Meetup SlidesNode Js Websocket Js Meetup Slides
Node Js Websocket Js Meetup Slides
 
Real time web: is there a life without socket.io and node.js?
Real time web: is there a life without socket.io and node.js?Real time web: is there a life without socket.io and node.js?
Real time web: is there a life without socket.io and node.js?
 
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
 
Html5: Something wicked this way comes (Hack in Paris)
Html5: Something wicked this way comes (Hack in Paris)Html5: Something wicked this way comes (Hack in Paris)
Html5: Something wicked this way comes (Hack in Paris)
 
The Adventures of XSS Payloads in Strange Places
The Adventures of XSS Payloads in Strange PlacesThe Adventures of XSS Payloads in Strange Places
The Adventures of XSS Payloads in Strange Places
 

Similar to Weird new tricks for browser fingerprinting

Protecting Web App users in today’s hostile environment
Protecting Web App users in today’s hostile environmentProtecting Web App users in today’s hostile environment
Protecting Web App users in today’s hostile environment
ajitdhumale
 
Active Https Cookie Stealing
Active Https Cookie StealingActive Https Cookie Stealing
Active Https Cookie Stealing
SecurityTube.Net
 
Overview of Cookies in HTTP - Miran al Mehrab
Overview of Cookies in HTTP - Miran al MehrabOverview of Cookies in HTTP - Miran al Mehrab
Overview of Cookies in HTTP - Miran al Mehrab
Cefalo
 
CSU33012-I-microservices.pdf
CSU33012-I-microservices.pdfCSU33012-I-microservices.pdf
CSU33012-I-microservices.pdf
Ricky Garg
 
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
OWASP Russia
 
Rails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp TampaRails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp TampaBryce Kerley
 
Security 101
Security 101Security 101
Security 101
Red Gate Software
 
Sea surfing in asp.net mvc
Sea surfing in asp.net mvcSea surfing in asp.net mvc
Sea surfing in asp.net mvcmagda3695
 
02-browser-sec-model-sop.pptx
02-browser-sec-model-sop.pptx02-browser-sec-model-sop.pptx
02-browser-sec-model-sop.pptx
ssuserec53e73
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
WordPress
 
Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018
Niranjanaa Ragupathy
 
How to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael TremanteHow to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael Tremante
WP Engine
 
Fletcher "Browser Changes Impacting Identity Flows"
Fletcher "Browser Changes Impacting Identity Flows"Fletcher "Browser Changes Impacting Identity Flows"
Fletcher "Browser Changes Impacting Identity Flows"
National Information Standards Organization (NISO)
 
ServerSentEventsV2.pdf
ServerSentEventsV2.pdfServerSentEventsV2.pdf
ServerSentEventsV2.pdf
Alessandro Minoccheri
 
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
OpenIDFoundation
 
Cracking Into Embedded Devices - HACK.LU 2K8
Cracking Into Embedded Devices - HACK.LU 2K8Cracking Into Embedded Devices - HACK.LU 2K8
Cracking Into Embedded Devices - HACK.LU 2K8guest441c58b71
 
gofortution
gofortutiongofortution
gofortution
gofortution
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessionsSukrit Gupta
 
Smit WiFi_2
Smit WiFi_2Smit WiFi_2
Smit WiFi_2mutew
 

Similar to Weird new tricks for browser fingerprinting (20)

Protecting Web App users in today’s hostile environment
Protecting Web App users in today’s hostile environmentProtecting Web App users in today’s hostile environment
Protecting Web App users in today’s hostile environment
 
Active Https Cookie Stealing
Active Https Cookie StealingActive Https Cookie Stealing
Active Https Cookie Stealing
 
New web attacks-nethemba
New web attacks-nethembaNew web attacks-nethemba
New web attacks-nethemba
 
Overview of Cookies in HTTP - Miran al Mehrab
Overview of Cookies in HTTP - Miran al MehrabOverview of Cookies in HTTP - Miran al Mehrab
Overview of Cookies in HTTP - Miran al Mehrab
 
CSU33012-I-microservices.pdf
CSU33012-I-microservices.pdfCSU33012-I-microservices.pdf
CSU33012-I-microservices.pdf
 
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
[1.2] Трюки при анализе защищенности веб приложений – продвинутая версия - С...
 
Rails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp TampaRails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp Tampa
 
Security 101
Security 101Security 101
Security 101
 
Sea surfing in asp.net mvc
Sea surfing in asp.net mvcSea surfing in asp.net mvc
Sea surfing in asp.net mvc
 
02-browser-sec-model-sop.pptx
02-browser-sec-model-sop.pptx02-browser-sec-model-sop.pptx
02-browser-sec-model-sop.pptx
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
 
Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018Introduction to Web Application Security - Blackhoodie US 2018
Introduction to Web Application Security - Blackhoodie US 2018
 
How to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael TremanteHow to Ensure You're Launching the Most Secure Website - Michael Tremante
How to Ensure You're Launching the Most Secure Website - Michael Tremante
 
Fletcher "Browser Changes Impacting Identity Flows"
Fletcher "Browser Changes Impacting Identity Flows"Fletcher "Browser Changes Impacting Identity Flows"
Fletcher "Browser Changes Impacting Identity Flows"
 
ServerSentEventsV2.pdf
ServerSentEventsV2.pdfServerSentEventsV2.pdf
ServerSentEventsV2.pdf
 
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
OIDF Workshop at Verizon Media -- 9/30/2019 -- Browser Changes Impacting Iden...
 
Cracking Into Embedded Devices - HACK.LU 2K8
Cracking Into Embedded Devices - HACK.LU 2K8Cracking Into Embedded Devices - HACK.LU 2K8
Cracking Into Embedded Devices - HACK.LU 2K8
 
gofortution
gofortutiongofortution
gofortution
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessions
 
Smit WiFi_2
Smit WiFi_2Smit WiFi_2
Smit WiFi_2
 

More from Roel Palmaers

Ddos extortion campaigns
Ddos extortion campaignsDdos extortion campaigns
Ddos extortion campaigns
Roel Palmaers
 
Hoe ontwerp ik een agile organisatie
Hoe ontwerp ik een agile organisatieHoe ontwerp ik een agile organisatie
Hoe ontwerp ik een agile organisatie
Roel Palmaers
 
Evaluating law enforcement_bradford_9_24
Evaluating law enforcement_bradford_9_24Evaluating law enforcement_bradford_9_24
Evaluating law enforcement_bradford_9_24
Roel Palmaers
 
The effectiveness of policing cybercrime
The effectiveness of policing cybercrimeThe effectiveness of policing cybercrime
The effectiveness of policing cybercrime
Roel Palmaers
 
Scams and-fraud-presentation
Scams and-fraud-presentationScams and-fraud-presentation
Scams and-fraud-presentation
Roel Palmaers
 
Ipv6 evolution
Ipv6 evolutionIpv6 evolution
Ipv6 evolution
Roel Palmaers
 
Irish travelers presentatie
Irish travelers presentatieIrish travelers presentatie
Irish travelers presentatie
Roel Palmaers
 
Food for thought_29 feb 2016
Food for thought_29 feb 2016Food for thought_29 feb 2016
Food for thought_29 feb 2016
Roel Palmaers
 
Straathoekwerk en politie
Straathoekwerk en politieStraathoekwerk en politie
Straathoekwerk en politie
Roel Palmaers
 
Cahiers politiestudies presentatie rva 03 12 2009
Cahiers politiestudies presentatie rva 03 12 2009Cahiers politiestudies presentatie rva 03 12 2009
Cahiers politiestudies presentatie rva 03 12 2009
Roel Palmaers
 
Financiële risico’s participatiewet
Financiële risico’s participatiewetFinanciële risico’s participatiewet
Financiële risico’s participatiewet
Roel Palmaers
 
Afval=grondstof
Afval=grondstofAfval=grondstof
Afval=grondstof
Roel Palmaers
 
Electronics reference sheet
Electronics reference sheetElectronics reference sheet
Electronics reference sheet
Roel Palmaers
 
Digging into google
Digging into googleDigging into google
Digging into google
Roel Palmaers
 
Google cheat-sheet-nederlands
Google cheat-sheet-nederlandsGoogle cheat-sheet-nederlands
Google cheat-sheet-nederlands
Roel Palmaers
 
Google cheat-sheet-english
Google cheat-sheet-englishGoogle cheat-sheet-english
Google cheat-sheet-english
Roel Palmaers
 
Working with facebook graph presentation
Working with facebook graph presentationWorking with facebook graph presentation
Working with facebook graph presentation
Roel Palmaers
 
Ips pearls in policing factsheet en
Ips pearls in policing factsheet enIps pearls in policing factsheet en
Ips pearls in policing factsheet en
Roel Palmaers
 
Financiële problematiek en de impact daarvan
Financiële problematiek en de impact daarvanFinanciële problematiek en de impact daarvan
Financiële problematiek en de impact daarvan
Roel Palmaers
 
Een goede nacht nachtarbeid
Een goede nacht nachtarbeidEen goede nacht nachtarbeid
Een goede nacht nachtarbeid
Roel Palmaers
 

More from Roel Palmaers (20)

Ddos extortion campaigns
Ddos extortion campaignsDdos extortion campaigns
Ddos extortion campaigns
 
Hoe ontwerp ik een agile organisatie
Hoe ontwerp ik een agile organisatieHoe ontwerp ik een agile organisatie
Hoe ontwerp ik een agile organisatie
 
Evaluating law enforcement_bradford_9_24
Evaluating law enforcement_bradford_9_24Evaluating law enforcement_bradford_9_24
Evaluating law enforcement_bradford_9_24
 
The effectiveness of policing cybercrime
The effectiveness of policing cybercrimeThe effectiveness of policing cybercrime
The effectiveness of policing cybercrime
 
Scams and-fraud-presentation
Scams and-fraud-presentationScams and-fraud-presentation
Scams and-fraud-presentation
 
Ipv6 evolution
Ipv6 evolutionIpv6 evolution
Ipv6 evolution
 
Irish travelers presentatie
Irish travelers presentatieIrish travelers presentatie
Irish travelers presentatie
 
Food for thought_29 feb 2016
Food for thought_29 feb 2016Food for thought_29 feb 2016
Food for thought_29 feb 2016
 
Straathoekwerk en politie
Straathoekwerk en politieStraathoekwerk en politie
Straathoekwerk en politie
 
Cahiers politiestudies presentatie rva 03 12 2009
Cahiers politiestudies presentatie rva 03 12 2009Cahiers politiestudies presentatie rva 03 12 2009
Cahiers politiestudies presentatie rva 03 12 2009
 
Financiële risico’s participatiewet
Financiële risico’s participatiewetFinanciële risico’s participatiewet
Financiële risico’s participatiewet
 
Afval=grondstof
Afval=grondstofAfval=grondstof
Afval=grondstof
 
Electronics reference sheet
Electronics reference sheetElectronics reference sheet
Electronics reference sheet
 
Digging into google
Digging into googleDigging into google
Digging into google
 
Google cheat-sheet-nederlands
Google cheat-sheet-nederlandsGoogle cheat-sheet-nederlands
Google cheat-sheet-nederlands
 
Google cheat-sheet-english
Google cheat-sheet-englishGoogle cheat-sheet-english
Google cheat-sheet-english
 
Working with facebook graph presentation
Working with facebook graph presentationWorking with facebook graph presentation
Working with facebook graph presentation
 
Ips pearls in policing factsheet en
Ips pearls in policing factsheet enIps pearls in policing factsheet en
Ips pearls in policing factsheet en
 
Financiële problematiek en de impact daarvan
Financiële problematiek en de impact daarvanFinanciële problematiek en de impact daarvan
Financiële problematiek en de impact daarvan
 
Een goede nacht nachtarbeid
Een goede nacht nachtarbeidEen goede nacht nachtarbeid
Een goede nacht nachtarbeid
 

Recently uploaded

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
ewymefz
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
ocavb
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
ewymefz
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
AlejandraGmez176757
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 

Recently uploaded (20)

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 

Weird new tricks for browser fingerprinting

  • 1. Weird New Tricks for Browser Fingerprinting yan (@bcrypt) ToorCon 2015
  • 2. real pic of me also work on these things
  • 5. Tracking web users is all the rage ● Show ads! ● Inject QUANTUM malware ● Cybercatch cybercriminals ● Gather website analytics ● Detect fraud / droidnets ● Enforce paywalls ● etc.
  • 6. A long time ago in a galaxy far, far away . . . Obi-Wan tracked Luke using: ● cookies ● passive fingerprinting* (IP address, locales, user-agent, OS, etc.) ● sweet Jedi mind tricks * In this presentation, fingerprinting == any non-cookie web tracking method.
  • 7. THE ADBLOCKERS* STRIKE BACK * In this presentation, adblocker == any tool that blocks web tracking (including non- advertising)
  • 9. REVENGE OF THE ADBLOCKER BLOCKER BLOCKERS!!!
  • 10. A New Hope: Browser Fingerprinting ● Evade blocking algorithms that blacklist domains based on cookie frequency (ex: Privacy Badger). ● Track users who disable 3rd party cookies (ex: Safari). ● Harder to delete than cookies. ● Can reveal new information about a user.
  • 11. new web features == new fingerprinting techniques
  • 12.
  • 13. HOLY SHIT I HAVE 4 LIGHTSABERS ZOMG!!1 ● active fingerprinting (HTML5 canvas, clock skew, installed fonts & plugins, WebRTC...) ● supercookies (Flash cookies, caches, HSTS, etags...)
  • 17. How would you track a paranoid user who clears cookies & uses an adblocker?
  • 18. Could fingerprint them, but adblockers & browsers will get better at blocking you…
  • 19. …unless blocking causes too much collateral damage.
  • 20. Collateral: Privacy-conscious users usually care about security. Can we fingerprint them using security features that are too important for them to turn off?
  • 21. Trick #1: Abuse HTTP Public Key Pinning
  • 22. HPKP (RFC 7469) Server: One of these hashes must be in the TLS cert chain you receive from me. Browser: DOPE!! NEXT TIME I SEE YOU I WILL CHECK IT BEFORE I WRECK IT
  • 23. Public-Key-Pins: max-age=3000; pin-sha256=" d6qzRu9zOECb90Uez27xWltNsj0e1Md 7GkYYkVoZWmM="; pin-sha256=" E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+ xcprMF+44U1g="; report-uri= “http://example. com/report”; includeSubdomains; How long to cache this shit for SHA-256 of a pub. key in the cert chain. Browser checks & caches this. SHA-256 of a backup pub. key (required). Must NOT be in the cert chain. Browser caches this. POST endpoint to report pin validation failures (optional). Whether to pin for the host’s subdomains as well (optional).
  • 24. Supercookie #1: fake backup pins 1. https://example.com sets a unique backup pin for each user + includeSubdomains + report-uri. 2. <img src=“https://bad.example.com”> serves a chain that deliberately fails pin validation. 3. A validation failure report is sent which includes a unique cached backup pin!
  • 25. Trick #2: Abuse HTTP Strict Transport Security + Content Security Policy
  • 26. HSTS (RFC 6797) Server: Hey, I just met you, and this is crazy, but please only call me over HTTPS for the next 604800 seconds. Browser: OK
  • 27. Strict-Transport-Security: max-age=3000; includeSubdomains; How long to remember to only connect to this host via HTTPS Whether subdomains should also only be connected to over HTTPS (optional).
  • 28. Supercookie #2: HSTS cache state 1. sneaky.com wants to fingerprint users. 2. example.com is known to support HSTS. 3. sneaky.com/index.html embeds <img src= ‘http://example.com’>.
  • 29. What happens then? Case 1: Browser has never visited example.com -> makes a network round-trip, gets 301/302 to https://example.com Case 2: Browser visited example.com before. -> HSTS causes an “internal” redirect (307) to https://example.com/ ~immediately
  • 30. If we can measure the HTTP to HTTPS redirect latency, we can distinguish Case 1 from Case 2!
  • 31. Q: How do we measure that? A: Abuse one more browser security feature.
  • 32. Content Security Policy (W3C spec) Server: For your safety, please only allow resources of type <X> from origins <A> & <B> while on this page. Browser: I GOT U FAM
  • 33. Content-Security-Policy: img-src: https://*; script-src: ‘self’ *. scripts.com cdn.example.com Allow images to load from HTTPS origins only Allow scripts to load from the page’s origin, *.scripts.com, and cdn. example.com only.
  • 34. The Missing Ingredient: Set CSP to ‘img-src http://*’ HTTPS image requests are blocked and fire an error event to JS listeners.
  • 35. Why is this useful? 1. JS only lets us listen for img onerror and onload events. Turns out CSP violation triggers onerror consistently and early in the fetch pipeline. 2. If browser ever completes a request for https://example.com, it will get the HSTS pin and future results are polluted. CSP prevents this from happening!
  • 36. After setting CSP: Case 1: Browser has never visited example.com -> makes network request, gets 301/302 to https://example.com, img onerror fires. Case 2: Browser visited example.com before. -> HSTS rewrites src to https://example.com/ ~immediately, img onerror fires.
  • 37. How long does the HTTP to HTTPS redirect take? Case 1: Browser has never visited example.com -> Order of 100ms depending on network latency and site response time. Case 2: Browser visited example.com before. -> Order of 1ms, independent of the site and network conditions.
  • 38. Putting it all together
  • 39. Remember the CSS visited-selector bug? Slide from Michael Coates, 2011 ->
  • 40. That was soooooo 2010 New plan: 1. Scrape Alexa Top 1M for hosts that send HSTS and aren’t preloaded. 2. Load all the HSTS hosts asynchronously on one page. 3. Measure the onerror timing & separate hosts into visited and unvisited.
  • 41. Turns out... Redirect timing is hard to measure accurately for 300+ async image loads at once. Improved by calibrating timing drift using a request to a preloaded HSTS host every other request. Chrome still had many false positives; confirmed timings for positive results using synchronous loads.
  • 43.
  • 44. scraper + tracker code: https://github.com/diracdeltas/sniffly
  • 45. Your mileage may vary ● Results depend on latest HSTS preload list. ● HTTPS Everywhere & other extensions cause false positives. ● Doesn’t work as-is in Tor Browser thanks to 100 ms timing buckets.
  • 46. Your mileage may vary ● Only leaks origin, not full path . . . or does it? Actually, looks feasible to adapt this attack to leak the 301 redirect cache instead of the HSTS cache. :)
  • 47.
  • 48. The End Call me maybe: yan@mit.edu / @bcrypt Special thanks to Scott Helme, Jan Schaumann, Chris Palmer, and Chris Rohlf for feedback and demo testing. Many <3’s to White Ops for sponsoring my trip to ToorCon!