beware of finer-grained origins collin jackson adam barth stanford university

26
Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Beware of Finer-Grained Origins

Collin JacksonAdam Barth

Stanford University

Page 2: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Security Context Determined By URL• "Origin" =

https://login.yahoo.com/config/login

Scheme Host (Port)

Page 3: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Sub-Origin Privileges

OriginContamination

Page 4: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Trust Specified By URL• Import

<script src="prototype.js"></script>

<link rel="stylesheet" href="base.css">

• Export<form action="login.cgi">

var xhr = new XMLHttpRequest();xhr.open("POST", "ajax.php");

Page 5: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Threat Models• Web Attacker

– https://www.attacker.com– Free user visit

• Upgrade: Network Attacker– Eavesdrop– Corrupt network traffic

• Upgrade: Cert-Mismatch Attacker– User clicks through certificate errors– Attacker still does not have trusted site’s certificate

• Cross-Path Attacker– Same “origin” as good site, different path

Page 6: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Browser FeaturesDefenses

Feature Sub-Origin Privilege Attacker Origin Contamination

Library Import

Data Export

Cookie Paths Read Cookie

WSKE Read Cookie

Certificate Errors (IE7) Show Lock

EV Show Organization

Locked Same-Origin Policy Read Cookie

Petname Toolbar Show Petname

Passpet Obtain Password

Mixed Content Show Lock N/A

enablePrivilege Install Software

IP-based Origins Network Requests

Page 7: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Mixed Content

Page 8: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

WSKE

• Web Server Key-Enabled Cookies– “Secure” cookies only sent for same TLS key

Page 9: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Locked SOP

• Finer-grained origin (scheme, host, port, broken)– “Broken” HTTPS page can’t script valid HTTPS page

• Banks often import libraries– <script src="https://www.paypalobjects.com/...">– User clicks through cert error for paypalobjects.com– Real PayPal imports script from paypalobjects.com– Attacker runs script as “unbroken” PayPal

Sites cannot safely use <script src="…">, CSS, SWF, etc

Page 10: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

More Anti-Phishing using Certificates• Ignore the address bar, use cert instead

• Extended Validation

• Passpet• Petname

• What about ?

Page 11: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

TLS Forwarding• Certificate belongs to bank• Domain name belongs to attacker• Attacker can hijack session at any time

• Certificate UI is confused

Page 12: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

TLS Forwarding Example

Page 13: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

TLS Forwarding - Consequences

• Might not be PayPal

• This is really PayPal, right?

Page 14: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

TLS Forwarding Network Attack

• Origin contamination • Polluted cache

Page 15: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Firefox enablePrivilege API

Page 16: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Abusing enablePrivilege• Relies on certificate, ignores host name• Signed HTML can import libraries and

be scripted by its origin

• Is this code really from Yahoo!?

Page 17: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Cookie Paths• http://www.stanford.edu/~aliceSet-Cookie: skrt=04f4; path=/~alice

• http://www.stanford.edu/~eve Set-Cookie: skrt=52f9; path=/~eve

<iframe src="/~alice"></iframe>alert(frames[0].document.cookie);

Page 18: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

DNS Rebinding Attack

Read permitted: it’s the “same origin”F

irewall www.evil.com

web server

ns.evil.com

DNS server

171.64.7.115

www.evil.com?

corporateweb server

171.64.7.115TTL = 0

<iframe src="http://www.evil.com">

192.168.0.100

192.168.0.100

[DWF’96, R’01]

DNS-SEC cannot stop this attack

Page 19: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

IP-based Origins• Finer-grained origin (scheme, host, port, IP)

• www.evil.com=192.168.0.100 imports<script src="prototype.js"></script>

• www.evil.com=171.64.7.115 serves evil script– Read contents of document– POST it back to www.evil.com

Page 20: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

SOLUTIONS

Page 21: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Embrace• Grant privileges to origins

Frame Navigation

Phishing FilterPassword Database

Local StoragepostMessage

Cross-site XHRXDomainRequest

Page 22: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Extend• Include fine-grained origin in URL

• YURL:https://y-cl7h3f7jwyj3fvmw7jpnjfvf2xlcmayi.yurl.net/

• HTTPEV:httpev://www.paypal.com/

Page 23: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Destroy• Problem: documents that lack the sub-origin

privilege

• Eliminate privilege– SafeLock

• Eliminate document– ForceHTTPS– ForceCertificate– Strict Petname

Page 24: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

SolutionsDefenses

Feature Sub-Origin Privilege Attacker Origin Contamination

Library Import

Data Export

Cookie Paths Read Cookie

WSKE Read Cookie

Certificate Errors (IE7) Show Lock

EV Show Organization

Locked Same-Origin Policy Read Cookie

Petname Toolbar Show Petname

Passpet Obtain Password

Mixed Content Show Lock N/A

enablePrivilege Install Software

IP-based Origins Network Requests

Page 25: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

SolutionsDefenses

Feature Sub-Origin Privilege Attacker Origin Contamination

Library Import

Data Export

Cookie Paths Read Cookie Extend

WSKE Read Cookie

Certificate Errors (IE7) Show Lock Destroy

EV Show Organization Destroy

Locked Same-Origin Policy Read Cookie Extend

Petname Toolbar Show Petname Destroy

Passpet Obtain Password Destroy

Mixed Content Show Lock Destroy Destroy N/A

enablePrivilege Install Software Destroy

IP-based Origins Network Requests

Page 26: Beware of Finer-Grained Origins Collin Jackson Adam Barth Stanford University

Summary• Sub-origin privileges don’t work

– Origin contamination– Privilege escalation via script injection

• Beware of finer-grained origins– Trust specified by URL– Import/Export

• Three approaches for new features– Embrace, extend, destroy