[tomoyo-users 63] RussellからTOMOYO Linuxに関するコメントをもらいました

Back to archive index

Toshiharu Harada harad****@gmail*****
2006年 4月 28日 (金) 01:22:04 JST


NTTデータの原田です。4/24にRussell Coker氏を弊社茅場町に
迎えてTOMOYO Linuxのデモと議論を行いましたが、Russellより
詳しいコメント(提言)をいただきました。

Russellからもらったコメントのメール全文について、即席日本語訳と並べて
ご紹介します。なお、Russellが言及している論文は、
http://sourceforge.jp/docman2/ViewCategory.php?group_id=1973&category_id=531&language_id=1
にあるものです。それらの日本語版は、同じところの"Japanese"を選択するか、
http://d.hatena.ne.jp/keyworddiary/TOMOYO%20Linux
より参照下さい。kumanekoさんと相談の上回答をしますが、
そちらもご紹介したいと思っています。

SELinuxの部分について間違った解釈をしていればご指摘いただけると
幸いです。

---------- Forwarded message ----------
From: Russell Coker <russe****@coker*****>
Date: 2006/04/27 17:13
Subject: Tomoyo Linux

After seeing the demonstration of Tomoyo Linux and reading some of the
documentation I have some suggestions.

TOMOYO Linuxのデモおよびいくつかのドキュメントを見て、いくつかの
提案があります。

Firstly I suggest that you use the Linux auditing system for event logging.
This means that there is some commonality of tools, the auditd that ships
with Fedora (and will soon be in Debian) can be used which will save some
effort.  The following kernel compile options are used to turn this on.  The
AUDITSYSCALL option is not actually required, but is something that you will
probably want.

まず、イベントの記録についてはLinuxのauditシステムを使うのが良いと思う。
これは(適用できる)ツールの共通化という意味がある。Fedora(そしてまもなく
Debianでも)提供されるauditdを使えば自分で書く部分を減らすことができる。
そのためには以下のカーネルコンパイルオプションをonにする。AUDITSYSCALL
オプションは実際には必要ではないが、多分あなたたちが使いたいと思うものだろう。

CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y

Of course the AUDIT system requires a 2.6.x kernel (AFAIK it was not available
in 2.4.x).  This shouldn't be a problem as 2.4.x and 2.6.x have greatly
diverged anyway.

勿論AUDITシステムは2.6カーネルでないと使えない(私の知る限りでは
2.4カーネルでは使えなかったはずだ)。2.6は(良い意味において)
2.4とは非常にかけ離れたものになってしまったので、このことは
(2.6カーネルを前提とすることは)問題にならないだろう。

Next I suggest using LSM interfaces.  If you can entirely use LSM interfaces
then Tomoyo can be a candidate for inclusion in kernel.org kernels.

次にLSMに準拠(対応)することを勧める。もしLSMに準拠するように
書き直せば、TOMOYOのパッチはkernel.orgのカーネルツリーに
取り込まれる候補となることができる。

If you mostly use LSM interfaces then you will save a significant amount of
development work in terms of maintaining support for new kernels and also
save development work for everyone who wants to use your system along with
other patches.  The divergence between the Debian and Fedora kernels alone is
enough to cause a significant amount of work if LSM is not used.

もしLSMインタフェースをメインに使用するように修正すれば、今後の新たな
カーネルへの対応に必要となる労力を激減できるし、TOMOYOの機能を
取り込もうとする他のパッチの労力についても同様だ。LSMを用いれば(?)
DebianカーネルとFedoraカーネルの間の乖離だけが、ちょっとした
作業の対象となる。→LSMに準拠するメリットは承知しているのですが、
そうできない理由があります。それをRussellに説明しきれませんでした。

After those changes I suggest some changes to the core Tomoyo design.  The
first change I suggest is to have equivalence classes (let's call them
domains).  This means that "vi" and "emacs" will be considered to have
identical security properties, they will have the same access rights and the
same domain call chain will be entered for programs that they execute.  The
same would apply for "bash" and "tcsh", "more" and "less", "sed" and "grep",
and many other sets of programs with equivalent functionality.  To deny
running "emacs" because the machine ran "vi" in learning mode makes no sense.
Having two separate domains (taking more RAM) for both the editors is also
undesirable.  Page 11 of nsf2003-en.pdf seems to support my opinion in this
regard.

これらの変更の最後に、TOMOYOのコアデザインの変更を提案する。
最初の提案は、同等なクラス(という概念)を持つことだ。(ここではそれらを
ドメインと呼ぶことにしよう)これは例えば、"vi"と"emacs"がセキュリティ上は
同じ属性を持ち、同じアクセス権限を持ち、それらが実行するプログラムが
同じドメインにつながれるということだ。"bash"と"tcsh"、"more"と"less"、"sed"と
"grep"そして他の多くの等価的な機能を持つプログラム群のセットだ。
あるマシンにおいて"vi"で学習したから(学習していない)"emacs"を拒否するという
のは意味がない。(同じような機能を持つ)二つのプログラムのドメインを
(それだけ多くのRAMを消費して)持つということは、望ましくない。
NSF2003論文の11ページはこの観点で私の意見を支持している。
→Russellの言っていることはわかりますが、私はそれが利点、あるいは
必要なこととは思えないのです。

Also the paper nsf2003-en.pdf gives no rationale for the lack of circular
domain transitions.  We don't always want circular transitions, but I believe
that they are necessary in some situations.  For example the administrator
may restart sshd and then login again with the new sshd and repeat this
process any number of times.

また、NSF2003論文においては、循環するドメイン遷移が存在しないことの
根拠が示されていない。誰も循環するドメイン遷移を欲してはいないが、
いくつかの状況においては避けられないものであると考えている。
例えば、管理者がsshdを再起動し、新たなsshd経由でログインする、
その任意の繰り返しだ。→TOMOYO Linuxではこのような場合は
ループとは考えません。あまり考える必要もないように思うのですが。

The paper nsf2003-en.pdf says "access permissions have to be granted as a
union for domains that are transited by multiple domains" on page 3.  I
believe this to be a misunderstanding of the situation.  If the multiple
domains have significantly different needs then SE Linux policy can be
written such that there are multiple child domains.  For example the passed_t
domain is permitted to access all terminal types.  We could easily have
written policy for user_passwd_t, staff_passwd_t and sysadm_passwd_t domains
that each have only access to the relevant types for devpts and terminal
device nodes, however given that the passwd_t domain has read/write access to
shadow_t this doesn't seem necessary.

NSF2003論文の3ページでは、「複数の呼び出し元から遷移するドメインに対しては、
アクセス許可範囲を和集合として定義する必要がある」とある。
これは状況を誤解しているのではないか?もし複数のドメインが顕著に
異なる要求を持つならSE Linuxのポリシーは複数の子となるドメインとして
書かれるだろう。→もとの論文で言っていることは単純なのですがどうも
それがRussellに伝わっていないようです。
それぞれが関連するdevptsとターミナルデバイスノードのみにアクセスできるような
user_passwd_t, staff_passwd_t, sysadm_passwd_tのポリシーを書くことは容易だが
passwd_tドメインがshadow_tへ読み書きできるようになっていればそれは
必要とは思われない。→この部分解釈が正しいか特に自信ありません。

Page 8 of the paper nsf2003-en.pdf has the script /etc/rc3.d/S85httpd getting
write access to the /dev directory, why is that?

NSF2003論文の8ページでは、/etc/rc3.d/S85httpdが/devディレクトリに対する
書き込み権限を持っている(必要としている)ことを示しているが何故だ?
→実際に学習した結果のはずですが後で確認

Page 9 of nsf2003-en.pdf seems to be the most effective demonstration of the
limitations of the call-chain security model.

NSF2003論文の9ページはcall-chainセキュリティモデルの制限を非常に
うまく表現している。

The paper winf2005-en.pdf has some pictures of penguins in police uniform on
page 2, are there larger pictures of such uniformed penguins?

情報ワークショップ2005の論文の2ページには制服を着たペンギンの絵があるが、
もっと大きな図はないのか?→何故そんなことを聞くのか?

--
http://www.coker.com.au/selinux/   My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/  Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/    Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/  My home page

--
Toshiharu Harada
mailto:harad****@gmail*****



tomoyo-users メーリングリストの案内
Back to archive index