Object capabilities and isolation of untrusted web applications
File(s)DTR10-6.pdf (385.29 KB)
Published version
Author(s)
Maffeis, Sergio
Mitchell, John C
Taly, Ankur
Type
Report
Abstract
A growing number of current web sites combine active content
(applications) from untrusted sources, as in so-called mashups. The object-
capability model provides an appealing approach for isolating untrusted con-
tent: if separate applications are provided disjoint capabilities, a sound object-
capability framework should prevent untrusted applications from interfering
with each other, without preventing interaction with the user or the hosting
page. In developing language-based foundations for isolation proofs based
on object-capability concepts, we identify a more general notion of author-
ity safety that also implies resource isolation. After proving that capability
safety implies authority safety, we show the applicability of our framework
for a speci c class of mashups. In addition to proving that a JavaScript sub-
set based on Google Caja is capability safe, we prove that a more expressive
subset of JavaScript is authority safe, even though it is not based on the
object-capability model.
(applications) from untrusted sources, as in so-called mashups. The object-
capability model provides an appealing approach for isolating untrusted con-
tent: if separate applications are provided disjoint capabilities, a sound object-
capability framework should prevent untrusted applications from interfering
with each other, without preventing interaction with the user or the hosting
page. In developing language-based foundations for isolation proofs based
on object-capability concepts, we identify a more general notion of author-
ity safety that also implies resource isolation. After proving that capability
safety implies authority safety, we show the applicability of our framework
for a speci c class of mashups. In addition to proving that a JavaScript sub-
set based on Google Caja is capability safe, we prove that a more expressive
subset of JavaScript is authority safe, even though it is not based on the
object-capability model.
Date Issued
2010-01-01
Citation
Departmental Technical Report: 10/6, 2010, pp.1-32
Publisher
Department of Computing, Imperial College London
Start Page
1
End Page
32
Journal / Book Title
Departmental Technical Report: 10/6
Copyright Statement
© 2010 The Author(s). This report is available open access under a CC-BY-NC-ND (https://creativecommons.org/licenses/by-nc-nd/4.0/)
Publication Status
Published
Article Number
10/6