Tetsuo Handa
from-****@i-lov*****
2009年 6月 10日 (水) 11:58:32 JST
熊猫です。 Shinpei Nakata さんは書きました: > こんにちは。はじめて投稿します。 > nakataともうします。 > 現在、セキュアOSについて研究をしている大学院生です。 いらっしゃいませ〜。 > ズバリ、セキュリティの観点からいまのSELinuxだと防げなくて、TOMOYOだと > 防げるという攻撃は存在しますか?? > Policy記述さえがんばれば、TOMOYOで実現していることをSELinuxでもできるのでは > ないかと疑問を持っています。 昔、 SELinux の人たちが同じことを考えていました。 2006年に AppArmor という TOMOYO とよく似たパス名ベースのアクセス制御機構が LKMLに提案されたとき、最初は「パス名なんていう脆い情報に基づいたアクセス 制御なんて最悪だ」とか「 SELinux で AppArmor の動作をエミュレートできるから AppArmor は不要だ」とかのように叩かれっぱなしでした。 SELinux 陣営にとっては 「情報フローを数学的に解析でき制御できること」が重要であり、 SELinux 陣営は セキュリティにおけるパス名の役割について認識していなかったのです。そして、 AppArmor 陣営や TOMOYO 陣営はセキュリティにおけるラベルの役割について認識 していなかったのです。お互いに相手の利点を知らずに罵りあう、不毛な口論が 続きました。 セキュアOSは大きく分けて、ラベル方式( SELinux や SMACK など)とパス名方式 ( AppArmor や TOMOYO など)があります。 ラベル方式にはパス名方式では実現できない機能(例:ファイルのハードリンクや 名称変更が生じても一貫した読み書き実行の可否を判断できる)があり、パス名方式 にはラベル方式では実現できない機能(例:存在してよい名前を制限することで 想定外の用途で使われたり想定外の振る舞いを生じさせないようにすることができる) があります。 http://lkml.org/lkml/2009/3/26/411 には TOMOYO Linux のマージを決断した James Morris のコメントがあります。 > It's also an inherent aspect of pathname security, an issue which > has been resolved in favour of inclusion in the kernel. AppArmor 陣営は、「ラベルとパス名とどちらが簡単か」という主張をしてしまったため マージされませんでしたが、 TOMOYO 陣営は「パス名にしかできないこともあるんだ」 という主張を(国際会議などのオフラインイベントを通じて)行ってきたためマージ されました。もし、ラベル方式がすべての側面でパス名方式よりも勝っていたら、 TOMOYO Linux がマージされることは無かったでしょう。 > (Sourceforge上にあがっている資料はすべて目を通しました) 最近は英語版の資料 ( http://sourceforge.jp/projects/tomoyo/docs/?category_id=532&language_id=1 ) ばかり作っていたので、日本人の間でもほとんど知られていないのですが、 20080510 Why TOMOYO Linux? http://sourceforge.jp/projects/tomoyo/docs/tlug200805.pdf では 「オブジェクトにラベルを割り当てることはできるが、オブジェクトの中に 含まれているバイト列にラベルを割り当てることはできない。オブジェクトの中に 含まれているバイト列がユーザ空間にコピーされた後、どのように伝播していくかは ユーザやプログラムの振る舞いに完全に依存している。だから、(カーネル内で 行われているアクセス制御が)望まない相手へと情報が伝播しないことを証明する ことは不可能だ。」という主張をしています。 20080710 The role of "pathname based access control" in security. http://sourceforge.jp/projects/tomoyo/docs/lfj2008-bof.pdf では 「ラベルベースのアクセス制御はオブジェクトの名前の変化の影響を受けない という利点があるが、だからといってオブジェクトの名前の変化を無視することは 危険である。なぜなら、オブジェクトの名前の変化は、そのオブジェクトがどのように 使われるか(オブジェクトの中に含まれているバイト列がどのように伝播していくか) の変化を引き起こす場合があるからである。」という主張をしています。 20090120 Deep inside TOMOYO Linux http://sourceforge.jp/projects/tomoyo/docs/lca2009-kumaneko.pdf は「20080710 The role of "pathname based access control" in security.」の内容を TOMOYO を用いたソリューションとして書き直したものです。 SELinux に不足している 部分を補う存在としての TOMOYO について紹介しています。 > 私の研究は複数のLSMを組み合わせてなにができるか考えてみよう。というものなのですが、 現時点ではLSMは排他的仕様になっているため、 SELinux や SMACK とLSM版の TOMOYO とを組み合わせて使うことができません。 非LSM版の TOMOYO もありますので、どうぞお試しください。