Linux Kernel Watch番外編:
LinusもキレたセキュアOS論争

セキュリティをやってるやつらは狂っている?!


中村 雄一
日本SELinuxユーザ会
2007/10/31


 LSM――選択の自由を残すための「セキュア・プラグイン」

 LSMとは、さまざまなセキュアOSが共存できるように設けられた仕組みです。LSMの仕組みを図1に示します。Linuxカーネルの中には、セキュリティチェックのための関数ポインタが埋め込まれています。例えば、ファイルを開くシステムコールのコードの中には、セキュリティチェックのための関数ポインタが埋め込まれています。セキュアOSが無効な場合は、関数ポインタは空の処理を指しています。この関数ポインタの指す場所を変えれば、セキュアOSを簡単に入れ替えることができます。

図1 Linusの提案から生まれたLSM
    これにより、LinuxはさまざまなセキュアOSをサポートできるようになる。

 SELinuxを使う場合は、関数ポインタはSELinuxのセキュリティチェック関数を指します。AppArmorを使う場合は、関数ポインタはAppArmorのセキュリティチェック関数を指します。そして、セキュアOS特有のソースコードについては、「security/<セキュアOS名>サブディレクトリ」に格納するようにします。こうしておけば、Linuxカーネルのソースコードに複数のセキュアOSが共存し、ユーザが選択できるようになります。

 結果――セキュアOS議論が勃発

 このLSMは、カーネル2.5にマージされました。LSMに対応した初のセキュアOSとして登場したSELinuxも、2003年8月にカーネル2.6にマージされました。しかしその後、カーネル本体にマージされたセキュアOSはSELinuxのみという状況が続きました。そこで、2006年になり、SELinuxの開発者であるJames Morrisが、LSMをなくして、セキュアOSをSELinuxだけにしては? という提案をしました。

【James Morrisによる提案】

Subject:Time to remove LSM
http://lkml.org/lkml/2006/4/17/82


【参考記事】

2006年5月版 「LSM不要論」に揺れるSELinux&AppArmor

http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch05a.html

 理由としては、セキュアOSとしてはSELinuxだけで十分であること、LSMが残っているとセキュリティ的に問題のあるメカニズムがカーネルにマージされる恐れがあることなどを挙げています。

 この提案がきっかけで、AppArmorもLKMLに提出されました。LSMがなくなってしまっては、AppArmorは永久にLinuxカーネルに入らなくなってしまうからです。AppArmorは、Immunix社で開発されたセキュアOSで、SELinuxに比べて使い勝手を重視したものになっており、SUSE Linuxに取り込まれています。そして、SELinuxの支持者との間で大議論が勃発しました。お互いの思想がすれちがい、議論は平行線をたどっていきました。この思想の違いは「セキュアOSの思想」第3回に詳しいです。

 その後、何度かAppArmorが再提案され、日本からもTOMOYO Linuxが提案されましたが、同じような議論が繰り返されるだけで、進展はありませんでした。LSMがなくならない代わりに、SELinux以外のものがマージされることもありませんでした。こうして、議論は停滞し、SELinux以外のセキュアOSにとっては厳しい時期が続いていました。

 2007年に入り、AppArmorが再び提案されたとき、Linuxカーネル開発に大きな影響力を持つAndrew Mortonが現れ、マージに向けた議論を始めようとしました。

【Andrew Mortonの投稿】

Subject Re: [AppArmor 00/44] AppArmor security module overview
http://lkml.org/lkml/2007/6/26/471

 ただ、大議論になってしまったことに彼もボヤいています。

“Sigh. Please don't put us in this position again. Get stuff upstreambefore shipping it to customers, OK?”

ふう……。こんな状況にわれわれを追いやらないでください。
顧客に出荷する前【注】に、カーネル本体に入れるようにしてください。

LKMLより引用)

【注】
当時AppArmorはNovell社を中心にメンテナンスされており、商用ディストリビューションであるSUSE Linuxに入っていた

 しかし、なおもSELinux陣営からの反発は収まらず、AppArmorがマージされることはありませんでした。

2/3

Index
Linux Kernel Watch番外編:LinusもキレたセキュアOS論争
セキュリティをやってるやつらは狂っている?!
  Page1
きっかけはLinusの発言
キーワードは「LSM」
2001年にさかのぼると
Page2
LSM――選択の自由を残すための「セキュア・プラグイン」
結果――セキュアOS議論が勃発
  Page3
Linus登場「セキュリティをやってるやつらは狂っている」?!
その言葉で変わる雰囲気――セキュアOSにとっては追い風?

関連記事
  2007年10月版 あんなコアいいな、吐けたらいいな
  連載:セキュアOSの思想
  連載:Linux Kernel Watch(Linuxフォーラム)
  2006年5月版 「LSM不要論」に揺れるSELinux&AppArmor

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間