how tracking companies circumvented ad blockers using
play

How Tracking Companies Circumvented Ad Blockers Using WebSockets - PowerPoint PPT Presentation

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


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

  2. Online Tracking 2

  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. User concern over tracking • Led to the proliferation of ad blocking extensions 2

  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. User concern over tracking • Led to the proliferation of ad blocking extensions Ad networks fight back • E.g Using anti ad blocking scripts 2

  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 1. What caused this? 2. How this bug was leveraged by ad networks? 4

  9. Web Sockets 5

  10. Web Sockets HTTP/S 5

  11. Web Sockets request HTTP/S response 5

  12. Web Sockets request HTTP/S response Chatting App 5

  13. Web Sockets request HTTP/S response anything new? Chatting App 5

  14. Web Sockets request HTTP/S response anything new? Chatting App Web Socket 5

  15. Web Sockets request HTTP/S response anything new? Chatting App bidirectional Web Socket • Both client and server can send/receive data • This is a persistent connection 5

  16. Web Sockets request HTTP/S response anything new? Chatting App bidirectional Web Socket ws:// or wss:// • Both client and server can send/receive data • This is a persistent connection 5

  17. Ad Blockers 6

  18. Ad Blockers • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests 6

  19. Ad Blockers • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests webRequest API 6

  20. Ad Blockers • Chrome extension chrome.webRequest API • Extension can inspect / modify / drop outgoing requests http://cnn.com/logo.jpeg webRequest API 6

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

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

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

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

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

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

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

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

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

  30. AdBlock Evasion 7

  31. AdBlock Evasion • Bug in webRequest API • ws/wss requests did not trigger the API 7

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

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

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

  35. AdBlock Evasion • Bug in webRequest API • ws/wss requests did not trigger the API Users report 
 Patch unblocked ads Finalized 
 Original bug 
 ( Landed) reported 2012 2013 2014 2016 2017 2018 2015 7

  36. AdBlock Evasion • Bug in webRequest API • ws/wss requests did not trigger the API Users report 
 Patch unblocked ads Finalized 
 Original bug 
 ( Landed) reported 2012 2013 2014 2016 2017 2018 2015 Chrome 58 
 released 7

  37. AdBlock Evasion • Bug in webRequest API • ws/wss requests did not trigger the API Users report 
 Patch unblocked ads Finalized 
 Original bug 
 ( Landed) reported * * * * 2012 2013 2014 2016 2017 2018 2015 Chrome 58 
 released * Represents when our crawls were done 7

  38. Data Crawling 8

  39. Data Crawling 100K websites 
 sampled from Alexa 8

  40. Data Crawling Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website 8

  41. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website 8

  42. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website Filter 
 WebSockets Filter all resources which end in 
 web sockets 8

  43. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website Filter 
 WebSockets Filter all resources which end in 
 web sockets Mark web sockets 
 Detect A&A 
 which are used by WebSockets A&A domains A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs 8

  44. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website Filter 
 WebSockets Example Inclusion Tree pub/ Filter all resources index.html which end in 
 web sockets Mark web sockets 
 srv.ws ads/ Detect A&A 
 which are used by WebSockets script.js A&A domains ads/ frame.html A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs ads/ adnet/ img_a.jpg data.ws 8

  45. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website Filter 
 WebSockets Example Inclusion Tree pub/ Filter all resources index.html which end in 
 web sockets Mark web sockets 
 srv.ws ads/ Detect A&A 
 which are used by WebSockets script.js A&A domains WebSocket ads/ frame.html A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs ads/ adnet/ img_a.jpg data.ws WebSocket 8

  46. This means we know Data Crawling which resource included which other resource Collected chains for 100K websites 
 all included sampled from Alexa Visit 15 
 resources links / website Filter 
 WebSockets Example Inclusion Tree pub/ Filter all resources index.html which end in 
 web sockets Mark web sockets 
 srv.ws ads/ Detect A&A 
 which are used by WebSockets script.js A&A domains WebSocket ads/ frame.html A&A = Advertising and Analytics e.g. DoubleClick, Criteo, Adnxs adnet/ data.ws WebSocket 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend