From: Thomas Gleixner <tglx@linutronix.de>
To: James Morris <jmorris@namei.org>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
Emily Ratliff <eratliff@linuxfoundation.org>,
"ksummit-discuss@lists.linuxfoundation.org"
<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Kernel Hardening
Date: Mon, 24 Aug 2015 22:46:33 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1508242220570.15006@nanos> (raw)
In-Reply-To: <alpine.LRH.2.20.1508250612360.22949@namei.org>
On Tue, 25 Aug 2015, James Morris wrote:
> On Mon, 24 Aug 2015, James Bottomley wrote:
>
> > Um, forgive me for being dense, but doesn't fixing the flaws stop their
> > exploitation? In any event, Hardening means "reducing the attack
> > surface" and that encompasses both active and passive means (including
> > actual bug fixing).
>
> Hardening is mitigating those flaws. You'll never find every flaw, but
> you can mitigate against entire classes of flaws being exploited.
Fair enough, but I agree with James, that we should not make this an
isolated topic.
Let's look at it from a different POV. 10+ years ago locking was
something which was only understood by a minority of the developers
and they had to figure out (or not) the horrible once per year
deadlocks.
Then RT happened to expose a gazillion of those issues and once we got
tired of debugging this hard to understand problems we came up with a
tool which tells Joe Developer where he screwed up.
As a consequence developers got more aware of locking semantics and
the number of hard to figure out lock inversion problems got reduced
significantly.
We added a lot of other mechanisms to detect different classes of
failure (use after free, ....). Both runtime debugging facilities and
static code analysis have helped to improve the code quality and the
awareness of developers.
Security and the pitfalls of user space facing code are still a riddle
wrapped up in an enigma for most developers, so the question is how
can we improve that situation.
While we certainly want to add mechanisms which prevent flaws to be
exploited we surely want to do something about educating people how to
avoid the flaws in the first place.
One can read about interesting ways to subvert a lot of the hardening
techniques every other day, so while we certainly want to add
hardening techniques, it's even more important that these techniques
become the last parachute and not the catch it all mechanism because
we gave up on the underlying issues.
I totally agree that we cannot prevent all flaws, but we certainly can
do better in reducing the quantity. And that means that we need to
educate people. And that education involves traditional training,
documentation and clever usage of tools. If we can use hardening
techniques to slap developers on their fingers, that's certainly a
good thing. But we don't want to decouple the hardening from 'reduce
the flaws' as you might create the impression that it's not that
important to think security aware because the hardering techniques
will prevent the exploits anyway.
Thanks,
tglx
next prev parent reply other threads:[~2015-08-24 20:47 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 4:20 James Morris
2015-08-24 11:46 ` Jiri Kosina
2015-08-24 11:56 ` James Morris
2015-08-24 17:17 ` Kees Cook
2015-08-24 17:28 ` Andy Lutomirski
2015-08-24 17:39 ` Julia Lawall
2015-08-24 18:01 ` Kees Cook
2015-08-24 18:19 ` Andy Lutomirski
2015-08-24 18:57 ` Kees Cook
2015-08-24 18:52 ` Thomas Gleixner
2015-08-24 18:59 ` Thomas Gleixner
2015-08-24 19:00 ` Kees Cook
2015-08-24 22:05 ` Greg KH
2015-08-25 0:51 ` Rafael J. Wysocki
2015-08-31 20:10 ` Eric W. Biederman
2015-08-31 20:22 ` josh
2015-08-26 20:51 ` Kees Cook
2015-08-26 21:10 ` Matthew Garrett
2015-08-30 0:41 ` [Ksummit-discuss] Self nomination Matthew Garrett
2015-08-24 11:48 ` [Ksummit-discuss] [TECH TOPIC] Kernel Hardening Jiri Kosina
2015-08-24 12:29 ` Linus Walleij
2015-08-24 12:51 ` Jason Cooper
2015-08-24 16:35 ` Kees Cook
2015-08-24 20:09 ` James Bottomley
2015-08-24 20:17 ` James Morris
2015-08-24 20:46 ` Thomas Gleixner [this message]
2015-08-24 22:22 ` James Morris
2015-08-24 23:20 ` Kees Cook
2015-08-24 23:54 ` Theodore Ts'o
2015-08-25 0:06 ` James Morris
2015-08-25 0:06 ` Kees Cook
2015-08-27 22:08 ` [Ksummit-discuss] grsecurity and kernel hardening Stephen Hemminger
2015-08-27 22:49 ` James Bottomley
2015-08-27 23:03 ` Stephen Hemminger
2015-08-24 23:04 ` [Ksummit-discuss] [TECH TOPIC] Kernel Hardening Kees Cook
2015-08-25 16:45 ` Luis R. Rodriguez
2015-08-24 22:57 ` Kees Cook
2015-08-24 23:25 ` Kees Cook
2015-08-24 20:28 ` josh
2015-08-24 22:55 ` Kees Cook
2015-08-24 23:13 ` Andy Lutomirski
2015-08-31 20:58 ` Eric W. Biederman
2015-09-01 9:03 ` Jiri Kosina
2015-09-01 16:52 ` Kees Cook
2015-09-01 16:50 ` Kees Cook
2015-08-25 15:15 ` Shuah Khan
2015-08-25 16:15 ` Kees Cook
2015-08-25 16:30 ` Mark Brown
2015-08-25 16:33 ` Kees Cook
2015-08-25 16:58 ` Shuah Khan
2015-09-22 12:24 ` Dan Carpenter
2015-09-22 12:55 ` Yves-Alexis Perez
2015-09-22 12:59 ` Julia Lawall
2015-09-22 18:02 ` Andy Lutomirski
2015-08-24 16:20 ` Aneesh Kumar K.V
2015-08-24 17:19 ` Kees Cook
2015-08-24 18:50 ` James Morris
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=alpine.DEB.2.11.1508242220570.15006@nanos \
--to=tglx@linutronix.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=eratliff@linuxfoundation.org \
--cc=jmorris@namei.org \
--cc=ksummit-discuss@lists.linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox