From: Mark Rutland <mark.rutland@arm.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: kernel-hardening@lists.openwall.com,
Kees Cook <keescook@chromium.org>,
Laura Abbott <labbott@fedoraproject.org>
Subject: [kernel-hardening] Re: initcall randomization
Date: Wed, 5 Oct 2016 20:43:55 +0100 [thread overview]
Message-ID: <20161005194354.GA26546@remoulade> (raw)
In-Reply-To: <CAKv+Gu_7AdRk7O-Mt8oS=t6prJY56=nS5CS1stgfqHzJ--YD9Q@mail.gmail.com>
Hi Ard,
On Wed, Oct 05, 2016 at 06:09:01PM +0100, Ard Biesheuvel wrote:
> Did anyone ever look into whether there is anything to gain in terms
> of hardening from randomizing the order initcalls are issued at each
> level? I know entropy is hard to come by at this stage, but on recent
> UEFI systems, this is something we could potentially solve
> generically. (It may uncover some breakage as well, but only hidden
> breakage that could already surface at any time due to linker changes,
> so I think this could serve as a diagnostic option as well)
As a stress-testing/debugging feature, this would certainly be useful.
>From a hardening PoV, I can't immediately see what this would gain us.
Also, if we ever solve probe dependencies, I suspect that will remove a lot of
scope for re-ordering.
> Since boot time mappings are often performed in initcalls, this could
> potentially reduce the predictability of the layout of the virtual
> kernel space.
Given you say 'mappings', I assume you mean {io,mem}remap() and friends. If we
have the entropy to randomize the initcalls, can't we use that to randomize the
VAs of those mappings? Or is this for the early allocators where that is
trickier?
For general allocations there's the freelist randomization, though I believe
that the order is predictable at boot time, per the commit message for
210e7a43fa905bcc ("mm: SLUB freelist randomization").
Thanks,
Mark.
next prev parent reply other threads:[~2016-10-05 19:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-05 17:09 [kernel-hardening] initcall randomization Ard Biesheuvel
2016-10-05 19:43 ` Mark Rutland [this message]
2016-10-05 20:23 ` Greg KH
2016-10-05 20:30 ` Kees Cook
2016-10-05 21:45 ` Ard Biesheuvel
2016-10-10 22:17 ` Kees Cook
2016-10-11 18:28 ` Ard Biesheuvel
2016-10-11 19:59 ` Kees Cook
2016-10-12 8:50 ` Ard Biesheuvel
2016-10-11 23:40 ` Mark Rutland
2016-10-12 8:55 ` Ard Biesheuvel
2016-10-12 20:19 ` Kees Cook
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=20161005194354.GA26546@remoulade \
--to=mark.rutland@arm.com \
--cc=ard.biesheuvel@linaro.org \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=labbott@fedoraproject.org \
/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.