Control What You Include! Server-Side Protec7on against - - PowerPoint PPT Presentation

control what you include
SMART_READER_LITE
LIVE PREVIEW

Control What You Include! Server-Side Protec7on against - - PowerPoint PPT Presentation

Control What You Include! Server-Side Protec7on against Third Party Web Tracking Dolire Francis Som, Nataliia Bielova, Tamara Rezk Privaski 2017


slide-1
SLIDE 1

Control ¡What ¡You ¡Include! ¡

Server-­‑Side ¡Protec7on ¡against ¡Third ¡Party ¡Web ¡Tracking ¡ ¡

¡

Dolière ¡Francis ¡Somé, ¡Nataliia ¡Bielova, ¡Tamara ¡Rezk ¡ Privaski ¡2017 ¡

slide-2
SLIDE 2

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 ¡

slide-3
SLIDE 3

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 ¡

slide-4
SLIDE 4
  • 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 ¡

slide-5
SLIDE 5

Third ¡party ¡tracking ¡via ¡cookies ¡

Based ¡on ¡slides ¡of ¡Franziska ¡Roesner ¡

logs ¡ Cookie ¡Database ¡ tracker.co com: id=789 h`p://news.com ¡ processing ¡engine ¡

co cookie: i 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 ¡

co cookie: i id=789

tracker.com ¡

5 ¡

Re Referer: : mys ysite.co com Re Referer: : news.co com

Nataliia ¡Bielova ¡

slide-6
SLIDE 6

Why ¡web ¡developers ¡include ¡so ¡ many ¡third ¡party ¡contents? ¡

Nataliia ¡Bielova ¡ 6 ¡

slide-7
SLIDE 7

Func7onality ¡J ¡ ¡Privacy ¡L ¡

Nataliia ¡Bielova ¡ 7 ¡

slide-8
SLIDE 8

Nataliia ¡Bielova ¡ 8 ¡

duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡ duckduckgo.com ¡

Privacy ¡J ¡ ¡

slide-9
SLIDE 9

How ¡can ¡developers ¡include ¡third ¡party ¡ content ¡and ¡guarantee ¡privacy? ¡

Nataliia ¡Bielova ¡ 9 ¡

slide-10
SLIDE 10

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 ¡

slide-11
SLIDE 11

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 ¡

slide-12
SLIDE 12

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 ¡

slide-13
SLIDE 13

Which ¡third ¡party ¡content ¡is ¡ controllable? ¡

Nataliia ¡Bielova ¡ 13 ¡

controllable ¡ not ¡controllable ¡

slide-14
SLIDE 14

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 ¡

slide-15
SLIDE 15

Nataliia ¡Bielova ¡ 15 ¡

mysite.com ¡ Web ¡browser ¡ h`p://mysite.com ¡ tracker.com ¡

Current ¡architecture ¡

R e R e f f e e r r e e r r : : m m y s y s i i t t e e . . c

  • c
  • m

m

slide-16
SLIDE 16

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.gif

Content-­‑Security-­‑Policy: ¡ ¡ default-­‑src ¡’self’ ¡’middle.com’; ¡object-­‑src ¡’self’; ¡

slide-17
SLIDE 17

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 ¡

R e R e f f e e r r e e r r : : m m y s y s i i t t e e . . c

  • c
  • m

m R e R e f f e e r r e e r r : : m m y s y s i i t t e e . . c

  • c
  • m

m

❌ ¡ ❌ ¡

slide-18
SLIDE 18

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 ¡