From: "Indan Zupancic" <indan@nul.nu>
To: "Roland McGrath" <mcgrathr@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
"Will Drewry" <wad@chromium.org>,
linux-kernel@vger.kernel.org, netdev@parisplace.org,
linux-security-module@vger.kernel.org,
kernel-hardening@lists.openwall.com, mingo@redhat.com,
oleg@redhat.com, peterz@infradead.org, rdunlap@xenotime.net,
tglx@linutronix.de, luto@mit.edu, serge.hallyn@canonical.com,
pmoore@redhat.com, akpm@linux-foundation.org, corbet@lwn.net,
markus@chromium.org, coreyb@linux.vnet.ibm.com,
keescook@chromium.org, viro@zeniv.linux.org.uk,
jmorris@namei.org
Subject: Re: [RFC PATCH 0/3] move the secure_computing call
Date: Thu, 24 May 2012 20:27:43 +0200 [thread overview]
Message-ID: <e73397a67afcb95c39a4560fe104912a.squirrel@webmail.greenhost.nl> (raw)
In-Reply-To: <CAB=4xhp3WYoD6RnY+Y=XV18RiCLOeT-dsDmHxAVUYpaSUMpZdA@mail.gmail.com>
On Thu, May 24, 2012 20:07, Roland McGrath wrote:
> On Thu, May 24, 2012 at 9:13 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>> I think this really screws with using seccomp for self-interception. I
>> wouldn't inherently be opposed to the following flow:
>>
>> seccomp -> ptrace -> seccomp
>>
>> ... i.e. if ptrace is enabled and we enable something, run it through
>> seccomp again, but there are bunch of use cases (mostly involving
>> SIGSYS) where doing ptrace before seccomp is just bizarre.
>
> Are you sure? This is ptrace syscall tracing going first.
> If seccomp generates a SIGSYS, then ptrace will still get its opportunity
> to intercept the signal and change the register state however it likes.
If so, then the seccomp check needs to be redone after any ptrace
changes, or we should give up and just do the seccomp check first,
instead of possibly looping forever. PTRACE_EVENT_SECCOMP has the
same problem.
If a seccomp filtered task can do ptrace(), it can easily bypass
the seccomp filter by ptracing any task not under the same filter
but from the same user. And then it can puppeteer the victim into
doing anything it wishes. So pretending seccomp can make a ptracer
secure is futile, I think. Perhaps it's better to keep it simple and
always do the seccomp test first and ignore ptrace changes, however
sad that may seem. Seccomp had the power to stop ptrace(). It didn't,
so it shouldn't try to do it afterwards either.
It's a bit fuzzy though, only reason why doing seccomp first is more
convenient is because seccomp can generate ptrace events. I don't
think it will make a difference in practice because ptrace(2) won't
be allowed by seccomp filters anyway, so it's a bit of a theoretical
problem.
Greetings,
Indan
next prev parent reply other threads:[~2012-05-24 18:27 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-21 18:21 seccomp and ptrace. what is the correct order? Eric Paris
2012-05-21 18:25 ` Roland McGrath
2012-05-21 19:20 ` Indan Zupancic
2012-05-22 16:23 ` Will Drewry
2012-05-22 16:26 ` Will Drewry
2012-05-22 17:39 ` Al Viro
2012-05-22 20:26 ` Will Drewry
2012-05-22 20:34 ` H. Peter Anvin
2012-05-22 20:48 ` Will Drewry
2012-05-22 21:07 ` Al Viro
2012-05-22 21:17 ` Roland McGrath
2012-05-22 21:18 ` H. Peter Anvin
2012-05-22 22:20 ` Al Viro
2012-05-22 21:09 ` H. Peter Anvin
2012-05-22 21:14 ` Will Drewry
2012-05-22 21:37 ` H. Peter Anvin
2012-05-24 16:07 ` [RFC PATCH 0/3] move the secure_computing call Will Drewry
2012-05-24 16:07 ` [RFC PATCH 1/3] seccomp: Don't allow tracers to abuse RET_TRACE Will Drewry
2012-05-24 17:54 ` Indan Zupancic
2012-05-24 18:24 ` Will Drewry
2012-05-24 20:17 ` Indan Zupancic
2012-05-24 16:08 ` [RFC PATCH 2/3] arch/x86: move secure_computing after ptrace Will Drewry
2012-05-24 16:08 ` [RFC PATCH 3/3] arch/*: move secure_computing after trace Will Drewry
2012-05-24 16:13 ` [RFC PATCH 0/3] move the secure_computing call H. Peter Anvin
2012-05-24 18:07 ` Roland McGrath
2012-05-24 18:27 ` Indan Zupancic [this message]
2012-05-24 18:45 ` H. Peter Anvin
2012-05-24 19:39 ` Indan Zupancic
2012-05-24 22:00 ` Andrew Morton
2012-05-25 1:55 ` Will Drewry
2012-05-24 23:40 ` James Morris
2012-05-24 23:43 ` Andrew Lutomirski
2012-05-24 23:56 ` H. Peter Anvin
2012-05-25 0:26 ` Andrew Lutomirski
2012-05-25 0:38 ` H. Peter Anvin
2012-05-25 0:55 ` Andrew Lutomirski
2012-05-21 18:47 ` seccomp and ptrace. what is the correct order? richard -rw- weinberger
2012-05-21 19:13 ` H. Peter Anvin
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=e73397a67afcb95c39a4560fe104912a.squirrel@webmail.greenhost.nl \
--to=indan@nul.nu \
--cc=akpm@linux-foundation.org \
--cc=corbet@lwn.net \
--cc=coreyb@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=jmorris@namei.org \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=luto@mit.edu \
--cc=markus@chromium.org \
--cc=mcgrathr@google.com \
--cc=mingo@redhat.com \
--cc=netdev@parisplace.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=pmoore@redhat.com \
--cc=rdunlap@xenotime.net \
--cc=serge.hallyn@canonical.com \
--cc=tglx@linutronix.de \
--cc=viro@zeniv.linux.org.uk \
--cc=wad@chromium.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
all inboxes | Powered by JetHome®