public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Fedyk <mfedyk@matchmail.com>
To: Grigor Gatchev <grigor@zadnik.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: A Layered Kernel: Proposal
Date: Tue, 24 Feb 2004 14:54:06 -0800	[thread overview]
Message-ID: <403BD60E.2060501@matchmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0402242147460.11666-100000@lugburz.zadnik.org>

Grigor Gatchev wrote:
> Advantages
> 
> Improved source: A well defined inter-layer interface separates logically
> the kernel source into more easily manageable parts. It makes the testing
> easier. A simple and logical lower layer interface makes learning the
> base and writing the code easier; a simple and logical upper layer
> interface enforces and helps clarity in design and implementation. This
> may attract more developers, ease the work of the current ones, and
> increase the kernel quality while decreasing the writing efforts. The
> earlier this happens, the better for us all.
> 

There is already a lot of layering in the kernel.  It seems to be doing 
what you propose to some extent.

> Anti-malware protection: Sources of potentially dangerous content can be
> filtered between the kernel layers by hooked or compiled-in modules. As
> with most other advantages, this is achievable in a non-layered kernel
> too, but is more natural in a layered one. Also, propagation of malware
> between layers is mode difficult.
> 
> Security: A layer, eg. Personality, if properly written, is eventually a
> sandbox. Most exploits that would otherwise allow a user to gain
> superuser access, will give them control over only this layer, not over
> the entire machine. More layers will have to be broken.
> 
> Sandboxing: A layer interface emulator of a lower, eg. Resources layer
> can pass a configurable "virtual machine" to an upper, eg. Personality
> layer. You may run a user or software inside it, passing them any
> resources, real or emulated, or any part of your resources. All
> advantages of a sandbox apply.

Not true.  What you are asking for is userspace protection to kernel 
modules.  You won't get that unless you use a micro-kernel approach, or 
run different parts of the kernel on different (to be i386 arch 
specific) ring in the processor.  Once you get there, you have to deal 
with the various processor errata since not many OSes use rings besides 
0 and 3 (maybe ring 1?).

> User nesting: The traditional Unix user management model has two levels:
> superuser (root) and subusers (ordinary users). Subusers cannot create
> and administrate their subusers, install system-level resources, etc.
> Running, however, a subuser in their own virtual machine and Personality
> layer as its root, will allow tree-like management of users and resources
> usage/access. (Imagine a much enhanced chroot.)
> 

That is differing security models, and it's being worked on with (I 
forget the term) the security module framework.

> Platforming: It is much easier to write only a Personality layer than an
> entire kernel, esp. if you have a layer interface open standard as a
> base. Respectively, it's easier to write only a Resources layer, adding a
> new hardware to the "Supported by Linux" list. This will help increasing
> supported both hardware and platforms. Also, thus you may run any
> platform on any hardware, or many platforms concurrently on the same
> hardware.
> 

There is arch specific, and generic setions of the kernel source tree 
already.  How do you want to improve upon that?

> Heterogeneous distributed resources usage: Under this security model,
> networks of possibly different hardware may share and redistribute
> resources, giving to the users resource pools. Pools may be dynamical,
> thus redistributing the resources flexibly. This mechanism is potentially
> very powerful, and is inherently consistent with the open source spirit
> of cooperativity and freedom.

Single system image clusters are hard enough where each node is the same 
  arch, and very hard, or almost impossible when dealing with mixed 
processor arch or 32/64 bit processors.

See OpenSSI and OpenMosix.

Mike

  parent reply	other threads:[~2004-02-24 22:54 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-24 20:05 A Layered Kernel: Proposal Grigor Gatchev
2004-02-24 22:31 ` Rik van Riel
2004-02-25  9:08   ` Grigor Gatchev
2004-02-25 12:52     ` Rik van Riel
2004-02-25 13:23       ` Richard B. Johnson
2004-02-25 15:08         ` Grigor Gatchev
2004-02-25 15:42           ` Richard B. Johnson
2004-02-25 16:01             ` Nikita Danilov
2004-02-25 19:25               ` Christer Weinigel
2004-02-25 19:46                 ` Grigor Gatchev
2004-02-25 23:40                   ` Timothy Miller
2004-02-26  0:55                     ` Rik van Riel
2004-02-26 15:43                       ` Jesse Pollard
2004-02-26 17:12                         ` Rik van Riel
2004-02-27  9:45                           ` Grigor Gatchev
2004-02-26 11:03                     ` Grigor Gatchev
2004-02-26  5:59                   ` jw schultz
2004-02-29 12:32                   ` Christer Weinigel
2004-02-29 14:48                     ` Grigor Gatchev
2004-03-01  6:07                       ` Mike Fedyk
2004-03-06 18:51                     ` Grigor Gatchev
2004-03-08  3:11                       ` Mike Fedyk
2004-03-08 12:23                         ` Grigor Gatchev
2004-03-08 17:39                           ` Theodore Ts'o
2004-03-08 20:41                             ` viro
2004-03-09 19:12                             ` Grigor Gatchev
2004-03-09 21:03                               ` Timothy Miller
2004-03-09 23:24                               ` Mike Fedyk
2004-03-08 18:41                           ` Mike Fedyk
2004-03-08 21:33                           ` Paul Jackson
2004-02-25 14:44       ` Grigor Gatchev
2004-02-24 22:54 ` Mike Fedyk [this message]
2004-02-25 10:03   ` Grigor Gatchev
2004-02-25 19:58     ` Mike Fedyk
2004-02-25 21:59       ` Grigor Gatchev
2004-02-25 22:22         ` Mike Fedyk
2004-02-26 11:46           ` Grigor Gatchev
2004-02-26 12:17             ` Jens Axboe
2004-02-26 16:37               ` Grigor Gatchev
2004-02-26 18:12                 ` Christoph Hellwig
2004-02-26 19:23             ` Mike Fedyk
2004-02-27 11:18               ` Grigor Gatchev
2004-02-27 18:05                 ` Tim Hockin
2004-02-27 18:34                   ` Richard B. Johnson
2004-02-27 18:27                 ` Mike Fedyk
2004-02-28  0:26                 ` Rik van Riel
  -- strict thread matches above, loose matches on Subject: below --
2004-02-24 20:28 Carlos Silva

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=403BD60E.2060501@matchmail.com \
    --to=mfedyk@matchmail.com \
    --cc=grigor@zadnik.org \
    --cc=linux-kernel@vger.kernel.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