mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Crispin Cowan <crispin@novell.com>
Cc: Karl MacMillan <kmacmillan@tresys.com>,
	Gerrit Huizenga <gh@us.ibm.com>,
	Christoph Hellwig <hch@infradead.org>,
	James Morris <jmorris@namei.org>,
	"Serge E. Hallyn" <serue@us.ibm.com>,
	Stephen Smalley <sds@tycho.nsa.gov>,
	casey@schaufler-ca.com, linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	fireflier-devel@lists.sourceforge.net
Subject: Re: [RESEND][RFC][PATCH 2/7] implementation of LSM hooks
Date: Wed, 19 Apr 2006 20:48:55 +0200	[thread overview]
Message-ID: <1145472535.3085.94.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <44468258.1020608@novell.com>

On Wed, 2006-04-19 at 11:32 -0700, Crispin Cowan wrote:
> Arjan van de Ven wrote:
> > On Tue, 2006-04-18 at 12:31 -0700, Crispin Cowan wrote:
> >   
> >> AppArmor (then called "SubDomain") showed how this worked in practice
> >> years before the Targeted Policy came along. The Targeted Policy
> >> implements an approximation to the AppArmor security model, but does it
> >> with domains and types instead of path names, imposing a substantial
> >> cost in ease-of-use on the user.
> >>     
> > I would suspect that the "filename" thing will be the biggest achilles
> > heel...
> >   
> The filename thing is the core point of AppArmor that distinguishes it
> from SELinux. We argue that the work required to make pathname-based
> access controls work in the Linux kernel is worth the effort, and we are
> putting up the effort to achieve it.

if you mean "to make it user manageable" I don't buy your argument. If
you would have made the policy using path names, but a policy compiler
that turns it into file object attributes + a compiled policy using
attributes you achieve the same ease of use. However you get the
security on the object rather than on the pointers to the object.
 
> 
> > after all what does filename mean in a linux world with
> > * hardlinks
> >   
> If the policy lets you access /foo/bar/baz then you get to access
> /foo/bar/baz, even if it is a hard link to /foo/bif.
> 
> Some allege that this is a security hole in AppArmor. However,
> AppArmor's design is that you only get to create that hard link if you
> are either unconfined or your profile says you get to create it.
> AppArmor implicitly trusts all non-confined processes, so anything they
> do is ok, by definition. Confined processes can create hard links, but
> only if the policy allows them to, and you need access rights greater
> than or equal to the access rights of the link source. In order to
> create the source, you need to have write access, so in principal you
> need write access to the target of your link. So, if you've subverted
> the process and you can create the link, you already had write access
> *anyway*.

and this falls appart if you can compromise 2 daemons with
non-overlapping permissions. or in many other situations ;)

> 
> > * chroot
> >   
> In the currently shipping AppArmor, the names AppArmor sees are
> chroot-relative. The patch we are about to submit fixes that and the
> names AppArmor sees are now absolute, regardless of chroot jailing.

what is an absolute path? How does that work if you have namespaces or
floating mounts? (eg after lazy umount for example)

> 
> > * namespaces
> > * bind mounts
> >   
> As far as we know, our namespace support is fine; we mediate attempts to
> modify namespaces (such as denying mount and umount)

but you can trick other parts in the system to mount/umount stuff anyway
(hal for example)
and still clone is the part that plays with namespaces most

>  and requiring
> cap_sys_chroot to modify the root of the namespace. If there are
> instances where we are incorrect we would greatly appreciate a detailed
> description of the issue (or better a testcase) so we can look at
> resolving it.

you don't get to control it. Simple example: hal doing a lazy umount on
your usb stick.


> > * unlink of open files
> > * fd passing over unix sockets

> >    you get passed
> the fd from another process, or you call our change_hat() API.

how do you validate the fd? the there no longer is a filename for that
file (it may be unlinked, renamed, lazy umounted etc etc)

> Note that d_path still returns pathnames for files that have been
> removed from the filesystem (that are open)

it does return "something". It just doesn't return meaningful pathnames.
At all.


> > * relative pathnames
> >   
> If you access "../hosts.allow" AppArmor will canonicalize your path name
> to /etc/hosts.allow before checking the policy.

and does it do that for recursive symlinks? And what if I'm dynamically
playing with the symlink tree while you're resolving?



  reply	other threads:[~2006-04-19 18:49 UTC|newest]

Thread overview: 253+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-02  9:40 [RFC] packet/socket owner match (fireflier) using skfilter Török Edwin
2006-04-03 15:18 ` James Morris
2006-04-03 15:39   ` Török Edwin
2006-04-05 15:06     ` Stephen Smalley
2006-04-07 17:34       ` Török Edwin
2006-04-07 18:24         ` [RFC][PATCH 0/7] fireflier LSM for labeling sockets based on its creator (owner) Török Edwin
2006-04-07 18:27           ` [RFC][PATCH 1/7] " Török Edwin
2006-04-12 19:11             ` Stephen Smalley
2006-04-14 20:02               ` Török Edwin
2006-04-07 18:38           ` [RFC][PATCH 2/7] implementation of LSM hooks Török Edwin
2006-04-12 17:42             ` Stephen Smalley
2006-04-14 20:01               ` [RESEND][RFC][PATCH " Török Edwin
2006-04-17 16:06                 ` Stephen Smalley
2006-04-17 16:23                   ` Christoph Hellwig
2006-04-17 17:03                     ` Stephen Smalley
2006-04-17 17:08                       ` Arjan van de Ven
2006-04-17 17:33                       ` Christoph Hellwig
2006-04-17 18:02                         ` Casey Schaufler
2006-04-17 18:15                           ` Stephen Smalley
2006-04-17 19:26                             ` Serge E. Hallyn
2006-04-17 19:31                               ` James Morris
2006-04-17 19:47                                 ` Serge E. Hallyn
2006-04-17 20:02                                   ` Stephen Smalley
2006-04-19 14:52                                     ` David Safford
2006-04-19 15:26                                       ` Stephen Smalley
2006-04-19 17:57                                         ` Emily Ratliff
2006-04-19 18:33                                           ` Stephen Smalley
2006-04-20 12:27                                             ` Stephen Smalley
2006-04-19 15:47                                       ` Stephen Smalley
2006-04-17 22:15                                 ` Gerrit Huizenga
2006-04-17 22:48                                   ` Alan Cox
2006-04-17 22:58                                     ` James Morris
2006-04-18  2:00                                     ` Crispin Cowan
2006-04-17 22:55                                   ` Christoph Hellwig
2006-04-18  1:44                                     ` Gerrit Huizenga
2006-04-18 11:58                                       ` Christoph Hellwig
2006-04-18 16:50                                         ` Gerrit Huizenga
2006-04-18 17:27                                           ` Karl MacMillan
2006-04-18 19:31                                             ` Crispin Cowan
2006-04-18 19:50                                               ` Arjan van de Ven
2006-04-18 20:13                                                 ` [Fireflier-devel] " Török Edwin
2006-04-18 20:31                                                   ` Alan Cox
2006-04-18 19:33                                                     ` [Fireflier-devel] Re: [RESEND][RFC][PATCH 2/7] implementationof " David Lang
2006-04-18 20:42                                                   ` [Fireflier-devel] Re: [RESEND][RFC][PATCH 2/7] implementation of " Serge E. Hallyn
2006-04-18 20:23                                                 ` Serge E. Hallyn
2006-04-19 18:32                                                 ` Crispin Cowan
2006-04-19 18:48                                                   ` Arjan van de Ven [this message]
2006-04-19 19:50                                                     ` Jan Engelhardt
2006-04-19 18:50                                                   ` Valdis.Kletnieks
2006-04-19 23:24                                                     ` Tony Jones
2006-04-18 20:14                                               ` Stephen Smalley
2006-04-18 20:35                                                 ` Crispin Cowan
2006-04-18 21:07                                                   ` Greg KH
2006-04-19 12:22                                                   ` Stephen Smalley
2006-04-18 20:26                                               ` Alan Cox
2006-04-18 20:57                                                 ` Crispin Cowan
2006-04-18 21:36                                                   ` James Morris
2006-04-18 23:09                                                     ` Crispin Cowan
2006-04-18 23:27                                                       ` Chris Wright
2006-04-18 23:57                                                       ` James Morris
2006-04-19  1:48                                                         ` Casey Schaufler
2006-04-19  6:40                                                           ` Kyle Moffett
2006-04-19  6:56                                                             ` Valdis.Kletnieks
2006-04-19 11:41                                                               ` Serge E. Hallyn
2006-04-19 15:51                                                                 ` Valdis.Kletnieks
2006-04-19 16:00                                                                 ` Gene Heskett
2006-04-20  6:51                                                               ` Kyle Moffett
2006-04-20 12:40                                                                 ` Stephen Smalley
2006-04-21  1:00                                                                   ` Nix
2006-04-21 14:24                                                                     ` Stephen Smalley
2006-04-24  8:14                                                                       ` Lars Marowsky-Bree
2006-04-25  0:19                                                                         ` Valdis.Kletnieks
2006-04-25  7:21                                                                           ` Nix
2006-04-19  7:44                                                             ` Arjan van de Ven
2006-04-19 11:53                                                             ` Serge E. Hallyn
2006-04-19 12:56                                                             ` Stephen Smalley
2006-04-19 12:54                                                           ` Stephen Smalley
2006-04-19 16:42                                                             ` Casey Schaufler
2006-04-19 18:01                                                               ` Stephen Smalley
2006-04-20  4:10                                                                 ` Casey Schaufler
2006-04-20  4:29                                                                   ` James Morris
2006-04-20  4:56                                                                     ` Chris Wright
2006-04-18 23:16                                                     ` Casey Schaufler
2006-04-18 23:19                                                       ` Christoph Hellwig
2006-04-19  5:22                                                       ` Arjan van de Ven
2006-04-19 12:40                                                   ` Stephen Smalley
2006-04-18 23:09                                                 ` Casey Schaufler
2006-04-19  5:23                                                   ` Arjan van de Ven
2006-04-18 18:46                                           ` Alan Cox
2006-04-18 19:59                                             ` Serge E. Hallyn
2006-04-18 20:20                                               ` Stephen Smalley
2006-04-18 20:36                                                 ` Serge E. Hallyn
2006-04-18 23:00                                               ` Casey Schaufler
2006-04-19  9:03                                             ` Bernhard R. Link
2006-04-18 21:38                                         ` Kurt Garloff
2006-04-19  7:04                                           ` Valdis.Kletnieks
2006-04-19  7:36                                           ` Arjan van de Ven
2006-04-19 12:10                                           ` Serge E. Hallyn
2006-04-19 12:55                                             ` Yuichi Nakamura
2006-04-19 15:44                                               ` Greg KH
2006-04-19 16:02                                                 ` Stephen Smalley
2006-04-19 16:06                                                   ` Greg KH
2006-04-19 21:10                                               ` Crispin Cowan
2006-04-19 21:48                                                 ` Yuichi Nakamura
2006-04-20 12:44                                                 ` Karl MacMillan
2006-04-19 13:09                                           ` Stephen Smalley
2006-04-18 11:59                                       ` Stephen Smalley
2006-04-17 23:09                                   ` Chris Wright
2006-04-17 19:37                               ` Stephen Smalley
2006-04-18 13:05                             ` Kazuki Omo(Company)
2006-04-18 13:37                               ` James Morris
2006-04-18 14:45                               ` Greg KH
2006-04-18 15:51                                 ` Casey Schaufler
2006-04-18 16:07                                   ` Greg KH
2006-04-17 19:20                         ` Time to remove LSM (was Re: [RESEND][RFC][PATCH 2/7] implementation of LSM hooks) James Morris
2006-04-17 19:51                           ` Greg KH
2006-04-17 20:08                             ` Arjan van de Ven
2006-04-17 21:26                             ` Alan Cox
2006-04-17 23:26                               ` Casey Schaufler
2006-04-18  2:29                               ` Valdis.Kletnieks
2006-04-18 12:22                                 ` Serge E. Hallyn
2006-04-18 12:59                                   ` Stephen Smalley
     [not found]                                     ` <20060418132121.GE7562@sergelap.austin.ibm.com>
2006-04-18 13:40                                       ` Stephen Smalley
2006-04-18 20:13                                 ` Crispin Cowan
2006-04-18 23:01                                   ` Valdis.Kletnieks
2006-04-20  0:19                                     ` Crispin Cowan
2006-04-20 15:27                                       ` Valdis.Kletnieks
2006-04-21 15:23                                         ` Ken Brush
2006-04-21 19:51                                           ` Valdis.Kletnieks
2006-04-22 20:52                                             ` Ken Brush
2006-04-23  9:45                                               ` Valdis.Kletnieks
2006-04-24  8:24                                                 ` Lars Marowsky-Bree
2006-04-24 12:42                                                   ` Alan Cox
2006-04-24 12:44                                                     ` Lars Marowsky-Bree
2006-04-24 12:45                                                     ` Olivier Galibert
2006-04-24 12:54                                                       ` Arjan van de Ven
2006-04-24 13:09                                                         ` Serge E. Hallyn
2006-04-24 13:16                                                           ` Arjan van de Ven
2006-04-24 13:29                                                             ` Serge E. Hallyn
2006-04-24 13:40                                                               ` Arjan van de Ven
2006-04-24 13:54                                                                 ` Serge E. Hallyn
2006-04-24 14:07                                                                   ` Arjan van de Ven
2006-04-25 19:06                                                                     ` Serge E. Hallyn
2006-04-25  4:07                                                               ` Casey Schaufler
2006-04-24 14:08                                                         ` Olivier Galibert
2006-04-25 16:29                                                           ` Stephen Smalley
2006-04-25 22:26                                                             ` Olivier Galibert
2006-04-26 12:14                                                               ` Stephen Smalley
2006-04-26 16:03                                                                 ` Olivier Galibert
2006-04-27  6:56                                                                   ` Thomas Bleher
2006-04-24 12:55                                                     ` Serge E. Hallyn
2006-04-24 12:56                                                     ` Serge E. Hallyn
2006-04-24 14:02                                                       ` Alan Cox
2006-04-24 14:04                                                         ` Serge E. Hallyn
2006-04-24 14:31                                                           ` Alan Cox
2006-04-24 14:28                                                             ` Serge E. Hallyn
2006-04-24 14:45                                                           ` David Lang
2006-04-24 16:50                                                             ` Arjan van de Ven
2006-04-25 16:31                                                             ` Stephen Smalley
2006-04-25 16:23                                                           ` Stephen Smalley
2006-04-25  2:06                                                   ` Valdis.Kletnieks
2006-04-25  7:36                                                     ` Lars Marowsky-Bree
2006-04-20 21:13                                   ` Pavel Machek
2006-04-23  3:50                                     ` Crispin Cowan
2006-04-23  9:33                                       ` Valdis.Kletnieks
2006-04-23 14:58                                         ` Thomas Bleher
2006-04-24  8:28                                           ` Lars Marowsky-Bree
2006-04-24  8:37                                             ` Arjan van de Ven
2006-04-24  8:54                                               ` Lars Marowsky-Bree
2006-04-24  9:12                                                 ` Arjan van de Ven
2006-04-25  0:31                                                   ` Valdis.Kletnieks
2006-04-20 17:46                                 ` Pavel Machek
2006-04-18  2:38                               ` Valdis.Kletnieks
2006-04-19  8:16                             ` Jan Engelhardt
2006-04-19 15:40                               ` Greg KH
2006-04-19 16:33                                 ` James Morris
2006-04-19 18:10                                   ` Greg KH
2006-04-19 19:33                                     ` Chris Wright
2006-04-20 12:39                                     ` Stephen Smalley
2006-04-20 12:51                                       ` Serge E. Hallyn
2006-04-20 15:00                                       ` Removing EXPORT_SYMBOL(security_ops) (was Re: Time to remove LSM) Greg KH
2006-04-20 14:20                                         ` Stephen Smalley
2006-04-20 16:15                                           ` Greg KH
2006-04-20 16:23                                             ` Christoph Hellwig
2006-04-20 16:34                                               ` Stephen Smalley
2006-04-20 16:46                                                 ` Greg KH
2006-04-20 17:00                                                   ` Stephen Smalley
2006-04-20 17:01                                                     ` [PATCH] make security_ops EXPORT_SYMBOL_GPL() Greg KH
2006-04-20 18:08                                                       ` Linus Torvalds
2006-04-20 19:34                                                         ` Greg KH
2006-04-21 16:50                                                           ` Greg KH
2006-04-21 17:34                                                             ` Chris Wright
2006-04-20 17:02                                         ` Removing EXPORT_SYMBOL(security_ops) (was Re: Time to remove LSM) Tony Jones
2006-04-20 20:14                                         ` Chris Wright
2006-04-19 19:22                                 ` Time to remove LSM (was Re: [RESEND][RFC][PATCH 2/7] implementation of LSM hooks) Jan Engelhardt
2006-04-19 20:48                                   ` Greg KH
2006-04-19 20:59                                     ` Serge E. Hallyn
2006-04-19 21:08                                     ` Randy.Dunlap
2006-04-19 16:00                               ` Arjan van de Ven
2006-04-19 19:06                                 ` Jan Engelhardt
2006-04-19 20:11                                   ` Greg KH
2006-04-19 20:52                                     ` Randy.Dunlap
2006-04-19 20:54                                       ` Arjan van de Ven
2006-04-19 21:05                                         ` Jan Engelhardt
2006-04-20 12:20                                       ` Stephen Smalley
2006-04-21 13:30                                     ` Jan Engelhardt
2006-04-21 15:05                                       ` Greg KH
2006-05-01 13:45                                         ` [PATCH 0/4] MultiAdmin LSM Jan Engelhardt
2006-05-01 13:48                                           ` [PATCH 1/4] security_cap_extra() and more Jan Engelhardt
2006-05-01 13:49                                           ` [PATCH 2/4] Use of capable_light() Jan Engelhardt
2006-05-01 13:49                                           ` [PATCH 3/4] task_post_setgid() Jan Engelhardt
2006-05-01 13:50                                           ` [PATCH 4/4] MultiAdmin module Jan Engelhardt
2006-05-01 14:56                                             ` James Morris
2006-05-01 15:05                                             ` Greg KH
2006-05-01 13:50                                           ` [PATCH 0/4] MultiAdmin LSM Arjan van de Ven
2006-05-01 16:03                                           ` [PATCH 4a/4] MultiAdmin LSM (LKCS'ed) Jan Engelhardt
2006-05-01 16:47                                             ` Greg KH
2006-05-01 17:42                                               ` Jan Engelhardt
2006-05-01 18:07                                                 ` Greg KH
2006-05-01 20:19                                                   ` Jan Engelhardt
2006-05-01 21:47                                                     ` Adrian Bunk
2006-05-01 20:56                                           ` [PATCH 0/4] MultiAdmin LSM Pavel Machek
2006-05-02  4:22                                           ` James Morris
2006-04-21 16:25                                       ` Time to remove LSM (was Re: [RESEND][RFC][PATCH 2/7] implementation of LSM hooks) Stephen Smalley
2006-04-21 18:57                                         ` Jan Engelhardt
2006-04-21 19:56                                           ` Stephen Smalley
2006-04-22 11:13                                             ` Jan Engelhardt
2006-04-20 23:41                                   ` Pavel Machek
2006-04-19 17:00                               ` Valdis.Kletnieks
2006-04-17 20:20                           ` Chris Wright
2006-04-17 20:24                             ` Arjan van de Ven
2006-04-17 20:27                               ` Time to remove LSM David S. Miller
2006-04-17 20:27                               ` Time to remove LSM (was Re: [RESEND][RFC][PATCH 2/7] implementation of LSM hooks) Chris Wright
2006-04-17 20:34                                 ` Greg KH
2006-04-17 20:38                                   ` Chris Wright
2006-04-17 20:43                                   ` Arjan van de Ven
2006-04-17 20:53                                     ` Chris Wright
2006-04-17 20:45                             ` alan
     [not found]                             ` <2e00cdfd0604171437g1d6c6923w5db82f317ed0f56@mail.gmail.com>
2006-04-17 22:07                               ` Chris Wright
2006-04-17 22:10                                 ` Arjan van de Ven
2006-04-17 20:51                           ` Adrian Bunk
2006-04-17 20:08                         ` [RESEND][RFC][PATCH 2/7] implementation of LSM hooks David S. Miller
2006-04-17 18:20                   ` Török Edwin
2006-04-07 18:39           ` [RFC][PATCH 3/7] sidtab - hashtable to store SIDs Török Edwin
2006-04-07 18:41           ` [RFC][PATCH 4/7] exports Török Edwin
2006-04-07 18:43           ` [RFC][PATCH 5/7] debugging/testing support Török Edwin
2006-04-07 18:44           ` [RFC][PATCH 6/7] userspace Török Edwin
2006-04-07 18:46           ` [RFC][PATCH 7/7] stacking support for capability module Török Edwin
2006-04-07 19:18             ` Serge E. Hallyn
2006-04-07 19:45           ` [RFC][PATCH 0/7] fireflier LSM for labeling sockets based on its creator (owner) Chris Wright
2006-04-08  7:41             ` edwin
2006-04-21 15:26 ` [RFC] packet/socket owner match (fireflier) using skfilter Mikado
2006-04-21 16:18   ` Török Edwin

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=1145472535.3085.94.camel@laptopd505.fenrus.org \
    --to=arjan@infradead.org \
    --cc=casey@schaufler-ca.com \
    --cc=crispin@novell.com \
    --cc=fireflier-devel@lists.sourceforge.net \
    --cc=gh@us.ibm.com \
    --cc=hch@infradead.org \
    --cc=jmorris@namei.org \
    --cc=kmacmillan@tresys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=sds@tycho.nsa.gov \
    --cc=serue@us.ibm.com \
    /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

all inboxes | Powered by JetHome®