SlideShare uma empresa Scribd logo
1 de 79
Baixar para ler offline
How Tracking Companies Circumvented
Ad Blockers Using WebSockets
Muhammad Ahmad Bashir, Sajjad Arshad, Engin Kirda,
William Robertson, Christo Wilson



Northeastern University
Online Tracking
2
Online Tracking
• Boom in online advertising.
• Ad networks pour in billions of dollars.
• Value for their investment?
2
Online Tracking
• Boom in online advertising.
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
2
Online Tracking
• Boom in online advertising.
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
• User concern over tracking
• This has led to the proliferation of ad blockers
2
Online Tracking
• Boom in online advertising.
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
• User concern over tracking
• This has led to the proliferation of ad blockers
• Ad networks fight back
• E.g Using anti-ad blocking scripts
2
Google & Safari
• Google evaded Safari’s third-party cookie blocking policy
(Jonathan Mayer)
• … by submitting a form in an invisible iFrame
• Google was fined $22.5M by FTC
3
This Talk
How Ad Networks leveraged a bug in
Chrome API to bypass Ad Blockers
using WebSockets
4
This Talk
How Ad Networks leveraged a bug in
Chrome API to bypass Ad Blockers
using WebSockets
4
• What caused this?
• How this bug was leveraged by ad networks?
Web Sockets
5
Web Sockets
5
HTTP/S
Web Sockets
5
HTTP/S
Web Sockets
5
HTTP/S
request
response
Web Sockets
5
HTTP/S
request
response
Chatting App
Web Sockets
5
HTTP/S
request
response
Chatting App
anything new?
Web Sockets
5
HTTP/S
request
response
Chatting App
anything new?
Web Socket
Web Sockets
5
HTTP/S
request
response
Chatting App
anything new?
Web Socket
bidirectional
ws:// or wss://
• Both client and server can send/receive data
• This is a persistent connection
Ad Blockers
6
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
webRequest API
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
url
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
url
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
url
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
url
webRequest API
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
http://doubleclick.com/s1.js
url
webRequest API
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
http://doubleclick.com/s1.js
url
webRequest API
url
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
http://doubleclick.com/s1.js
url
webRequest API
url
Usually borrowed 

from EasyList
Ad Blockers
6
• Chrome extension chrome.webRequest API
• Extension can inspect / modify / drop outgoing requests
http://cnn.com/logo.jpeg
webRequest API
Rule List
http://doubleclick.com/s1.js
url
webRequest API
url
Usually borrowed 

from EasyList
AdBlock Evasion
7
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads Patch

Landed
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads Patch

Landed
Chrome 58

released
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
* *
Original bug

reported
Users report 

unblocked ads Patch

Landed
Chrome 58

released
* Represents when our crawls were done
AdBlock Evasion
• Due to a bug in chrome.webRequest API
• All ws/wss requests bypassed this extension
7
2012 2013 2014 2015 2016 2017 2018
* * * *
Original bug

reported
Users report 

unblocked ads Patch

Landed
Chrome 58

released
* Represents when our crawls were done
Data Crawling
8
Data Crawling
8
100K websites 

sampled from Alexa
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

links / website
Collected chains for
all inclusion
resources
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

links / website
Collected chains for
all inclusion
resources
This means we know
which resource included
which other resource
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

links / website
Collected chains for
all inclusion
resources
Filter all resources
which end in 

web sockets
Filter 

WebSockets
This means we know
which resource included
which other resource
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

links / website
Collected chains for
all inclusion
resources
Filter all resources
which end in 

web sockets
Filter 

WebSockets
Detect A&A 

WebSocketsMark web sockets

which are used by
A&A domains
Companies involved in
Advertising and Analytics are
collectively referred as A&A
This means we know
which resource included
which other resource
High-Level Numbers
9
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
Before 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
Before 

Chrome 58
After 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
• ~2% websites use web sockets.
Before 

Chrome 58
After 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
• ~2% websites use web sockets.
• 55-61 % sockets are initiated by A&A domains
Before 

Chrome 58
After 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
• ~2% websites use web sockets.
• 55-61 % sockets are initiated by A&A domains
• 55-73 % sockets contact an A&A domain
Before 

Chrome 58
After 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
• ~2% websites use web sockets.
• 55-61 % sockets are initiated by A&A domains
• 55-73 % sockets contact an A&A domain
• # Initiators drops after Chrome 58 release.
Before 

Chrome 58
After 

Chrome 58
High-Level Numbers
9
Crawl Dates
%Websites 

with sockets
% Sockets

with A&A

Initiators
% Sockets

with A&A

Receivers
#Unique
A&A

Initiators
#Unique
A&A

Receivers
Apr 02-05, 2017 2.1 60.2 72.0 72 14
Apr 11-16, 2017 2.4 61.0 73.0 61 16
May 07-12, 2017 1.6 60.2 68.3 17 13
Oct 12-16, 2017 2.5 54.9 55.1 19 14
• ~2% websites use web sockets.
• 55-61 % sockets are initiated by A&A domains
• 55-73 % sockets contact an A&A domain
• # Initiators drops after Chrome 58 release.
• Small but persistent A&A receivers.
Before 

Chrome 58
After 

Chrome 58
Initiators and Receivers
10
Initiators and Receivers
10
Initiator ReceiverJavaScript
Initiators and Receivers
10
Initiator Receiver
ws/s
JavaScript
Initiators and Receivers
10
Initiator Receiver
ws/s
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
Top A&A 

Initiators
Initiator Receiver
ws/s
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
Top A&A 

Initiators
Initiator Receiver
ws/s
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 15
disqus 13
zopim 12
hotjar 11
feedjit 10
lockerdome 8
inspectlet 6
smartsupp 4
Top A&A 

Initiators
Top A&A 

Receivers
Initiator Receiver
ws/s
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 15
disqus 13
zopim 12
hotjar 11
feedjit 10
lockerdome 8
inspectlet 6
smartsupp 4
Top A&A 

Initiators
Top A&A 

Receivers
Initiator Receiver
ws/s
• Disqus provides
comment board services.
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 15
disqus 13
zopim 12
hotjar 11
feedjit 10
lockerdome 8
inspectlet 6
smartsupp 4
Top A&A 

Initiators
Top A&A 

Receivers
Initiator Receiver
ws/s
• Disqus provides
comment board services.
• Zopim, Intercom,
Smartsupp provide live
chat services.
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 15
disqus 13
zopim 12
hotjar 11
feedjit 10
lockerdome 8
inspectlet 6
smartsupp 4
Top A&A 

Initiators
Top A&A 

Receivers
Initiator Receiver
ws/s
• Disqus provides
comment board services.
• Zopim, Intercom,
Smartsupp provide live
chat services.
• 33across & Lockerdome
are advertising platforms.
JavaScript
Initiators and Receivers
10
A&A Initiator
#A&A

Receivers
facebook 11
google 11
doubleclick 9
youtube 8
addthis 8
hotjar 6
googlesyndication 6
cloudfront 4
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 15
disqus 13
zopim 12
hotjar 11
feedjit 10
lockerdome 8
inspectlet 6
smartsupp 4
Top A&A 

Initiators
Top A&A 

Receivers
Initiator Receiver
ws/s
• Disqus provides
comment board services.
• Zopim, Intercom,
Smartsupp provide live
chat services.
• 33across & Lockerdome
are advertising platforms.
• Inspectlet & Hotjar are
session replay services.
JavaScript
Sent Items Over Web Sockets
11
Sent Items Over Web Sockets
11
Cookie
IP
User IDs
Fingerprinting 

Variables
DOM
% Requests
0 20 40 60 80
WebSockets
HTTP/S
Sent Items Over Web Sockets
11
•Stateful Identifiers like Cookie and User IDs
Cookie
IP
User IDs
Fingerprinting 

Variables
DOM
% Requests
0 20 40 60 80
WebSockets
HTTP/S
Sent Items Over Web Sockets
11
•Stateful Identifiers like Cookie and User IDs
• Fingerprinting data in ~3.4% WebSockets. 

97% is 33across
Cookie
IP
User IDs
Fingerprinting 

Variables
DOM
% Requests
0 20 40 60 80
WebSockets
HTTP/S
Sent Items Over Web Sockets
11
•Stateful Identifiers like Cookie and User IDs
• Fingerprinting data in ~3.4% WebSockets. 

97% is 33across
• ~1.5% WebSockets sends the entire DOM to Hotjar
Cookie
IP
User IDs
Fingerprinting 

Variables
DOM
% Requests
0 20 40 60 80
WebSockets
HTTP/S
12
Received Items Over Web Sockets
12
Received Items Over Web Sockets
HTML
JSON
JavaScript
Images
% Responses
0 10 20 30 40 50
WebSockets
HTTP/S
12
Received Items Over Web Sockets
HTML
JSON
JavaScript
Images
% Responses
0 10 20 30 40 50
WebSockets
HTTP/S
12
Received Items Over Web Sockets
HTML
JSON
JavaScript
Images
% Responses
0 10 20 30 40 50
WebSockets
HTTP/S
12
Received Items Over Web Sockets
Ads served from Lockerdome
HTML
JSON
JavaScript
Images
% Responses
0 10 20 30 40 50
WebSockets
HTTP/S
Summary
• ~67% of socket connections are initiated or received by A&A domains.
• Major companies like Google, Facebook, Addthis adopted
WebSockets. 

Abandoned after Chrome 58 was released.
• The culprits:
• 33across was harvesting fingerprinting data.
• HotJar was exfiltrating the entire DOM
• Lockerdome downloaded URLs to serve ads.
• We need to keep with the current practices of A&A companies.
13
Summary
• ~67% of socket connections are initiated or received by A&A domains.
• Major companies like Google, Facebook, Addthis adopted
WebSockets. 

Abandoned after Chrome 58 was released.
• The culprits:
• 33across was harvesting fingerprinting data.
• HotJar was exfiltrating the entire DOM
• Lockerdome downloaded URLs to serve ads.
• We need to keep with the current practices of A&A companies.
13
Questions?
ahmad@ccs.neu.edu
Discussion Points
• What’s Next?
• Can these findings be used to fine advertisers or shape new
policies?
• Major Ad Exchanges abandoned WebSockets — Why?
• New web standards.
• Can be problematic? Where should we intervene?
• Surprising that it took few years to patch this bug
• WebRTC aspect of it.
14
Backup Slides
Inclusion Chain
16
<html>
<body>
<script src=“tracker/script.js” </script>
<img src=“tracker/img.jpg”> </img>
<script src=“ads/script.js”> </script>
<iframe src=“frame.html”>
<html> <body>
<script src=“script_12.js”> </script>
<img src=“img_a.jpg”> </img>
</body> </html>
</iframe>
</body>
</html>
pub/
index.html
tracker/
script.js
tracker/
img.jpg
ads/
script.js
ads/
frame.html
ads/
script_12.js
ads/
img_a.jpg
adnet/
data.ws
Source code for ads/script_12.js



let ws =

new WebSocket(“ws://adnet/data.ws”, …);

ws.onopen = function (e) {ws.send(“…”);}
DOM Tree Inclusion Tree

Mais conteúdo relacionado

Semelhante a How Tracking Companies Circumvented Ad Blockers Using WebSockets Bug

Datasets, APIs, and Web Scraping
Datasets, APIs, and Web ScrapingDatasets, APIs, and Web Scraping
Datasets, APIs, and Web ScrapingDamian T. Gordon
 
Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Tom Bennet
 
How to disrupt established markets with SEO in 2015 - LOGIN 2015
How to disrupt established markets with SEO in 2015 - LOGIN 2015How to disrupt established markets with SEO in 2015 - LOGIN 2015
How to disrupt established markets with SEO in 2015 - LOGIN 2015Yannis Karagiannidis
 
SEO Site Clinic, Web 2.0 Expo
SEO Site Clinic, Web 2.0 ExpoSEO Site Clinic, Web 2.0 Expo
SEO Site Clinic, Web 2.0 ExpoParallel Path
 
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...Distilled
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesRobert McFrazier
 
Discover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsWebtrends
 
Discover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsWebtrends
 
Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Johnny Ryan
 
Tracing Information Flows Between Ad Exchanges Using Retargeted Ads
Tracing Information Flows Between Ad Exchanges Using Retargeted AdsTracing Information Flows Between Ad Exchanges Using Retargeted Ads
Tracing Information Flows Between Ad Exchanges Using Retargeted AdsSajjad "JJ" Arshad
 
Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Christian Heilmann
 
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics Reports
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics ReportsSucuri Webinar: Defending Your Google Brand Reputation and Analytics Reports
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics ReportsSucuri
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon Web Services
 
Chrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainmentChrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainmentEduardo Chavarro
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Amazon Web Services
 

Semelhante a How Tracking Companies Circumvented Ad Blockers Using WebSockets Bug (20)

Datasets, APIs, and Web Scraping
Datasets, APIs, and Web ScrapingDatasets, APIs, and Web Scraping
Datasets, APIs, and Web Scraping
 
Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4Migrating wise.com to server-side GA4
Migrating wise.com to server-side GA4
 
How to disrupt established markets with SEO in 2015 - LOGIN 2015
How to disrupt established markets with SEO in 2015 - LOGIN 2015How to disrupt established markets with SEO in 2015 - LOGIN 2015
How to disrupt established markets with SEO in 2015 - LOGIN 2015
 
SEO Site Clinic, Web 2.0 Expo
SEO Site Clinic, Web 2.0 ExpoSEO Site Clinic, Web 2.0 Expo
SEO Site Clinic, Web 2.0 Expo
 
Web API Basics
Web API BasicsWeb API Basics
Web API Basics
 
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
SearchLove London 2017 | Emily Grossman | From Website to Web-App: Fantastic ...
 
Amp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pagesAmp your site: An intro to accelerated mobile pages
Amp your site: An intro to accelerated mobile pages
 
Discover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends Analytics
 
Discover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends Analytics
 
Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC.
 
Tracing Information Flows Between Ad Exchanges Using Retargeted Ads
Tracing Information Flows Between Ad Exchanges Using Retargeted AdsTracing Information Flows Between Ad Exchanges Using Retargeted Ads
Tracing Information Flows Between Ad Exchanges Using Retargeted Ads
 
Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?
 
SpiderIT_presentation
SpiderIT_presentationSpiderIT_presentation
SpiderIT_presentation
 
Web API HTTP Pipeline
Web API HTTP PipelineWeb API HTTP Pipeline
Web API HTTP Pipeline
 
NetTantra Web Development Brochure
NetTantra Web Development BrochureNetTantra Web Development Brochure
NetTantra Web Development Brochure
 
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics Reports
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics ReportsSucuri Webinar: Defending Your Google Brand Reputation and Analytics Reports
Sucuri Webinar: Defending Your Google Brand Reputation and Analytics Reports
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
Chrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainmentChrome Extensions: Masking risks in entertainment
Chrome Extensions: Masking risks in entertainment
 
04.Social media and PR
04.Social media and PR04.Social media and PR
04.Social media and PR
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
 

Mais de Sajjad "JJ" Arshad

Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildSajjad "JJ" Arshad
 
Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildSajjad "JJ" Arshad
 
Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildSajjad "JJ" Arshad
 
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...Sajjad "JJ" Arshad
 
Large-Scale Analysis of Style Injection by Relative Path Overwrite
Large-Scale Analysis of Style Injection by Relative Path OverwriteLarge-Scale Analysis of Style Injection by Relative Path Overwrite
Large-Scale Analysis of Style Injection by Relative Path OverwriteSajjad "JJ" Arshad
 
UNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware
UNVEIL: A Large-Scale, Automated Approach to Detecting RansomwareUNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware
UNVEIL: A Large-Scale, Automated Approach to Detecting RansomwareSajjad "JJ" Arshad
 
Practical Challenges of Type Checking in Control Flow Integrity
Practical Challenges of Type Checking in Control Flow IntegrityPractical Challenges of Type Checking in Control Flow Integrity
Practical Challenges of Type Checking in Control Flow IntegritySajjad "JJ" Arshad
 
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...Understanding and Mitigating the Security Risks of Content Inclusion in Web B...
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...Sajjad "JJ" Arshad
 
Identifying Extension-based Ad Injection via Fine-grained Web Content Provenance
Identifying Extension-based Ad Injection via Fine-grained Web Content ProvenanceIdentifying Extension-based Ad Injection via Fine-grained Web Content Provenance
Identifying Extension-based Ad Injection via Fine-grained Web Content ProvenanceSajjad "JJ" Arshad
 
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...Sajjad "JJ" Arshad
 
A Longitudinal Analysis of the ads.txt Standard
A Longitudinal Analysis of the ads.txt StandardA Longitudinal Analysis of the ads.txt Standard
A Longitudinal Analysis of the ads.txt StandardSajjad "JJ" Arshad
 
"Recommended For You": A First Look at Content Recommendation Networks
"Recommended For You": A First Look at Content Recommendation Networks"Recommended For You": A First Look at Content Recommendation Networks
"Recommended For You": A First Look at Content Recommendation NetworksSajjad "JJ" Arshad
 
Include Me Out: In-Browser Detection of Malicious Third-Party Content Inclusions
Include Me Out: In-Browser Detection of Malicious Third-Party Content InclusionsInclude Me Out: In-Browser Detection of Malicious Third-Party Content Inclusions
Include Me Out: In-Browser Detection of Malicious Third-Party Content InclusionsSajjad "JJ" Arshad
 
On the Effectiveness of Type-based Control Flow Integrity
On the Effectiveness of Type-based Control Flow IntegrityOn the Effectiveness of Type-based Control Flow Integrity
On the Effectiveness of Type-based Control Flow IntegritySajjad "JJ" Arshad
 

Mais de Sajjad "JJ" Arshad (14)

Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the Wild
 
Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the Wild
 
Cached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the WildCached and Confused: Web Cache Deception in the Wild
Cached and Confused: Web Cache Deception in the Wild
 
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...
HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Gu...
 
Large-Scale Analysis of Style Injection by Relative Path Overwrite
Large-Scale Analysis of Style Injection by Relative Path OverwriteLarge-Scale Analysis of Style Injection by Relative Path Overwrite
Large-Scale Analysis of Style Injection by Relative Path Overwrite
 
UNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware
UNVEIL: A Large-Scale, Automated Approach to Detecting RansomwareUNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware
UNVEIL: A Large-Scale, Automated Approach to Detecting Ransomware
 
Practical Challenges of Type Checking in Control Flow Integrity
Practical Challenges of Type Checking in Control Flow IntegrityPractical Challenges of Type Checking in Control Flow Integrity
Practical Challenges of Type Checking in Control Flow Integrity
 
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...Understanding and Mitigating the Security Risks of Content Inclusion in Web B...
Understanding and Mitigating the Security Risks of Content Inclusion in Web B...
 
Identifying Extension-based Ad Injection via Fine-grained Web Content Provenance
Identifying Extension-based Ad Injection via Fine-grained Web Content ProvenanceIdentifying Extension-based Ad Injection via Fine-grained Web Content Provenance
Identifying Extension-based Ad Injection via Fine-grained Web Content Provenance
 
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...
Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Librari...
 
A Longitudinal Analysis of the ads.txt Standard
A Longitudinal Analysis of the ads.txt StandardA Longitudinal Analysis of the ads.txt Standard
A Longitudinal Analysis of the ads.txt Standard
 
"Recommended For You": A First Look at Content Recommendation Networks
"Recommended For You": A First Look at Content Recommendation Networks"Recommended For You": A First Look at Content Recommendation Networks
"Recommended For You": A First Look at Content Recommendation Networks
 
Include Me Out: In-Browser Detection of Malicious Third-Party Content Inclusions
Include Me Out: In-Browser Detection of Malicious Third-Party Content InclusionsInclude Me Out: In-Browser Detection of Malicious Third-Party Content Inclusions
Include Me Out: In-Browser Detection of Malicious Third-Party Content Inclusions
 
On the Effectiveness of Type-based Control Flow Integrity
On the Effectiveness of Type-based Control Flow IntegrityOn the Effectiveness of Type-based Control Flow Integrity
On the Effectiveness of Type-based Control Flow Integrity
 

Último

LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2AuEnriquezLontok
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptxpallavirawat456
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPRPirithiRaju
 
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Sérgio Sacani
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxpriyankatabhane
 
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPRPirithiRaju
 
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary Microbiology
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary MicrobiologyLAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary Microbiology
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary MicrobiologyChayanika Das
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGiovaniTrinidad
 
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer Zahana
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer ZahanaEGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer Zahana
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer ZahanaDr.Mahmoud Abbas
 
Probability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGProbability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGSoniaBajaj10
 
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep LearningCombining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learningvschiavoni
 
complex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfcomplex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfSubhamKumar3239
 
linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and AnnovaMansi Rastogi
 
Unveiling the Cannabis Plant’s Potential
Unveiling the Cannabis Plant’s PotentialUnveiling the Cannabis Plant’s Potential
Unveiling the Cannabis Plant’s PotentialMarkus Roggen
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024Jene van der Heide
 
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...Chayanika Das
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionJadeNovelo1
 
whole genome sequencing new and its types including shortgun and clone by clone
whole genome sequencing new  and its types including shortgun and clone by clonewhole genome sequencing new  and its types including shortgun and clone by clone
whole genome sequencing new and its types including shortgun and clone by clonechaudhary charan shingh university
 

Último (20)

LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptx
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
 
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptx
 
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
 
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary Microbiology
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary MicrobiologyLAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary Microbiology
LAMP PCR.pptx by Dr. Chayanika Das, Ph.D, Veterinary Microbiology
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptx
 
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer Zahana
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer ZahanaEGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer Zahana
EGYPTIAN IMPRINT IN SPAIN Lecture by Dr Abeer Zahana
 
Probability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGProbability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UG
 
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep LearningCombining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
 
PLASMODIUM. PPTX
PLASMODIUM. PPTXPLASMODIUM. PPTX
PLASMODIUM. PPTX
 
complex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfcomplex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdf
 
linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annova
 
Unveiling the Cannabis Plant’s Potential
Unveiling the Cannabis Plant’s PotentialUnveiling the Cannabis Plant’s Potential
Unveiling the Cannabis Plant’s Potential
 
Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
 
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...
ESSENTIAL FEATURES REQUIRED FOR ESTABLISHING FOUR TYPES OF BIOSAFETY LABORATO...
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and Function
 
whole genome sequencing new and its types including shortgun and clone by clone
whole genome sequencing new  and its types including shortgun and clone by clonewhole genome sequencing new  and its types including shortgun and clone by clone
whole genome sequencing new and its types including shortgun and clone by clone
 

How Tracking Companies Circumvented Ad Blockers Using WebSockets Bug

  • 1. How Tracking Companies Circumvented Ad Blockers Using WebSockets Muhammad Ahmad Bashir, Sajjad Arshad, Engin Kirda, William Robertson, Christo Wilson
 
 Northeastern University
  • 3. Online Tracking • Boom in online advertising. • Ad networks pour in billions of dollars. • Value for their investment? 2
  • 4. Online Tracking • Boom in online advertising. • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. 2
  • 5. Online Tracking • Boom in online advertising. • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. • User concern over tracking • This has led to the proliferation of ad blockers 2
  • 6. Online Tracking • Boom in online advertising. • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. • User concern over tracking • This has led to the proliferation of ad blockers • Ad networks fight back • E.g Using anti-ad blocking scripts 2
  • 7. Google & Safari • Google evaded Safari’s third-party cookie blocking policy (Jonathan Mayer) • … by submitting a form in an invisible iFrame • Google was fined $22.5M by FTC 3
  • 8. This Talk How Ad Networks leveraged a bug in Chrome API to bypass Ad Blockers using WebSockets 4
  • 9. This Talk How Ad Networks leveraged a bug in Chrome API to bypass Ad Blockers using WebSockets 4 • What caused this? • How this bug was leveraged by ad networks?
  • 17. Web Sockets 5 HTTP/S request response Chatting App anything new? Web Socket bidirectional ws:// or wss:// • Both client and server can send/receive data • This is a persistent connection
  • 19. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests
  • 20. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests webRequest API
  • 21. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API
  • 22. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List Usually borrowed 
 from EasyList
  • 23. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List url Usually borrowed 
 from EasyList
  • 24. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List url Usually borrowed 
 from EasyList
  • 25. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List url Usually borrowed 
 from EasyList
  • 26. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List url webRequest API Usually borrowed 
 from EasyList
  • 27. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List http://doubleclick.com/s1.js url webRequest API Usually borrowed 
 from EasyList
  • 28. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List http://doubleclick.com/s1.js url webRequest API url Usually borrowed 
 from EasyList
  • 29. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List http://doubleclick.com/s1.js url webRequest API url Usually borrowed 
 from EasyList
  • 30. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API Rule List http://doubleclick.com/s1.js url webRequest API url Usually borrowed 
 from EasyList
  • 32. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7
  • 33. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018
  • 34. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported
  • 35. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads
  • 36. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads Patch
 Landed
  • 37. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads Patch
 Landed Chrome 58
 released
  • 38. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 * * Original bug
 reported Users report 
 unblocked ads Patch
 Landed Chrome 58
 released * Represents when our crawls were done
  • 39. AdBlock Evasion • Due to a bug in chrome.webRequest API • All ws/wss requests bypassed this extension 7 2012 2013 2014 2015 2016 2017 2018 * * * * Original bug
 reported Users report 
 unblocked ads Patch
 Landed Chrome 58
 released * Represents when our crawls were done
  • 41. Data Crawling 8 100K websites 
 sampled from Alexa
  • 42. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all inclusion resources
  • 43. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all inclusion resources This means we know which resource included which other resource
  • 44. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all inclusion resources Filter all resources which end in 
 web sockets Filter 
 WebSockets This means we know which resource included which other resource
  • 45. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all inclusion resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSocketsMark web sockets
 which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as A&A This means we know which resource included which other resource
  • 47. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 Before 
 Chrome 58
  • 48. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 Before 
 Chrome 58 After 
 Chrome 58
  • 49. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 • ~2% websites use web sockets. Before 
 Chrome 58 After 
 Chrome 58
  • 50. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 • ~2% websites use web sockets. • 55-61 % sockets are initiated by A&A domains Before 
 Chrome 58 After 
 Chrome 58
  • 51. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 • ~2% websites use web sockets. • 55-61 % sockets are initiated by A&A domains • 55-73 % sockets contact an A&A domain Before 
 Chrome 58 After 
 Chrome 58
  • 52. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 • ~2% websites use web sockets. • 55-61 % sockets are initiated by A&A domains • 55-73 % sockets contact an A&A domain • # Initiators drops after Chrome 58 release. Before 
 Chrome 58 After 
 Chrome 58
  • 53. High-Level Numbers 9 Crawl Dates %Websites 
 with sockets % Sockets
 with A&A
 Initiators % Sockets
 with A&A
 Receivers #Unique A&A
 Initiators #Unique A&A
 Receivers Apr 02-05, 2017 2.1 60.2 72.0 72 14 Apr 11-16, 2017 2.4 61.0 73.0 61 16 May 07-12, 2017 1.6 60.2 68.3 17 13 Oct 12-16, 2017 2.5 54.9 55.1 19 14 • ~2% websites use web sockets. • 55-61 % sockets are initiated by A&A domains • 55-73 % sockets contact an A&A domain • # Initiators drops after Chrome 58 release. • Small but persistent A&A receivers. Before 
 Chrome 58 After 
 Chrome 58
  • 56. Initiators and Receivers 10 Initiator Receiver ws/s JavaScript
  • 57. Initiators and Receivers 10 Initiator Receiver ws/s JavaScript
  • 58. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 Top A&A 
 Initiators Initiator Receiver ws/s JavaScript
  • 59. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 Top A&A 
 Initiators Initiator Receiver ws/s JavaScript
  • 60. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 15 disqus 13 zopim 12 hotjar 11 feedjit 10 lockerdome 8 inspectlet 6 smartsupp 4 Top A&A 
 Initiators Top A&A 
 Receivers Initiator Receiver ws/s JavaScript
  • 61. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 15 disqus 13 zopim 12 hotjar 11 feedjit 10 lockerdome 8 inspectlet 6 smartsupp 4 Top A&A 
 Initiators Top A&A 
 Receivers Initiator Receiver ws/s • Disqus provides comment board services. JavaScript
  • 62. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 15 disqus 13 zopim 12 hotjar 11 feedjit 10 lockerdome 8 inspectlet 6 smartsupp 4 Top A&A 
 Initiators Top A&A 
 Receivers Initiator Receiver ws/s • Disqus provides comment board services. • Zopim, Intercom, Smartsupp provide live chat services. JavaScript
  • 63. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 15 disqus 13 zopim 12 hotjar 11 feedjit 10 lockerdome 8 inspectlet 6 smartsupp 4 Top A&A 
 Initiators Top A&A 
 Receivers Initiator Receiver ws/s • Disqus provides comment board services. • Zopim, Intercom, Smartsupp provide live chat services. • 33across & Lockerdome are advertising platforms. JavaScript
  • 64. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 6 googlesyndication 6 cloudfront 4 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 15 disqus 13 zopim 12 hotjar 11 feedjit 10 lockerdome 8 inspectlet 6 smartsupp 4 Top A&A 
 Initiators Top A&A 
 Receivers Initiator Receiver ws/s • Disqus provides comment board services. • Zopim, Intercom, Smartsupp provide live chat services. • 33across & Lockerdome are advertising platforms. • Inspectlet & Hotjar are session replay services. JavaScript
  • 65. Sent Items Over Web Sockets 11
  • 66. Sent Items Over Web Sockets 11 Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 67. Sent Items Over Web Sockets 11 •Stateful Identifiers like Cookie and User IDs Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 68. Sent Items Over Web Sockets 11 •Stateful Identifiers like Cookie and User IDs • Fingerprinting data in ~3.4% WebSockets. 
 97% is 33across Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 69. Sent Items Over Web Sockets 11 •Stateful Identifiers like Cookie and User IDs • Fingerprinting data in ~3.4% WebSockets. 
 97% is 33across • ~1.5% WebSockets sends the entire DOM to Hotjar Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 70. 12 Received Items Over Web Sockets
  • 71. 12 Received Items Over Web Sockets HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 72. 12 Received Items Over Web Sockets HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 73. 12 Received Items Over Web Sockets HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 74. 12 Received Items Over Web Sockets Ads served from Lockerdome HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 75. Summary • ~67% of socket connections are initiated or received by A&A domains. • Major companies like Google, Facebook, Addthis adopted WebSockets. 
 Abandoned after Chrome 58 was released. • The culprits: • 33across was harvesting fingerprinting data. • HotJar was exfiltrating the entire DOM • Lockerdome downloaded URLs to serve ads. • We need to keep with the current practices of A&A companies. 13
  • 76. Summary • ~67% of socket connections are initiated or received by A&A domains. • Major companies like Google, Facebook, Addthis adopted WebSockets. 
 Abandoned after Chrome 58 was released. • The culprits: • 33across was harvesting fingerprinting data. • HotJar was exfiltrating the entire DOM • Lockerdome downloaded URLs to serve ads. • We need to keep with the current practices of A&A companies. 13 Questions? ahmad@ccs.neu.edu
  • 77. Discussion Points • What’s Next? • Can these findings be used to fine advertisers or shape new policies? • Major Ad Exchanges abandoned WebSockets — Why? • New web standards. • Can be problematic? Where should we intervene? • Surprising that it took few years to patch this bug • WebRTC aspect of it. 14
  • 79. Inclusion Chain 16 <html> <body> <script src=“tracker/script.js” </script> <img src=“tracker/img.jpg”> </img> <script src=“ads/script.js”> </script> <iframe src=“frame.html”> <html> <body> <script src=“script_12.js”> </script> <img src=“img_a.jpg”> </img> </body> </html> </iframe> </body> </html> pub/ index.html tracker/ script.js tracker/ img.jpg ads/ script.js ads/ frame.html ads/ script_12.js ads/ img_a.jpg adnet/ data.ws Source code for ads/script_12.js
 
 let ws =
 new WebSocket(“ws://adnet/data.ws”, …);
 ws.onopen = function (e) {ws.send(“…”);} DOM Tree Inclusion Tree