securing interaction for sites, apps and extensions in the browser

13
Securing Interaction for Sites, Apps and Extensions in the Browser Brad Miller J. D. Tygar

Upload: overton

Post on 12-Feb-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Securing Interaction for Sites, Apps and Extensions in the Browser. Brad Miller J. D. Tygar. Sharing Information in the Cloud. Many advantages Less control Less flexibility. How will we share information between apps? Web interface dominant Need for robust cross-domain mechanisms. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Securing Interaction for Sites, Apps and Extensions in the Browser

Securing Interaction for Sites, Apps and Extensions in the Browser

Brad MillerJ. D. Tygar

Page 2: Securing Interaction for Sites, Apps and Extensions in the Browser

Sharing Information in the Cloud

• How will we share information between apps?• Web interface dominant• Need for robust cross-domain mechanisms

• Many advantages• Less control• Less flexibility

Page 3: Securing Interaction for Sites, Apps and Extensions in the Browser

Server A Server B

Cross-Domain XHR postMessage Content Security Policy

Origin AIn Browser

Origin BIn Browser

Same Origin Policy

Evolved Security Mechanisms

Server A Server B

Same Origin Policy

Cross-Domain XHR postMessage Content Security Policy

Origin AIn Browser

Origin BIn Browser

• These features are not enough• Workarounds will emerge

Page 4: Securing Interaction for Sites, Apps and Extensions in the Browser

The Chrome Approach

• Chrome merges “apps” and “extensions”– Web apps can be installed from a web store

• Users grant apps privileges at install time– Domain level granularity– Cookies, script injection & cross-domain requests

Page 5: Securing Interaction for Sites, Apps and Extensions in the Browser

Fundamental Modifications

– Designs app/extension, writes manifest– Chooses to install app, approves manifest– Unable to participate

• Site designer should help mediate access– Best understanding of data– Best incentive to protect data

• Leverage real-world meaning of data– Policies users can understand

UserApp Developer Site Designer

Page 6: Securing Interaction for Sites, Apps and Extensions in the Browser

DOM Node Tags

• Privacy tags: protect read access– address, financial, medical, photo/video, etc.

• Integrity tags: protect write access– Designed on a custom basis per site

= node tagged as “financial”

= inherited “financial” tag from parent

Underlying DOM

Menubar

Summary Transactions

WebsiteMenubar

Individual Account

Transactions

Summaryof

Accounts

Page 7: Securing Interaction for Sites, Apps and Extensions in the Browser

Restricting Scripts

• 2 Types of scripts– Requested by site during normal execution– Inserted by browser on behalf of an extension/app

• 4 Types of protection

Requested by site

Inserted by browser

1

3

2

4

Privacy Integrity

Page 8: Securing Interaction for Sites, Apps and Extensions in the Browser

Determining Policies

• User sets policy for extensions at install time• Site designer sets policy for web scripts• Site makes recommendation for extensions• Negotiation resolves any conflicts

Requested by site

Inserted by browser

Privacy Integrity

1

3

2

4

1

3

2

4

1

3

2

4

1

3

2

4

1

3

2

4

Page 9: Securing Interaction for Sites, Apps and Extensions in the Browser

Policy Negotiation

• Negotiation occurs first time a user visits a site• Can be per extension or across all extensions

• correspondence• photos/videos

• medical• financial• correspondence• photos/videos

Site Recommendation User Settings

Are you sure you want to let extensions access your medical and financial data on this site?

Page 10: Securing Interaction for Sites, Apps and Extensions in the Browser

Example: Photo Editing

• Privacy tags restrict access to photos• Cross-Domain XHR more cumbersome– Would require support from Facebook– Not flexible enough for long term success

Facebook Photo Editor

Denied

Allowed

Denied

Contact Info

Wall Posts

Photos

Page 11: Securing Interaction for Sites, Apps and Extensions in the Browser

Example: Identity Theft

ShoppingWebsite

BankWebsite

Evil orVulnerable

InstalledApp

Credit Card Info

PurchaseRecord

PurchaseRecord

• Script injection• Credit Card Info• Script Injection• Tag Protection

Page 12: Securing Interaction for Sites, Apps and Extensions in the Browser

Improvements over status quo

• Usability– Choices are more natural for humans

• Better policies– Privacy tags leverage semantic meaning of data– Integrity tags allow finer granularity in page access

• Better incentives– Party with most knowledge and stake plays a role

Page 13: Securing Interaction for Sites, Apps and Extensions in the Browser

Future Work & Open Questions

• Handling DOM updates– Approved script writes new nodes into DOM– What tags should be assigned to new nodes?

• Privacy tag set– Fixed set could be restrictive– Custom set harder to work with