control’whatyou’include!’ · control’whatyou’include!’...

18
Control What You Include! ServerSide Protec7on against Third Party Web Tracking Dolière Francis Somé, Nataliia Bielova , Tamara Rezk Privaski 2017

Upload: others

Post on 04-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Control  What  You  Include!  Server-­‐Side  Protec7on  against  Third  Party  Web  Tracking    

 Dolière  Francis  Somé,  Nataliia  Bielova,  Tamara  Rezk  

Privaski  2017  

Page 2: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

2  

b.voicefive.com  

b.scorecardresearch.com  

pagead2.googlesyndica6on.com  

js.revsci.net  

effec6vemeasure.net  

googleads.g.doubleclick.net  

googletagservices.com  

emp.bcci.co.uk  

bcc.co.uk  

thanks  to  ePrivacy  direc7ve  2009  

Nataliia  Bielova  

Page 3: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Third  party  content  on  websites  Today  •  up  to  34  dis7nct  third  par7es  on  a  single  website  •  90%  of  content  is  tracking  users  •  Users  protect  themselves  with  browser  extensions  

§  Ghostery,  Disconnect,  etc.  

Tomorrow  •  ePrivacy  update  [1]:  website  owners  are  liable  if  third  

par7es  track  their  users    =>  Website  owners  want  to  control  third  party      content  they  include  

Nataliia  Bielova   3  

Page 4: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

•  Ability  to  store/create  user  iden7ty  in  the  browser  and  communicate  it  back  to  tracker  §  HTTP  cookies,  browser  cache,  local  Storage  §  device  fingerprin7ng  

•  Ability  to  communicate  website  visited  back  to  the  tracker    §  HTTP  Referer  header  §  document.referrer

Mechanisms  Required  By  Trackers  

Nataliia  Bielova   4  

Page 5: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Third  party  tracking  via  cookies  

Based  on  slides  of  Franziska  Roesner  

logs  

Cookie  Database  

tracker.com: id=789

h`p://news.com  

processing  engine  

cookie: id=789

9:30am: user 789 visited news.com

<img src=tracker.com/smiley.gif>

</img>

9:31am: user 789 visited mysite.com

h`p://mysite.com  

cookie: id=789

tracker.com  

5  

Referer: mysite.com Referer: news.com

Nataliia  Bielova  

Page 6: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Why  web  developers  include  so  many  third  party  contents?  

Nataliia  Bielova   6  

Page 7: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Func7onality  J    Privacy  L  

Nataliia  Bielova   7  

Page 8: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Nataliia  Bielova   8  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

duckduckgo.com  

Privacy  J    

Page 9: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

How  can  developers  include  third  party  content  and  guarantee  privacy?  

Nataliia  Bielova   9  

Page 10: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Same  Origin  Policy  (SOP)  

•  SOP  implemented  in  all  web  browsers:  §  “Scripts  can  only  access  proper6es  associated  with  documents  from  the  same  origin”    

•  Origin  =  [scheme,  host,  port]  

Nataliia  Bielova   10  

h`p://www.example.com:81/dir/page.html  

scheme   host   port  

Page 11: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Html  page  +    

<iframe src=b.com/main.html>

</iframe>  

In  what  origin  each  script  is  running?  

11  

<script src=b.com/script.js>

JavaScript  1  

a.com   b.com  a.com

JavaScript  2  

<script src=c.com/script.js>

c.com  

Nataliia  Bielova  

Page 12: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Html  page  +    

<iframe src=b.com/main.html>

</iframe>  

In  what  origin  each  script  is  running?  

12  

<script src=b.com/script.js>

JavaScript  1  

a.com   b.com  a.com

JavaScript  2  

<script src=c.com/script.js>

c.com  

JavaScript  2  

JavaScript  1  

Nataliia  Bielova  

Page 13: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Which  third  party  content  is  controllable?  

Nataliia  Bielova   13  

controllable  

not  controllable  

Page 14: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Privacy-­‐preserving  web  architecture  

Goal  §  Remove  tracking  from  func7onal  third-­‐party  content  

Idea  §  Rewrite  sta7c  third-­‐party  content  §  Redirect  dynamic  third-­‐party  content  §  Restrict  communica7on  between  third-­‐par7es  within  the  applica7on  

Nataliia  Bielova   14  

Page 15: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Nataliia  Bielova   15  

mysite.com  

Web  browser  

h`p://mysite.com  

tracker.com  Current  architecture  

Referer: mysite.com

Page 16: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Nataliia  Bielova   16  

mysite.com  

Web  browser  

h`p://mysite.com  

tracker.com  Our  architecture     middle.com  

rewrite.com  

Redirect  third  par7es  to  middle.com  Intercept  dynamically  created  in-­‐context  content  Add  CSP  (to  avoid  bypassing)  

http://tracker.com/smiley.gif à http://middle.com/?src=http://tracker.com/smiley.gifContent-­‐Security-­‐Policy:    default-­‐src  ’self’  ’middle.com’;  object-­‐src  ’self’;  

Page 17: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Nataliia  Bielova   17  

mysite.com  

Web  browser  

tracker.com  Our  architecture     middle.com  

rewrite.com  Removes  cookies,  Etag,  Referer  Rewrites  an  iframe  as  a  new  iframe  from  middle.com  

Referer: mysite.com

Referer: mysite.com

❌  

❌  

Page 18: Control’WhatYou’Include!’ · Control’WhatYou’Include!’ Server4Side’Protec7on’againstThird’Party’Web’Tracking’’ ’ Dolière’Francis’Somé, NataliiaBielova

Case  study  &  conclusions  •  All  websites  work  properly  

§  Demo  website  with  youtube  videos  §  News:  www.bbc.com  §  Movies:  www.imdb.com  §  Shopping:  h`p://vertbaudet.fr  

•  Our  architecture  §  for  website  developers    §  allows  to  embed  third  party  contents    §  while  preserving  users  privacy  

  Nataliia  Bielova   18