TOMOYO Linux
ファイル:TOMOYOLinux penguin.png | |
作者 | 半田哲夫, 原田季栄 (プロジェクトマネージャ) 他 |
---|---|
開発元 | NTTデータ |
初版 | 2003年3月開発開始。2005年11月11日 にGNU GPL v2によるリリース。 |
最新版 |
1.8.0-20101231, 2.3.0-20100820
/ 2010年12月31日 (バージョン1), 2010年8月20日 (バージョン2) |
最新評価版 |
N/A
/ N/A |
リポジトリ | |
プログラミング 言語 | C言語 |
使用エンジン | バージョン1は独自フレームワーク、バージョン2はLinux Security Modulesをセキュリティフレームワークとして使用 |
対応OS | Linux |
プラットフォーム | Linuxが動作する任意のアーキテクチャ |
サポート状況 | 開発中 |
種別 | 強制アクセス制御 |
ライセンス | GNU General Public Licenseバージョン2 |
公式サイト | tomoyo.sf.jp |
TOMOYO Linuxは、Linux用のセキュアOSモジュール。"Linux"の名前が付いているが、ディストリビューションの一つではない。
概要
TOMOYO LinuxはLinuxカーネル(バージョン2.4並びに2.6)をベースとして、「ポリシーの自動学習機能」を備えた強制アクセス制御の実装である。バニラカーネル(リーナス・トーバルズによりリリースされる公式のLinuxカーネル)に対するパッチおよびポリシーエディタ等の設定ツールにより構成される。NTTデータの研究開発プロジェクトとして2003年に始まり、2005年にSourceForge.JPにてGNU General Public Licenseバージョン2によりオープンソースソフトウェアとして公開された。
TOMOYO Linuxは当初より名称が注目を集めた歴史がある。 [1] オフィシャルには、"Task Oriented Management Obviates Your Onus on Linux"(Task構造体(task_struct)を活用した「管理者の」負担を軽減するLinux)の略(バクロニム)ということになっているが、開発者の1人である半田哲夫がこよなく愛するカードキャプターさくらの登場キャラから拝借したものであることのほうが今や良く知られている。このことは、プロジェクトのQ&A [2] や執筆した記事でも明記されており、プロジェクト側では名前の由来を隠しているわけではない。なお、彼個人の中ではプロジェクトとしてオーサライズされたものではない壮大な構想がある。 [3] 開発当初は、ポリシーの管理不要な物理的な改ざん防止を実現したSAKURA Linux(ただし、これはコード名であり正式名称ではない)が存在し、セキュリティ・スタジアム2004 [4] の報告書 [5] などにその名前がでてくるが、SAKURAの機能は現在TOMOYO本体に統合されている。
TOMOYO Linuxプロジェクトは、当初日本国内ユーザに特化する考えを持っていたが、CE Linux ForumのJapan Technical Jamboree12 [6] における情報家電・組み込み開発者からの「組み込みLinux開発者の多くはカーネルへのパッチ適用を避ける傾向がある」という意見とYLUG(横浜Linuxユーザグループ)カーネル読書会 [7] などでの「熱い洗礼」、さらにはプロジェクト側の考えとして、メインラインカーネルツリー(標準機能としてリーナス・トーバルズによりメンテナンスされているソースコードブランチ)の外で「野良」メンテナンスし続けることは、一部の技術力の高いユーザは何もせずとも利用するかもしれないが、ビジネスユーザにとってはメインラインではないカーネルを使用することなど論外であり、ユーザの裾野を広げる点で障害になっていた点、また、Linuxカーネル開発者の多くは「リーナス・トーバルズのソースツリーに含まれていないものは見ない」傾向がある、すなわちメインライン化を図っていないコードはLinuxカーネル開発者の目に届きにくく、野良メンテナンスを行いつづけたとしても、ある日メインラインのカーネルツリーに追随不可能なコードの変更が加えられるかもしれない危険性があったという点、などを考慮し、メインライン化を目指すよう方針を変更。プロジェクトは現行のTOMOYO Linuxバージョン1とは別にLinux Security Modules(LSM)に対応したTOMOYO Linuxバージョン2の作成に着手、2007年よりLinux Kernel Mailing ListにてTOMOYO Linuxバージョン2のメインライン化に向けて提案を開始した。マージへ向けての道のりは険しく、TOMOYO Linuxと同じくパス名ベースの強制アクセス制御モジュールAppArmorと共に一部のSELinux開発者からその実装を非難され、同時にLSMの削除とSELinuxへの一本化を提案される状態だった。当時のLSMはマージ済みのセキュアOS実装がSELinuxしかなかったこともあり、ラベルベースのフックに偏っていたため、TOMOYO Linuxマージのために新たなファイルパス名ベースのフックを導入する必要があったが、これはLSMとVFS双方の変更が必要だった。VFSのメンテナAl Viroはこの変更を当初頑なに拒否したため説得に難航したが、最終的にはmmツリーメンテナのアンドリュー・モートンが直接Al Viroの真意を聞き出し、結果的にVFSへのマージに成功した。様々な提案とコードの変更を行った結果、TOMOYO Linuxバージョン2は、2009年6月9日(PDT)にバージョン2.6.30に無事マージされた。[8] [9] [10] [11]
メインライン化までの道のりについて、いくつかの記事が書かれている。
- 標準カーネル統合間近!TOMOYO Linuxの足跡:第1回--コミュニティの熱い力 - builder by ZDNet Japan
- 標準カーネル統合間近!TOMOYO Linuxの足跡:第2回--押し寄せる危機の連続 - builder by ZDNet Japan
- 標準カーネル統合間近!TOMOYO Linuxの足跡:第3回--TOMOYOを支えた人々 - builder by ZDNet Japan
前述の通り、現行バージョンは2つあり、バージョン1はバニラカーネルへのパッチ(ccs-patchと呼称される)の適用が必要であるが、カーネルバージョン2.4 および2.6双方で利用でき、SELinuxなど他のセキュアOS実装と同時に利用できる。これはカーネル標準のLSMを使用せず独自のフレームワークを利用しているためである。通常LSMの上にSELinuxなど各種セキュアOSが実装されているが、LSMは複数のセキュアOS実装を同時実行できない。(更にLinuxカーネルバージョン2.6.24からはLKMとしても実装できなくなった。)この為、バージョン1は他のセキュアOS実装を有効化した状態でも使用でき、セキュアOSとして標準的な強制アクセス制御のすべて(ネットワーク、環境変数に対する制御なども含む)を利用できる。アクセス制御機能の豊富さから旧来のユーザーを中心とした利用者が多い。 バージョン2は、Linux Security Modulesに基づくセキュアOS実装である。カーネルに必要な機能が既に統合されたのは前述のとおりであるが、2011年1月現在においては、ファイルに対する強制アクセス制御の一部のみしか利用できない。また前述のとおり、他のセキュアOS実装と同時実行できない。これは機能的にはバージョン1に劣るが、カーネル設定で有効化するだけで(設定ツールのインストールなどの準備などを除いたとしても)容易に強制アクセス制御を有効化できる点で新規ユーザー側にとっての利点があるともいえる。
ポリシーの自動学習機能にて基本的動作を学習させることができるため、従来のセキュアOSに比べ導入にかかる期間・手間を大幅に削減できる。
沿革
プロジェクト発足からオープンソースとして公開されるまでの道のりについて、VA Linux Kernel Conference 2005で「TOMOYO Linuxへの道」と題し講演されている。
オープンソースとして公開されてから2008年7月までの取り組みについて、Linux Foundation Japan #8シンポジウムにて、"Realities of Mainlining"として講演されている。
TOMOYO Linuxはオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。
脚注
- ^ “TOMOYO Linux Ver.1.0 Released”. スラッシュドット・ジャパン (2005年11月14日). 2011年1月5日閲覧。
- ^ “TOMOYO Linux Wiki Q&A”. tomoyo.sourceforge.jp (2010年4月8日). 2011年1月23日閲覧。
- ^ “Linux「はにゃ~ん♪」化計画” (2005年12月25日). 2011年1月23日閲覧。
- ^ “セキュリティ・スタジアム2004”. 原田季栄 (Toshiharu Harada) (2008年11月3日). 2011年1月23日閲覧。
- ^ “JNSAセミナーレポート - セキュリティ・スタジアム 2004盛況のうちに終了”. 根津研介、日本ネットワークセキュリティ協会. 2011年1月23日閲覧。
- ^ “Japan Technical Jamboree12”. CE Linux Forum (2008年5月7日). 2011年1月23日閲覧。
- ^ “ユメのチカラ: TOMOYO Linuxについて”. 吉岡弘隆 (2008年8月28日). 2011年1月23日閲覧。
- ^ Linus Torvalds (9 June 2009). "Linux 2.6.30". Linux Kernel (Mailing list). 2011年1月5日閲覧。
- ^ “Linux 2 6 30”. Linux Kernel Newbies (2009年6月12日). 2011年1月5日閲覧。
- ^ “日本発セキュアOSのTOMOYOがLinuxカーネルに標準採用”. 日経ITpro (2009年2月17日). 2009年2月18日閲覧。
- ^ “NTTデータが開発した「TOMOYO® Linux」がLinux標準カーネルに正式採用”. NTTデータ ニュースリリース (2009年6月11日). 2011年1月5日閲覧。
関連項目
- SELinux
- AKARI (Access Keeping And Regulating Instrument) - TOMOYO Linux 1とほぼ同等の機能を有するLKM。TOMOYO Linux 2やSELinuxなどカーネル統合済みのセキュアOSとも同時実行できる。半田哲夫個人のプロジェクト。[1]
外部リンク
- TOMOYO Linux project
- SourceForge.jp: Project Info - TOMOYO -
- TOMOYO Linux Wiki
- 熊猫さくらのブログ
- Toshiharu Harada’s Presentations on SlideShare
- Linux Kernel Security
- @IT: TOMOYO Linux カーネルマージまでの道のり