linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Casey Schaufler <casey@schaufler-ca.com>
To: Dave Quigley <dpquigl@tycho.nsa.gov>, casey@schaufler-ca.com
Cc: hch@infradead.org, viro@ftp.linux.org.uk,
	trond.myklebust@fys.uio.no, bfields@fieldses.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 01/11] Security: Add hook to get full maclabel xattr name
Date: Wed, 27 Feb 2008 17:07:41 -0800 (PST)	[thread overview]
Message-ID: <804125.16775.qm@web36606.mail.mud.yahoo.com> (raw)
In-Reply-To: <1204157539.24345.3.camel@moss-terrapins.epoch.ncsc.mil>


--- Dave Quigley <dpquigl@tycho.nsa.gov> wrote:

> 
> On Wed, 2008-02-27 at 15:42 -0800, Casey Schaufler wrote:
> > --- "David P. Quigley" <dpquigl@tycho.nsa.gov> wrote:
> > 
> > ...
> > > +	const char *(*maclabel_getname) (void);
> > 
> > I think that calling this a maclabel is a really bad idea. For one
> > thing, it assumes that all interesting security attributes are for
> > Mandatory Access Control. Also, it assumes that they are stored as
> > xattrs. While these conditions are both met by the two current LSMs
> > I would suggest that this is not a fair assumption for the long
> > haul unless the intention is to lock the lSM into only supporting
> > xattr based label based MAC modules.
> 
> Actually that is a completely fair assumption.

A completely reasonable LSM would be a discretionary time lock.
The owner could set or unset the times when a file might be accessed.
Stored as an xattr, but neither a label nor Mandatory Access Control.
I propose this as an example of why the name maclabel is inappropriate,
because in this case the data involved is neither. Please also consider
that, as horrible as it may seem, an LSM could legitimately require
more than one xattr. A proper Compartmented Mode Workstation, for
example, might have a MAC label and an Information label, and as anyone
familiar with the CMW spec will tell you, they have to be separate.
Granted, the information label is only supposed to be used to indicate
the actual sensitivity of information, but if it's available someone is
going to use it programaticly.

> When this whole thing
> started it was mandated that security attributes be stored in xattrs.

I'll grant you the xattr bit.

> I
> originally had a more convoluted name but after asking around we thought
> this one was better. Not to mention this is a slightly reworked hook
> that was just removed from the LSM since there were no users. While I'm
> open to potentially changing the name the paradigm that we use the xattr
> functionality of linux to handle security labels has been around since
> the beginning of LSM. If we want to revisit that idea I'm willing to do
> it but it needs more people than just you and I to agree to reopen it. 

The paradigm is* a security "blob" which is meaningfull only to the
security module proper. This is what allows SELinux to use secids and
Smack to toss around text strings. It's not MAC data and it's not
an NFS label, it's private to the LSM. It makes a lot of sense to use
an xattr to store a blob but, as the AppArmor people have been known
espouse, it's not the only way. The blob could be referenced from a
table using the inode number (it has been done on other systems and
works fine) rather than an xattr, in which case the whole "name" may
be meaningless.


----
* It was when the whole thing started out at least.

Casey Schaufler
casey@schaufler-ca.com

  reply	other threads:[~2008-02-28  1:07 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-27 22:11 RFC Labeled NFS Initial Code Review David P. Quigley
2008-02-27 22:11 ` [PATCH 01/11] Security: Add hook to get full maclabel xattr name David P. Quigley
2008-02-27 23:42   ` Casey Schaufler
2008-02-28  0:12     ` Dave Quigley
2008-02-28  1:07       ` Casey Schaufler [this message]
2008-02-28 13:43         ` Stephen Smalley
2008-02-28 19:23           ` Casey Schaufler
2008-02-28 19:30             ` Stephen Smalley
2008-02-28 19:59               ` Casey Schaufler
2008-02-28 23:48               ` Christoph Hellwig
2008-02-29  0:04                 ` Dave Quigley
2008-02-29  0:39                   ` Christoph Hellwig
2008-02-29  0:32                     ` Dave Quigley
2008-02-29  1:00                       ` Christoph Hellwig
2008-02-29  0:42                         ` Dave Quigley
2008-02-29  2:07                           ` Casey Schaufler
2008-02-29  1:48                             ` Dave Quigley
2008-02-29 13:30                         ` Stephen Smalley
2008-02-29 14:45                           ` Stephen Smalley
2008-02-29  1:47                       ` Casey Schaufler
2008-02-29  1:33                         ` Dave Quigley
2008-02-29  2:15                         ` James Morris
2008-02-29  0:50                     ` Trond Myklebust
2008-02-29  0:51                       ` Christoph Hellwig
2008-02-29  1:00                         ` Trond Myklebust
2008-02-29  1:55                           ` Casey Schaufler
2008-02-29  5:04                             ` Trond Myklebust
2008-02-29 17:46                               ` Casey Schaufler
2008-02-29 18:28                                 ` Trond Myklebust
2008-02-29 18:52                                   ` Casey Schaufler
2008-02-29 19:50                                     ` Trond Myklebust
2008-02-29 21:07                                       ` Casey Schaufler
2008-02-29 21:00                                         ` Dave Quigley
2008-02-29 22:27                                           ` Casey Schaufler
2008-02-29 22:15                                             ` Dave Quigley
2008-02-29 22:58                                               ` Casey Schaufler
2008-03-01  0:09                                         ` Trond Myklebust
2008-03-01  0:41                                           ` Casey Schaufler
2008-02-29  1:26                       ` Casey Schaufler
2008-02-29  5:01                         ` Trond Myklebust
2008-02-29 17:26                           ` Casey Schaufler
2008-02-29  1:04                   ` Casey Schaufler
2008-02-29  0:52                     ` Dave Quigley
2008-02-29  2:29                       ` Casey Schaufler
2008-02-29  2:09                         ` Dave Quigley
2008-02-29  1:15                   ` James Morris
2008-02-29 13:31                 ` Stephen Smalley
2008-02-29 17:52                   ` Casey Schaufler
2008-02-29 21:50   ` Dave Quigley
2008-02-27 22:11 ` [PATCH 02/11] Security: Add hook to calculate context based on a negative dentry David P. Quigley
2008-02-27 22:11 ` [PATCH 03/11] VFS: Add security label support to *notify David P. Quigley
2008-02-28  1:20   ` James Morris
2008-02-28 16:07     ` Dave Quigley
2008-02-28 23:54   ` Christoph Hellwig
2008-02-28 23:44     ` Dave Quigley
2008-02-29  0:23       ` Christoph Hellwig
2008-02-29  0:06         ` Dave Quigley
2008-02-29  1:52         ` Dave Quigley
2008-02-29 20:19         ` Dave Quigley
2008-02-27 22:11 ` [PATCH 04/11] KConfig: Add KConfig entries for SELinux labeled NFS David P. Quigley
2008-02-27 22:11 ` [PATCH 05/11] NFSv4: Add label recommended attribute and NFSv4 flags David P. Quigley
2008-02-28  1:52   ` James Morris
2008-02-28  1:45     ` Dave Quigley
2008-02-28 13:55     ` Stephen Smalley
2008-02-27 22:11 ` [PATCH 06/11] SELinux: Add new labeling type native labels David P. Quigley
2008-02-27 22:11 ` [PATCH 07/11] NFS/SELinux: Add security_label text mount option to nfs and add handling code to the security server David P. Quigley
2008-02-28 14:22   ` Eric Paris
2008-02-27 22:11 ` [PATCH 08/11] NFS: Introduce lifecycle management for label attribute David P. Quigley
2008-02-28  4:13   ` James Morris
2008-02-28 16:24     ` Dave Quigley
2008-02-28 16:46   ` Dave Quigley
2008-02-27 22:11 ` [PATCH 09/11] NFS: Client implementation of Labeled-NFS David P. Quigley
2008-02-27 22:11 ` [PATCH 10/11] NFS: Extend nfs xattr handlers to accept the security namespace David P. Quigley
2008-02-27 22:11 ` [PATCH 11/11] NFSD: Server implementation of MAC Labeling David P. Quigley
2008-02-28  1:46   ` James Morris
2008-02-28  0:48 ` RFC Labeled NFS Initial Code Review Dave Quigley
2008-02-28  1:23 ` Dave Quigley
  -- strict thread matches above, loose matches on Subject: below --
2008-02-27 20:39 David P. Quigley
2008-02-27 20:39 ` [PATCH 01/11] Security: Add hook to get full maclabel xattr name David P. Quigley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=804125.16775.qm@web36606.mail.mud.yahoo.com \
    --to=casey@schaufler-ca.com \
    --cc=bfields@fieldses.org \
    --cc=dpquigl@tycho.nsa.gov \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=trond.myklebust@fys.uio.no \
    --cc=viro@ftp.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).