Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674301

Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation

From Kees Cook <keescook@chromium.org>
Newsgroups linux.kernel
Subject Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation
Date 2017-06-25 22:00 +0200
Message-ID <tWlRo-NX-3@gated-at.bofh.it> (permalink)
References <tVm37-47I-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Jun 22, 2017 at 6:50 PM, Kees Cook <keescook@chromium.org> wrote:
> This SLUB free list pointer obfuscation code is modified from Brad
> Spengler/PaX Team's code in the last public patch of grsecurity/PaX based
> on my understanding of the code. Changes or omissions from the original
> code are mine and don't reflect the original grsecurity/PaX code.
>
> This adds a per-cache random value to SLUB caches that is XORed with
> their freelist pointers. This adds nearly zero overhead and frustrates the
> very common heap overflow exploitation method of overwriting freelist
> pointers. A recent example of the attack is written up here:
> http://cyseclabs.com/blog/cve-2016-6187-heap-off-by-one-exploit

BTW, to quantify "nearly zero overhead", I ran multiple 200-run cycles
of "hackbench -g 20 -l 1000", and saw:

before:
mean 10.11882499999999999995
variance .03320378329145728642
stdev .18221905304181911048

after:
mean 10.12654000000000000014
variance .04700556623115577889
stdev .21680767106160192064

The difference gets lost in the noise, but if the above is sensible,
it's 0.07% slower. ;)

-Kees

-- 
Kees Cook
Pixel Security

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2] mm: Add SLUB free list pointer obfuscation Kees Cook <keescook@chromium.org> - 2017-06-23 04:00 +0200
  Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation Kees Cook <keescook@chromium.org> - 2017-06-25 22:00 +0200
    Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation Christoph Lameter <cl@linux.com> - 2017-06-29 19:10 +0200
      Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation Kees Cook <keescook@chromium.org> - 2017-06-29 19:50 +0200
        Re: [PATCH v2] mm: Add SLUB free list pointer obfuscation Rik van Riel <riel@redhat.com> - 2017-06-29 20:00 +0200
          Re: [kernel-hardening] Re: [PATCH v2] mm: Add SLUB free list pointer  obfuscation Tycho Andersen <tycho@docker.com> - 2017-06-29 20:00 +0200

csiph-web