[Labeled-nfs] Client and Server policies and file creation.
Paul Moore
paul.moore at hp.com
Tue Aug 7 09:11:22 EDT 2007
On Monday, August 6 2007 6:47:55 pm Casey Schaufler wrote:
> --- "Matthew N. Dodd" <Matthew.Dodd at sparta.com> wrote:
> > [In reply to a new discussion in a differently titled thread.]
> >
> > When a file is created by a client, the client passes the desired
> > attributes to the server in the request. Later, the client requests the
> > attributes the server created the file with.
> >
> > It seems to me that this is exactly the way we want things to function
> > when we enforce policy on the client and the server.
>
> An important question is whether the client is going to get back
> the same attributes it sent in all cases. This requires either that
> the server stores what the client sent or that the mapping between
> what the client sends and what the server stores is reverseable.
If there is any hope of label translation actually working I think the
mappings between different DOIs must be reverseable.
> Let's consider an easy case. The server supports a binary MAC policy,
> with two labels, USER and SYSTEM, stored in a single bit. The client
> has a Bell&LaPadula label that supports 256 levels and 64k categories.
> If you store the Server Native label you can't go back to the client
> label, you can't even come close. Any client access check based on a
> translation from the server label will be wrong.
Step back a level and stop thinking about the different parts/fields which
make up an object's label and think about the label as a single, opaque blob.
In your example above we can think of the server side as having label X and
the client as having label Y. Label X is the combination of the USER and
SYSTEM sub-labels/fields on the server and label Y is the combination of the
traditional MLS sensitivity level and category bitmap.
Once you abstract out the labels like this I believe it should be fairly
straightforward to establish one-to-one mappings between labels in different
security domains. I'll admit it might not always be an elegant mapping
depending on the different domains, but it should be possible. It will also
require careful creating of the label mappings, but then again this is a
cross-domain issue and from what I can tell this burden is nothing new.
> If the file system saves both the client label and the server label,
> and uses each in its appropriate context, you are better off - and
> here's the gotcha - so long as you only have one client. If you have
> a second client with a different MAC scheme you can't give it the
> server's label to use because you know it is wrong and you can't give
> it the other client's label because that will be wrong, too.
Not the only reason why this solution won't work for a general solution, but
an easy one to understand.
--
paul moore
linux security @ hp
More information about the Labeled-nfs
mailing list