SlideShare a Scribd company logo
1 of 80
Download to read 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
Surge in online advertising (internet economy)
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
2
Online Tracking
Surge in online advertising (internet economy)
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
2
User concern over tracking
• Led to the proliferation of ad blocking extensions
Online Tracking
Surge in online advertising (internet economy)
• Ad networks pour in billions of dollars.
• Value for their investment?
• Extensive tracking to serve targeted ads.
2
User concern over tracking
• Led to the proliferation of ad blocking extensions
Ad networks fight back
• E.g Using anti ad blocking scripts
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
1. What caused this?
2. How this bug was leveraged by ad networks?
Web Sockets
5
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
• Both client and server can send/receive data
• This is a persistent connection
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
• Bug in
• ws/wss requests did not trigger the API
7
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads
Patch
Finalized 

( Landed)
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
Original bug

reported
Users report 

unblocked ads
Patch
Finalized 

( Landed)
Chrome 58

released
webRequest API
AdBlock Evasion
• Bug in
• ws/wss requests did not trigger the API
7
2012 2013 2014 2015 2016 2017 2018
* * * *
Original bug

reported
Users report 

unblocked ads
Patch
Finalized 

( Landed)
Chrome 58

released
* Represents when our crawls were done
webRequest API
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 included
resources
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

links / website
Collected chains for
all included
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 included
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 included
resources
Filter all resources
which end in 

web sockets
Filter 

WebSockets
Detect A&A 

WebSockets
Mark web sockets

which are used by
A&A domains
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
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 included
resources
Filter all resources
which end in 

web sockets
Filter 

WebSockets
Detect A&A 

WebSockets
Mark web sockets

which are used by
A&A domains
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
This means we know
which resource included
which other resource
pub/
index.html
srv.ws ads/
script.js
ads/
frame.html
ads/
img_a.jpg
adnet/
data.ws
Example Inclusion Tree
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

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

web sockets
Filter 

WebSockets
Detect A&A 

WebSockets
Mark web sockets

which are used by
A&A domains
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
This means we know
which resource included
which other resource
pub/
index.html
srv.ws ads/
script.js
ads/
frame.html
ads/
img_a.jpg
adnet/
data.ws
Example Inclusion Tree
WebSocket
WebSocket
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

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

web sockets
Filter 

WebSockets
Detect A&A 

WebSockets
Mark web sockets

which are used by
A&A domains
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
This means we know
which resource included
which other resource
pub/
index.html
srv.ws ads/
script.js
ads/
frame.html
adnet/
data.ws
Example Inclusion Tree
WebSocket
WebSocket
Data Crawling
8
100K websites 

sampled from Alexa Visit 15 

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

web sockets
Filter 

WebSockets
Detect A&A 

WebSockets
Mark web sockets

which are used by
A&A domains
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
This means we know
which resource included
which other resource
pub/
index.html
ads/
script.js
ads/
frame.html
adnet/
data.ws
Example Inclusion Tree
WebSocket
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
• ~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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
• ~2% websites use web sockets.
• ~61 % sockets are initiated by A&A domains
Before 

Chrome 58
After 

Chrome 58
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
• ~2% websites use web sockets.
• ~61 % sockets are initiated by A&A domains
• ~71 % sockets contact an A&A domain
Before 

Chrome 58
After 

Chrome 58
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
• ~2% websites use web sockets.
• ~61 % sockets are initiated by A&A domains
• ~71 % sockets contact an A&A domain
• # Initiators drop after Chrome 58 release.
Before 

Chrome 58
After 

Chrome 58
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
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.6 73.7 75 16
Apr 11-16, 2017 2.4 61.3 74.6 63 18
May 07-12, 2017 1.6 60.2 69.7 19 15
Oct 12-16, 2017 2.5 63.4 63.7 23 18
• ~2% websites use web sockets.
• ~61 % sockets are initiated by A&A domains
• ~71 % sockets contact an A&A domain
• # Initiators drop after Chrome 58 release.
• Small but persistent A&A receivers.
Before 

Chrome 58
After 

Chrome 58
A&A = Advertising and Analytics
e.g. DoubleClick, Criteo, Adnxs
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 7
googlesyndication 6
twitter 5
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 7
googlesyndication 6
twitter 5
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 7
googlesyndication 6
twitter 5
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 16
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 7
googlesyndication 6
twitter 5
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 16
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 7
googlesyndication 6
twitter 5
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 16
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 7
googlesyndication 6
twitter 5
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 16
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 7
googlesyndication 6
twitter 5
sharethis 4
adnxs 3
A&A Receiver
#A&A

Initiators
realtime 27
33across 19
intercom 16
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.6% WebSockets sends the entire DOM to 

Hotjar, LuckyOrange, TruConversion
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.
• DOM exfiltration by HotJar, LuckyOrange, TruConversion
• Lockerdome downloaded URLs to serve ads.
• We need to keep up 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.
• DOM exfiltration by HotJar, LuckyOrange, TruConversion
• Lockerdome downloaded URLs to serve ads.
• We need to keep up with the current practices of A&A companies.
13
Questions?
ahmad@ccs.neu.edu
Backup Slides
Inclusion Chain
15
<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

More Related Content

Similar to How Tracking Companies Circumvented Ad Blockers Using WebSockets

CSM Module 2: Branding and identity
CSM Module 2: Branding and identityCSM Module 2: Branding and identity
CSM Module 2: Branding and identityJulian Matthews
 
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
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014Bastian Grimm
 
Omniturebasicsv1 100622051011-phpapp02
Omniturebasicsv1 100622051011-phpapp02Omniturebasicsv1 100622051011-phpapp02
Omniturebasicsv1 100622051011-phpapp02RAKESH RANJAN MANSINGH
 
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
 
02.Branding and identity
02.Branding and identity02.Branding and identity
02.Branding and identityJulian Matthews
 
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
 
Introduction to Search Engine.pdf
Introduction to Search Engine.pdfIntroduction to Search Engine.pdf
Introduction to Search Engine.pdfPraveen Kurup
 
Introduction to Search Engine.pdf
Introduction to Search Engine.pdfIntroduction to Search Engine.pdf
Introduction to Search Engine.pdfPraveen Kurup
 
081118 - Tracking Performance
081118 - Tracking Performance081118 - Tracking Performance
081118 - Tracking PerformanceGed Carroll
 
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015NoSQLmatters
 
Web2.0.2012 - lesson 8 - Google world
Web2.0.2012 - lesson 8 - Google worldWeb2.0.2012 - lesson 8 - Google world
Web2.0.2012 - lesson 8 - Google worldCarlo Vaccari
 
iCrossing: Designing For Visibility - ANA Digital Marketing And Social Media...
iCrossing: Designing For Visibility  - ANA Digital Marketing And Social Media...iCrossing: Designing For Visibility  - ANA Digital Marketing And Social Media...
iCrossing: Designing For Visibility - ANA Digital Marketing And Social Media...iCrossing
 
Designing Websites for Visibility, Rob Garner at the Association of National ...
Designing Websites for Visibility, Rob Garner at the Association of National ...Designing Websites for Visibility, Rob Garner at the Association of National ...
Designing Websites for Visibility, Rob Garner at the Association of National ...Rob Garner
 
AMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesAMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesIdo Green
 
The Affiliate 2 0 Litmus Test
The Affiliate 2 0 Litmus TestThe Affiliate 2 0 Litmus Test
The Affiliate 2 0 Litmus TestAffiliate Summit
 

Similar to How Tracking Companies Circumvented Ad Blockers Using WebSockets (20)

CSM Module 2: Branding and identity
CSM Module 2: Branding and identityCSM Module 2: Branding and identity
CSM Module 2: Branding and identity
 
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
 
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
 
Omniturebasicsv1 100622051011-phpapp02
Omniturebasicsv1 100622051011-phpapp02Omniturebasicsv1 100622051011-phpapp02
Omniturebasicsv1 100622051011-phpapp02
 
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.
 
Door Of Internet
Door Of InternetDoor Of Internet
Door Of Internet
 
Web Crawler
Web CrawlerWeb Crawler
Web Crawler
 
02.Branding and identity
02.Branding and identity02.Branding and identity
02.Branding and identity
 
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
 
Introduction to Search Engine.pdf
Introduction to Search Engine.pdfIntroduction to Search Engine.pdf
Introduction to Search Engine.pdf
 
Introduction to Search Engine.pdf
Introduction to Search Engine.pdfIntroduction to Search Engine.pdf
Introduction to Search Engine.pdf
 
081118 - Tracking Performance
081118 - Tracking Performance081118 - Tracking Performance
081118 - Tracking Performance
 
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
Mark Harwood - Building Entity Centric Indexes - NoSQL matters Dublin 2015
 
Web2.0.2012 - lesson 8 - Google world
Web2.0.2012 - lesson 8 - Google worldWeb2.0.2012 - lesson 8 - Google world
Web2.0.2012 - lesson 8 - Google world
 
iCrossing: Designing For Visibility - ANA Digital Marketing And Social Media...
iCrossing: Designing For Visibility  - ANA Digital Marketing And Social Media...iCrossing: Designing For Visibility  - ANA Digital Marketing And Social Media...
iCrossing: Designing For Visibility - ANA Digital Marketing And Social Media...
 
Designing Websites for Visibility, Rob Garner at the Association of National ...
Designing Websites for Visibility, Rob Garner at the Association of National ...Designing Websites for Visibility, Rob Garner at the Association of National ...
Designing Websites for Visibility, Rob Garner at the Association of National ...
 
AMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesAMP - Accelerated Mobile Pages
AMP - Accelerated Mobile Pages
 
03.Advance search
03.Advance search03.Advance search
03.Advance search
 
The Affiliate 2 0 Litmus Test
The Affiliate 2 0 Litmus TestThe Affiliate 2 0 Litmus Test
The Affiliate 2 0 Litmus Test
 
Chapter13
Chapter13Chapter13
Chapter13
 

More from 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
 

More from 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
 

Recently uploaded

Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptxRajatChauhan518211
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bSérgio Sacani
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.Nitya salvi
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 

Recently uploaded (20)

Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 

How Tracking Companies Circumvented Ad Blockers Using WebSockets

  • 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 Surge in online advertising (internet economy) • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. 2
  • 4. Online Tracking Surge in online advertising (internet economy) • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. 2 User concern over tracking • Led to the proliferation of ad blocking extensions
  • 5. Online Tracking Surge in online advertising (internet economy) • Ad networks pour in billions of dollars. • Value for their investment? • Extensive tracking to serve targeted ads. 2 User concern over tracking • Led to the proliferation of ad blocking extensions Ad networks fight back • E.g Using anti ad blocking scripts
  • 6. 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
  • 7. This Talk How Ad Networks leveraged a bug in Chrome API to bypass Ad Blockers using WebSockets 4
  • 8. This Talk How Ad Networks leveraged a bug in Chrome API to bypass Ad Blockers using WebSockets 4 1. What caused this? 2. How this bug was leveraged by ad networks?
  • 15. Web Sockets 5 HTTP/S request response Chatting App anything new? Web Socket bidirectional • Both client and server can send/receive data • This is a persistent connection
  • 16. 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
  • 18. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests
  • 19. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests webRequest API
  • 20. Ad Blockers 6 • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg 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 Rule List Usually borrowed 
 from EasyList
  • 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 url 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 webRequest API 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 http://doubleclick.com/s1.js 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 url 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
  • 31. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 webRequest API
  • 32. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 webRequest API
  • 33. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported webRequest API
  • 34. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads webRequest API
  • 35. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads Patch Finalized 
 ( Landed) webRequest API
  • 36. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 Original bug
 reported Users report 
 unblocked ads Patch Finalized 
 ( Landed) Chrome 58
 released webRequest API
  • 37. AdBlock Evasion • Bug in • ws/wss requests did not trigger the API 7 2012 2013 2014 2015 2016 2017 2018 * * * * Original bug
 reported Users report 
 unblocked ads Patch Finalized 
 ( Landed) Chrome 58
 released * Represents when our crawls were done webRequest API
  • 39. Data Crawling 8 100K websites 
 sampled from Alexa
  • 40. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources
  • 41. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources This means we know which resource included which other resource
  • 42. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets This means we know which resource included which other resource
  • 43. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSockets Mark web sockets
 which are used by A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs 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 included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSockets Mark web sockets
 which are used by A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs This means we know which resource included which other resource pub/ index.html srv.ws ads/ script.js ads/ frame.html ads/ img_a.jpg adnet/ data.ws Example Inclusion Tree
  • 45. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSockets Mark web sockets
 which are used by A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs This means we know which resource included which other resource pub/ index.html srv.ws ads/ script.js ads/ frame.html ads/ img_a.jpg adnet/ data.ws Example Inclusion Tree WebSocket WebSocket
  • 46. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSockets Mark web sockets
 which are used by A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs This means we know which resource included which other resource pub/ index.html srv.ws ads/ script.js ads/ frame.html adnet/ data.ws Example Inclusion Tree WebSocket WebSocket
  • 47. Data Crawling 8 100K websites 
 sampled from Alexa Visit 15 
 links / website Collected chains for all included resources Filter all resources which end in 
 web sockets Filter 
 WebSockets Detect A&A 
 WebSockets Mark web sockets
 which are used by A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs This means we know which resource included which other resource pub/ index.html ads/ script.js ads/ frame.html adnet/ data.ws Example Inclusion Tree WebSocket
  • 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 Before 
 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 • ~2% websites use web sockets. 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 • ~2% websites use web sockets. • ~61 % sockets are initiated by A&A domains Before 
 Chrome 58 After 
 Chrome 58 A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs
  • 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 • ~2% websites use web sockets. • ~61 % sockets are initiated by A&A domains • ~71 % sockets contact an A&A domain Before 
 Chrome 58 After 
 Chrome 58 A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs
  • 54. 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 • ~2% websites use web sockets. • ~61 % sockets are initiated by A&A domains • ~71 % sockets contact an A&A domain • # Initiators drop after Chrome 58 release. Before 
 Chrome 58 After 
 Chrome 58 A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs
  • 55. 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.6 73.7 75 16 Apr 11-16, 2017 2.4 61.3 74.6 63 18 May 07-12, 2017 1.6 60.2 69.7 19 15 Oct 12-16, 2017 2.5 63.4 63.7 23 18 • ~2% websites use web sockets. • ~61 % sockets are initiated by A&A domains • ~71 % sockets contact an A&A domain • # Initiators drop after Chrome 58 release. • Small but persistent A&A receivers. Before 
 Chrome 58 After 
 Chrome 58 A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs
  • 58. Initiators and Receivers 10 Initiator Receiver ws/s JavaScript
  • 59. Initiators and Receivers 10 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 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 Top A&A 
 Initiators 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 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 Top A&A 
 Initiators Initiator Receiver ws/s JavaScript
  • 62. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 16 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
  • 63. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 16 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
  • 64. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 16 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
  • 65. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 16 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
  • 66. Initiators and Receivers 10 A&A Initiator #A&A
 Receivers facebook 11 google 11 doubleclick 9 youtube 8 addthis 8 hotjar 7 googlesyndication 6 twitter 5 sharethis 4 adnxs 3 A&A Receiver #A&A
 Initiators realtime 27 33across 19 intercom 16 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
  • 67. Sent Items Over Web Sockets 11
  • 68. Sent Items Over Web Sockets 11 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 Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 70. 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
  • 71. Sent Items Over Web Sockets 11 •Stateful Identifiers like Cookie and User IDs • Fingerprinting data in ~3.4% WebSockets. 
 97% is 33across • ~1.6% WebSockets sends the entire DOM to 
 Hotjar, LuckyOrange, TruConversion Cookie IP User IDs Fingerprinting 
 Variables DOM % Requests 0 20 40 60 80 WebSockets HTTP/S
  • 72. 12 Received Items Over Web Sockets
  • 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 HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 75. 12 Received Items Over Web Sockets HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 76. 12 Received Items Over Web Sockets Ads served from Lockerdome HTML JSON JavaScript Images % Responses 0 10 20 30 40 50 WebSockets HTTP/S
  • 77. 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. • DOM exfiltration by HotJar, LuckyOrange, TruConversion • Lockerdome downloaded URLs to serve ads. • We need to keep up with the current practices of A&A companies. 13
  • 78. 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. • DOM exfiltration by HotJar, LuckyOrange, TruConversion • Lockerdome downloaded URLs to serve ads. • We need to keep up with the current practices of A&A companies. 13 Questions? ahmad@ccs.neu.edu
  • 80. Inclusion Chain 15 <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