On Wed, Apr 08, 2009 at 09:11:00AM -0700, Casey Schaufler wrote:
> The 1990's MLS solutions used labels that described sensitivity
> levels and category sets. There was variation on exactly how
> these were represented, some used fixed size bit maps, others
> arrays of category numbers, but the information they contain is
> a complete description of the information required to make an
> access control decision. Unfortunately to the task at hand, MLS
> is a technology that has seen its last development efforts.

But has MLS seen its last days for deployment?  I think that for generic
non-governmental agency deployment you're quite right that MLS is barely
sufficient.  DTE is needed.

Incidentally, I should clarify that in the context of labeled NFS I only
care to solve the sub-problem of how the client and server can determine
what policy or subset thereof they share.  I currently think that's a
simpler problem than how to represent policies (and equivalencies), but
only if we also assume a solution that.

> The SELinux label, whose textual representation is called a "context",
> contains enough information for the system on which it was generated
> to interpret it relative to the system policy. It does not contain
> sufficient information for a system that does understand that policy
> to make decisions based on that context. For a context generated on
> Stephen's machine to be meaningful on David's David's machine would
> need a full understanding of both policies. Last I looked the
> SELinux reference policy was approaching a million lines. Based on
> the many interrelationships between policy elements, I do not
> think that subsetting is going to be viable, although I'm willing
> to be educated on that.

I'm still learning about DTE.  If I understand correctly though we could
constrain ourselves to administrator defined policies built on system-
and vendor-defined types/roles.  If so then DTE policy subset agreement
seems within reach.

> In some ways Smack is even worse. The Smack label contains no
> actual information, it is just a character string and the access
> control is left completely up to the access control rules specified
> on the system. A Smack label from Etienne's system has no intrinsic
> value on Casey's and give no hint as to how it should be interpreted
> or enforced.

Ouch.

> Summary: Old MLS systems passed sufficient information in their
> labels for any number of mechanisms including SPIF, CIPSO, TSIX,
> and IPSEC to be useful. 21st century MAC systems, including
> SELinux and Smack, have labels that do not contain sufficient
> information for another system to make an access control decision.

Jarret's point was that this is true even for MLS labels because a node
might not know what the meaning of a given sensitivity and compartment
are.  This is not a problem for CALIPSO because middle boxes need only
determine label dominance, but Jarret thinks that this is a problem for
NFS.

> > IIUC it should be possible to generate SELinux policies from generic
> > ones, but not the reverse.  If so then that provides a path to
> > interoperable deployment, though it would mean sacrificing some
> > flexibility.  Can you clarify my understanding?
> 
> An SELinux policy can be created from scratch, and we're seeing some
> people in the embedded space trying to do just that. Sure, you can
> limit the problem by constraining the variation of the policies, but
> as we type the reference policy continues to be refined and expanded.
> I'm not going to tell Joshua that he has to slow policy development
> in support of NFS.

I see.  This is important knowledge.  I'm not sure what can be done
about that.

> Let's see if I can be clear for a change. (smiley here)

:)

> The assumption that policy agreement can be assumed is inappropriate.

I think you're very likely right about that w.r.t. DTE.  But I still
harbor some hope.

> > So you're saying that a) "a good number of people" think a solution is
> > needed that allows the client and server to each know with certainty
> > that the other will understand their labels, b) you're among those
> > people (?), but c) no solution is feasible.  Correct?
> >   
> 
> a) Else there's no point to labeled NFS.
> b) Yup.
> c) It is not feasible to meet "a" using just the information contained
>    in either an SELinux context or a Smack label, regardless of how
>    the information is transmitted between the client and server. You
>    can meet "a" for 20th century MLS systems using just the information
>    contained in the MLS label.

Crystal clear.  Thanks.

> I hope I've clarified the difference between the problem of MLS systems
> and the problem of our current set of technologies.

You have.  Thanks!

I'll need to think about the DTE issues, and SELinux vs. Solaris FMAC.

Nico
-- 

Reply via email to