Tetsuo Handa
from-****@I-lov*****
2008年 11月 11日 (火) 23:27:23 JST
熊猫です。 青山ダイアモンドホールでの発表から今日でちょうど3年が経ちました。 「パス名ベースのセキュリティは駄目だ」というセキュリティ専門家達による酷評に耐え、 「パス名だってセキュリティの一部を司る要因なのだから軽視すべきでない」という 考えのもと、開発を継続してきました。 TOMOYO Linux 1.6.5 では、 1.6.4 以降に判明した不具合の修正と、現在進行形の メインライン提案用 2.2.0-pre への移植を容易にするための修正が行われました。 10月末までの変更点は http://lists.sourceforge.jp/mailman/archives/tomoyo-users/2008-October/000503.html で 書きましたので、それ以降に発生した変更点のみを以下に示します。 カーネルに関して (10) カーネル 2.6.27 および 2.6.28-rc4 に対応しました。 (11) パターンマッチの不具合を修正しました。 「アルファベット1文字にマッチする \a 」および「アルファベット1文字以上に マッチする \A 」が、何故か「 A 〜 F および a-f だけにマッチする」という 大ボケな実装になっていたのを修正しました。 1.5.x では正しかったのですが、 1.6.0 の開発にあたりコーディングスタイルの修正を行った際に、 コピー&ペーストして修正するのを忘れていたようです。 1.6.0 〜 1.6.4 までは A 〜 F および a 〜 f だけにマッチしていましたが、 1.6.5 では 1.5.x と同様に A 〜 Z および a 〜 z にマッチするようになりました。 (12) execute_handler かどうかを知るためのインタフェースが追加されました。 プログラム実行時のパラメータを記録したり修正したりする用途にも使えてしまう とても便利な execute_handler ですが、カーネル内部から起動されたのか、 ユーザの手により起動されたのかを判断する術が無かったので、判断できるように /proc/ccs/.execute_handler というインタフェースを追加しました。 何故判断できるようにする必要があるかというと、ユーザの手により起動された 場合、コマンドライン引数として渡されたパラメータを信頼できないからです。 カーネル内部から起動された場合に限り、コマンドライン引数として渡された プログラムを実行するように audit-exec-param プログラムを修正しました。 (13) プロセスIDを current->pid ではなく sys_getpid() から取得するようにしました。 LKMLでの TOMOYO のレビューの中でプロセスIDに関する話があり、 グローバルなプロセスIDである current->pid よりもプロセスが属する 名前空間のプロセスIDを得られる sys_getpid() の方が適切であると判断し、 修正しました。 ツールに関して (7) ccs-editpolicy の <<< Domain Policy Editor >>> 画面の表示が速くなりました。 「 select domain=ドメイン名」というコマンドを書き込むことで、指定された ドメイン名のポリシーだけを読み書きできるようになったのに伴い、ドメインに 対するアクセス許可を編集するための画面である <<< Domain Policy Editor >>> 画面の表示が高速になりました。 (8) ccs-editpolicy_offline でポリシーにゴミが混入する不具合を修正しました。 ポリシーエディタには /proc/ccs/ 以下を編集する ccs-editpolicy と /etc/ccs/ 以下を編集する ccs-editpolicy_offline の2種類が存在します。 ccs-editpolicy_offline を実行すると、エディタの終了時にポリシーを保存する 際に、 <<< Domain Transition Editor >>> 画面で使われていたデータの一部が /etc/ccs/domain_policy.conf に混入していたことが判明しました。 (9) サンプルプログラム mailauth でゴミが出力される不具合を修正しました。 パスワードが16文字なのにバッファが16バイトしか無かったことにより パスワード文字列が終端されておらず、パスワードの末尾にゴミデータが 表示される可能性があったのを修正しました。 (10) サンプルプログラム timeauth で入力内容をエコーするようにしました。 PacSec2008 での発表で timeauth のデモを行うつもりですが、 入力されたパスワードが * になってしまうと、パスワードが間違っているのか 打鍵タイミングが間違っているのか判断できなくなるため、入力された パスワードを表示するようにしました。 ちなみに、熊猫の発表時間は11/13(木) 10:00〜11:00です。 http://pacsec.jp/agenda.html?language=en (11) サンプルプログラム env_chk を追加しました。 これも、 PacSec2008 で使うためのプログラムです。 LKMLでの 2.2.0-pre に関する議論と、 1.6.5 のリリース準備と、PacSec2008 向けの 資料作成およびデモ環境の構築という、どれも気になるタスクばかりで、 熊猫さくらにとっては経験したことのないタスクスケジューリングでした。 今日、 1.6.5 をリリースできて、ホッとしています。