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


Groups > linux.kernel > #1315242

Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory

From Kees Cook <keescook@chromium.org>
Newsgroups linux.kernel
Subject Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory
Date 2016-01-22 21:00 +0100
Message-ID <qTQ2d-cO-1@gated-at.bofh.it> (permalink)
References <qSIT8-33H-5@gated-at.bofh.it> <qTNH3-7bM-3@gated-at.bofh.it> <qTPpw-8pj-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Jan 22, 2016 at 11:16 AM, Laura Abbott <laura@labbott.name> wrote:
> On 1/22/16 9:19 AM, David Brown wrote:
>>
>> On Tue, Jan 19, 2016 at 10:08:34AM -0800, Kees Cook wrote:
>>
>>> This introduces __ro_after_init as a way to mark such memory, and uses
>>> it on the x86 vDSO to kill an extant kernel exploitation method. Also
>>> adds a new kernel parameter to help debug future use and adds an lkdtm
>>> test to check the results.
>>
>>
>> I've tested these patches on 32-bit ARM using the provoke-crashes
>> test.  However, they do require CONFIG_ARM_KERNMEM_PERMS to be enabled
>> as well, which does incur additional memory usage.

Thanks for testing!

>> Do we want to consider making CONFIG_ARM_KERNMEM_PERMS default y for
>> security reasons, and just document that memory-constrained systems
>> may want to turn it off?
>>
>> I'll test the arm64 next.
>>
>> David
>
>
> Kees had previously pushed a patch to do so but it exposed a couple of
> underlying issues, mostly with low power paths
> (c.f. http://article.gmane.org/gmane.linux.ports.arm.kernel/471199,
> http://article.gmane.org/gmane.linux.kernel.mm/143489)
> Those will need to be all fixed up before this could be made default.

Yeah, I've got a patch waiting to reorganize CONFIG_ARM_KERNMEM_PERMS
to look more like arm64 (and x86) and get the feature correctly under
CONFIG_DEBUG_RODATA. I made it default=y on v7+. rmk asked me to wait
until -rc1 before resubmitting it.

http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/commit/?h=kspp/arm-rodata&id=08bebfd2e7fb8a9f364ced74c356642d64e1f43e

and a small improvement too:

http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/commit/?h=kspp/arm-rodata&id=8e16f005ce0d4069aee5502379cff845b4c6f950

-Kees

-- 
Kees Cook
Chrome OS & Brillo Security

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


Thread

[PATCH v4 0/8] introduce post-init read-only memory Kees Cook <keescook@chromium.org> - 2016-01-19 19:20 +0100
  [PATCH v4 7/8] lkdtm: verify that __ro_after_init works correctly Kees Cook <keescook@chromium.org> - 2016-01-19 19:20 +0100
  Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only  memory David Brown <david.brown@linaro.org> - 2016-01-22 18:30 +0100
    Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only  memory Laura Abbott <laura@labbott.name> - 2016-01-22 20:20 +0100
      Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory Kees Cook <keescook@chromium.org> - 2016-01-22 21:00 +0100
        Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory Geert Uytterhoeven <geert@linux-m68k.org> - 2016-01-23 10:50 +0100

csiph-web