Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752805Ab1CFBPu (ORCPT ); Sat, 5 Mar 2011 20:15:50 -0500 Received: from swampdragon.chaosbits.net ([90.184.90.115]:20030 "EHLO swampdragon.chaosbits.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751175Ab1CFBPr (ORCPT ); Sat, 5 Mar 2011 20:15:47 -0500 Date: Sun, 6 Mar 2011 02:15:13 +0100 (CET) From: Jesper Juhl To: Matt Mackall cc: Dan Rosenberg , Pekka Enberg , Linus Torvalds , Dave Hansen , Theodore Tso , cl@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ingo Molnar , Andrew Morton Subject: Re: [PATCH] Make /proc/slabinfo 0400 In-Reply-To: <1299373781.3062.374.camel@calx> Message-ID: References: <1299174652.2071.12.camel@dan> <1299185882.3062.233.camel@calx> <1299186986.2071.90.camel@dan> <1299188667.3062.259.camel@calx> <1299191400.2071.203.camel@dan> <2DD7330B-2FED-4E58-A76D-93794A877A00@mit.edu> <1299260164.8493.4071.camel@nimitz> <1299262495.3062.298.camel@calx> <1299271041.2071.1398.camel@dan> <1299273034.2071.1417.camel@dan> <1299373781.3062.374.camel@calx> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2521 Lines: 56 On Sat, 5 Mar 2011, Matt Mackall wrote: > On Sun, 2011-03-06 at 01:42 +0100, Jesper Juhl wrote: > > On Fri, 4 Mar 2011, Dan Rosenberg wrote: > > > > > On Fri, 2011-03-04 at 22:58 +0200, Pekka Enberg wrote: > > > > On Fri, Mar 4, 2011 at 10:37 PM, Dan Rosenberg 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. > > > > > > > But still, if randomizing allocations makes life just a little harder for > > attackers in some scenarios, why not just do it? > > Lemme guess, you work for the TSA? > No. And now I actually feel slightly insulted. > As far as I can tell neither of the patches under discussion do anything > that couldn't be worked around by an exploit writer in the time it takes > to write this email. And the second attacker, of course, will have even > less trouble. > > Putting trivial obstacles in the way of attackers accomplishes little > beyond annoying users. > If we annoy users I agree we shouldn't. If we don't annoy users (and don't impact performance in any relevant way) then even trivial obstacles that stop just a few exploits are worth it IMHO. -- Jesper Juhl http://www.chaosbits.net/ Plain text mails only, please. Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html -- 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/