Re: [PATCH v2 0/4] Checkpoint/Restore: Show in proc IDs of objects that can be shared between tasks

Andrew Morton
2011-11-18T20:37:30Z

On Sat, 19 Nov 2011 00:03:42 +0400
Cyrill Gorcunov <gorcunov@gmail.com> wrote:

> On Fri, Nov 18, 2011 at 11:07:16AM -0800, Andrew Morton wrote:
> ...
> >
> > OK. Using the object's kernel virtual address is certainly very
> > attractive.
> >
> > It is the case that we're causing difficulty with this longer-term plan
> > to make c/r available to unprivileged processes? Because it's OK to
> > expose kernel addresses to CAP_SYS_ADMIN (or similar) tasks (isn't it?).
> >
>
> Actually the address is not exposed in open-form but rather xor'ed with
> a random number, still from security pov it's not clear if it's really useful
> for attacker to obtain inverted low bits of the former random number (which
> might happen on aligned addresses).
>

Of course. But

a) I'm not sure that this scheme actually protects the kernel
addresses - there may be way in which cunning userspace can work out
the random mask.

b) If we can export these addresses only to CAP_SYS_ADMIN tasks then
we don't need to obfuscate them anyway.

Which takes me back to again asking: why not make c/r root-only?
And provide non-root access via a carefully-written setuid
front-end?