By Adam Barth, Joel Weinberger and Dawn Song. Current JavaScript Security Model Cross-Origin...

18
Cross-Origin JavaScript Capability Leaks: Detection, Exploitation and Defense By Adam Barth, Joel Weinberger and Dawn Song

Transcript of By Adam Barth, Joel Weinberger and Dawn Song. Current JavaScript Security Model Cross-Origin...

Page 1: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Cross-Origin JavaScript Capability Leaks: Detection,

Exploitation and DefenseBy Adam Barth, Joel Weinberger and Dawn Song

Page 2: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Current JavaScript Security Model

Cross-Origin JavaScript Capability Leaks

Capability Leak Detection

Browser Defense Mechanism

Overview

Page 3: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

The DOM and Access Control

Page 4: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

The DOM and Access Control

Page 5: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

The JS Engine and Capabilities

Page 6: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

The DOM provides an access control layer

The JavaScript engine treats objects as capabilities

DOM vs JS Engine

Page 7: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Current JavaScript Security Model

Cross-Origin JavaScript Capability Leaks

Capability Leak Detection

Browser Defense Mechanism

Overview

Page 8: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Cross-Context References

Page 9: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Cross-Context References

Page 10: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

DOM meets JS Engine

Page 11: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

DOM meets JS Engine

Page 12: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Current JavaScript Security Model

Cross-Origin JavaScript Capability Leaks

Capability Leak Detection

Browser Defense Mechanism

Overview

Page 13: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

JavaScript Heap Inspection

Page 14: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

In the JavaScript Engine object system

Object creation, destruction and reference

Calls into analysis library

Instrumentation

Page 15: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Computing JavaScript Contexts

Page 16: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Current JavaScript Security Model

Cross-Origin JavaScript Capability Leaks

Capability Leak Detection

Browser Defense Mechanism

Overview

Page 17: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Access Control Checks

Page 18: By Adam Barth, Joel Weinberger and Dawn Song.  Current JavaScript Security Model  Cross-Origin JavaScript Capability Leaks  Capability Leak Detection.

Heap Graph Analysis can be used to find vulnerabilities in web browser

Web Browser can provide mechanism to eliminate these vulnerabilities

Heap Graph Tool and Access Control Prototype for WebKit:

Conclusion