Re: Re: LSM conversion to static interface

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Crispin Cowan
Date: Sunday, October 21, 2007 - 6:12 pm

To discuss how LSM should work, it would have been really helpful if the
OP had cc'd the LSM mailing list. I've cc'd the LSM list here ...

Linus Torvalds wrote:
I did not speak up against this patch because it does not hurt AppArmor,
and I was trying to reduce the amount of LKML flaming that I engage in
:) but since you asked, IMHO this patch is extremely bad for Linux and
bad for Linux users.

The patch does have benefits, I just think those benefits are weak and
unimportant. It prohibits dynamic loading of security modules (you must
be compiled in) and prohibits unloading of security modules (because it
is unsafe, and potentially insecure). What makes these benefits weak and
unimportant is that you can have those benefits now without the patch by
just writing your module that way: if you think that a security module
should be compiled in and present when the kernel boots, and should
never be unloaded.

Why would you want to dynamically unload a module: because it is
convenient for debugging. Ok, so it is unsafe, and sometimes wedges your
kernel, which sometimes forces you to reboot. With this patch in place,
it forces you to *always* reboot when you want to try a hack to the module.

Why you would want to dynamically load a security module: because you
are an enterprise user, required to use a specific build of a kernel,
rather than compile your own kernel, but you also want to use (or even
try out) a security module that your enterprise's vendor of choice has
not chosen to bundle. In the current state, such a user can just go get
a module and use it. With this patch, such a user is just screwed, they
can't load and try the module without having to get into kernel building.

So the net impact of this patch is:

    * It takes a deployment practice (static compiled-in security) that
      is arguably good in many circumstances and makes it mandatory at
      all times.
    * It takes a development practice that is very convenient and
      slightly risky, and forces you into the pessimal inconvenient
      development practice at all times.
    * It prevents enterprise users, and in fact anyone who isn't
      comfortable compiling their own kernel, from ever trying out any
      security module that their distro vendor of choice did not ship.

This strikes me as a rather anti-choice position to take. It says that
because candy is bad for you, you only ever get to eat vegetables. I
don't understand why Linux would want to do this to its users.

It doesn't hurt me or AppArmor. Since AppArmor is now shipping with
SUSE, Ubuntu, and Mandriva, what this does is make it harder for newer
modules like TOMOYO, Multi-Admin, etc, to get exposure to enterprise
users. So I don't think I am being self-serving in arguing against this
patch. I just think it is bad for Linux.

Crispin

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

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: LSM conversion to static interface, Linus Torvalds, (Wed Oct 17, 7:18 pm)
Re: LSM conversion to static interface, Andreas Gruenbacher, (Fri Oct 19, 1:26 pm)
Re: LSM conversion to static interface, Linus Torvalds, (Fri Oct 19, 1:40 pm)
Re: LSM conversion to static interface, James Morris, (Fri Oct 19, 2:07 pm)
Re: LSM conversion to static interface, Jan Engelhardt, (Sat Oct 20, 4:05 am)
Re: LSM conversion to static interface, James Morris, (Sat Oct 20, 3:57 pm)
Re: LSM conversion to static interface, Adrian Bunk, (Sun Oct 21, 3:59 pm)
Re: Re: LSM conversion to static interface, Crispin Cowan, (Sun Oct 21, 6:12 pm)
Re: LSM conversion to static interface [revert patch], Arjan van de Ven, (Mon Oct 22, 9:09 pm)
Re: LSM conversion to static interface [revert patch], James Morris, (Mon Oct 22, 9:56 pm)
Re: LSM conversion to static interface [revert patch], Arjan van de Ven, (Mon Oct 22, 9:57 pm)
Re: LSM conversion to static interface [revert patch], Chris Wright, (Mon Oct 22, 10:16 pm)
Re: LSM conversion to static interface, Giacomo Catenazzi, (Mon Oct 22, 10:44 pm)
Re: LSM conversion to static interface, Jan Engelhardt, (Tue Oct 23, 1:55 am)
Re: LSM conversion to static interface [revert patch], Jan Engelhardt, (Tue Oct 23, 2:10 am)
Re: LSM conversion to static interface [revert patch], Chris Wright, (Tue Oct 23, 2:13 am)
Re: LSM conversion to static interface, Jan Engelhardt, (Tue Oct 23, 2:13 am)
Re: LSM conversion to static interface [revert patch], Jan Engelhardt, (Tue Oct 23, 2:14 am)
Re: LSM conversion to static interface, Giacomo A. Catenazzi, (Tue Oct 23, 2:14 am)
Re: LSM conversion to static interface, Jan Engelhardt, (Tue Oct 23, 2:18 am)
Re: LSM conversion to static interface, Serge E. Hallyn, (Tue Oct 23, 8:20 am)
Re: LSM conversion to static interface, Jan Engelhardt, (Tue Oct 23, 8:28 am)
Re: LSM conversion to static interface, Serge E. Hallyn, (Tue Oct 23, 8:34 am)
Re: LSM conversion to static interface [revert patch], Jeremy Fitzhardinge, (Tue Oct 23, 5:31 pm)
Re: LSM conversion to static interface [revert patch], Chris Wright, (Tue Oct 23, 5:32 pm)
Re: LSM conversion to static interface [revert patch], Arjan van de Ven, (Tue Oct 23, 10:06 pm)
Re: Linux Security *Module* Framework (Was: LSM conversion ..., Bernd Petrovitsch, (Thu Oct 25, 2:19 am)
Re: LSM conversion to static interface, Valdis.Kletnieks, (Thu Oct 25, 3:23 am)
Re: Linux Security *Module* Framework (Was: LSM conversion ..., Arjan van de Ven, (Thu Oct 25, 10:10 am)
Re: eradicating out of tree modules, Stefan Richter, (Sat Oct 27, 10:31 am)
Re: eradicating out of tree modules, Stefan Richter, (Sun Oct 28, 2:25 am)
Re: eradicating out of tree modules, Tilman Schmidt, (Sun Oct 28, 5:01 am)
Re: eradicating out of tree modules, Stefan Richter, (Sun Oct 28, 7:37 am)
Re: eradicating out of tree modules, Simon Arlott, (Sun Oct 28, 7:59 am)
Re: eradicating out of tree modules, Tilman Schmidt, (Sun Oct 28, 9:55 am)
Re: eradicating out of tree modules, Tilman Schmidt, (Sun Oct 28, 11:51 am)
Re: eradicating out of tree modules, Adrian Bunk, (Sun Oct 28, 12:25 pm)
Re: Linux Security *Module* Framework, Tilman Schmidt, (Sun Oct 28, 12:42 pm)
Re: Linux Security *Module* Framework, Jan Engelhardt, (Sun Oct 28, 1:46 pm)
Re: Linux Security *Module* Framework (Was: LSM conversion ..., Arjan van de Ven, (Sun Oct 28, 10:12 pm)
Re: eradicating out of tree modules, Tilman Schmidt, (Mon Oct 29, 5:29 pm)
Re: Linux Security *Module* Framework (Was: LSM conversion ..., Bernd Petrovitsch, (Tue Oct 30, 2:41 am)
Re: eradicating out of tree modules, linux-os (Dick Johnson), (Tue Oct 30, 6:11 am)
Re: eradicating out of tree modules, Xavier Bestel, (Tue Oct 30, 6:19 am)
Re: eradicating out of tree modules, Greg KH, (Tue Oct 30, 8:30 am)