All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Gruss <daniel.gruss@iaik.tugraz.at>
To: Thomas Garnier <thgarnie@google.com>
Cc: kernel list <linux-kernel@vger.kernel.org>,
	Kernel Hardening <kernel-hardening@lists.openwall.com>,
	"clementine.maurice@iaik.tugraz.at" 
	<clementine.maurice@iaik.tugraz.at>,
	"moritz.lipp@iaik.tugraz.at" <moritz.lipp@iaik.tugraz.at>,
	Michael Schwarz <michael.schwarz@iaik.tugraz.at>,
	Richard Fellner <richard.fellner@student.tugraz.at>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Ingo Molnar <mingo@kernel.org>,
	"anders.fogh@gdata-adan.de" <anders.fogh@gdata-adan.de>
Subject: Re: [kernel-hardening] [RFC, PATCH] x86_64: KAISER - do not map kernel in user mode
Date: Fri, 5 May 2017 10:23:50 +0200	[thread overview]
Message-ID: <55fa194e-69bd-fe39-f915-6f77673aea36@iaik.tugraz.at> (raw)
In-Reply-To: <CAJcbSZHcAi37FfFBKF4MsC3WM-RY5ar_e1pgMScb=S3+_-wqVQ@mail.gmail.com>

On 04.05.2017 17:28, Thomas Garnier wrote:
> Please read the documentation on submitting patches [1] and coding style [2].

I will have a closer look at that.

>  - How this approach prevent the hardware attacks you mentioned? You
> still have to keep a part of _text in the pagetable and an attacker
> could discover it no? (and deduce the kernel base address).

These parts are moved to a different section (.user_mapped) which is at 
a possibly predictable location - the location of the randomized parts 
of the kernel is independent of the location of .user_mapped.
The code/data footprint for .user_mapped is quite small, helping to 
reduce or eliminate the attack surface...

> You also need to make it clear that btb attacks are still possible.

By just increasing the KASLR randomization range, btb attacks can be 
mitigated (for free).

>  - What is the perf impact?

It will vary for different machines. We have promising results (<1%) for 
an i7-6700K with representative benchmarks. However, for older systems 
or for workloads with a lot of pressure on some TLB levels, the 
performance may be much worse.

  reply	other threads:[~2017-05-05  8:24 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-04 10:02 [RFC, PATCH] x86_64: KAISER - do not map kernel in user mode Daniel Gruss
2017-05-04 10:02 ` [kernel-hardening] " Daniel Gruss
2017-05-04 12:26 ` Daniel Gruss
2017-05-04 12:26   ` [kernel-hardening] " Daniel Gruss
2017-05-04 15:28 ` [kernel-hardening] " Thomas Garnier
2017-05-04 15:28   ` Thomas Garnier
2017-05-05  8:23   ` Daniel Gruss [this message]
2017-05-05  8:23     ` Daniel Gruss
2017-05-05 15:47     ` Thomas Garnier
2017-05-05 15:47       ` Thomas Garnier
2017-05-06  4:02       ` David Gens
2017-05-06  8:38         ` Daniel Gruss
2017-05-06  8:38           ` Daniel Gruss
2017-05-08 10:21           ` Mark Rutland
2017-05-08 10:51             ` Daniel Gruss
2017-05-08 10:51               ` Daniel Gruss
2017-05-08 13:22               ` Mark Rutland
2017-05-08 13:43                 ` Daniel Gruss
2017-05-08 13:43                   ` Daniel Gruss
2017-05-08 13:53           ` Daniel Gruss
2017-05-08 13:53             ` Daniel Gruss
2017-05-08 14:09             ` Thomas Garnier
2017-05-08 14:19               ` Daniel Gruss
2017-05-08 14:19                 ` Daniel Gruss
2017-05-08 13:23     ` Daniel Gruss
2017-05-08 13:23       ` Daniel Gruss
2017-05-04 15:47 ` Christoph Hellwig
2017-05-04 15:47   ` [kernel-hardening] " Christoph Hellwig
2017-05-05  7:40   ` Daniel Gruss
2017-05-05  7:40     ` [kernel-hardening] " Daniel Gruss
2017-05-07 20:20     ` Richard Weinberger
2017-05-07 20:20       ` Richard Weinberger
2017-05-07 21:45       ` Daniel Gruss
2017-05-07 21:45         ` Daniel Gruss
2017-05-07 22:02         ` Richard Weinberger
2017-05-07 22:02           ` Richard Weinberger
2017-05-07 22:18           ` Daniel Gruss
2017-05-07 22:18             ` Daniel Gruss
2017-05-09 14:44             ` [kernel-hardening] Re: [RFC, PATCH] x86_64: KAISER - do not mapkernel " Fogh, Anders
2017-05-09 14:44               ` Fogh, Anders
2017-05-09 14:57               ` Richard Weinberger
2017-05-09 14:57                 ` Richard Weinberger
2017-05-09 15:30                 ` Rik van Riel
2017-05-09 15:30                   ` Rik van Riel
2017-10-31 23:28                   ` Dave Hansen
2017-10-31 23:28                     ` Dave Hansen
2017-05-05 15:49 ` [kernel-hardening] [RFC, PATCH] x86_64: KAISER - do not map kernel " Jann Horn
2017-05-05 15:49   ` Jann Horn
2017-05-05 15:53   ` Jann Horn
2017-05-05 15:53     ` Jann Horn
2017-05-06  8:28     ` Daniel Gruss
2017-05-06  8:28       ` Daniel Gruss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55fa194e-69bd-fe39-f915-6f77673aea36@iaik.tugraz.at \
    --to=daniel.gruss@iaik.tugraz.at \
    --cc=anders.fogh@gdata-adan.de \
    --cc=clementine.maurice@iaik.tugraz.at \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael.schwarz@iaik.tugraz.at \
    --cc=mingo@kernel.org \
    --cc=moritz.lipp@iaik.tugraz.at \
    --cc=richard.fellner@student.tugraz.at \
    --cc=thgarnie@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.