From: ebiederm@xmission.com (Eric W. Biederman)
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Pavel Emelyanov <xemul@parallels.com>,
Andrew Vagin <avagin@gmail.com>,
Aditya Kali <adityakali@google.com>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Oleg Nesterov <oleg@redhat.com>,
linux-kernel@vger.kernel.org, criu@openvz.org,
Al Viro <viro@zeniv.linux.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
Kees Cook <keescook@chromium.org>
Subject: Re: [CRIU] [PATCH 1/3] prctl: reduce permissions to change boundaries of data, brk and stack
Date: Sat, 15 Feb 2014 15:01:05 -0800 [thread overview]
Message-ID: <87lhxc9e1a.fsf@xmission.com> (raw)
In-Reply-To: <20140215062922.GA22779@moon> (Cyrill Gorcunov's message of "Sat, 15 Feb 2014 10:29:22 +0400")
Cyrill Gorcunov <gorcunov@gmail.com> writes:
> On Fri, Feb 14, 2014 at 12:18:46PM -0800, Eric W. Biederman wrote:
>> >> >
>> >> > Why can't you have the process of interest do:
>> >> > ptrace(PTRACE_ATTACHME);
>> >> > execve(executable, args, ...);
>> >> >
>> >> > /* Have the ptracer inject the recovery/fixup code */
>> >> > /* Fix up the mostly correct process to look like it has been
>> >> > * executing for a while.
>> >> > */
>> >
>> > Erik, it seems I don't understand how it will help us to restore
>> > the mm fields mentioned above?
>>
>> Because exec is how those mm fields are set when you don't use
>> prctl_set_mm. So execpt for the stack and the brk limits that
>> will simply result in the values being set to what the usually
>> would be set to.
>
> Yes, all these fields are set up by kernel's elf loader but this
> routine is a way more time consuming than a clone call. But gimme
> some time to examine all possible problems we might have with such
> approach and if there a way to solve them.
Sure.
The really useful observation in all of this is that with exec we have
methods where we allow unprivileged setting of these fields already. So
it is essentially concerns about applictions being stupid (resource
control) and applications being compromised with evil code and the trace
evidence being hidden that we are trying to protect by limiting changes
to these fields.
So if we can come up with a method that doesn't violate those
invariants, and doesn't lead to massive code maintenance we should be
good. Reusing exec is just the easiest way to get there.
Eric
next prev parent reply other threads:[~2014-02-15 23:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-14 14:13 [PATCH RFC 0/3] c/r: add ability to restore mm attributes in a non-root userns Andrey Vagin
2014-02-14 14:13 ` [PATCH 1/3] prctl: reduce permissions to change boundaries of data, brk and stack Andrey Vagin
2014-02-14 16:05 ` Eric W. Biederman
2014-02-14 17:43 ` Andrew Vagin
2014-02-14 18:01 ` [CRIU] " Cyrill Gorcunov
2014-02-14 19:16 ` Eric W. Biederman
2014-02-14 19:47 ` Pavel Emelyanov
2014-02-14 20:06 ` Cyrill Gorcunov
2014-02-14 20:18 ` Eric W. Biederman
2014-02-15 6:29 ` Cyrill Gorcunov
2014-02-15 23:01 ` Eric W. Biederman [this message]
2014-02-14 20:09 ` Eric W. Biederman
2014-02-17 8:34 ` Pavel Emelyanov
2014-02-17 8:52 ` Cyrill Gorcunov
2014-02-17 16:57 ` Pavel Emelyanov
2014-03-07 13:51 ` Pavel Emelyanov
2014-02-14 20:44 ` Andrey Wagin
2014-02-15 23:05 ` Eric W. Biederman
2014-02-14 14:13 ` [PATCH 2/3] capabilities: add a secure bit to allow changing a task exe link Andrey Vagin
2014-02-18 4:53 ` Serge E. Hallyn
2014-02-14 14:13 ` [PATCH 3/3] prctl: allow to use PR_MM_SET_* which affect only a current task Andrey Vagin
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=87lhxc9e1a.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=adityakali@google.com \
--cc=akpm@linux-foundation.org \
--cc=avagin@gmail.com \
--cc=criu@openvz.org \
--cc=gorcunov@gmail.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=sfr@canb.auug.org.au \
--cc=viro@zeniv.linux.org.uk \
--cc=xemul@parallels.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox