Messages in this thread | | | Date | Thu, 21 Mar 2013 10:37:25 -0500 | From | "Serge E. Hallyn" <> | Subject | Re: [PATCH 01/12] Security: Add CAP_COMPROMISE_KERNEL |
| |
Quoting Vivek Goyal (vgoyal@redhat.com): ... > Giving CAP_MODIFY_KERNEL to processess upon signature verification > will simplify things a bit. > > Only thing is that signature verification alone is not sufficient. We > also need to make sure after signature verification executable can > not be modified in memory in any way. So that means atleast couple of > things.
Also what about context? If I construct a mounts namespace a certain way, can I trick this executable into loading an old singed bzImage that I had laying around?
ISTM the only sane thing to do, if you're going down this road, is to have CAP_MODIFIY_KERNEL pulled from bounding set for everyone except a getty started by init on ttyS0. Then log in on serial to update. Or run a damon with CAP_MODIFIY_KERNEL which listens to a init_net_ns netlink socket for very basic instructions, like "find and install latest signed bzImage in /boot". Then you can at least trust that /boot for that daemon is not faked.
| |