Messages in this thread |  | | | Date | Sun, 2 Jan 2005 19:21:02 -0500 | | From | David Meybohm <> | | Subject | Re: [PATCH] disallow modular capabilities |
| |
On Mon, Jan 03, 2005 at 12:30:39AM +0100, Andi Kleen wrote: > > A kernel module is by definition a security hole. It can do everything, > including setting the uids of all processes to 0.
Yes, but allowing the administrator to easily unintentionally create security holes in loading a security module defeats the whole purpose of having modular security.
> > the new security module that is being loaded has no idea what state all > > processes are in when the module gets loaded? > > This can still be fine if you don't care about the security of > everything that runs before (e.g. because it is controlled early > startup code). If you care about their security don't do it when > it hurts.
But this also means every security module has to handle the case of being loaded after this time in the boot process interactively by administrators. That's very complex and race-prone.
> > What do you think about only allowing init to load LSM modules i.e. > > check in {mod,}register_security that current->pid == 1. > > I think it's a bad idea. Such policy should be left to user space.
Well, by excluding some policy you have to put more code in the kernel in the LSM modules to handle being loaded at any time. So, I don't think the dogma of "no policy in the kernel" is a good one to follow here: it ignores the problem and creates new ones.
Dave - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |