1 securing frame communication in browsers 17 th usenix security symposium (2008) 2008.11.27 adam...

25
1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Upload: alannah-burke

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

1

Securing Frame Communication in Browsers

17th USENIX Security Symposium (2008)

2008.11.27

Adam Barth, Collin Jackson, John C. Mitchell

Page 2: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Agenda

BackgroundProblem DefinitionGoal & ContributionFrame IsolationFrame CommunicationRelated WorkConclusion

2

Page 3: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Background : Mashup

A Web site combining content from multiple sources Integrator

• Combining the contents

Gadget• Integrated

contents

3

From Google

From NASA From Daum

Page 4: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Background : Mashup

Mashup use two method for implementation Insert JavaScript

• The integrator embeds a <script> tags• The script runs with all of the integrator’s

privileges Iframe element

• Can represent different principal• Frame can draw only on its own rectangle

4

Page 5: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Problem Definition

The frames can contain untrusted content Try to access the other frames for malicious

action

Web attacker Owns an attacker.com User visits attacker.com Optional assumption

• Gets to embeds a malicious gadget on integrator site

5

Page 6: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Goal & Contribution

Enhance the security on Mashup included untrusted gadget Isolation between each frames

• Propose the security policy. Secure frame communication

• Make up for the weak points in existing approaches

6

Page 7: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Isolation : Navigation Policy

Permissive Policy A frame can navigate any other frame

Cross-Window Attacks

7

Page 8: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Isolation : Navigation Policy

Window Policy A frame can navigate only frames in its window

8

Gadget Hijacking

Page 9: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Isolation : Navigation Policy

Child Policy A frame can navigate only its direct children Reduce the policy’s compatibility with existing

sites

Descendant Policy A frame can navigate only its descendants Provide the most attractive trade-off between

security and compatibility

9

Page 10: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Isolation : Navigation Policy

Policy Behavior

10

Policy Behavior

Permissive

Window

Descendent

Child

Page 11: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Isolation : Deployment

Safari Apple accepted author’s patch about

descendant policyFirefox

Mozilla accepted author’s patch in Firefox 3Flash

Adobe agreed about descendant policyOpera

They plan to fix these vulnerabilities

11

Page 12: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Communication

Some Mashup need to communication method for providing rich content The fragment Identifier channel postMessage Channel

12

Security Properties Confidentiality

A message can be read only by its intended recipient

Authentication The Ability of the recipient to unambiguously

determine the sender of a message

Page 13: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Communication : The Fragment Identifier Channel

The fragment identifier http://aaa.com/#hello

Send short information to other frame using the fragment identifier

Doesn’t reload content in the frame• No network traffic, but frame can read its

fragment

13

Frame 1

Frame 2

Parent.location=http://aaa.com/#Message_1230483

SetInterval(checkForMessge,200);

Page 14: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Communication : The Fragment Identifier Channel

Security properties Confidentiality : Yes Authentication : No Not a secure channel

Windows Live channel Attempts to build a secure channel over the

fragment identifier channelSmesh and Open Ajax 1.1

14

Page 15: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Frame Communication : The Fragment Identifier Channel

Windows Live channel The Lowe anomaly can be exploited to

impersonate the integrator

Smesh and Open Ajax 1.1

15

Page 16: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Secure Fragment Messaging The fragment identifier channel can be secured

using a variant of the Needham-Schroeder-Lowe Protocol

The responder must include his identity in the second message of the protocol

16

Frame Communication : The Fragment Identifier Channel

Page 17: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Adoption Microsoft : Windows Live Channels library IBM : OpenAjax Hub 1.1

17

Frame Communication : The Fragment Identifier Channel

Page 18: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

New API for inter-frame communication in the HTML 5 Supported in latest betas of many browsers

• IE 8, Firefox 3,Safari, Opera

To send a message to another frame, the sender calls the postMessage method frame[0].postMessage(“Hello world.”); The browser generates a message event in the

recipient’s frame• Contain message, the origin of the sender, a

JavaScript pointer to sender’s frame

18

Frame Communication : The postMessage Channel

Page 19: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Security properties Confidentiality : No Authentication : Yes Not a secure channel

Two type attack method Recursive Mashup Attack Replay Attack

19

Frame Communication : The postMessage Channel

Page 20: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Recursive Mashup attack The attacker load the integrator inside a frame

• Can carry out an attack without violating the descendant frame policy

Attacker hijacks content of postMessage

20

Frame Communication : The postMessage Channel

Attacker

Page 21: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST 21

Frame Communication : The postMessage Channel

Replay attack Embedding the honest gadget in attacker’s

frame Can intercept postMessage, even under the

child frame policy

Page 22: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST 22

Frame Communication : The postMessage Channel

Securing postMessage Let the sending specify the recipient

• frame[0].postMessage(“hello”,http://gadget.com)

• Can omit argument if confidentiality not required

Adoption HTML 5.0 Firefox 3 Safari IE 8

Page 23: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Related work

Safe subsets of HTML and Javascript This approach require gedgets to be written in a

“safe subset” of HTML and JavaScript Writing programs in one of these safe subsets is

often awkward Subspace

This approach used a multi level hierarchy based on document.domain property

The descendant frame navigation policy is required to prevent gadget hijacking.

MashupOS

23

Page 24: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST

Conclusion

All proposals deployed to real users

Frame isolation Improved frame navigation policy

Frame communication Secured fragment identifier messaging Secured new postMessage API

24

Page 25: 1 Securing Frame Communication in Browsers 17 th USENIX Security Symposium (2008) 2008.11.27 Adam Barth, Collin Jackson, John C. Mitchell

Network & Security Lab, KAIST 25

Q&A