From: Kees Cook <kees@outflux.net>
To: speck@linutronix.de
Subject: [MODERATED] Re: [PATCH SSBv11 0/3] seccomp 1
Date: Thu, 3 May 2018 10:04:39 -0700 [thread overview]
Message-ID: <20180503170439.GD6017@outflux.net> (raw)
In-Reply-To: <20180503140932.t63gcxlaohfnavxk@gmail.com>
On Thu, May 03, 2018 at 04:09:32PM +0200, speck for Ingo Molnar wrote:
> * speck for Thomas Gleixner <speck@linutronix.de> wrote:
> > On Thu, 3 May 2018, speck for Andi Kleen wrote:
> > > On Wed, May 02, 2018 at 05:44:27PM -0700, speck for Kees Cook wrote:
> > > > From: Kees Cook <keescook@chromium.org>
> > > > Subject: opt-in under seccomp
> > > >
> > > > As seccomp use overlaps best (though not perfectly) with applications
> > > > most likely to want speculation flaw mitigations enabled, seccomp will
> > > > enable them when seccomp is enabled for a task. Also adds a line to
> > > > /proc/$pid/status for examining the mitigation state of a task.
> > >
> > > As I wrote earlier this isn't a good idea. We went through
> > > this earlier.
> > >
> > > It originally seems like a good idea until you start looking at the details.
> > >
> > > The big users of seccomp like the web browsers eventually
> > > don't want it once they use site isolation. And it would
> > > unnecessarily slow them down.
> > >
> > > And other programs need to be maintained anyways (e.g. for
> > > spectre variant 1 fixes) so they can as well add it explicitely.
> > >
> > > Separate enabling makes more sense. And that is already in the patchkit.
> >
> > You're just ignoring the fact that they are not having it today and it's
> > about providing the best out of the box protection right now.
> >
> > Telling people: "We have this shiny new prtcl and your browser will
> > eventually use it but until then you're on your own." is just bullshit.
> >
> > Kees certainly knows what he is talking about and being involved in chrome
> > gives him definitely more weight than your 'eventually don't want' and
> > 'have to be maintained anyways' advisories which have exactly zero
> > technical content.
>
> The other problem with 'site isolation' is that it doesn't necessarily solve or
> even mitigate the problem: if for example malicious Javascript is injected from an
> ad network, supposedly safely sandboxed, but it can still anomalously read site
> local data via leaky speculation then that's still a dangerous violation of
> sandboxing constraints: it could read pointers to defeat ASLR, it could read local
> keys or other data it's not supposed to read.
>
> Once a browser specifically knows that it has fully mitigated against an attack it
> can turn off any default mitigation early in its init sequence via the prctl, when
> it still has full OS access and no seccomp isolation. All child tasks should
> inherit that.
My goal is providing SOME kind of "by default" coverage that doesn't
require an admin to write new code or wait for a software vendor to provide
an update.
If it is tolerable to wait for a vendor to _enable_ the mitigation, then
it should be tolerable to wait for a vendor to _disable_ the mitigation
as well. i.e. we protect a targeted subset of processes (those using
seccomp) but provide a way to disable it later. To that end, how about
a new prctl or seccomp flag that indicates "do no enable speculation
mitigations under seccomp"? That would give any seccomp users the ability
to opt-out if they wanted to.
-Kees
--
Kees Cook @outflux.net
next prev parent reply other threads:[~2018-05-03 17:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 0:44 [MODERATED] [PATCH SSBv11 0/3] seccomp 1 Kees Cook
2018-05-01 22:07 ` [MODERATED] [PATCH SSBv11 3/3] seccomp 0 Kees Cook
2018-05-01 22:19 ` [MODERATED] [PATCH SSBv11 1/3] seccomp 2 Kees Cook
2018-05-01 22:31 ` [MODERATED] [PATCH SSBv11 2/3] seccomp 3 Kees Cook
2018-05-03 8:58 ` [MODERATED] Re: [PATCH SSBv11 3/3] seccomp 0 Peter Zijlstra
2018-05-03 9:21 ` Thomas Gleixner
2018-05-03 16:03 ` [MODERATED] " Kees Cook
2018-05-03 12:29 ` [MODERATED] Re: [PATCH SSBv11 0/3] seccomp 1 Andi Kleen
2018-05-03 12:45 ` Thomas Gleixner
2018-05-03 14:09 ` [MODERATED] " Ingo Molnar
2018-05-03 14:57 ` Andi Kleen
2018-05-03 17:04 ` Kees Cook [this message]
2018-05-03 18:58 ` Andi Kleen
2018-05-03 23:17 ` Kees Cook
2018-05-03 14:47 ` Andi Kleen
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=20180503170439.GD6017@outflux.net \
--to=kees@outflux.net \
--cc=speck@linutronix.de \
/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.