2014 IEEE Symposium on Security and Privacy 2014
DOI: 10.1109/sp.2014.24
|View full text |Cite
|
Sign up to set email alerts
|

Pivot: Fast, Synchronous Mashup Isolation Using Generator Chains

Abstract: Abstract-Pivot is a new JavaScript isolation framework for web applications. Pivot uses iframes as its low-level isolation containers, but it uses code rewriting to implement synchronous cross-domain interfaces atop the asynchronous crossframe postMessage() primitive. Pivot layers a distributed scheduling abstraction across the frames, essentially treating each frame as a thread which can invoke RPCs that are serviced by external threads. By rewriting JavaScript call sites, Pivot can detect RPC invocations; Pi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
11
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 16 publications
(11 citation statements)
references
References 12 publications
0
11
0
Order By: Relevance
“…JavaScript Isolation In the case of JavaScript specifically, much effort has gone into client-side compartmentalization (e.g., execution isolation [33], object capabilities [34], sandboxing [53], [2] information flow control [52]). These works focused primarily on client-side, web-based setups which are different from our focus in many ways: isolation primitives (i.e., iframes), origin (i.e., explicit sources), threat model (i.e., no C/C++ modules; no valid access to "/etc/passwd"), compartment numbers (i.e., few), and developer effort (i.e., manual annotations or rewrite).…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…JavaScript Isolation In the case of JavaScript specifically, much effort has gone into client-side compartmentalization (e.g., execution isolation [33], object capabilities [34], sandboxing [53], [2] information flow control [52]). These works focused primarily on client-side, web-based setups which are different from our focus in many ways: isolation primitives (i.e., iframes), origin (i.e., explicit sources), threat model (i.e., no C/C++ modules; no valid access to "/etc/passwd"), compartment numbers (i.e., few), and developer effort (i.e., manual annotations or rewrite).…”
Section: Related Workmentioning
confidence: 99%
“…Further problems increase these risks. With popular modules averaging tens of thousands of lines of code, understanding the internals of a complex package and verifying that it will not behave in unintended ways [15], [33] are both extremely difficult tasks. The popularity of certain packages-dependedupon by thousands of other packages-allows vulnerabilities deep in the dependency graph to cause widespread difficulties [30], [23], [60].…”
Section: Introductionmentioning
confidence: 99%
“…Pivot [39] isolates untrusted JavaScript into an iframe and rewrites the program to use generators, which allows blocking I/O between the iframe and the outside world. Stopify is not an isolation framework and implements blocking without generators or cps ( §3).…”
Section: Related Workmentioning
confidence: 99%
“…Instead of propagating DOM changes, Mashic [17] and Pivot [23] provide a transparent, synchronous interface for cross-domain operations on top of postMessage, to support confinement of general-purpose code. Mashic rewrites all code to continuation-passing style, while Pivot uses Generators to achieve the same goal using minor rewriting.…”
Section: Frame-based Isolationmentioning
confidence: 99%
“…• Frame-based isolation: The browser's SOP isolates code running in different frames, while providing a controlled means for communicating through the postMessage API. AdJail [34], Mashic [17] and Pivot [23] rely on this approach for isolation. MashupOS [42] also relies on frames and similar isolation mechanisms.…”
Section: Introductionmentioning
confidence: 99%