Kensuke Nezu
nez****@samba*****
2007年 8月 9日 (木) 13:55:56 JST
根津です。 On 2007年 8月 9日 (木) 13:03, from-****@i-lov***** wrote: > 熊猫です。 > > (1) /proc/{ccs,tomoyo}/version から > カーネルがサポートしているポリシーのバージョン番号を取得できるようにする。 > > (2) カーネルがサポートしているポリシーのバージョン番号が同じなのに > サポートされている構文がカーネルコンフィグに依存しないようにするために、 > カーネルコンフィグで各機能(CONFIG_TOMOYO_MAC_FOR_FILE CONFIG_TOMOYO_MAC > _FOR_ARGV0 等)の > 選択を行わせないようにする。 ここまでは賛成。 > (3) サポートしているポリシーのバージョン番号は複数表示できるようにする。 > 例えばポリシーのバージョン 1 と 2 と 3 が定義されており、 > バージョン 3 はバージョン 2 を完全に包含している > (バージョン 2 のポリシーをバージョン 3 のカーネルで使える)場合は > 2 3 の両方を表示する。 > バージョン 3 がバージョン 2 を完全には包含していない > (バージョン 2 のポリシーをバージョン 3 のカーネルで使えない)場合は > 3 だけを表示する。 これは、 /proc/ccs/acceptpolicy とかを読み出すと、 "1,2,3" みたいに返ってくる? > (4) ポリシー構文チェッカの checkpolicy の引数にポリシーのバージョン番号を > 指定するようにして、定義されている全てのバージョンのポリシーをチェックで > きるようにする。 賛成します。 > (5) ポリシーローダ( /sbin/{ccs,tomoyo}-init )の処理を以下のように変更する。 > > 変更前 > (1) ポリシーファイルを /proc/{ccs,tomoyo}/ インタフェースに流し込む。 > サポートされていない構文やエラーを含む行はカーネルにより読み捨てら > れる。 > > 変更後 > (1) /proc/{ccs,tomoyo}/version からサポートされているポリシーのバージョ > ン番号を取得する。 サポートしているバージョンのリストなんだから、versionってファイル名はヘン。 acceptpolicyとかにして欲しいです。 > (2) /etc/{ccs,tomoyo}/ にあるポリシーファイルの内容をポリシー構文チェッ > カ > checkpolicy に流し込み、問題が無いことを確認する。 ここは思い切り反対します。 理由: 1.カーネルのユーザランドヘルパーアプリケーションが増えるのはセキュリティ 上の脆弱性を内在する理由になる。 2.毎回、起動のたびに何度もポリシーのバージョンをチェックするコストは ポリシがでかくなると我慢しがたくなりそうでいやだ。 3.カーネル読み込み時にはエラーにならないことが確実にできるにしても、 結局ローダの延長線上で拒否しなくちゃいけなくなって、それで、 > (2) init= を用いてポリシーローダを実行しない( call_usermodehelper() に実行 > させる)場合、 > 標準入出力が無いのでポリシーに問題があってもエラーメッセージを表示できな > い。 > そのため、問題があった場合、エラーメッセージを表示できないままポリシーロー > ダの中で永遠にスリープするか > ポリシーをロードできないままポリシーローダが終了することでカーネルパニッ > クするかしか選択肢がない。 こんな問題がおきるんですから・・・。 それくらいなら、一度、ポリシーファイルを「コンパイル」してデジタル署名 をつけるようにして(MD5?)、改ざん防止の仕組みを作りこむ・・・そのときに ポリシーバージョンもあわせてチェックしてしまう・・・とかの方がよほど きれいです。 #もっとも、これは1、x系はfreezeなので2.x系での実現になるんでしょうが。 -- ------ 根津 研介 日本Sambaユーザ会/NTTデータ先端技術(株) Microsoft MVP for Windows Security(Apr 2005 - Mar 2008) 802.11セキュリティサイト:http://www.famm.jp/wireless ※「SELinuxシステム管理―セキュアOSの基礎と運用」 http://www.oreilly.co.jp/books/4873112257/ ※「実用SSH第2版−セキュアシェル徹底活用ガイド」 http://www.oreilly.co.jp/books/4873112877/