Mark S. Miller
2013-07-07 15:27:22 UTC
(John, could you forward to David Mazières? Thanks.)
A position paper at <http://dl.acm.org/citation.cfm?doid=2489804.2489811>
and <http://types.cs.washington.edu/ftfjp2013/preprints/a6-Drossopoulou.pdf>.
I think the investigation they outline is the next important research step
that object-capabilities need to take. Without something like this, it is
hard to see how we could preserve security under code maintenance -- for
the reasons they state. Although the form of specification they suggest
would apply to both ocap OSes and languages, the corresponding analysis
would seem to apply much more to ocap languages. Thus, I suggest that
further general discussion should occur only on the e-lang list. (Subscribe
at <http://www.eros-os.org/mailman/listinfo/e-lang>. You need to subscribe
to post.)
I have separately been discussing with several of you the adaptation of
other formalisms -- decentralized info flow, separation logic, and (with
the authors) ownership types -- to serve as a specification language for
checking ocap implementations. But these discussions have not had clear
goals about what needs to be specified. The specification needs explained
in this paper, concretely in terms of this example, sets good challenge
goals. How might these or other formalisms contribute towards specifying,
verifying, or enforcing such policies?
The Need for Capability Policiies
by Sophia Drossopoulou and James Noble, (cc'ed)
The object-capability model is one of the industry standards adopted for
the implementation of security policies for web-based software.
Object-capabilities in various forms are supported by programming languages
such as E, Joe-E, Newspeak, Grace, and the newer versions of Javascript.
Unfortunately, code written using capabilities tends to concentrate on the
low-level *mechanism* rather than the high-level *policy*.
In this position paper, we argue that current specification methodologies
cannot adequately capture all aspects of the *capability policies *required
to support object-capability systems. We outline informally the features
that such security policies should support, and we demonstrate (also
informally) how we can reason that examples satisfy the capability policies.
A position paper at <http://dl.acm.org/citation.cfm?doid=2489804.2489811>
and <http://types.cs.washington.edu/ftfjp2013/preprints/a6-Drossopoulou.pdf>.
I think the investigation they outline is the next important research step
that object-capabilities need to take. Without something like this, it is
hard to see how we could preserve security under code maintenance -- for
the reasons they state. Although the form of specification they suggest
would apply to both ocap OSes and languages, the corresponding analysis
would seem to apply much more to ocap languages. Thus, I suggest that
further general discussion should occur only on the e-lang list. (Subscribe
at <http://www.eros-os.org/mailman/listinfo/e-lang>. You need to subscribe
to post.)
I have separately been discussing with several of you the adaptation of
other formalisms -- decentralized info flow, separation logic, and (with
the authors) ownership types -- to serve as a specification language for
checking ocap implementations. But these discussions have not had clear
goals about what needs to be specified. The specification needs explained
in this paper, concretely in terms of this example, sets good challenge
goals. How might these or other formalisms contribute towards specifying,
verifying, or enforcing such policies?
The Need for Capability Policiies
by Sophia Drossopoulou and James Noble, (cc'ed)
The object-capability model is one of the industry standards adopted for
the implementation of security policies for web-based software.
Object-capabilities in various forms are supported by programming languages
such as E, Joe-E, Newspeak, Grace, and the newer versions of Javascript.
Unfortunately, code written using capabilities tends to concentrate on the
low-level *mechanism* rather than the high-level *policy*.
In this position paper, we argue that current specification methodologies
cannot adequately capture all aspects of the *capability policies *required
to support object-capability systems. We outline informally the features
that such security policies should support, and we demonstrate (also
informally) how we can reason that examples satisfy the capability policies.
--
Cheers,
--MarkM
Cheers,
--MarkM