From: Toshiharu Harada <haradats@nttdata.co.jp>
To: linux-kernel@vger.kernel.org
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
akpm@linux-foundation.org, linux-security-module@vger.kernel.org,
Kentaro Takeda <takedakn@nttdata.co.jp>
Subject: Re: [TOMOYO #7 00/30] TOMOYO Linux 1.6.0 released
Date: Thu, 24 Apr 2008 14:28:17 +0900 [thread overview]
Message-ID: <48101A71.3020403@nttdata.co.jp> (raw)
In-Reply-To: <20080404122242.867070732@I-love.SAKURA.ne.jp>
After examining the feedback to our latest patches and some personal
suggestions sent via e-mail, we came to realize we took totally
wrong way to propose another access control implementation.
I apologize for that and thank people for comments and suggestions
from the bottom of my heart.
The following Jonathan's LWN article is a real *great*, in-depth
explanation of TOMOYO Linux and pathname-based security history.
http://lwn.net/Articles/277833/
As was described in the article, I am planning to take the Stephen's
"option 2" approach.
> 2) Submit patches to add new security hooks to the callers where the
> vfsmount is already available (some have suggested moving the existing
> security_inode hooks to the callers, but that would cause problems for
> SELinux as I've posted elsewhere, so adding new hooks is preferable, and
> then SELinux can just default to the dummy functions for those new
> hooks).
This approach should not require large impacts on VFS and filesystems.
The work is in progress. Our next patch will include:
- new LSM hooks for TOMOYO Linux
- the smallest set of hooks (to save reviewers' time)
BTW, we have attended the ELC2008 and listened to the Andrew's keynote.
Yes, we were encouraged deeply, again. We, TOMOYO Linux developers,
are serious about getting our code into the mainline, we will
continue working like Casey (and "ask him" in case of trouble).
We will be back (with our new patches). :)
Cheers,
Toshiharu Harada
NTT DATA CORPORATION
On 4/4/2008 9:22 PM, Tetsuo Handa wrote:
> What is TOMOYO Linux for?
>
> It is userland applications' charge to keep processes under control.
> This includes that userland applications restrict what programs are
> permitted to execute and what files are permitted to read/write
> by the application.
> Thus, the kernel does whatever asked by the userland applications.
>
> But userland applications often make mistakes such as buffer overflow,
> OS command injection, directory traversal etc.
> As a result, they can't always keep processes under control.
>
> TOMOYO Linux is developed to take partial charge of keeping processes
> under control, by teaching the kernel what programs are
> permitted to execute and what files are permitted to read/write
> by the application and letting the kernel check it once again.
>
> Can TOMOYO Linux coexist with SELinux, SMACK, AppArmor etc. ?
>
> Yes. TOMOYO Linux 1.x is not using LSM because I want don't want to disable
> different access control implementations.
>
> TOMOYO Linux is good at dealing with the subject's request chains,
> while LSM is good at dealing with object's life-cycle.
>
> What are new features of this release?
>
> This release reinforced execution parameter checks.
>
> Introduced execute handler mechanism.
>
> The usage of TOMOYO Linux is that understand what programs are executed and
> what files are opened by individual applications and let the kernel
> enforce them. Thus, assuming that all programs needed by individual
> applications are known by the time of enforcing, attempts to execute
> not ever observed application (e.g. /bin/sh) are considered to be attacks.
>
> Some shellcode (an exploit code used to execute /bin/sh) attempts to
> execute /bin/sh until the execution succeeds. One of such shellcodes is
> Samba's trans2open exploit. It attempts to execute /bin/sh from infinite
> loop. As a result, just rejecting execute request of /bin/sh triggers
> CPU power consumption problem (all CPU powers are eaten by the shellcode's
> infinite loop).
>
> But by using execute handler, you can run different programs instead of
> just rejecting execute request to redirect the process to somewhere else.
>
> This redirection mechanism is useful for deploying on demand honey pot.
> You can provide regular service in peacetime, and you can redirect
> the attacker trying to start /bin/sh to honey pot in wartime.
>
> Also, since the fact that a program which is different from the requested
> one is executed by execute handler is not notified to the caller process,
> you can use execute handler as a transparent validation interface
> like "Web Application Firewall" or "AntiVirus". You can monitor
> parameters passed to execve() and stdio to drop unwanted parameters or
> reject the execution of the program requested by the caller process.
>
> Introduced "struct linux_bprm" checks.
>
> Proper codes tends to setting up argv[] and envp[] when executing
> a new program. But shellcodes tend to not setting up argv[] and envp[]
> when executed using buffer overflows.
> Thus, it became possible to require specific argv[] and envp[] values
> when executing a program.
>
> Introduced environment variable names checks.
>
> Some environment variables (e.g. LD_PRELOAD) are used by attackers to make
> the application behave differently.
> Thus, it became possible to restrict acceptable environment variable's
> names passed to execve().
>
> And various usability enhancement like more detailed access logs and
> policy management by non root user.
>
> Is TOMOYO Linux architecture independent?
>
> Yes. I think TOMOYO Linux doesn't contain architecture dependent code.
> TOMOYO Linux touches only surface of the kernel code.
>
> Are older kernels supported?
>
> Yes. From 2.4.30 to 2.4.36 and from 2.6.11 to 2.6.25-rc7 are supported.
> Also, various distributions' latest kernels are supported.
>
> Where's the web page?
>
> http://elinux.org/TomoyoLinux
> http://tomoyo.sourceforge.jp/wiki-e/?WhatIs
> http://sourceforge.jp/projects/tomoyo/document/fosdem2008.pdf
>
> TOMOYO Linux is compact and suits well to PC servers and embedded systems.
> There is a TOMOYO Linux presentation at CELF Embedded Linux Conference 2008
> held in California from April 15th to the 17th.
>
> Thank you.
next prev parent reply other threads:[~2008-04-24 5:28 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-04 12:22 [TOMOYO #7 00/30] TOMOYO Linux 1.6.0 released Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 01/30] TOMOYO Linux documentation Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 02/30] Internal functions prototypes for SAKURA and TOMOYO Tetsuo Handa
2008-04-04 15:29 ` Daniel Walker
2008-04-07 13:56 ` [TOMOYO #7 02/30] Internal functions prototypes for SAKURA andTOMOYO Tetsuo Handa
2008-04-07 15:24 ` Daniel Walker
2008-04-04 12:22 ` [TOMOYO #7 03/30] Constants for /proc/ccs/ interface Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 04/30] Prototypes of realpath Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 05/30] External functions prototypes for SAKURA Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 06/30] External functions prototypes for TOMOYO Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 07/30] Some wrapper functions for socket operation Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 08/30] Some of permission checks from VFS helper functions Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 09/30] Access control part of tamper-proof device filesystem Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 10/30] Common functions for SAKURA and TOMOYO Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 11/30] /proc/ccs/ interface for policy management Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 12/30] Memory and pathname management functions Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 13/30] mount restriction part Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 14/30] Shadow mount prevention part Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 15/30] Automatic bind port selection control part Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 16/30] Unmount restriction part Tetsuo Handa
2008-04-04 12:22 ` [TOMOYO #7 17/30] chroot " Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 18/30] pivot_root " Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 19/30] Auditing functions for TOMOYO Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 20/30] Socket operation restriction part Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 21/30] Capability " Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 22/30] Conditional ACL support functions Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 23/30] argvrestriction part Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 24/30] File operation restriction part Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 25/30] Signal " Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 26/30] Domain transition handler Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 27/30] Environment variable restriction part Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 28/30] Filesystem part of tamper-proof device filesystem Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 29/30] Kconfig and Makefile Tetsuo Handa
2008-04-04 12:23 ` [TOMOYO #7 30/30] Hooks for SAKURA and TOMOYO Tetsuo Handa
2008-04-04 16:29 ` Daniel Walker
2008-04-07 13:56 ` Tetsuo Handa
2008-04-07 15:39 ` Daniel Walker
2008-04-07 15:40 ` Paul Moore
2008-04-07 22:57 ` Casey Schaufler
2008-04-09 8:37 ` Toshiharu Harada
2008-04-09 12:49 ` Stephen Smalley
2008-04-10 5:57 ` Toshiharu Harada
2008-04-10 12:51 ` Stephen Smalley
2008-04-11 11:48 ` Toshiharu Harada
2008-04-09 13:11 ` Matthew Wilcox
2008-04-09 13:26 ` Stephen Smalley
2008-04-11 14:12 ` Tetsuo Handa
2008-04-11 14:30 ` Matthew Wilcox
2008-04-12 11:33 ` Tetsuo Handa
2008-04-13 16:36 ` Serge E. Hallyn
2008-04-14 2:05 ` Crispin Cowan
2008-04-14 14:17 ` Stephen Smalley
2008-04-14 17:05 ` Casey Schaufler
2008-04-15 11:14 ` Tetsuo Handa
2008-04-15 16:32 ` Casey Schaufler
2008-04-17 7:24 ` Crispin Cowan
2008-04-16 19:13 ` Pavel Machek
2008-04-17 11:58 ` Tetsuo Handa
2008-04-17 17:46 ` Pavel Machek
2008-04-18 13:21 ` Serge E. Hallyn
2008-04-15 4:59 ` Crispin Cowan
2008-04-16 16:31 ` Stephen Smalley
2008-04-17 7:49 ` Crispin Cowan
2008-04-17 8:45 ` Jamie Lokier
2008-04-17 12:42 ` Stephen Smalley
2008-04-15 13:00 ` Toshiharu Harada
2008-04-14 1:41 ` Crispin Cowan
2008-04-14 13:48 ` Matthew Wilcox
2008-04-15 3:21 ` Crispin Cowan
2008-04-15 4:57 ` Al Viro
2008-04-09 13:22 ` Serge E. Hallyn
2008-04-11 3:57 ` Toshiharu Harada
2008-04-24 5:28 ` Toshiharu Harada [this message]
2008-04-24 14:48 ` [TOMOYO #7 00/30] TOMOYO Linux 1.6.0 released Serge E. Hallyn
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=48101A71.3020403@nttdata.co.jp \
--to=haradats@nttdata.co.jp \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=takedakn@nttdata.co.jp \
/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