how tracking companies circumvented ad blockers using ... · websockets which are used by a&a...

79
How Tracking Companies Circumvented Ad Blockers Using WebSockets Muhammad Ahmad Bashir , Sajjad Arshad, Engin Kirda, William Robertson, Christo Wilson Northeastern University

Upload: others

Post on 11-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

How Tracking Companies Circumvented Ad Blockers Using WebSockets

Muhammad Ahmad Bashir, Sajjad Arshad, Engin Kirda, William Robertson, Christo Wilson

Northeastern University

Page 2: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Online Tracking

2

Page 3: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Online Tracking• Boom in online advertising.

• Ad networks pour in billions of dollars.

• Value for their investment?

2

Page 4: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Online Tracking• Boom in online advertising.

• Ad networks pour in billions of dollars.

• Value for their investment?

• Extensive tracking to serve targeted ads.

2

Page 5: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 6: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 7: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 8: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

This Talk

How Ad Networks leveraged a bug in Chrome API to bypass Ad Blockers

using WebSockets

4

Page 9: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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?

Page 10: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

Page 11: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S

Page 12: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S

Page 13: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S request

response

Page 14: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S request

response

Chatting App

Page 15: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S request

response

Chatting Appanything new?

Page 16: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S request

response

Chatting Appanything new?

Web Socket

Page 17: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Web Sockets

5

HTTP/S request

response

Chatting Appanything new?

Web Socketbidirectional

ws:// or wss://

• Both client and server can send/receive data • This is a persistent connection

Page 18: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

Page 19: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

Page 20: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

webRequest API

Page 21: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Page 22: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List Usually borrowed from EasyList

Page 23: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

url

Usually borrowed from EasyList

Page 24: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

url

Usually borrowed from EasyList

Page 25: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

url

Usually borrowed from EasyList

Page 26: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

url

webRequest API

Usually borrowed from EasyList

Page 27: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

http://doubleclick.com/s1.js

url

webRequest API

Usually borrowed from EasyList

Page 28: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

http://doubleclick.com/s1.js

url

webRequest API

url

Usually borrowed from EasyList

Page 29: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

http://doubleclick.com/s1.js

url

webRequest API

url

Usually borrowed from EasyList

Page 30: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Ad Blockers

6

• Chrome extension chrome.webRequest API• Extension can inspect / modify / drop outgoing requests

http://cnn.com/logo.jpegwebRequest API

Rule List

http://doubleclick.com/s1.js

url

webRequest API

url

Usually borrowed from EasyList

Page 31: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

AdBlock Evasion

7

Page 32: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

AdBlock Evasion

• Due to a bug in chrome.webRequest API

• All ws/wss requests bypassed this extension

7

Page 33: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 34: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Page 35: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Users report unblocked ads

Page 36: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Users report unblocked ads Patch

Landed

Page 37: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Users report unblocked ads Patch

Landed

Chrome 58 released

Page 38: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Users report unblocked ads Patch

Landed

Chrome 58 released* Represents when our crawls were done

Page 39: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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 bugreported

Users report unblocked ads Patch

Landed

Chrome 58 released* Represents when our crawls were done

Page 40: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Data Crawling

8

Page 41: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Data Crawling

8

100K websites sampled from Alexa

Page 42: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Data Crawling

8

100K websites sampled from Alexa Visit 15

links / website

Collected chains for all inclusion resources

Page 43: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 44: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 45: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 46: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Page 47: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 48: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 49: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 50: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 51: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 52: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 53: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

High-Level Numbers

9

Crawl Dates %Websites with sockets

% Socketswith A&AInitiators

% Socketswith A&AReceivers

#Unique A&A

Initiators

#Unique A&A

ReceiversApr 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

Page 54: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

Page 55: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

Initiator ReceiverJavaScript

Page 56: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

Initiator Receiverws/s

JavaScript

Page 57: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

Initiator Receiverws/s

JavaScript

Page 58: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

Top A&A Initiators

Initiator Receiverws/s

JavaScript

Page 59: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

Top A&A Initiators

Initiator Receiverws/s

JavaScript

Page 60: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

A&A Receiver #A&AInitiators

realtime 2733across 19intercom 15

disqus 13zopim 12hotjar 11feedjit 10

lockerdome 8inspectlet 6

smartsupp 4

Top A&A Initiators

Top A&A Receivers

Initiator Receiverws/s

JavaScript

Page 61: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

A&A Receiver #A&AInitiators

realtime 2733across 19intercom 15

disqus 13zopim 12hotjar 11feedjit 10

lockerdome 8inspectlet 6

smartsupp 4

Top A&A Initiators

Top A&A Receivers

Initiator Receiverws/s

• Disqus provides comment board services.

JavaScript

Page 62: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

A&A Receiver #A&AInitiators

realtime 2733across 19intercom 15

disqus 13zopim 12hotjar 11feedjit 10

lockerdome 8inspectlet 6

smartsupp 4

Top A&A Initiators

Top A&A Receivers

Initiator Receiverws/s

• Disqus provides comment board services.

• Zopim, Intercom, Smartsupp provide live chat services.

JavaScript

Page 63: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

A&A Receiver #A&AInitiators

realtime 2733across 19intercom 15

disqus 13zopim 12hotjar 11feedjit 10

lockerdome 8inspectlet 6

smartsupp 4

Top A&A Initiators

Top A&A Receivers

Initiator Receiverws/s

• Disqus provides comment board services.

• Zopim, Intercom, Smartsupp provide live chat services.

• 33across & Lockerdome are advertising platforms.

JavaScript

Page 64: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Initiators and Receivers

10

A&A Initiator #A&AReceivers

facebook 11google 11

doubleclick 9youtube 8addthis 8

hotjar 6googlesyndication 6

cloudfront 4sharethis 4

adnxs 3

A&A Receiver #A&AInitiators

realtime 2733across 19intercom 15

disqus 13zopim 12hotjar 11feedjit 10

lockerdome 8inspectlet 6

smartsupp 4

Top A&A Initiators

Top A&A Receivers

Initiator Receiverws/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

Page 65: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Sent Items Over Web Sockets

11

Page 66: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Sent Items Over Web Sockets

11

Cookie

IP

User IDs

Fingerprinting Variables

DOM

% Requests

0 20 40 60 80

WebSocketsHTTP/S

Page 67: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

WebSocketsHTTP/S

Page 68: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

WebSocketsHTTP/S

Page 69: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

WebSocketsHTTP/S

Page 70: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

12

Received Items Over Web Sockets

Page 71: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

12

Received Items Over Web SocketsHTML

JSON

JavaScript

Images

% Responses

0 10 20 30 40 50

WebSocketsHTTP/S

Page 72: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

12

Received Items Over Web SocketsHTML

JSON

JavaScript

Images

% Responses

0 10 20 30 40 50

WebSocketsHTTP/S

Page 73: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

12

Received Items Over Web SocketsHTML

JSON

JavaScript

Images

% Responses

0 10 20 30 40 50

WebSocketsHTTP/S

Page 74: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

12

Received Items Over Web Sockets

Ads served from Lockerdome

HTML

JSON

JavaScript

Images

% Responses

0 10 20 30 40 50

WebSocketsHTTP/S

Page 75: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 76: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

[email protected]

Page 77: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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

Page 78: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

Backup Slides

Page 79: How Tracking Companies Circumvented Ad Blockers Using ... · WebSockets which are used by A&A domains Companies involved in Advertising and Analytics are collectively referred as

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