Re: [saag] [Labeled-nfs] Common labeled security (comment on CALIPSO, labeled NFSv4)

Casey Schaufler <casey@schaufler-ca.com> Thu, 09 April 2009 01:03 UTC

Return-Path: <casey@schaufler-ca.com>
X-Original-To: saag@core3.amsl.com
Delivered-To: saag@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE79D3A6824 for <saag@core3.amsl.com>; Wed, 8 Apr 2009 18:03:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.541
X-Spam-Level:
X-Spam-Status: No, score=-2.541 tagged_above=-999 required=5 tests=[AWL=0.058, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N1Xww6Lx2Gxz for <saag@core3.amsl.com>; Wed, 8 Apr 2009 18:03:48 -0700 (PDT)
Received: from smtp110.prem.mail.sp1.yahoo.com (smtp110.prem.mail.sp1.yahoo.com [98.136.44.55]) by core3.amsl.com (Postfix) with SMTP id B73693A6857 for <saag@ietf.org>; Wed, 8 Apr 2009 18:03:48 -0700 (PDT)
Received: (qmail 11711 invoked from network); 9 Apr 2009 01:04:56 -0000
Received: from unknown (HELO ?192.168.1.102?) (casey@64.41.22.89 with plain) by smtp110.prem.mail.sp1.yahoo.com with SMTP; 9 Apr 2009 01:04:55 -0000
X-YMail-OSG: EEgNXS0VM1nJjK3ra4t4dhTo0eZ43uSUegyBh1QKlRr7z9e8pBIP21ruaSBkZV1qDZA6ornLb.RNcoKJhp.Ppq9hedanBOSIDkI.yXaZeyG8x6CxZyg.vi5noboPUVKCK5hPKLpdNlXUDd1Pk9Cp6oTl257V1GyxFkaRvaM9xnhxyago2hoQtqhP.PzjMAtKW96ZopiFjhEcFWAfWfq0Vrsq6CDEySYWiWpefQvCR3_a.DkuDaBfj6Pf7y8ExKUX41BRf2L9l9Ti.pr4JZTUQjzMIAmXFXH5ozH6lGxe0wwnzIV9
X-Yahoo-Newman-Property: ymail-3
Message-ID: <49DD49A8.4080903@schaufler-ca.com>
Date: Wed, 08 Apr 2009 18:04:40 -0700
From: Casey Schaufler <casey@schaufler-ca.com>
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
MIME-Version: 1.0
To: Nicolas Williams <Nicolas.Williams@sun.com>
References: <FAD1CF17F2A45B43ADE04E140BA83D48A9FFE9@scygexch1.cygnacom.com> <20090406151606.GQ1500@Sun.COM> <20090406180424.BA7AC9A4749@odin.smetech.net> <49DAC29D.6030902@schaufler-ca.com> <20090407164420.GW1500@Sun.COM> <49DC13DA.10405@schaufler-ca.com> <20090408051745.GG1500@Sun.COM> <49DCCC94.80501@schaufler-ca.com> <20090408211209.GS1500@Sun.COM> <49DD2833.9060301@sun.com> <20090408224755.GV1500@Sun.COM>
In-Reply-To: <20090408224755.GV1500@Sun.COM>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: labeled-nfs@linux-nfs.org, nfsv4@ietf.org, Kurt Zeilenga <Kurt.Zeilenga@Isode.com>, saag@ietf.org, nfs-discuss@opensolaris.org, Casey Schaufler <casey@schaufler-ca.com>, Jarrett Lu <Jarrett.Lu@sun.com>, Santosh Chokhani <SChokhani@cygnacom.com>
Subject: Re: [saag] [Labeled-nfs] Common labeled security (comment on CALIPSO, labeled NFSv4)
X-BeenThere: saag@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Security Area Advisory Group <saag.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/saag>, <mailto:saag-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/saag>
List-Post: <mailto:saag@ietf.org>
List-Help: <mailto:saag-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/saag>, <mailto:saag-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Apr 2009 01:03:49 -0000

Nicolas Williams wrote:
> On Wed, Apr 08, 2009 at 03:41:55PM -0700, Jarrett Lu wrote:
>   
>> It's not clear to me how much information is sufficient to guarantee a 
>> subset of policy is consistent so that labeled communication is safe and 
>> correct. One extreme is to require systems to be configured identically. 
>> As I understand it, roles/types on DTE systems usually depend on what 
>> kind of applications are run on the systems, and the types are defined 
>> to constrains what the applications can do on a system. In other words, 
>> policy on different systems are most likely different.
>>     
>
> Right, but presumably applications using NFS can be made to have
> identical sub-policies on all relevant NFS clients and servers.

I do not believe that you can make that assumption with SELinux.

> If not
> then why use NFS for such an application?  

That is a very good question.

> Of course, there's the matter
> of home directories and random apps loaded on clients without server
> knowledge, but if you're using labeled NFS then presumably you have an
> infrastructure and site-/org-wide system administration that can ensure
> orderly application deployment.
>
>   

That's quite an assumption.

>>> 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.
>>>  
>>>       
>> I believe this is a problem for MLS end systems (client and server), 
>> even when CALIPSO is in use. If labels are defined differently on 
>> different systems, e.g. same binary bit patten on two different systems 
>> maps to different labels, label comparison is meaningless. The 
>> underlying assumption is that if two systems use different label mapping 
>> schemes, they should not be using the same DOI to communicate without 
>> some sort of translation mechanism. The agreement of associating a DOI 
>> with a particular label mapping is done outside of a protocol option 
>> such as CIPSO (for IPv4) or CALIPSO (for IPv6). Just to be clear, 
>> CALIPSO spec defines "on-the-wire" format of (MLS) sensitivity label 
>> option for IPv6. It is not designed to communicate policy agreements 
>> among systems.
>>     
>
> Based on this I think I'm ready to conclude that for MLS we don't need
> anything more than the DOI number/name to produce MLS policy agreement,
> though a URI scheme for naming policies (including version) would have
> better semantics.  

MLS is an easier problem to solve, unfortunately it is a technology
that has fallen off the roadmap.

> DTE does not seem as simple, though assuming common
> per-app sub-policies then it may be doable.
>   

If you can create an uber-policy that can be shown to
incorporate all the aspects of both the client policy and
the server policy, one case of which being either the client
policy or the server policy being a sub-set of the other,
you may have a chance.

Each policy is a million lines.