and privacy protec5on on the web

and privacy protec5on on the Web Nataliia Bielova Inria - PowerPoint PPT Presentation

Web tracking technologies and privacy protec5on on the Web Nataliia Bielova Inria Rennes, 25 October 2013 Back in 1993 2 Today Web


  1. Web ¡tracking ¡technologies ¡ and ¡privacy ¡protec5on ¡on ¡the ¡Web ¡ Nataliia ¡Bielova ¡ ¡ Inria ¡Rennes, ¡ 25 ¡October ¡2013 ¡ ¡

  2. Back ¡in ¡1993… ¡ 2 ¡

  3. Today… ¡ Web ¡Tracking ¡ AdverJse.com ¡ Tracker.com ¡ Bigger ¡browsing ¡profiles ¡ ¡ ¡ ¡ ¡ = ¡increased ¡value ¡for ¡trackers ¡ Doubleclick.com ¡ = ¡reduced ¡privacy ¡for ¡users ¡ ¡ (HypotheJcal ¡tracking ¡relaJonships ¡only.) ¡ Courtesy ¡of ¡Franziska ¡Roesner ¡ 3 ¡

  4. Today… ¡ Web ¡Tracking ¡ AdverJse.com ¡ MyAd.com ¡ Tracker.com ¡ YourAd.com ¡ Doubleclick.com ¡ (HypotheJcal ¡tracking ¡relaJonships ¡only.) ¡ 4 ¡

  5. In ¡this ¡talk… ¡ § What ¡is ¡Web ¡Tracking? ¡ • How ¡does ¡it ¡work? ¡ ¡ • Its ¡basic ¡components ¡ § How ¡to ¡protect ¡your ¡privacy ¡on ¡the ¡Internet? ¡ • What ¡kind ¡of ¡defenses ¡you ¡can ¡set ¡in ¡your ¡browser? ¡ ¡ • Are ¡they ¡effecJve? ¡ • Which ¡research ¡soluJons ¡are ¡proposed? ¡ • What ¡about ¡EU ¡laws ¡and ¡regulaJons? ¡ 5 ¡

  6. HTTP ¡protocol ¡is ¡stateless ¡ URL ¡path: ¡bbc.co.uk/news... ¡ URL ¡path: ¡bbc.co.uk/news ¡ Method: ¡GET Parameters ¡ ¡ ¡ Web ¡browser ¡ Web ¡server ¡ Cookies: ¡session-­‑id= 2082787201l ¡& ¡… ¡ Method: ¡GET ¡ … ¡ … ¡ HTTP ¡request ¡ HTTP ¡response ¡ Status: ¡200 ¡OK ¡ Content: ¡HTML ¡page ¡ Cookie ¡Database ¡ Set-­‑cookies: ¡session-­‑id= 2082787201l ¡& ¡… ¡ bbc.co.uk/news: ¡ … ¡ session-id=2082787201l -­‑ ¡Mapping ¡requests ¡to ¡apps ¡ -­‑ ¡Rendering ¡pages ¡ -­‑ ¡ContacJng ¡DBs ¡ -­‑ ¡ExecuJng ¡scripts/plugins ¡ -­‑ ¡ConstrucJng ¡responses ¡ (JavaScript) ¡ ¡ -­‑ ¡Launching ¡new ¡HTTP ¡requests ¡ 6 ¡

  7. HTTP ¡protocol ¡is ¡stateless ¡ URL ¡path: ¡bbc.co.uk/news... ¡ URL ¡path: ¡bbc.co.uk/news ¡ Method: ¡GET Parameters ¡ ¡ ¡ High-­‑level ¡point: ¡ ¡ Web ¡browser ¡ Web ¡server ¡ Cookies: ¡session-­‑id= 2082787201l ¡& ¡… ¡ Method: ¡GET ¡ HTTP ¡cookies ¡ are ¡useful ¡for ¡web ¡session ¡handling, ¡but ¡ … ¡ … ¡ also ¡ can ¡be ¡used ¡to ¡track ¡users. ¡ HTTP ¡request ¡ HTTP ¡response ¡ Status: ¡200 ¡OK ¡ Content: ¡HTML ¡page ¡ Cookie ¡Database ¡ Set-­‑cookies: ¡session-­‑id= 2082787201l ¡& ¡… ¡ bbc.co.uk/news: ¡ … ¡ session-id=2082787201l -­‑ ¡Mapping ¡requests ¡to ¡apps ¡ -­‑ ¡Rendering ¡pages ¡ -­‑ ¡ContacJng ¡DBs ¡ -­‑ ¡ExecuJng ¡scripts/plugins ¡ -­‑ ¡ConstrucJng ¡responses ¡ (JavaScript) ¡ ¡ -­‑ ¡Launching ¡new ¡HTTP ¡requests ¡ 7 ¡

  8. Mechanisms ¡Required ¡By ¡Trackers ¡ • Ability ¡to ¡store/create ¡user ¡idenJty ¡in ¡the ¡browser ¡ § HTTP ¡cookies ¡ § other ¡HTTP ¡headers ¡ Stateful ¡tracking ¡ § other ¡browser ¡storages ¡ § device ¡fingerprinJng: ¡ ¡ • browser ¡properJes ¡ ¡ Stateless ¡tracking ¡ • OS ¡properJes ¡ ¡ • IP ¡address… ¡ • Ability ¡to ¡communicate ¡user ¡idenJty ¡back ¡to ¡tracker ¡ § HTTP ¡request ¡headers ¡ § JavaScript ¡ Nataliia ¡Bielova ¡ 8 ¡

  9. Stateful ¡Tracking ¡ COOKIES ¡AND ¡OTHER ¡BROWSER ¡STORAGES ¡ 9 ¡

  10. Cookies: ¡first-­‑ ¡& ¡third-­‑party ¡ Origin ¡ Origin ¡ ny5mes.com ¡ b.scorecardresearch.com ¡ nyJmes.com ¡ <iframe � � src=b.scorecardresearch.com> � � � � Html ¡page ¡+ ¡ ¡ Third-­‑party ¡ � First-­‑party ¡ � � JavaScript ¡code ¡ � can ¡read/write ¡ ¡ can ¡read/write ¡ ¡ � � cookies ¡of ¡ ¡ cookies ¡of ¡ ¡ � b.scorecardresearch ny5mes.com ¡ </iframe> � .com ¡ <script src=facebook.net> � � JavaScript ¡code ¡ � � </src> � Nataliia ¡Bielova ¡ 10 ¡

  11. Within-­‑Site ¡Tracking ¡ First-­‑party ¡cookies ¡ are ¡used ¡to ¡track ¡repeat ¡visits ¡to ¡ a ¡site. ¡ google-­‑analyJcs.com ¡ hjp://site1.com ¡ <script processing ¡engine ¡ src=google- analytics.com/ 2:52pm: user 123 visited Cookie ¡Database ¡ script.js> � � site1.com � site1.co com: m: script ¡ � go google- ga_id=123 � logs ¡ analyt ytics cs.co com/tr track? k? </src> � ga_i _id=123& & site=site1.co com m Based ¡on ¡the ¡slide ¡of ¡Franziska ¡Roesner ¡ 11 ¡

  12. First-­‑party ¡cookie ¡sekng ¡ 12 ¡

  13. First-­‑party ¡cookies ¡benefits ¡ • Keep ¡the ¡session ¡through ¡ different ¡windows/tabs ¡ • Website ¡owners ¡can ¡evaluate ¡ § website ¡staJsJcs ¡ § popularity ¡of ¡certain ¡pages ¡ § popularity ¡of ¡links ¡ § selected ¡and ¡copied ¡phrases ¡ 13 ¡

  14. Cross-­‑sites ¡Tracking ¡ Third-­‑party ¡cookies ¡are ¡used ¡by ¡trackers ¡included ¡in ¡ other ¡sites ¡to ¡create ¡profiles. ¡ ¡ tracker.com ¡ hjp://site2.com ¡ hjp://site1.com ¡ co cookie: i id=789 processing ¡engine ¡ <iframe src=tracker.com/ ad.html> � 9:30am: user 789 visited Cookie ¡Database ¡ � co cookie: i id=789 site1.com � ad ¡ tracker.co com: id=789 � 9:31am: user 789 visited � logs ¡ site2.com </iframe> � Courtesy ¡of ¡Franziska ¡Roesner ¡ 14 ¡

  15. PracJcal ¡protecJon: ¡ Third-­‑party ¡cookies ¡blocking ¡ 15 ¡

  16. PracJcal ¡protecJon: ¡ Third-­‑party ¡cookies ¡blocking ¡ • Does ¡not ¡influence ¡your ¡browsing ¡experience ¡ • Does ¡not ¡adjust ¡adverJsements ¡for ¡you ¡ ¡ • So ¡why ¡are ¡third-­‑party ¡cookies ¡s5ll ¡there? ¡ § It’s ¡a ¡business ¡of ¡adverJsement ¡companies ¡ • “ How ¡much ¡are ¡you ¡worth?” ¡ ¡ § New ¡plugin ¡shows ¡what ¡adverJsers ¡pay ¡for ¡you ¡ § hjp://yourvalue.inrialpes.fr ¡by ¡Inria ¡PrivaJcs ¡team ¡ 16 ¡

  17. Cookie ¡respawning ¡ • Cookies ¡ can ¡respawn ¡ even ¡if ¡the ¡ user ¡has ¡deleted ¡them ¡ • Ashkan ¡Soltani, ¡ August ¡2011 ¡ KISSmetrics ¡and ¡Hulu.com ¡lawsuits ¡ § HTML5 ¡localStorage ¡ ¡ § Flash ¡LSOs ¡ ¡ § Other ¡hjp ¡headers ¡ ¡ • Samy ¡Kamkar: ¡“evercookie” ¡ ¡: ¡ § Even ¡more ¡storage ¡mechanisms ¡ 17 ¡

  18. Respawning ¡-­‑ ¡local ¡storages ¡ • KissMetrics ¡lawsuit: ¡HTML5 ¡localStorage ¡(across ¡sessions) ¡ User ¡leaves ¡the ¡page ¡ tracker.com ¡ hjp://site1.com ¡ processing ¡engine ¡ Cookie ¡Database ¡ <iframe src=tracker.com/ tracker.co com: id=789 ad.html> � 9:30am: user 789 visited � co cookie: i id=789 site1.com � ad ¡ � � logs ¡ HTML5 ¡localStorage ¡ </iframe> � tracker.co com: id=789 18 ¡

  19. Respawning ¡-­‑ ¡local ¡storages ¡ • KissMetrics ¡lawsuit: ¡HTML5 ¡localStorage ¡(across ¡sessions) ¡ High-­‑level ¡point: ¡ ¡ User ¡deletes ¡all ¡the ¡cookies! ¡ If ¡these ¡ local ¡storages ¡didn’t ¡store ¡a ¡copy ¡of ¡cookies , ¡ ¡ tracker.com ¡ this ¡tracking ¡would ¡not ¡be ¡detected! ¡ hjp://site2.com ¡ processing ¡engine ¡ Cookie ¡Database ¡ <iframe src=tracker.com/ tracker.co com: id=789 ad.html> � 9:30am: user 789 visited � co cookie: i id=789 site1.com � ad ¡ � 9:31am: user 789 visited � logs ¡ HTML5 ¡localStorage ¡ site2.com </iframe> � tracker.co com: id=789 19 ¡

  20. Not ¡only ¡Respawning, ¡but ¡Tracking ¡ • Demonstrated ¡by ¡Vladimir ¡Klimontovich, ¡October ¡2012 ¡ • HTML5 ¡localStorage ¡instead ¡of ¡cookies ¡ //Iframe code (http://pixel.sample-ad-exchange.com/iframe.html) � <html> � <head></head> � <body> � <script type="text/javascript"> � var userId = localStorage.getItem("user_id"); � if (userId == null) { � //set user is if user is unknown � userId = Math.random(); � localStorage.setItem("user_id", userId); � } � var img = document.createElement('img'); � img.src = "http://pixel.sample-ad-exchange.com/pixel.gif?user_id=“ + userId; � var body = document.getElementsByTagName('body')[0]; � body.appendChild(img); � </script> � </body> � </html> � 20 ¡

Recommend


More recommend