日本発世界へ、
TOMOYO Linux カーネルマージまでの道のり



高橋 睦美
@IT編集部
2009/6/16


顔つき会わせてのコミュニケーションも重要

 Linuxカーネルは、メーリングリストを介したオンラインの議論の積み重ねの中から産まれてくる。だが意外なことに、オンラインの議論だけでなく、オフラインでLKMLの主要メンバーと顔と顔を付き合わせて話をした経験も重要だという。

 TOMOYO Linuxプロジェクトでは、メインライン化への挑戦と並行してさまざまな機会を捉えては紹介を行ってきた。海外のカンファレンスにも積極的に参加し、11回におよぶ講演、発表を行ったという。中でも「振り返ると『オタワ』が大きな転機になったと思います」と原田氏。

 オタワとは、Linux開発者が集う一大イベント「Ottawa Linux Symposium(OLS)」のことだ。原田氏らは、2007年のOLSでBOF(Birds Of a Feather)を開催し、TOMOYO Linuxを紹介。そこで、SELinuxのメンテナであるStephen Smalley氏と直接議論する機会を得た。翌2008年のオタワでもBOFを実施し、Stephen Smalley氏やTOMOYO Linuxに先立ちメインラインに採用されていた「SMACK」の作者であるCasey Schaufler氏などから助言をもらっている。

関連記事:
オタワで聞いた“Thanks to Japanese Community”の声(@IT Security&Trust)

 マージに向けた投稿と修正の繰り返しの中で、こうしたカンファレンスで培った人脈が後になって効いてきたという。

 例えば原田氏は、2008年7月に日本で開催された「Linux Foundation Japan #8 Symposium」でもTOMOYO Linuxのメインライン化に向けた取り組みをテーマに講演を行ったが、その際、来日したカーネルメンテナのAndrew Morton氏やPaul Moore氏、SELinuxのプロジェクトリーダーで、セキュリティ関連のメンテナであるJames Morris氏らと話をする機会を得た。Paul Moore氏はTOMOYO Linuxに対してさまざまな提案を寄せてくれたし、Andrew Morton氏と知己を得たことが、TOMOYO Linuxマージに向けた最後の難関を打開する大きな助けになったという。

 当時、TOMOYO Linuxのメインライン化に当たって最後の課題となっていたのが、LSM周りに対する変更の提案だった。

 LSMとは、カーネル2.6から導入された、複数のセキュリティ機構を搭載するためのフレームワークだが、当初はSELinux(=ラベル方式)のみの搭載を考慮していたこともあり、そのままではTOMOYO Linuxの搭載が困難だった。そして、ファイルシステム関連機能のメンテナであるAl Viro氏は、パス名方式のためにLSMを拡張する変更案をなかなか受け付けてくれなかった。

 何度質問を投げても返事が返ってこずに途方に暮れていたTOMOYO Linuxにとって助け船となったのが、前述のAndrew Morton氏だ。来日したAndrew Morton氏に、Embedded Linux Conference(ELC)での基調講演の内容を引き合いに出して、「Al Viro氏のOKが得られず困っているんです」と相談したところ、同氏は約束を守って、Al Viro氏にIRC経由で「なぜOKしないのか、気にしていることは何か」を聞いて教えてくれた。

 こうして問題点を伝えてくれたことで、マージへの道が開けたという。

 2009年1月1日、Al Viro氏が担当していたLSM/ファイルシステム周りのOKが出た。そして2月には、「コードが汚くなるからいろいろなリストを作るべきではないというカーネル側の流儀に合わせた」(原田氏)15回目の投稿を行い、これがカーネル2.6.30に採用された。

コラム■LSMをめぐる議論

 実はLSMをめぐっては、Linus Torvalds氏の「鶴の一声」によって議論の流れが大きく変わったという経緯がある。

 カーネル2.6の登場以降、メインラインに統合されていたLSM対応のセキュリティ機構はSELinuxのみだった。あるとき、LKMLで「LSMは使いにくい」という話の流れから、「LSMのモジュールとして実装され、メインラインに取り込まれているのはSELinuxだけ。じゃあ、LSM自体を削除してしまってはどうだろう」という提案があった。それを機に、AppArmorSMACKといったほかのセキュアOSも入り乱れ、LSMの要・不要をめぐる議論が進むことになった。その果てに、James Morrisが「LSMをなくしてSELinuxだけにしたい」と発言したところ、Linusが激怒。LSMの削除に猛反対したのだ。

関連記事:
2006年5月版 「LSM不要論」に揺れるSELinux&AppArmor
セキュリティをやってるやつらは狂っている?!(@IT Security&Trust)

 そもそもSELinux陣営からすれば、パス名に基づいたアクセス制御方式を採用しているTOMOYO LinuxやAppArmorは受け入れがたい存在だった。マージに向けた議論の中でも、SELinux陣営から反対の声が上がることは珍しくなかった。しかしLinusの発言で、その風向きが大きく変わったという。


ほかのセキュリティ機能との関係

 原田氏は、同じくLSMを利用するSELinuxについて「TOMOYO Linuxとはターゲット層が違うと思います。SELinuxはフル機能で高性能。Linuxの中でベストのセキュリティ機能だと思うけれど、組み込み機器などに入れるのには大きすぎるし、重すぎる」という。

 SELinuxは、情報フロー制御などより厳密なセキュリティを実現する際には有利だが、組み込み系を含めて自分のLinuxサーバを使いこなしたいという用途であればTOMOYO Linuxのほうが適している。「自分で構築したサーバをチューニングして、個人で使いこなすのには最高の道具だろう」という。

TOMOYO Linuxプロジェクトの武田健太郎氏(NTTデータ)

 ただ、歴史があり、その分研究も進んでいるラベル方式に比べ、パス名方式は「まだよく分からないもの」と思われがち。TOMOYO Linuxが広く使われれば、TOMOYO Linuxやパス名方式でなければできないことが理解され、それがSELinuxやラベル方式を補完することが分かってもらえるのではないかという。その意味でも、実績を作っていくことが課題だ。

 「TOMOYO Linuxが注目され、広く使われるようになれば、何かが起こるかもしれません。LSMを変更して両方を一緒に使えるようにしようという議論が出てくるかもしれない」(原田氏)。

 武田氏によると、LSMはそもそもSELinuxを実装するために作られた節があり、パス名方式のセキュアOS向きではなかった。2009年に入ってからようやくパス名向けの実装が入ったとはいうものの、アクセス制御のさまざまな部分にSELinuxの思想が入り込んでいる。今後、TOMOYO独自の実装をしようと思うと、LSMを変えていかなければならないだろうという。

 「ラベルとパス名、それぞれの方式にいいところと悪いところがある。両方とも必要な仕組みであり、最終的にはどちらも一緒に使えるようにしたいと思っています」(原田氏)。

 「LSMではいま、1つのモジュールしか使うことができません。時間はかかるだろうが、どういう形でLSMを変えていくべきかという議論は、避けては通れない道だと思います」(武田氏)。

TOMOYOの今後

 現在TOMOYO Linuxは、メインラインに組み入れられた統合版と、オリジナルの機能を備えた独自版の2系統に分かれ、ドキュメントもそれぞれに用意されている状態だ。そこで、メインライン統合版の機能を早く充実させ、同じような機能を備えたものにしていきたいという。

 メインラインに統合されたのは、TOMOYO Linuxがオープンソース化されたときとほぼ同じ、最もシンプルな機能のみだという。「統合」を優先し、さまざまな機能をそぎ落とした結果だ。

 「それだけでは機能が足りないので、どんどん足していかなければと考えています。そうした作業は全部これから」(原田氏)。例えば、現在メインライン向けに提供している機能はファイルアクセスへの制御のみに限られているため、ネットワークリソースに対する制御機能などを追加していく必要があるという。

 また、PC以外の機器に向けた取り組みも並行して進んでいる。

 そもそもTOMOYO Linuxは、ELCで紹介を行ったことからも分かるように、コンパクトで組み込み系のシステムでも使いやすいことが特徴の1つだ。そこで現在、AndroidにTOMOYO Linuxを搭載するという取り組みを進めているという。半田氏によると、JavaVM周りで若干特殊な部分があった程度で、ほぼ同じように動作するという。

Android上で動作するTOMOYO Linux

 もしもAndroidにTOMOYO Linuxが搭載されれば、1台の端末を業務用とプライベート用で使い分けたり、子供向けに特定のサイトのみへのアクセスしか許可しない端末を作ったりといった、さまざまな使い方が考えられるという。

 「Linuxはテレビやデジタルカメラ、携帯電話など、どんどん私たちの身の回りで使われるようになっています。TOMOYO Linuxによって、それらを安心して使える状態を実現したいと考えています」(原田氏)。

メインライン化は「入場券」

 「メインライン化というのはあくまでもまだ入場券、スタートであって、いわばアパートへの入居を認めてもらえたといったところです。早く、アパートの住人としての暮らし方に慣れたいと思います」と原田氏は述べる。

 またビジネス用途では、開発主体としてのNTTデータとして、さまざまなサポートなどを展開したいと考えているという。「メインライン化が単に名誉となるだけでなく、ビジネスとしても成り立つんだということを示し、企業としてもオープンソースに向けた活動をもっと活発にしていきたい」(同氏)。

参考リンク:
参考 はてなキーワード:TOMOYO Linux
http://d.hatena.ne.jp/keyword/TOMOYO%20Linux?kid=81099
参考 TOMOYO LinuxWebサイト
http://tomoyo.sourceforge.jp/
参考 TOMOYO Linux Wiki
http://tomoyo.sourceforge.jp/wiki/
参考 TOMOYO Linuxプロジェクトページ
http://sourceforge.jp/projects/tomoyo/

編集部注:6月3日に開催した@IT編集部勉強会「Linux Kernel Watch LIVE!」では、原田季栄氏と半田哲夫氏に「TOMOYO Linuxマージに至る道」というタイトルでプレゼンテーションを行っていただきました。その模様はhttp://zoome.jp/atmarkit/diary/2でご覧いただけます。

前のページ
2/2

Index
日本発世界へ
 TOMOYO Linux カーネルマージまでの道のり
  Page 1
 そもそもTOMOYO Linuxとは何か
 メインライン化を目指した理由
 マージまでの道のり
  Page 2
 顔つき会わせてのコミュニケーションも重要
 コラム LSMをめぐる議論
 ほかのセキュリティ機能との関係
 TOMOYOの今後
 メインライン化は「入場券」

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


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

注目のテーマ

Linux & OSS 記事ランキング

本日 月間
ソリューションFLASH