[e-lang] security policies for debugging (was: Object reflection)

Mark S. Miller markm at caplet.com
Mon Jan 12 17:31:02 CET 2004


At 12:40 AM 1/12/2004  Monday, Fred Spiessens wrote:
>Anybody from the E-language community that could tell us how the E-debugger 
>will work in this respect?

Use refraction rather than reflection. See
http://www.eros-os.org/pipermail/e-lang/2003-February/008464.html
and
http://www.eros-os.org/pipermail/e-lang/2003-February/008465.html

Although the above story of refraction support in an E-like language is 
still speculative, two of the mechanisms on which it's based -- the KeyKOS 
Brand and FCP's meta-"interpretive" debugging -- were both used in practice 
and provided real debuggability within all the constraints of full 
capability security. Both can be understood according to the logic of 
refraction explained above. (I believe EROS debuggability follows the logic 
of KeyKOS debuggability.)

Note: I put "interpretive" above in quotes because it used program 
transformation to efficiently simulate the effect of running a program under 
a debugging meta-interpreter.

The KeyKOS technique allows stronger confinement claims for debuggable 
objects than does the FCP technique. The FCP technique nests naturally, 
whereas the KeyKOS technique does not. I believe that it should be 
straightforward to combine these strengths. For example, Alan Karp has 
suggested that sealer/unsealer pairs could come in a hierarchy, with a 
parent unsealer able to unseal a box sealed by a child's sealer. Brands 
could be put into a similar hierarchy, providing debugging rights over 
nested arenas.

E does not yet have any mechanism to support refraction. I think we'll 
indeed end up with hierarchical Brands, but I'm inclined to proceed by first 
writing a naive meta-interpreter, extending it for debugging the interpreted 
computation, and then designing the Brand mechanism by reasoning by 
(almost) equivalence.


----------------------------------------
Text by me above is hereby placed in the public domain

        Cheers,
        --MarkM

-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
Please send bug reports to bugs at mozart-oz.org.





More information about the mozart-users mailing list