linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesse Pollard <jesse@cats-chateau.net>
To: Sergiy Lozovsky <serge_lozovsky@yahoo.com>, Valdis.Kletnieks@vt.edu
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: kernel stack challenge
Date: Fri, 9 Apr 2004 10:27:48 -0500	[thread overview]
Message-ID: <04040910274800.07703@tabby> (raw)
In-Reply-To: <20040408222246.49161.qmail@web40506.mail.yahoo.com>

On Thursday 08 April 2004 17:22, Sergiy Lozovsky wrote:
>
> Usual way of stack problems was - to run shell using
> security hole. Change root password or create new
> account with root UID. All these usually done with
> tools available at the system.
>
> VXE use word Environment (description of available
> resources), some systems use word Domain. There is no
> shell, ls, vi and so on in POPD Environment. So, most
> of attackers will just go away. One should be really
> motivated to master unique binary code to hack VXE
> protected system. Let's see what is possible even in
> that case.
>
> Let's assume there is a security hole in POPD. One
> should create custom binary code to inspect RAM. How
> to communicate information back to hacker? There
> should be enough code to do that. This code should not
> destroy POPD to such extent that it will end (or core
> dumped), because hacker's code will end too. (POPD
> doesn't need exec or fork for its work, so hacker
> can't call these syscalls). So, in theory it is
> possible to do some damage to particular subsystem,
> but it's nearly impossible to compromise all system.

Why shouldn't it?

It can just replace the entire code with itself.
and since you cannot prevent the use of mmap (which
is used to load the runtime libraries AND the executable)
it can still do that.

> > Unless he finds a copy of the file on the process
> > heap (more than
> > one information leakage issue has come from THAT
> > sort of problem)
>
> If you have limited number syscalls (with limited
> parameters you can call allowed syscalls) - it's VERY
> hard to do. Purpose of VXE is to protect subsystems,
> which can have security holes. In real life nobody can
> gurantee, that there are no security holes in a given
> system. Some time ago they constantly were finding
> bugs in sendmail. Nevertheless people were using it.

And they were fixing it. Not trying to make VERY kluged
work arounds in the kernel.

> > Unless he opens a new file on the system, and writes
> > a binary into
> > it, chmod's it to executable, and does a
> > pipe/fork/exec and use
> > that program's quota of opens to read it...
>
> POPD doesn't use chmod/fork/exec, so that wouldn't
> work - there are no these syscalls in POPD
> Environment. Let's assume some file was created by
> hacker in /var/spool/mailbox, so what? How that can
> damage the system. (it's the only directory where POPD
> can create/modify files).

You don't need to use chmod/fork/exec. It is entire possible
to replace the executable just by using mmap. I've already
written programs that deliberately do that (though I did use
dlopen). I've written a single binary that do anything. Including
running previously build applications.

After all - ld.so does just that during the initial load
an execed binary. All exec does is start ld.so with different
parameters... and nothing says that can't be done again.

And just not having a shell program on disk is silly - It
can be created rather easily. After all, that is what
root kits do routinely.

> > And that's just the *obvious* end runs.  As somebody
> > else noted,
> > writing the code is the easy part....
>
> So, in theory it is possible to make some damage to
> hacked subsystem (POPD for example and damaged can be
> only mailboxes), but the rest of the system will be
> intact (and there is a lot of stuff in the system
> except POPD). But in practice with such striped
> environment - without shell, editors, limited set of
> syscalls - generic hackers tools will not work. Only
> if someone will dedicate efforts to create custom
> tools for your particular site - he can damage
> mailboxes at most (in case of POPD). I think, that it
> is a pretty good result.

It would be better to use a chroot environment.

  reply	other threads:[~2004-04-09 15:28 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-04  6:48 kernel stack challenge Sergiy Lozovsky
2004-04-05  9:39 ` Helge Hafting
2004-04-05 17:05   ` Sergiy Lozovsky
2004-04-05 18:06     ` Timothy Miller
2004-04-05 17:59       ` Sergiy Lozovsky
2004-04-05 19:27         ` Valdis.Kletnieks
2004-04-05 21:14           ` Timothy Miller
2004-04-05 20:09         ` John Stoffel
2004-04-05 20:54           ` Sergiy Lozovsky
2004-04-05 21:08             ` Chris Wright
2004-04-05 21:40               ` Sergiy Lozovsky
2004-04-05 21:53                 ` Chris Wright
2004-04-05 22:22                 ` Timothy Miller
2004-04-05 23:49                   ` Sergiy Lozovsky
2004-04-06 13:25                     ` Jesse Pollard
     [not found]                     ` <20040406132750$3d4e@grapevine.lcs.mit.edu>
     [not found]                       ` <mit.lcs.mail.linux-kernel/20040406132750$3d4e@grapevine.lcs.mit.edu>
2004-04-06 16:40                         ` Patrick J. LoPresti
2004-04-06 19:10                           ` Timothy Miller
2004-04-06 20:53                             ` Patrick J. LoPresti
2004-04-06 21:24                               ` Timothy Miller
2004-04-07 14:36                           ` Jesse Pollard
2004-04-05 21:28             ` Timothy Miller
2004-04-05 21:21               ` Stephen Smoogen
2004-04-05 22:25                 ` Timothy Miller
2004-04-05 21:30               ` Sergiy Lozovsky
2004-04-05 21:45                 ` Kevin Fox
2004-04-05 21:59                 ` Robin Rosenberg
2004-04-05 22:52                   ` Sergiy Lozovsky
2004-04-06  0:46                     ` Robin Rosenberg
2004-04-06  0:55                     ` Robin Rosenberg
2004-04-06  3:02                       ` Sergiy Lozovsky
2004-04-06  3:04                         ` Randy.Dunlap
2004-04-05 22:20                 ` Timothy Miller
2004-04-05 23:27                   ` Sergiy Lozovsky
2004-04-06 20:16                 ` Horst von Brand
2004-04-06 20:58                   ` Timothy Miller
2004-04-06 22:05                     ` Sergiy Lozovsky
2004-04-06 22:56                       ` Timothy Miller
2004-04-06 23:17                         ` Sergiy Lozovsky
2004-04-08 13:11                           ` Martin Waitz
2004-04-08 22:33                             ` Sergiy Lozovsky
2004-04-07  2:44                       ` Horst von Brand
2004-04-07 17:54                         ` Sergiy Lozovsky
2004-04-08  2:43                           ` Horst von Brand
2004-04-08  4:07                             ` Sergiy Lozovsky
2004-04-08  4:29                               ` Horst von Brand
2004-04-08 22:51                                 ` Sergiy Lozovsky
2004-04-08 15:44                               ` Valdis.Kletnieks
2004-04-08 22:22                                 ` Sergiy Lozovsky
2004-04-09 15:27                                   ` Jesse Pollard [this message]
2004-04-05 21:12         ` Timothy Miller
2004-04-06 13:32     ` Helge Hafting
2004-04-06 17:44       ` Sergiy Lozovsky
2004-04-07  1:02         ` Horst von Brand
2004-04-07  1:34           ` Sergiy Lozovsky
2004-04-07  8:57             ` David Weinehall
2004-04-07 13:38               ` Chris Friesen
2004-04-07 17:12                 ` Sergiy Lozovsky
2004-04-07 17:16               ` Sergiy Lozovsky
2004-04-07  2:30           ` viro
2004-04-06 18:33       ` Jamie Lokier
2004-04-06 18:51         ` Sergiy Lozovsky
     [not found] <1H9LV-5Jb-1@gated-at.bofh.it>
2004-04-04 11:27 ` Andi Kleen
2004-04-04 18:24   ` Sergiy Lozovsky
2004-04-04 18:38     ` Muli Ben-Yehuda
     [not found] <200404052043.i35KhDvS020176@turing-police.cc.vt.edu>
2004-04-05 21:06 ` Sergiy Lozovsky
     [not found] <200404052026.i35KQh5g004342@eeyore.valparaiso.cl>
2004-04-05 21:21 ` Sergiy Lozovsky
2004-04-06 20:01   ` Horst von Brand
     [not found] <200404061606.i36G6YLE003375@eeyore.valparaiso.cl>
2004-04-06 18:04 ` Sergiy Lozovsky
2004-04-06 18:28   ` John Stoffel
2004-04-06 18:48     ` Sergiy Lozovsky
2004-04-06 18:57   ` Richard B. Johnson
2004-04-06 21:15     ` Sergiy Lozovsky
2004-04-06 22:44       ` Timothy Miller
2004-04-06 22:57         ` viro
2004-04-06 23:32           ` Sergiy Lozovsky
2004-04-06 23:45             ` Robin Rosenberg
2004-04-07  2:25       ` Horst von Brand
     [not found] <200404061618.i36GIHgW003419@eeyore.valparaiso.cl>
2004-04-06 18:16 ` Sergiy Lozovsky
2004-04-06 20:01   ` Valdis.Kletnieks
2004-04-06 21:38     ` Sergiy Lozovsky
2004-04-06 22:46       ` Timothy Miller
     [not found] <24DA9B48-8827-11D8-87A5-000A9585C204@able.es>
2004-04-07  0:27 ` Sergiy Lozovsky
     [not found] <58907794@toto.iv>
2004-04-07  4:29 ` Peter Chubb
     [not found] <20040409182517.330.qmail@web40508.mail.yahoo.com>
2004-04-10  4:17 ` Horst von Brand

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=04040910274800.07703@tabby \
    --to=jesse@cats-chateau.net \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=serge_lozovsky@yahoo.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;
as well as URLs for NNTP newsgroup(s).