[cap-talk] membrane challenge - an Attack! - discussion
Bill Frantz
frantz at pwpconsult.com
Wed Nov 17 14:27:49 EST 2004
There are a number of reasons we should proceed with caution when making
statements about membranes:
* As far as I know, there are no real, time-tested examples of the
membrane pattern. In addition, there is no theoretical base for them.
As such, we don't really know what they can and can't do.
* As far as I know, this group is the first to try to reason about
authority, as compared with permission. Again, I don't think we have
either strong intuitions or theory to guide us.
The KeyKOS MLS design used a form of membrane to separate the
compartments. This membrane was the interface between a single-level
compartment, and the larger system directory. It examined the
capabilities passing over the interface and only permitted them to pass
if: (1) The MLS labels on the objects permitted the transfer, and (2)
the objects were manifestly sensory[1].I don't think any of the
discussion of membrane function effects a membrane with these
specifications.
The membranes we are discussing are much more complex membranes, and we
aren't being clear about their specifications. For example, MarkM
contends that allowing a time-limiting membrane to manipulate
capabilities which aren't time-limited is broken. If this is a design
principle, then we also must examine any time-limited object which
allows a change in authority. A Unix style directory that permitted
"mv" to change authority would be an example.
On the other hand, Jed thinks that the effects of manipulations through
time-limited membranes should persist after those membranes are
destroyed. We need to think clearly about just what these membranes are
supposed to do.
Some questions to ask are:
* Is keeping the E language "makeSturdyRef" function inaccessible
through membranes sufficient to keep the CapTP system from leaking
time-unlimited authority around a time-limiting membrane?
* What kind of objects and structures of objects does it make sense to
use with time-limiting membranes?
* What other kinds of policy do we think the membrane pattern should
enforce?
[1] Manifestly sensory is a weaker version of the E concept of "deep
frozen". A deep frozen object can't be changed. A sensory object can't
be changed through the sensory path. For example, a read-only page key
is sensory. However if there exists a read-write page key in the
system, that key can be used to change the contents of the page.
-------------------------------------------------------------------------
Bill Frantz | gets() remains as a monument | Periwinkle
(408)356-8506 | to C's continuing support of | 16345 Englewood Ave
www.pwpconsult.com | buffer overruns. | Los Gatos, CA 95032
More information about the cap-talk
mailing list