public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Crispin Cowan <crispin@crispincowan.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "Dr. David Alan Gilbert" <linux@treblig.org>,
	Arjan van de Ven <arjan@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	LSM ML <linux-security-module@vger.kernel.org>,
	apparmor-dev <apparmor-dev@forge.novell.com>
Subject: Re: AppArmor Security Goal
Date: Sat, 10 Nov 2007 15:14:12 -0800	[thread overview]
Message-ID: <47363B44.4040100@crispincowan.com> (raw)
In-Reply-To: <20071110225755.5dd9b52b@the-village.bc.nu>

Alan Cox wrote:
>> Can you explain why you want a non-privileged user to be able to edit
>> policy? I would like to better understand the problem here.
>>     
> Because root doesn't trust users who in turn may not trust apps they run
> or wish to control things. I don't see a problem with that viewpoint in
> terms of forbidding things providing the user (or process tree) does not
> get to undo rules merely add more restrictions.
>   
Do you mean that the OS privilege of "uid 0" does not trust
non-privileged users? Or you mean that the human in charge of root on
the box does not trust the human who owns the account "alice" on the box?

In the case of the former, this is exactly why AppArmor does not let
non-privileged users edit security policy. SELinux, SMACK, LIDS, etc.
also all treat manipulating policy as privileged.

In the case of the latter, my main claim is that such circumstances are
rare, because most users have their own personal workstation. Of course
there are exceptions where people are using a multi-user host, and I'm
not saying that there is anything wrong with that, just that AppArmor is
not particularly good at supporting that environment.

I know that multi-user machines is the classic UNIX environment, but
that model has slowly faded away and is little used any more, so
AppArmor made a trade-off for simplicity at the expense of supporting
this use case.

User-extensible security policy is a hard problem, and AppArmor does not
attempt to solve it.

>> non-privileged user to further tighten the profile on a program. To me,
>> that adds complexity with not much value, but if lots of users want it,
>> then I'm wrong :)
>>     
> Assuming you have any value in the first place, which is another topic, I
> can see value for this in all the security models.
>   
There is value in most features, and the question is whether the feature
pays its freight, does the value exceed the cost? AppArmor is
particularly sensitive to cost/benefit ratios, because much of
AppArmor's value is its simplicity, so there is a naturally high barrier
to adding complicating features to AppArmor.

All of this is valid discussion for how AppArmor might be improved, but
is far, far removed from the dual question that Arjan posed:

    * Is the model valid? Not "is it exactly what I want?" but merely
      "is it non-silly, such that clearly it provides value to some users?"
    * Does the code live up to the model?

I submit that the AppArmor model is valid, even if it totally failed all
of David Gilbert's questions (I think AppArmor can actually provide
about half of what he asked for).

Crispin

-- 
Crispin Cowan, Ph.D.               http://crispincowan.com/~crispin
CEO, Mercenary Linux		   http://mercenarylinux.com/
	       Itanium. Vista. GPLv3. Complexity at work


  reply	other threads:[~2007-11-10 23:14 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-08 21:33 AppArmor Security Goal Crispin Cowan
2007-11-10 21:04 ` Andi Kleen
2007-11-10 21:24   ` Crispin Cowan
2007-11-11  3:23     ` John Johansen
2007-11-10 21:28   ` david
2007-11-11  3:36     ` John Johansen
2007-11-10 22:04 ` Dr. David Alan Gilbert
2007-11-10 22:11   ` Crispin Cowan
2007-11-10 22:24     ` Dr. David Alan Gilbert
2007-11-10 22:41       ` Crispin Cowan
2007-11-10 22:57         ` Alan Cox
2007-11-10 23:14           ` Crispin Cowan [this message]
2007-11-10 23:54             ` Alan Cox
2007-11-10 23:25         ` Dr. David Alan Gilbert
2007-11-10 23:52           ` david
2007-11-10 23:47             ` Dr. David Alan Gilbert
2007-11-10 23:56             ` Alan Cox
2007-11-11  1:27               ` david
2007-11-11  3:59                 ` John Johansen
2007-11-12 23:58               ` Crispin Cowan
2007-11-11  4:17             ` John Johansen
2007-11-11  4:50               ` david
2007-11-13  0:13             ` Crispin Cowan
2007-11-11  7:02           ` Rogelio M. Serrano Jr.
2007-11-12 23:50           ` Crispin Cowan
2007-11-13  1:20             ` John Johansen
2007-11-11  2:17         ` Casey Schaufler
2007-11-11  3:55           ` John Johansen
2007-11-13  0:10           ` Joshua Brindle
2007-11-13  4:58             ` Casey Schaufler
  -- strict thread matches above, loose matches on Subject: below --
2007-11-11  8:16 Rob Meijer
     [not found] <9nngC-6iQ-25@gated-at.bofh.it>
     [not found] ` <9o6Qq-2Hk-17@gated-at.bofh.it>
     [not found]   ` <9o6Qq-2Hk-15@gated-at.bofh.it>
     [not found]     ` <9o706-2Xe-17@gated-at.bofh.it>
     [not found]       ` <9o7jp-3lE-5@gated-at.bofh.it>
     [not found]         ` <9o7Wg-4sT-15@gated-at.bofh.it>
     [not found]           ` <9of7j-7ej-7@gated-at.bofh.it>
2007-11-12 18:43             ` Bodo Eggert

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=47363B44.4040100@crispincowan.com \
    --to=crispin@crispincowan.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=apparmor-dev@forge.novell.com \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux@treblig.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