Re: [Security] proactive defense: using read-only memory

From: Pavel Machek
Date: Sun Jan 02 2011 - 04:09:19 EST


Hi!

> > > - Pointers to function table also need to be marked read-only after
> > > they are set. An example of this is the security_ops table pointer. It
> > > gets set once at boot, and never changes again. These need to be handled
> > > so it isn't possible to just trivially reaim the entire security_ops
> > > table lookup somewhere else.
> >
> > But there are too many of those. You can't block them all...
>
> Well, I don't think "too many" is a good reason. And I think it is possible
> to block them all if we're careful and diligent. Maybe I'm naive;
> we'll see.

I believe "too many" is very good reason -- you do not want to uglify
the kernel too badly.

It is not like anything that makes attackers life harder is a good
thing... for example deleting all the comments would clearly make
attacking linux harder, but it is also clearly bad idea.

> > > - Entry points to set_kernel_text_rw() and similar need to be blockable.
> > > Having these symbols available make kernel memory modification trivial;
> >
> > What prevents attacker to just inlining those functions in the
> > exploit?
>
> The goal is to make it harder for an attacker to create, change, or hide
> kernel code in memory. If they're able to already execute arbitrary code,
> then yes, it's doesn't change anything. But the point is to make it harder
> to get to that point to start with.

So... what do you assume attacker _can_ do? What is it you are trying
to protect against?

Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/