Re: [PATCH] Make /proc/slabinfo 0400

Dan Rosenberg
2011-03-04T21:10:42Z

On Fri, 2011-03-04 at 22:58 +0200, Pekka Enberg wrote:
> On Fri, Mar 4, 2011 at 10:37 PM, Dan Rosenberg <drosenberg@vsecurity.com> wrote:
> > This patch makes these techniques more difficult by making it hard to
> > know whether the last attacker-allocated object resides before a free or
> > allocated object. Especially with vulnerabilities that only allow one
> > attempt at exploitation before recovery is needed to avoid trashing too
> > much heap state and causing a crash, this could go a long way. I'd
> > still argue in favor of removing the ability to know how many objects
> > are used in a given slab, since randomizing objects doesn't help if you
> > know every object is allocated.
>
> So if the attacker knows every object is allocated, how does that help
> if we're randomizing the initial freelist?

If you know you've got a slab completely full of your objects, then it
doesn't matter that they happened to be allocated in a random fashion -
they're still all allocated, and by freeing one of them and
reallocating, you'll still be next to your target.