linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: James Morris <jmorris@namei.org>
Cc: linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Kyle McMartin <kyle@mcmartin.ca>,
	Alexander Viro <viro@ftp.linux.org.uk>
Subject: Re: Upstream first policy
Date: Mon, 8 Mar 2010 10:46:47 +0100	[thread overview]
Message-ID: <20100308094647.GA14268@elte.hu> (raw)
In-Reply-To: <alpine.LRH.2.00.1003080811220.30507@tundra.namei.org>


* James Morris <jmorris@namei.org> wrote:

> On Thu, 4 Mar 2010, Linus Torvalds wrote:
> 
> > On Thu, 4 Mar 2010, Kyle McMartin wrote:
> >> 
> >> I recommend you don't look at Ubuntu, we might have a lot of extra
> >> crud[2] in the kernel if you do. :) (Actually, shockingly less than I
> >> thought, just apparmor, aufs, ndiswrapper are the obvious ones.)
> > 
> > Ok, so ndiswrapper falls under the "yeah, no" heading.
> > 
> > But apparmor was supposed to be on the "yeah, we'll merge it" path, I 
> > talked to somebody about it not _that_ long ago. Some of the security 
> > people object, but they object for all the wrong reasons and I really do 
> > think that since it's getting used, we really should merge it.
> 
> The AppArmor developer has been posting patches for review -- there's 
> nothing stopping the code being merged except for the need to address 
> purely technical issues raised by reviewers, which is ongoing.
> 
> See: http://thread.gmane.org/gmane.linux.kernel.lsm/10443
> 
> > Although there was _some_ noise about Ubuntu trying to move away from it.. 
> > But that may have been more of the whole FUD thing from the people who for 
> > some unfathomable reason think that inodes are more important than 
> > pathnames.
> 
> Hey, thanks for another random unfounded personal attack, it's really 
> appreciated.

Btw., now that we are a few reasonable months after the last big security 
flamewar it would be nice to see a rehash or fair summary of the pathname 
versus labels arguments. That particular issue does seem to be largely 
technical and thus we ought to be able to judge it one way or another.

IMO the main challenge in Linux security is to find and engage the right 
critical mass of developers to truly increase the security of 'Linux' as a 
whole in the long run.

That means, almost by definition, that we do not start by trying to create an 
'as secure as possible' system in the short run. Increased security is the 
_end goal_, not the means. I.e. we need a technology _process_ that results in 
more secure Linux systems.

( Trying to create an 'as secure as possible' system will almost certainly 
  backfire, as it results in _fewer_ developers/users caring. )

In that sense it appears to me that it's pretty much a universal truth that 
'pathnames' are a far more fitting abstraction to any 'human based security 
process' on Linux than 'labels'. (It does not matter at all that security 
research suggest that the most secure systems are label based and that there 
are some hard problems with pathname based approaches such as hardlinks, 
--bind mounts, etc.)

So here i see somewhat of a conceptual failure of SELinux that would be nice 
to see fixed: inherent hostility against pathname based approaches, just 
because they are technically less secure.

To me the relabeling performance problem and the fact that selinux labels are 
physically attached to the objects themselves is a potentially bigger 
'security problem' than the racy nature (and aliasing/ambiguity problems) of 
VFS pathname based security is.

In other words: i see selinux's main failure in that it somewhat blindly aims 
for a security model that it sees as the technicaly most secure, while not 
being intellectually open to the fact that we very likely _cannot know in 
advance_ which of the models will make Linux more secure in the long run.

For example did you consider the possibility that the road towards a label 
based approach may as well be most practical _over_ a proxy step that used 
pathname based security? (i.e. once there's a critical mass of pathname based 
security policies, and there's distros/developers/users who maintain it, a 
much smaller step towards labels could be attempted - possibly automated to a 
certain degree.)

We cannot know how it will end up looking like in a few years because security 
is one of the few areas where computer technology mixes so strongly with 
psychology, and a secure system of this human scale was never attempted 
before. Prior security research is thus largely irrelevant. This also means 
that paradoxically, this intellectual inflexibility over the basic security 
model may as well make Linux less secure.

Also, why was/(is?) AppArmor considered as a 'hostile competitor' - instead of 
treating it more like a natural ally: another mechanism that allows us to 
_expand_ the total pool of per app security policies (and, more importantly, 
the pool of developers who care about those policies)?

Thanks,

	Ingo

  parent reply	other threads:[~2010-03-08  9:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-07 21:23 Upstream first policy James Morris
2010-03-07 21:31 ` Linus Torvalds
2010-03-07 21:36   ` Linus Torvalds
2010-03-08  9:46 ` Ingo Molnar [this message]
2010-03-08 17:30   ` Alan Cox
2010-03-08 18:08     ` Linus Torvalds
2010-03-08 18:45       ` Al Viro
2010-03-08 18:53         ` Al Viro
2010-03-08 18:59         ` Linus Torvalds
2010-03-08 19:15           ` Linus Torvalds
2010-03-08 19:17           ` Alan Cox
2010-03-08 19:32             ` Linus Torvalds
2010-03-09  0:48               ` Kyle McMartin
2010-03-08 21:20             ` Chris Adams
2010-03-08 19:18           ` Al Viro
2010-03-09  1:18           ` Luca Barbieri
2010-03-09  1:25             ` Al Viro
2010-03-09  1:51               ` Luca Barbieri
2010-03-09  1:55                 ` Al Viro
2010-03-09  2:09                   ` Luca Barbieri
2010-03-08 19:08       ` Alan Cox
2010-03-08 19:18         ` Linus Torvalds
2010-03-08 19:27           ` Alan Cox
2010-03-08 19:34             ` Linus Torvalds
2010-03-09  7:29               ` Ingo Molnar
2010-03-09  8:46                 ` Dave Airlie
2010-03-09 14:58                   ` Ulrich Drepper
2010-03-08 23:02           ` Eric W. Biederman
2010-03-08 23:18             ` Eric Paris
2010-03-09 15:16               ` Florian Mickler
2010-03-09 22:49             ` Alan Cox
2010-03-11  3:52               ` Eric W. Biederman
2010-03-08 22:12       ` Ulrich Drepper
2010-03-08 23:12         ` Eric Paris
2010-03-08 23:21           ` Linus Torvalds
2010-03-08 23:18       ` Rik van Riel
2010-03-08 23:37         ` Linus Torvalds
2010-03-08 23:51           ` Rik van Riel
2010-03-09  0:10             ` Linus Torvalds
2010-03-09  3:26               ` Casey Schaufler
2010-03-09  3:58                 ` Linus Torvalds
2010-03-09 13:09                   ` Samir Bellabes
2010-03-09  0:15           ` Al Viro
2010-03-09  0:48             ` Al Viro
2010-03-09  1:49               ` Linus Torvalds
2010-03-09  2:05                 ` Al Viro
2010-03-09  2:18                   ` Linus Torvalds
2010-03-23 13:59     ` Pavel Machek
     [not found] <elwcV-406-1@gated-at.bofh.it>
     [not found] ` <elHL4-42q-5@gated-at.bofh.it>
     [not found]   ` <elP5U-6Ku-29@gated-at.bofh.it>
     [not found]     ` <elPyV-7zE-7@gated-at.bofh.it>
     [not found]       ` <elQbE-8ll-7@gated-at.bofh.it>
     [not found]       ` <elQv0-vu-13@gated-at.bofh.it>
     [not found]         ` <elQEG-Hn-33@gated-at.bofh.it>
2010-03-08 19:40           ` James Kosin
  -- strict thread matches above, loose matches on Subject: below --
2010-03-04 18:39 [git pull] drm request 3 Jesse Barnes
2010-03-04 18:51 ` Linus Torvalds
2010-03-04 18:56   ` Jesse Barnes
2010-03-04 19:08     ` Linus Torvalds
2010-03-04 19:25       ` Dave Airlie
2010-03-04 20:01         ` Linus Torvalds
2010-03-04 22:06           ` Dave Airlie
2010-03-05  0:08             ` Linus Torvalds
2010-03-05  0:28               ` Ben Skeggs
2010-03-05  0:41                 ` Linus Torvalds
2010-03-05  1:19                   ` Upstream first policy Kyle McMartin
2010-03-05  1:28                     ` Linus Torvalds

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=20100308094647.GA14268@elte.hu \
    --to=mingo@elte.hu \
    --cc=jmorris@namei.org \
    --cc=kyle@mcmartin.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --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).