| 作者 | 半田哲夫、原田季栄(プロジェクトマネージャ)他 |
|---|---|
| 開発元 | NTTデータ |
| 初版 | 2003年3月開発開始。2005年11月11日 (20年前) (2005-11-11)にGNU GPL v2によるリリース。 |
| 最新版 | 1.8.5p2 /2018年4月1日 (7年前) (2018-04-01) |
| 最新評価版 | N/A / N/A |
| リポジトリ | |
| プログラミング 言語 | C言語 |
| 使用エンジン | 独自セキュリティフレームワーク |
| 対応OS | Linux |
| プラットフォーム | Linuxが動作する任意のアーキテクチャ |
| サポート状況 | 開発中 |
| 種別 | 強制アクセス制御 |
| ライセンス | GNU General Public Licenseバージョン2 |
| 公式サイト | tomoyo |
| テンプレートを表示 | |
| 作者 | 半田哲夫、原田季栄(プロジェクトマネージャ)他 |
|---|---|
| 開発元 | NTTデータ |
| 初版 | 2007年 |
| 最新版 | 2.5.0p8 /2017年1月2日 (8年前) (2017-01-02) |
| 最新評価版 | N/A / N/A |
| リポジトリ | |
| プログラミング 言語 | C言語 |
| 使用エンジン | 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プロジェクトは、当初日本国内ユーザに特化する考えを持っていたが、様々な観点からプロジェクトの方針はTOMOYO 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]。
メインライン化までの道のりについて、いくつかの記事が書かれている。
前述の通り、現行バージョンは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 FoundationJapan #8シンポジウムにて、"Realities of Mainlining"として講演されている。
TOMOYO Linuxはオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。
この項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。 |
この項目は、FOSSに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(Portal:FOSS)。 |