public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Casey Schaufler <casey@schaufler-ca.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>, casey@schaufler-ca.com
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
	Kyle Moffett <mrmacman_g4@mac.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Bill Davidsen <davidsen@tmr.com>,
	James Morris <jmorris@namei.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Serge E. Hallyn" <serge@hallyn.com>
Subject: Re: [PATCH] Version 3 (2.6.23-rc8) Smack: Simplified Mandatory Access Control Kernel
Date: Mon, 8 Oct 2007 14:05:29 -0700 (PDT)	[thread overview]
Message-ID: <518247.68095.qm@web36605.mail.mud.yahoo.com> (raw)
In-Reply-To: <m1bqb978a8.fsf@ebiederm.dsl.xmission.com>


--- "Eric W. Biederman" <ebiederm@xmission.com> wrote:

> Casey Schaufler <casey@schaufler-ca.com> writes:
> 
> > --- "Eric W. Biederman" <ebiederm@xmission.com> wrote:
> >
> >
> >> Likely.  Until we have a generalized LSM interface with 1000 config
> >> options like netfilter I don't expect we will have grounds to talk
> >> or agree to a common user space interface.  Although I could be
> >> wrong.
> >
> > Gulp. I know that many of you are granularity advocates, but I
> > have to say that security derived by tweeking 1000 knobs so that
> > they are all just right seems a little far fetched to me. I see
> > it as poopooing the 3rd and most important part of the reference
> > monitor concept, "small enough to analyze". Sure, you can analyse
> > the 1000 individual checks, but you'll never be able to describe
> > the system behavior as a whole.
> 
> Agreed.  I wasn't thinking 1000 individual checks but 1000 different
> capabilities, could be either checks or actions, basically fundamental
> different capabilities.  Things like CIPSO, or the ability to store a
> security label on a file.  I would not expect most security policies
> to use most of them.  Neither do I expect Orange book security to
> necessarily be what people want to achieve with the LSM.   But I
> haven't looked at it enough detail to know how things should be
> factored, in this case I was simply extrapolating from the iptables
> experience where  we do have a very large number of options.

You start getting into some pretty serious mindset battles on
this particular road. For starters, the "hooks" have to be
authoritative if you want them properly switchable, and I'm not
going to show you the scars I got the last time I proposed
authoritative hooks. Next you'll have to deal with defining what is
security behavior and what isn't. You wouldn't believe the debates
over the security implications, or lack thereof, of disk quotas.
Unless you're willing to take the approach that every conditional
in the kernel is a potential security checkpoint you are going to
miss someone's requirement and if you're willing to propose that,
well, let's just say that Linus was right about security people.

> The real point being is that I would be surprised if we could come
> to an agreement of a common user space API when we can't agree on how
> to compile all of the security modules into the kernel and have them
> play nice with each other. 

The API issue cannot be solved if LSMs are going to implement
different behaviors. A reasonable subset can be addressed using
the POSIX P1003.1e/2c MAC definition plus the TSIG APIs. It is
unfortunate that SELinux has gone in a completely different
direction.

> Assuming we can achieve security modules playing nice with each other
> using a mechanism similar to iptables, then what needs to be evaluated
> is the specific table configuration we are using on the system, not
> the full general set of possibilities.  Further I expect that for the
> truly security paranoid we want the option to disable further table
> changes after the tables have been configured.

A specific table configuration sounds an awful lot like a
specific SELinux Policy. Either way, your configuration is
going to be large and may not implement anything rational.

> On another side personally I don't see where the idea comes from that
> you can describe system behavior as a whole without analyzing the
> entire kernel.  Has there been work on a sparse like tool that I'm
> not aware of to ensure the we always perform the appropriate security
> checks on the user/kernel interface boundary?

In addition to tools, there's the labor and money intensive Common
Criteria Evaluation Process.


Casey Schaufler
casey@schaufler-ca.com

  parent reply	other threads:[~2007-10-08 21:05 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-30  0:20 [PATCH] Version 3 (2.6.23-rc8) Smack: Simplified Mandatory Access Control Kernel Casey Schaufler
2007-09-30  8:16 ` Andrew Morton
2007-09-30  8:42   ` Andi Kleen
2007-09-30 17:14     ` Casey Schaufler
2007-09-30 17:34       ` Andi Kleen
2007-09-30 23:24         ` david
2007-09-30 17:29     ` Joshua Brindle
2007-09-30 17:39       ` Andi Kleen
2007-09-30 19:07         ` Theodore Tso
2007-09-30 20:05           ` Andi Kleen
2007-09-30 20:22             ` Theodore Tso
2007-10-01 20:28             ` Casey Schaufler
2007-09-30 20:18           ` Paul Moore
2007-09-30  9:53   ` Christoph Hellwig
2007-09-30 17:19     ` Casey Schaufler
2007-10-02  8:36     ` Thomas Bleher
2007-09-30 17:02   ` Casey Schaufler
2007-09-30 20:30   ` Paul Moore
2007-10-01 11:33   ` James Morris
2007-10-01 15:07     ` Linus Torvalds
2007-10-01 15:40       ` Stephen Smalley
2007-10-01 16:04         ` Linus Torvalds
2007-10-01 17:54           ` Olivier Galibert
2007-10-02 21:02           ` Bill Davidsen
2007-10-02 21:20             ` Linus Torvalds
2007-10-02 23:25               ` Linus Torvalds
2007-10-03  0:12                 ` Alan Cox
2007-10-04 22:56                   ` Derek Fawcus
2007-10-04 23:18                     ` Chuck Ebbert
2007-10-04 23:44                       ` Derek Fawcus
2007-10-03  5:32                 ` Crispin Cowan
2007-10-03  3:54               ` Bill Davidsen
2007-10-03  4:52                 ` Linus Torvalds
2007-10-05  1:44                   ` Eric W. Biederman
2007-10-05  3:04                     ` Kyle Moffett
2007-10-05  4:45                       ` Eric W. Biederman
2007-10-05  5:48                         ` Kyle Moffett
2007-10-05 16:27                           ` Casey Schaufler
2007-10-05 18:42                             ` Stephen Smalley
2007-10-05 20:08                               ` Casey Schaufler
2007-10-05 20:11                               ` Eric W. Biederman
2007-10-08 17:50                                 ` Casey Schaufler
2007-10-08 18:47                                   ` Eric W. Biederman
2007-10-08 18:53                                     ` Serge E. Hallyn
2007-10-08 21:05                                     ` Casey Schaufler [this message]
2007-10-08 16:18                             ` Serge E. Hallyn
2007-10-08 17:31                               ` Casey Schaufler
2007-10-09 13:52                                 ` Stephen Smalley
2007-10-09 16:02                                   ` Casey Schaufler
2007-10-08 23:24                               ` Bill Davidsen
2007-10-08 16:06                         ` Serge E. Hallyn
2007-10-08 17:20                           ` Eric W. Biederman
2007-10-08 18:00                             ` Serge E. Hallyn
2007-10-08 19:29                               ` Eric W. Biederman
2007-10-08 19:50                               ` Eric W. Biederman
2007-10-08 20:39                                 ` Casey Schaufler
2007-10-08 21:02                                   ` Eric W. Biederman
2007-10-08 21:20                                 ` Alan Cox
2007-10-10 13:48                                   ` Eric W. Biederman
2007-10-10 15:45                                     ` Stephen Smalley
2007-10-10 17:57                                       ` Casey Schaufler
2007-10-11 10:46                                         ` Kyle Moffett
2007-10-11 15:41                                           ` Casey Schaufler
2007-10-11 18:53                                             ` Kyle Moffett
2007-10-11 20:09                                               ` Alan Cox
2007-10-08 21:51                                 ` Crispin Cowan
2007-10-30  4:01                               ` Kazuki Omo(Company)
2007-10-30 15:07                                 ` Casey Schaufler
2007-10-08 20:25                             ` Casey Schaufler
2007-10-08 20:57                               ` Eric W. Biederman
2007-10-06 19:14                       ` Bill Davidsen
2007-10-03  0:10             ` Alan Cox
2007-10-03  0:18               ` Linus Torvalds
2007-10-01 16:39         ` Casey Schaufler
2007-10-01 19:00         ` Theodore Tso
2007-10-01 15:38     ` Casey Schaufler
2007-10-01 20:49   ` Jan Engelhardt
2007-10-01  3:47 ` Serge E. Hallyn
2007-10-01  4:15   ` Casey Schaufler

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=518247.68095.qm@web36605.mail.mud.yahoo.com \
    --to=casey@schaufler-ca.com \
    --cc=akpm@linux-foundation.org \
    --cc=davidsen@tmr.com \
    --cc=ebiederm@xmission.com \
    --cc=jmorris@namei.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mrmacman_g4@mac.com \
    --cc=sds@tycho.nsa.gov \
    --cc=serge@hallyn.com \
    --cc=torvalds@linux-foundation.org \
    /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