linux-um archives
 help / color / mirror / Atom feed
From: BlaisorBlade <blaisorblade_spam@yahoo.it>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Henrik Nordstrom <uml@hno.marasystems.com>,
	Michael Richardson <mcr@sandelman.ottawa.on.ca>
Subject: Re: [uml-devel] T-mode processes
Date: Wed, 6 Oct 2004 21:45:03 +0200	[thread overview]
Message-ID: <200410062145.03109.blaisorblade_spam@yahoo.it> (raw)
In-Reply-To: <Pine.LNX.4.61.0410060141120.1986@filer.marasystems.com>

On Wednesday 06 October 2004 02:00, Henrik Nordstrom wrote:
> On Tue, 5 Oct 2004, BlaisorBlade wrote:
> > Since opening /proc/mm is more or less like creating a new process (or
> > even like forking), dumpable can become 1, following the general Linux
> > rules.
>
> only if it was 1 for the process I think. If it was 0 for the process then
> there is a obvious risk that sensitive pages will get migrated to the new
> mm.
Yes, I agree on this (even if I had not the "shared pages" problem in my 
picture of the problem).

> creating a new memory map within the process is not really the same as
> exec if I understand SKAS correctly. The two memory maps may be set to
> share a significant portion of pages including data pages, while on exec
> you are guaranteed the two memory maps are fully separate unless they
> cooperate via mmap or shm which both have access to.

In fact I was going to compare it to fork, not to exec, because what we do is 
more similar to creating a new mm and a new process, instead of replacing a 
process with another... and plus there is a lot of shared-memory, which is a 
problem.

> If there is need to then it may be possible to add an argument indicating
> that the mm should be dumpable even if sanity checks says it should not,
> but I don't see very much need for this.

I don't want to skip the sanity checks! They are currently skipped and 
dumpable is always 0. Stop. And the fact that we are safe (i.e. that dumpable 
is by default 0) seems to just be by a lucky accident, actually. Oh well.

> > However, that's a problem if a process using /proc/mm changes its
> > setting of mm->dumpable (which happens on uid changes and with prctl).
> > Does in that case the uid of the ptraced process change?

> In such case the dumpable attribute needs to be cleared on all mm:s of
> that process. There is no easy way telling which memory maps may contain
> restricted pages on such change of the process status.

Ok, in this case, this should be doable on PTRACE_SWITCH_MM. Anyway, the 
dumpable flag can become 1 again only with prctl(), so in that case things 
should be safe (or it is the application's fault).

> Regarding prctl, the running code can be assumed trusted here. The
> dumpable attribute is about preventing sensitive data from leaking outside
> of the process. If you circumvent this by setting dumpable to 1 you are
> assumed to know what you (and any libraries you use) do and assume all
> responsibility. It is only the running process code itself which can do
> this, the user can not force it externally from outside of the process

Ok, this is fine and clear.

Btw: I've also found the ptrace root exploit for 2.4.20. And I'm understanding 
the old problem.

Bye
-- 
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

  reply	other threads:[~2004-10-06 19:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-03  0:26 [uml-devel] T-mode processes Michael Richardson
2004-10-03 10:41 ` Henrik Nordstrom
2004-10-03 17:26   ` Michael Richardson
2004-10-03 17:55     ` Henrik Nordstrom
2004-10-03 18:39       ` Michael Richardson
2004-10-04 18:22         ` BlaisorBlade
2004-10-04 22:40           ` Michael Richardson
2004-10-03 15:04 ` BlaisorBlade
2004-10-03 17:44   ` Michael Richardson
2004-10-04 18:57     ` BlaisorBlade
2004-10-04 20:25       ` Henrik Nordstrom
2004-10-05 18:51         ` BlaisorBlade
2004-10-06  0:00           ` Henrik Nordstrom
2004-10-06 19:45             ` BlaisorBlade [this message]
2004-10-14 16:46             ` BlaisorBlade

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=200410062145.03109.blaisorblade_spam@yahoo.it \
    --to=blaisorblade_spam@yahoo.it \
    --cc=mcr@sandelman.ottawa.on.ca \
    --cc=uml@hno.marasystems.com \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /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