lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20180420222026.D0B4AAC9@viggo.jf.intel.com> Date: Fri, 20 Apr 2018 15:20:26 -0700 From: Dave Hansen <dave.hansen@...ux.intel.com> To: linux-kernel@...r.kernel.org Cc: linux-mm@...ck.org, Dave Hansen <dave.hansen@...ux.intel.com>, keescook@...gle.com, aarcange@...hat.com, luto@...nel.org, arjan@...ux.intel.com, bp@...en8.de, dan.j.williams@...el.com, dwmw2@...radead.org, gregkh@...uxfoundation.org, hughd@...gle.com, jpoimboe@...hat.com, jgross@...e.com, torvalds@...ux-foundation.org, namit@...are.com, peterz@...radead.org, tglx@...utronix.de, vbabka@...e.cz Subject: [PATCH 4/5] x86, pti: disallow global kernel text with RANDSTRUCT I believe this was originally reported by the grsecurity team who tweeted about it (link below). RANDSTRUCT derives its hardening benefits from the attacker's lack of knowledge about the layout of kernel data structures. Keep the kernel image non-global in cases where RANDSTRUCT is in use to help keep the layout a secret. Signed-off-by: Dave Hansen <dave.hansen@...ux.intel.com> Reported-by: Kees Cook <keescook@...gle.com> Link: https://twitter.com/grsecurity/status/985678720630476800 Fixes: 8c06c7740 (x86/pti: Leave kernel text global for !PCID) Cc: Andrea Arcangeli <aarcange@...hat.com> Cc: Andy Lutomirski <luto@...nel.org> Cc: Arjan van de Ven <arjan@...ux.intel.com> Cc: Borislav Petkov <bp@...en8.de> Cc: Dan Williams <dan.j.williams@...el.com> Cc: David Woodhouse <dwmw2@...radead.org> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org> Cc: Hugh Dickins <hughd@...gle.com> Cc: Josh Poimboeuf <jpoimboe@...hat.com> Cc: Juergen Gross <jgross@...e.com> Cc: Kees Cook <keescook@...gle.com> Cc: Linus Torvalds <torvalds@...ux-foundation.org> Cc: Nadav Amit <namit@...are.com> Cc: Peter Zijlstra <peterz@...radead.org> Cc: Thomas Gleixner <tglx@...utronix.de> Cc: Vlastimil Babka <vbabka@...e.cz> Cc: linux-mm@...ck.org --- b/arch/x86/mm/pti.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff -puN arch/x86/mm/pti.c~pti-glb-disable-with-compile-options arch/x86/mm/pti.c --- a/arch/x86/mm/pti.c~pti-glb-disable-with-compile-options 2018-04-20 14:10:02.702749165 -0700 +++ b/arch/x86/mm/pti.c 2018-04-20 14:10:02.706749165 -0700 @@ -421,6 +421,16 @@ static inline bool pti_kernel_image_glob if (boot_cpu_has(X86_FEATURE_K8)) return false; + /* + * RANDSTRUCT derives its hardening benefits from the + * attacker's lack of knowledge about the layout of kernel + * data structures. Keep the kernel image non-global in + * cases where RANDSTRUCT is in use to help keep the layout a + * secret. + */ + if (IS_ENABLED(CONFIG_GCC_PLUGIN_RANDSTRUCT)) + return false; + return true; } _
Powered by blists - more mailing lists