public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Valdis.Kletnieks@vt.edu
To: Geoffrey McRae <geoff@rabidhost.com>
Cc: Peter Teoh <htmldeveloper@gmail.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Nick Andrew <nick@nick-andrew.net>,
	linux-kernel@vger.kernel.org
Subject: Re: New Security Features, Please Comment
Date: Thu, 04 Dec 2008 16:56:10 -0500	[thread overview]
Message-ID: <80413.1228427770@turing-police.cc.vt.edu> (raw)
In-Reply-To: Your message of "Thu, 04 Dec 2008 10:40:56 +1100." <1228347656.6993.31.camel@lappy.spacevs.com>

[-- Attachment #1: Type: text/plain, Size: 1385 bytes --]

On Thu, 04 Dec 2008 10:40:56 +1100, Geoffrey McRae said:

> Ok, so this is a pretty major flaw of the idea, thats why I put this
> concept out there, any suggestions as to how to get around this?
> Possibly add some checking to disable certain functions in the child
> when the enable_setpresuid function has been called?.

Or just deploy SELinux instead.

> Or save the signal handlers the first time setpresuid is called, and the
> next time, restore them so if the child has changed them, they get
> re-set back to their initial state?

It's not just signal handlers.

	while (getpid()) msleep(1);
	/* malicious code here */

Just loop, pop up every few milliseconds and check if you're root,
and fall out of the loop and go into attack mode if you are.

If you're using it to toggle between various non-root userids, just adjust
the while accordingly: 'while ((me = getpid()) != 497) ...'  or whatever
you need.

And if you try to disable getpid to prevent that attack, consider something
that does this:

	while (open("only_creatable_by_target_uid",O_CREAT) < 0)

You can hardly take open() away from processes. ;)

> I know many people are against the idea of adding new functions at will
> to the kernel, thats why I am trying to flesh out all the potential
> problems and find solutions to them first.

We don't mind adding functions.  We just hate broken-by-design functions.

[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

  reply	other threads:[~2008-12-04 21:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-02 23:28 New Security Features, Please Comment Geoffrey McRae
2008-12-03  0:24 ` Geoffrey McRae
2008-12-03  0:53 ` Alan Cox
2008-12-03  1:44   ` Geoffrey McRae
2008-12-03  2:11     ` David Newall
2008-12-03  2:55     ` Valdis.Kletnieks
2008-12-03  4:02       ` Geoffrey McRae
2008-12-03  4:35         ` Peter Teoh
2008-12-03  5:02           ` Geoffrey McRae
2008-12-03  6:54             ` David Newall
2008-12-03 10:29     ` Alan Cox
2008-12-03 12:42     ` Nick Andrew
2008-12-03 12:46       ` Alan Cox
2008-12-03 22:44       ` Geoffrey McRae
2008-12-03 23:08         ` Alan Cox
2008-12-03 23:27           ` Peter Teoh
2008-12-03 23:40             ` Geoffrey McRae
2008-12-04 21:56               ` Valdis.Kletnieks [this message]
2008-12-04 22:30                 ` Geoffrey McRae
2008-12-05  3:35                   ` Valdis.Kletnieks
2008-12-05  3:44                     ` Nick Andrew
2008-12-05  3:50                     ` Geoffrey McRae
2008-12-05  4:03                       ` Valdis.Kletnieks
2008-12-03 23:39           ` Miquel van Smoorenburg
2008-12-04  0:00             ` Geoffrey McRae
2008-12-04  0:22               ` Peter Teoh
2008-12-04  0:08             ` Alan Cox

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=80413.1228427770@turing-police.cc.vt.edu \
    --to=valdis.kletnieks@vt.edu \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=geoff@rabidhost.com \
    --cc=htmldeveloper@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nick@nick-andrew.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