コンテンツにスキップ

「TOMOYO Linux」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
編集の要約なし
m Bot作業依頼#Cite webの和書引数追加
 
(21人の利用者による、間の31版が非表示)
1行目: 1行目:
{{Infobox Software
{{Infobox Software
| 名称 = TOMOYO Linux version 1
|名称=TOMOYO Linux version 1
|ロゴ=
| ロゴ = [[File:TOMOYOLinux penguin.png]]
| スクリーンショット =
|スクリーンショット=
| 説明文 = [[セキュアOS]]モジュール
|説明文=
| 開発者 = [[半田哲夫]], [[原田季栄]] ([[プロジェクトマネージャ]])
|開発者=[[半田哲夫]][[原田季栄]][[プロジェクトマネージャ]]
| 開発元 = [[NTTデータ]]
|開発元=[[NTTデータ]]
| 初版 = 2003年3月開発開始。{{release date and age|2005|11|11}}に[[GNU General Public License|GNU GPL]] v2によるリリース。
|初版=2003年3月開発開始。{{release date and age|2005|11|11}}に[[GNU General Public License|GNU GPL]] v2によるリリース。
| 最新版 = 1.8.0-20110214
|最新版=1.8.5p2
| 最新版発表日 = {{release date and age|2011|02|14}}
|最新版発表日={{release date and age|2018|04|01}}
| 最新評価版 = N/A
|最新評価版=N/A
| 最新評価版発表日 = N/A
|最新評価版発表日=N/A
| プログラミング言語 = [[C言語]]
|プログラミング言語=[[C言語]]
| 対応OS = [[Linux]]
|対応OS=[[Linux]]
| エンジン = 独自[[コンピュータセキュリティ|セキュリティ]][[ソフトウェアフレームワーク|フレームワーク]]
|エンジン=独自[[コンピュータセキュリティ|セキュリティ]][[ソフトウェアフレームワーク|フレームワーク]]
| 対応プラットフォーム = [[Linux]]が動作する任意の[[コンピュータ・アーキテクチャ|アーキテクチャ]]
|対応プラットフォーム=[[Linux]]が動作する任意の[[コンピュータ・アーキテクチャ|アーキテクチャ]]
| サイズ =
|サイズ=
| 対応言語 =
|対応言語=
| サポート状況 = 開発中
|サポート状況=開発中
| 種別 = [[強制アクセス制御]]
|種別=[[強制アクセス制御]]
| ライセンス = [[GNU General Public License]]バージョン2
|ライセンス=[[GNU General Public License]]バージョン2
| 公式サイト = [http://tomoyo.sourceforge.jp/ tomoyo.sf.jp]
|公式サイト={{url|http://tomoyo.osdn.jp/}}
}}
}}


{{Infobox Software
{{Infobox Software
| 名称 = TOMOYO Linux version 2
| 名称 = TOMOYO Linux version 2
| ロゴ = [[File:TOMOYOLinux penguin.png]]
| ロゴ =
| スクリーンショット =
| スクリーンショット = TOMOYO Linux Domain Policy Editor screenshot.png
| 説明文 = [[セキュアOS]]モジュール
| 説明文 =
| 開発者 = [[半田哲夫]], [[原田季栄]] ([[プロジェクトマネージャ]])
| 開発者 = [[半田哲夫]][[原田季栄]][[プロジェクトマネージャ]]
| 開発元 = [[NTTデータ]]
| 開発元 = [[NTTデータ]]
| 初版 = [[2007年]]
| 初版 = [[2007年]]
| 最新版 = 2.3.0-20110211
| 最新版 = 2.5.0p8
| 最新版発表日 = {{release date and age|2011|02|11}}
| 最新版発表日 = {{release date and age|2017|01|02}}
| 最新評価版 = N/A
| 最新評価版 = N/A
| 最新評価版発表日 = N/A
| 最新評価版発表日 = N/A
| プログラミング言語 = [[C言語]]
| プログラミング言語 = [[C言語]]
| 対応OS = [[Linux]]
| 対応OS = [[Linux]]
| エンジン = [[Linux Security Modules]]を[[コンピュータセキュリティ|セキュリティ]][[ソフトウェアフレームワーク|フレームワーク]]として使用
| エンジン = [[Linux Security Modules]]を[[コンピュータセキュリティ|セキュリティ]][[ソフトウェアフレームワーク|フレームワーク]]として使用
| 対応プラットフォーム = [[Linux]]が動作する任意の[[コンピュータ・アーキテクチャ|アーキテクチャ]]
| 対応プラットフォーム = [[Linux]]が動作する任意の[[コンピュータ・アーキテクチャ|アーキテクチャ]]
| サイズ =
| サイズ =
| 対応言語 =
| 対応言語 =
| サポート状況 = 開発中
| サポート状況 = 開発中
| 種別 = [[強制アクセス制御]]
| 種別 = [[強制アクセス制御]]
| ライセンス = [[GNU General Public License]]バージョン2
| ライセンス = [[GNU General Public License]]バージョン2
| 公式サイト = [http://tomoyo.sourceforge.jp/ tomoyo.sf.jp]
| 公式サイト = [http://tomoyo.sourceforge.jp/ tomoyo.sf.jp]
}}
}}


'''TOMOYO Linux'''は、[[Linux]]用の[[セキュアOS]]モジュール。"Linux"の名前が付いているが、[[Linuxディストリビューション|ディストリビューション]]の一つではない。
'''{{lang|en|TOMOYO Linux'''}}は、{{lang|en|[[Linux]]}}用の[[セキュアOS|セキュア{{lang|en|OS}}]]モジュール。"{{lang|en|Linux"}}の名前が付いているが、[[Linuxディストリビューション|ディストリビューション]]の一つではない。


== 歴史 ==
==歴史==
TOMOYO Linuxは[[Linuxカーネル]](バージョン2.4並びに2.6)をベースとして、「ポリシーの自動学習機能」を備えた[[強制アクセス制御]]の[[実装]]である。バニラカーネル([[リーナス・トーバルズ]]によりリリースされる公式のLinuxカーネル)に対する[[パッチ]]およびポリシーエディタ等の設定ツールにより構成される。[[NTTデータ]]の[[研究開発]]プロジェクトとして[[2003年]]に始まり、[[2005年]]に[[SourceForge.JP]]にて[[GNU General Public License]]バージョン2により[[オープンソース]]ソフトウェアとして公開された。
{{lang|en|TOMOYO Linux}}は[[Linuxカーネル|{{lang|en|Linux}}カーネル]](バージョン2.4並びに2.6)をベースとして、「ポリシーの自動学習機能」を備えた[[強制アクセス制御]]の[[実装]]である。バニラカーネル([[リーナス・トーバルズ]]によりリリースされる公式の{{lang|en|Linux}}カーネル)に対する[[パッチ]]およびポリシーエディタ等の設定ツールにより構成される。[[NTTデータ|{{lang|en|NTT}}データ]]の[[研究開発]]プロジェクトとして[[2003年|{{lang|en|2003}}年]]に始まり、[[2005年|{{lang|en|2005}}年]]に{{lang|en|[[SourceForge.JP]]}}にて{{lang|en|[[GNU General Public License]]}}バージョン2により[[オープンソース]]ソフトウェアとして公開された。


TOMOYO Linuxは当初より名称が注目を集めた歴史がある
{{lang|en|TOMOYO Linux}}は当初より名称が注目を集めた歴史がある
<ref name="slashdotjp">
<ref name="slashdotjp">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date = 2005-11-14
|date=2005-11-14
| accessdate = 2011-01-05
|accessdate=2011-01-05
| url = http://slashdot.jp/linux/article.pl?sid=05/11/13/0816212
|url=https://srad.jp/story/05/11/13/0816212/
| title = TOMOYO Linux Ver.1.0 Released
|title=TOMOYO Linux Ver.1.0 Released
| publisher = [[スラッシュドット#.E3.82.B9.E3.83.A9.E3.83.83.E3.82.B7.E3.83.A5.E3.83.89.E3.83.83.E3.83.88.E3.82.B8.E3.83.A3.E3.83.91.E3.83.B3|スラッシュドット・ジャパン]]
|publisher=[[スラッシュドット#スラッシュドットジャパン / スラド|スラッシュドット・ジャパン]]
}}
}}
</ref>。
</ref>。
公式には、"Task Oriented Management Obviates Your Onus on Linux"([[プロセス制御ブロック|Task構造体]](task_struct)を活用した「管理者の」負担を軽減するLinux)の略([[バクロニム]])ということになっているが、開発者の1人である半田哲夫がこよなく愛する[[カードキャプターさくら]]の[[カードキャプターさくらの登場人物|登場キャラ]]から拝借したものであることのほうが今や良く知られている。このことは、プロジェクトのQ&A
公式には、"{{lang|en|Task Oriented Management Obviates Your Onus on Linux"}}([[プロセス制御ブロック|{{lang|en|Task}}構造体]]({{lang|en|task}}_{{lang|en|struct}})を活用した「管理者の」負担を軽減する{{lang|en|Linux}})の略([[バクロニム]])ということになっているが、開発者の1人である半田哲夫がこよなく愛する[[カードキャプターさくら]]の[[カードキャプターさくらの登場人物|登場キャラ]]から拝借したものであることのほうが今や良く知られている。このことは、プロジェクトの{{lang|en|Q&A}}
<ref name="tomoyo-linux-wiki-qa">
<ref name="tomoyo-linux-wiki-qa">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date = 2010-04-08
|date=2010-04-08
| accessdate = 2011-01-23
|accessdate=2011-01-23
| url = http://tomoyo.sourceforge.jp/wiki/?QandA
|url=http://tomoyo.sourceforge.jp/wiki/?QandA
| title = TOMOYO Linux Wiki Q&A
|title=TOMOYO Linux Wiki Q&A
| publisher = tomoyo.sourceforge.jp
|publisher=tomoyo.sourceforge.jp
}}
}}
</ref>
</ref>
や執筆した記事でも明記されており、プロジェクト側では名前の由来を隠しているわけではない。なお、彼個人の中ではプロジェクトとしてオーサライズされたものではない壮大な構想がある
や執筆した記事でも明記されており、プロジェクト側では名前の由来を隠しているわけではない。なお、彼個人の中ではプロジェクトとしてオーサライズされたものではない壮大な構想がある
<ref name="i-love.sakura-ne-jp">
<ref name="i-love.sakura-ne-jp">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date = 2005-12-25
|date=2005-12-25
| accessdate = 2011-01-23
|accessdate=2011-01-23
| url = http://i-love.sakura.ne.jp/tomoyo/
|url=http://i-love.sakura.ne.jp/tomoyo/
| title = Linux「はにゃ~ん♪」化計画
|title=Linux「はにゃ~ん♪」化計画
| publisher =
|publisher=
}}
}}
</ref>。
</ref>。
開発当初は、ポリシーの管理不要な物理的な改ざん防止を実現したSAKURA Linux(ただし、これは[[コードネーム|コード名]]であり正式名称ではない)が存在し、セキュリティ・スタジアム2004
開発当初は、ポリシーの管理不要な物理的な改防止を実現した{{lang|en|SAKURA Linux}}(ただし、これは[[コードネーム|コード名]]であり正式名称ではない)が存在し、セキュリティ・スタジアム2004
<ref name="security-stadium-2004">
<ref name="security-stadium-2004">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date = 2008-11-03
|date=2008-11-03
| accessdate = 2011-01-23
|accessdate=2011-01-23
| url = http://www11.plala.or.jp/tsh/ss2004.html
|url=http://www11.plala.or.jp/tsh/ss2004.html
| title = セキュリティ・スタジアム2004
|title=セキュリティ・スタジアム2004
| publisher = 原田季栄 (Toshiharu Harada)
|publisher=原田季栄 (Toshiharu Harada)
}}
}}
</ref>
</ref>
の報告書
の報告書
<ref name="jnsa-seminar-report">
<ref name="jnsa-seminar-report">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date =
|date=
| accessdate = 2011-01-23
|accessdate=2011-01-23
| url = http://www.jnsa.org/active/press/vol12pdf/4_report4.pdf
|url=http://www.jnsa.org/active/press/vol12pdf/4_report4.pdf
| title = JNSAセミナーレポート - セキュリティ・スタジアム 2004盛況のうちに終了
|title=JNSAセミナーレポート - セキュリティ・スタジアム 2004盛況のうちに終了
| publisher = 根津研介、[[日本ネットワークセキュリティ協会]]
|publisher=根津研介、[[日本ネットワークセキュリティ協会]]
}}
}}
</ref>
</ref>
などにその名前がでてくるが、SAKURAの機能は現在TOMOYO本体に統合されている。
などにその名前がでてくるが、{{lang|en|SAKURA}}の機能は現在{{lang|en|TOMOYO}}本体に統合されている。


TOMOYO Linuxプロジェクトは、当初[[日本]]国内ユーザに特化する考えを持っていたが、様々な観点からプロジェクトの方針はTOMOYO Linuxのメインライン化(標準機能としてリーナス・トーバルズによりメンテナンスされているソースコードブランチへの統合)を目指すよう変更された。その理由はいくつかある。[[CE Linux Forum]]のJapan Technical Jamboree12
{{lang|en|TOMOYO Linux}}プロジェクトは、当初[[日本]]国内ユーザに特化する考えを持っていたが、様々な観点からプロジェクトの方針は{{lang|en|TOMOYO Linux}}のメインライン化(標準機能としてリーナス・トーバルズによりメンテナンスされているソースコードブランチへの統合)を目指すよう変更された。その理由はいくつかある。

<ref name="ce-linux-developer-wiki">
*{{仮リンク|CE Linux Forum|en|CE Linux Forum}}の{{lang|en|Japan Technical Jamboree12}}<ref name="ce-linux-developer-wiki">
{{cite web
{{cite web
| first =
|first=
| last =
|last=
| date = 2008-05-07
|date=2008-05-07
| accessdate = 2011-01-23
|accessdate=2011-01-23
| url = http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree12
|url=http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree12
| title = Japan Technical Jamboree12
|title=Japan Technical Jamboree12
| publisher = CE Linux Forum
|publisher=CE Linux Forum
}}
}}
</ref>における[[情報家電]]・[[組み込みシステム|組み込み]]開発者の一部から上がった意見「[[組み込みLinux|組み込み{{lang|en|Linux}}]]開発者の多くが組み込み{{lang|en|Linux}}環境における、セキュリティ強化を希求しているが、(当時)すでにメインライン統合済みであった{{lang|en|[[Security-Enhanced Linux]]}} ({{lang|en|SELinux}}) には一部組み込み環境では負荷が大きい側面があり、そのため{{lang|en|TOMOYO}}のようなパス名ベースのライトウェイトなセキュリティモジュールはうまく適合する側面がある。しかし組み込み開発者はカーネルへのパッチ適用を避ける傾向がある。」
</ref>
*{{lang|en|YLUG}}([[横浜Linuxユーザグループ|横浜{{lang|en|Linux}}ユーザグループ]])カーネル読書会<ref name="blog-miraclelinux-com">
における[[情報家電]]・[[組み込みシステム|組み込み]]開発者の一部から上がった意見「[[組み込みLinux]]開発者の多くが組み込みLinux環境における、セキュリティ強化を希求しているが、(当時)すでにメインライン統合済みであったSELinuxには一部組み込み環境では負荷が大きい側面があり、そのためTOMOYOのようなパス名ベースのライトウェイトなセキュリティモジュールはうまく適合する側面がある。しかし組み込み開発者はカーネルへのパッチ適用を避ける傾向がある。」。YLUG([[横浜Linuxユーザグループ]])カーネル読書会
{{Cite web|和書
<ref name="blog-miraclelinux-com">
|first=
{{cite web
|last=
| first =
|date=2008-08-28
| last =
|accessdate=2011-01-23
| date = 2008-08-28
|url=http://blog.miraclelinux.com/yume/2008/08/tomoyo-linux-80.html
| accessdate = 2011-01-23
|title=ユメのチカラ: TOMOYO Linuxについて
| url = http://blog.miraclelinux.com/yume/2008/08/tomoyo-linux-80.html
|publisher=[[吉岡弘隆]]
| title = ユメのチカラ: TOMOYO Linuxについて
| publisher = [[吉岡弘隆]]
}}
}}
</ref>などでの「熱い洗礼」
</ref>
などでの「熱い洗礼」。プロジェクト側の考えとしてメインラインカーネルツリーの外で「野良」メンテナンスし続けることは、一部の技術力の高いユーザは何もせずとも利用するかもしれないが、ビジネスユーザにとってはメインラインではないカーネルを使用することなど論外であり、ユーザの裾野を広げる点で障害になっていた点Linuxカーネル開発者の多くは「リーナス・トーバルズのソースツリーに含まれていないものは見ない」傾向がある、すなわちメインライン化を図っていないコードはLinuxカーネル開発者の目に届きにくく、メインラインの[[Application Programming Interface|API]]に追随し野良メンテナンスを行いつづけたとしても、ある日メインラインのカーネルツリーに追随不可能なコードの変更が加えられるかもしれない危険性があったという点などである。プロジェクトは現行の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に無事マージされた<ref name="lkml">
*プロジェクト側の考えとしてメインラインカーネルツリーの外で「野良」メンテナンスし続けることは、一部の技術力の高いユーザは何もせずとも利用するかもしれないが、ビジネスユーザにとってはメインラインではないカーネルを使用することなど論外であり、ユーザの裾野を広げる点で障害になっていた点
*{{lang|en|Linux}}カーネル開発者の多くは「リーナス・トーバルズのソースツリーに含まれていないものは見ない」傾向がある、すなわちメインライン化を図っていないコードは{{lang|en|Linux}}カーネル開発者の目に届きにくく、メインラインの{{lang|en|[[アプリケーションプログラミングインタフェース|API]]}}に追随し野良メンテナンスを行いつづけたとしても、ある日メインラインのカーネルツリーに追随不可能なコードの変更が加えられるかもしれない危険性があったという点
などである。これらに対応するため、プロジェクトは現行の{{lang|en|TOMOYO Linux}}バージョン1とは別に{{lang|en|[[Linux Security Modules]]}}({{lang|en|LSM}})に対応した{{lang|en|TOMOYO Linux}}バージョン2の作成に着手、[[2007年|{{lang|en|2007}}年]]より{{lang|en|Linux Kernel Mailing List}}にて{{lang|en|TOMOYO Linux}}バージョン2のメインライン化に向けて提案を開始した。[[マージ]]へ向けての道のりは険しく、{{lang|en|TOMOYO Linux}}と同じくパス名ベースの強制アクセス制御モジュール[[AppArmor]]と共に一部の{{lang|en|SELinux}}開発者からその実装を非難され、同時に{{lang|en|LSM}}の削除と{{lang|en|SELinux}}への一本化を提案される状態だった。当時の{{lang|en|LSM}}はマージ済みのセキュア{{lang|en|OS}}実装が{{lang|en|SELinux}}しかなかったこともあり、ラベルベースのフックに偏っていたため、{{lang|en|TOMOYO Linux}}マージのために新たなファイルパス名ベースのフックを導入する必要があったが、これは{{lang|en|LSM}}{{lang|en|[[仮想ファイルシステム|VFS]]}}双方の変更が必要だった。{{lang|en|VFS}}のメンテナ{{lang|en|Al Viro}}はこの変更を当初頑なに拒否したため説得に難航したが、最終的には[[mmツリー|{{lang|en|mm}}ツリー]]メンテナの[[アンドリュー・モートン]]が直接{{lang|en|Al Viro}}の真意を聞き出し、結果的に{{lang|en|VFS}}へのマージに成功した。その他様々な提案とコードの変更を行った結果、{{lang|en|TOMOYO Linux}}バージョン2は、[[2009年|{{lang|en|2009}}年]]6月9日({{lang|en|[[太平洋夏時間|PDT]]}})にバージョン2.6.30に無事マージされた<ref name="lkml">
{{cite mailing list
{{cite mailing list
| url = http://lkml.org/lkml/2009/6/9/710
|url=http://lkml.org/lkml/2009/6/9/710
| title = Linux 2.6.30
|title=Linux 2.6.30
| mailinglist =Linux Kernel
|mailinglist=Linux Kernel
| date = 2009年6月9日
|date=2009年6月9日
| accessdate = 2011-01-05
|accessdate=2011-01-05
| author = Linus Torvalds
|author=Linus Torvalds
}}
}}
</ref>
</ref>
<ref name="kernel_newbies">
<ref name="kernel_newbies">
{{cite web
{{cite web
| first =
|first=
| last =
|last=
| date = 2009-06-12
|date=2009-06-12
| accessdate = 2011-01-05
|accessdate=2011-01-05
| url = http://kernelnewbies.org/Linux_2_6_30
|url=http://kernelnewbies.org/Linux_2_6_30
| title = Linux 2 6 30
|title=Linux 2 6 30
| publisher = [[Linux Kernel Newbies]]
|publisher=[[Linux Kernel Newbies]]
}}
}}
</ref>
</ref>
<ref name="itpro">
<ref name="itpro">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date=2009-02-17
|date=2009-02-17
| accessdate = 2009-02-18
|accessdate=2009-02-18
| url = http://itpro.nikkeibp.co.jp/article/NEWS/20090212/324657/
|url=https://xtech.nikkei.com/it/article/NEWS/20090212/324657/
| title = 日本発セキュアOSのTOMOYOがLinuxカーネルに標準採用
|title=日本発セキュアOSのTOMOYOがLinuxカーネルに標準採用
| publisher = [[日経ITpro]]
|publisher=[[日経ITpro]]
}}
}}
</ref>
</ref>
<ref name="nttdata_news_release">
<ref name="nttdata_news_release">
{{cite web
{{Cite web|和書
| first =
|first=
| last =
|last=
| date=2009-06-11
|date=2009-06-11
| accessdate = 2011-01-05
|accessdate=2011-01-05
| url = http://www.nttdata.co.jp/release/2009/061100.html
|url=http://www.nttdata.co.jp/release/2009/061100.html
| title = NTTデータが開発した「TOMOYO® Linux」がLinux標準カーネルに正式採用
|title=NTTデータが開発した「TOMOYO? Linux」がLinux標準カーネルに正式採用
| publisher = [[NTTデータ]] ニュースリリース
|publisher=[[NTTデータ]] ニュースリリース
}}
}}
</ref>。
</ref>。
184行目: 187行目:
メインライン化までの道のりについて、いくつかの記事が書かれている。
メインライン化までの道のりについて、いくつかの記事が書かれている。


*[http://builder.japan.zdnet.com/news/story/0,3800079086,20389910,00.htm 標準カーネル統合間近!TOMOYO Linuxの足跡:第1回--コミュニティの熱い力 - builder by ZDNet Japan]
*[http://builder.japan.zdnet.com/news/story/0,3800079086,20389910,00.htm 標準カーネル統合間近!{{lang|en|TOMOYO Linux}}の足跡:第1回--コミュニティの熱い力 - {{lang|en|builder by ZDNet Japan}}]
*[http://builder.japan.zdnet.com/news/story/0,3800079086,20389975,00.htm 標準カーネル統合間近!TOMOYO Linuxの足跡:第2回--押し寄せる危機の連続 - builder by ZDNet Japan]
*[http://builder.japan.zdnet.com/news/story/0,3800079086,20389975,00.htm 標準カーネル統合間近!{{lang|en|TOMOYO Linux}}の足跡:第2回--押し寄せる危機の連続 - {{lang|en|builder by ZDNet Japan}}]
*[http://builder.japan.zdnet.com/news/story/0,3800079086,20390054,00.htm 標準カーネル統合間近!TOMOYO Linuxの足跡:第3回--TOMOYOを支えた人々 - builder by ZDNet Japan]
*[http://builder.japan.zdnet.com/news/story/0,3800079086,20390054,00.htm 標準カーネル統合間近!{{lang|en|TOMOYO Linux}}の足跡:第3回--{{lang|en|TOMOYO}}を支えた人々 - {{lang|en|builder by ZDNet Japan}}]
*[http://www.thinkit.co.jp/free/article/0709/8/1/ {{lang|en|Think IT}} 第1回:熱い言葉に背中を押されて (1/3)]


==機能==
*[http://www.thinkit.co.jp/free/article/0709/8/1/ Think IT 第1回:熱い言葉に背中を押されて (1/3)]
前述の通り、現行バージョンは2つあり、バージョン1はバニラカーネルへのパッチ({{lang|en|ccs-patch}}と呼称される)の適用が必要であるが、カーネルバージョン2.4 および2.6双方で利用でき、{{lang|en|SELinux}}など他のセキュア{{lang|en|OS}}実装と同時に利用できる。これはカーネル標準の{{lang|en|LSM}}を使用せず独自のフレームワークを利用しているためである。通常{{lang|en|LSM}}の上に{{lang|en|SELinux}}など各種セキュア{{lang|en|OS}}が実装されているが、{{lang|en|LSM}}は複数のセキュア{{lang|en|OS}}実装を同時実行できない。(更に{{lang|en|Linux}}カーネルバージョン2.6.24からは{{lang|en|[[ローダブル・カーネル・モジュール|LKM]]}}としても実装できなくなった。)この為、バージョン1は他のセキュア{{lang|en|OS}}実装を有効化した状態でも使用でき、セキュア{{lang|en|OS}}として標準的な強制アクセス制御のすべて(ネットワーク、環境変数に対する制御なども含む)を利用できる。アクセス制御機能の豊富さから旧来のユーザーを中心とした利用者が多い。
バージョン2は、{{lang|en|Linux Security Modules}}に基づくセキュア{{lang|en|OS}}実装である。カーネルに必要な機能が既に統合されたのは前述のとおりであるが、2011年1月現在においては、ファイルに対する強制アクセス制御の一部のみしか利用できない。また前述のとおり、他のセキュア{{lang|en|OS}}実装と同時実行できない。これは機能的にはバージョン1に劣るが、カーネル設定で有効化するだけで(設定ツールのインストールなどの準備などを除いたとしても)容易に強制アクセス制御を有効化できる点で新規ユーザー側にとっての利点があるともいえる。


ポリシーの自動学習機能にて基本的動作を学習させることができるため、従来のセキュア{{lang|en|OS}}に比べ導入にかかる期間・手間を大幅に削減できる。
== 機能 ==
前述の通り、現行バージョンは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に比べ導入にかかる期間・手間を大幅に削減できる。
プロジェクト発足からオープンソースとして公開されるまでの道のりについて、{{lang|en|VA Linux Kernel Conference 2005}}で[https://osdn.net/projects/tomoyo/docs/lkc2005.pdf 「{{lang|en|TOMOYO Linux}}への道」]と題し講演されている。


オープンソースとして公開されてから2008年7月までの取り組みについて、{{lang|en|[[Linux Foundation]]}} {{lang|en|Japan}} #8シンポジウムにて、{{lang|en|[https://osdn.net/projects/tomoyo/docs/lfj2008.pdf/en/2/lfj2008.pdf "Realities of Mainlining"]}}として講演されている。
== 沿革 ==
プロジェクト発足からオープンソースとして公開されるまでの道のりについて、VA Linux Kernel Conference 2005で[http://sourceforge.jp/projects/tomoyo/document/lkc2005.pdf 「TOMOYO Linuxへの道」]と題し講演されている。


{{lang|en|TOMOYO Linux}}はオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。
オープンソースとして公開されてから2008年7月までの取り組みについて、[[リナックスファウンデーション|Linux Foundation]] Japan #8シンポジウムにて、[http://sourceforge.jp/projects/tomoyo/document/lfj2008.pdf/en/2/lfj2008.pdf "Realities of Mainlining"]として講演されている。


*[https://osdn.net/projects/tomoyo/docs/?category_id=0&language_id=2 カテゴリ: ルート - {{lang|en|TOMOYO - SourceForge.JP}}(日本語資料)]
TOMOYO Linuxはオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。
*[https://osdn.net/projects/tomoyo/docs/?category_id=0&language_id=1 {{lang|en|category: root - TOMOYO - SourceForge.JP}}(英語資料)]


==脚注==
*[http://sourceforge.jp/projects/tomoyo/docman?_sl=2 カテゴリ: ルート - TOMOYO - SourceForge.JP(日本語資料)]
*[http://sourceforge.jp/projects/tomoyo/docman?_sl=1 category: root - TOMOYO - SourceForge.JP(英語資料)]

== 脚注 ==
{{reflist|2}}
{{reflist|2}}


== 関連項目 ==
==関連項目==
*{{lang|en|[[Security-Enhanced Linux]]}}
*[[SELinux]]
*[[AKARI]] (Access Keeping And Regulating Instrument) - TOMOYO Linux 1とほぼ同等の機能を有するLKM。TOMOYO Linux 2やSELinuxなどカーネル統合済みのセキュアOSとも同時実行できる。半田哲夫個人のプロジェクト。[http://sourceforge.jp/projects/akari/]
*{{lang|en|[[AKARI (LSM)|AKARI]]}} ({{lang|en|Access Keeping And Regulating Instrument}})[https://osdn.net/projects/akari/] - {{lang|en|TOMOYO Linux 1}}とほぼ同等の機能を有する{{lang|en|LKM}}{{lang|en|TOMOYO Linux 2}}{{lang|en|SELinux}}などカーネル統合済みのセキュア{{lang|en|OS}}とも同時実行できる。半田哲夫個人のプロジェクト。なお、この名称は[[ARIA (漫画)|ARIA]]の[[ARIAの登場人物|登場人物]]である「水無灯里」から採られている<ref>[http://kumaneko-sakura.sblo.jp/article/41322678.html AKARI という名前の由来について] - [http://kumaneko-sakura.sblo.jp/ 熊猫さくらのブログ] 2010年10月16日、2020年3月16日閲覧。</ref>。


== 外部リンク ==
==外部リンク==
*[http://tomoyo.sourceforge.jp/ TOMOYO Linux project]
*{{lang|en|[http://tomoyo.sourceforge.jp/ TOMOYO Linux project]}}
*[http://sourceforge.jp/projects/tomoyo/ SourceForge.jp: Project Info - TOMOYO -]
*{{lang|en|[https://osdn.net/projects/tomoyo/ SourceForge.jp: Project Info - TOMOYO -]}}
*[http://tomoyo.sourceforge.jp/wiki/ TOMOYO Linux Wiki]
*{{lang|en|[http://tomoyo.sourceforge.jp/wiki/ TOMOYO Linux Wiki]}}
**[http://tomoyo.sourceforge.jp/2ch/thread-2.txt 【めざせ】TOMOYO Linux 0.0.2 【本家入り】] マージ前後において[[2ちゃんねる]]Linux@2ch掲示板において開発者を交え議論がなされていたのは特徴的である([[吉岡弘隆]]による解説[http://d.hatena.ne.jp/hyoshiok/20090704])。
**[http://tomoyo.osdn.jp/2ch/thread-2.txt 【めざせ】{{lang|en|TOMOYO Linux 0.0.2}} 【本家入り】] マージ前後において[[2ちゃんねる|{{lang|en|2}}ちゃんねる]]{{lang|en|Linux}}@2{{lang|en|ch}}掲示板において開発者を交え議論がなされていたのは特徴的である([[吉岡弘隆]]による解説[https://hyoshiok.hatenablog.com/entries/2009/07/04])。
*[http://kumaneko-sakura.sblo.jp/ 熊猫さくらのブログ]
*[http://kumaneko-sakura.sblo.jp/ 熊猫さくらのブログ]
*{{lang|en|[http://www11.plala.or.jp/tsh/event.html Snowy Night/Event]}}
*[http://www.slideshare.net/haradats/presentations Toshiharu Harada’s Presentations on SlideShare]
*[http://www.slideshare.net/haradats/presentations {{lang|en|Toshiharu Harada}}’{{lang|en|s Presentations on SlideShare}}]
*[https://security.wiki.kernel.org/ Linux Kernel Security]
*{{lang|en|[https://security.wiki.kernel.org/ Linux Kernel Security]}}
*[http://www.atmarkit.co.jp/flinux/special/tomoyo/tomoyoa.html @IT: TOMOYO Linux カーネルマージまでの道のり]
*[https://atmarkit.itmedia.co.jp/flinux/special/tomoyo/tomoyoa.html @{{lang|en|IT: TOMOYO Linux}} カーネルマージまでの道のり]

*{{lang|en|[http://log69.com/tomld_en.html tomld]}} - 閉環境下における、ポリシールール学習[[デーモン (ソフトウェア)|デーモン]]


{{Computer-stub}}
{{Computer-stub}}
{{FLOSS-stub}}
{{FLOSS-stub}}



[[Category:Linux]]
[[Category:Linux]]
[[Category:日本のLinux開発]]
[[Category:日本のLinux開発]]
[[Category:セキュリティソフト]]
[[Category:セキュリティソフト]]

[[en:TOMOYO Linux]]
[[it:TOMOYO Linux]]

2023年9月30日 (土) 23:56時点における最新版

TOMOYO Linux version 1
作者 半田哲夫原田季栄プロジェクトマネージャ)他
開発元 NTTデータ
初版 2003年3月開発開始。2005年11月11日 (18年前) (2005-11-11)GNU GPL v2によるリリース。
最新版
1.8.5p2 / 2018年4月1日 (6年前) (2018-04-01)
最新評価版
N/A / N/A
リポジトリ ウィキデータを編集
プログラミング
言語
C言語
使用エンジン 独自セキュリティフレームワーク
対応OS Linux
プラットフォーム Linuxが動作する任意のアーキテクチャ
サポート状況 開発中
種別 強制アクセス制御
ライセンス GNU General Public Licenseバージョン2
公式サイト tomoyo.osdn.jp
テンプレートを表示
TOMOYO Linux version 2
作者 半田哲夫原田季栄プロジェクトマネージャ)他
開発元 NTTデータ
初版 2007年
最新版
2.5.0p8 / 2017年1月2日 (7年前) (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 LinuxLinuxカーネル(バージョン2.4並びに2.6)をベースとして、「ポリシーの自動学習機能」を備えた強制アクセス制御実装である。バニラカーネル(リーナス・トーバルズによりリリースされる公式のLinuxカーネル)に対するパッチおよびポリシーエディタ等の設定ツールにより構成される。NTTデータ研究開発プロジェクトとして2003に始まり、2005SourceForge.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のメインライン化(標準機能としてリーナス・トーバルズによりメンテナンスされているソースコードブランチへの統合)を目指すよう変更された。その理由はいくつかある。

  • CE Linux Forum英語版Japan Technical Jamboree12[6]における情報家電組み込み開発者の一部から上がった意見「組み込みLinux開発者の多くが組み込みLinux環境における、セキュリティ強化を希求しているが、(当時)すでにメインライン統合済みであったSecurity-Enhanced Linux (SELinux) には一部組み込み環境では負荷が大きい側面があり、そのためTOMOYOのようなパス名ベースのライトウェイトなセキュリティモジュールはうまく適合する側面がある。しかし組み込み開発者はカーネルへのパッチ適用を避ける傾向がある。」
  • YLUG横浜Linuxユーザグループ)カーネル読書会[7]などでの「熱い洗礼」
  • プロジェクト側の考えとしてメインラインカーネルツリーの外で「野良」メンテナンスし続けることは、一部の技術力の高いユーザは何もせずとも利用するかもしれないが、ビジネスユーザにとってはメインラインではないカーネルを使用することなど論外であり、ユーザの裾野を広げる点で障害になっていた点
  • Linuxカーネル開発者の多くは「リーナス・トーバルズのソースツリーに含まれていないものは見ない」傾向がある、すなわちメインライン化を図っていないコードはLinuxカーネル開発者の目に届きにくく、メインラインのAPIに追随し野良メンテナンスを行いつづけたとしても、ある日メインラインのカーネルツリーに追随不可能なコードの変更が加えられるかもしれない危険性があったという点

などである。これらに対応するため、プロジェクトは現行の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マージのために新たなファイルパス名ベースのフックを導入する必要があったが、これはLSMVFS双方の変更が必要だった。VFSのメンテナAl Viroはこの変更を当初頑なに拒否したため説得に難航したが、最終的にはmmツリーメンテナのアンドリュー・モートンが直接Al Viroの真意を聞き出し、結果的にVFSへのマージに成功した。その他様々な提案とコードの変更を行った結果、TOMOYO Linuxバージョン2は、20096月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 2005TOMOYO Linuxへの道」と題し講演されている。

オープンソースとして公開されてから2008年7月までの取り組みについて、Linux Foundation Japan #8シンポジウムにて、"Realities of Mainlining"として講演されている。

TOMOYO Linuxはオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。

脚注

[編集]
  1. ^ TOMOYO Linux Ver.1.0 Released”. スラッシュドット・ジャパン (2005年11月14日). 2011年1月5日閲覧。
  2. ^ TOMOYO Linux Wiki Q&A”. tomoyo.sourceforge.jp (2010年4月8日). 2011年1月23日閲覧。
  3. ^ Linux「はにゃ~ん♪」化計画” (2005年12月25日). 2011年1月23日閲覧。
  4. ^ セキュリティ・スタジアム2004”. 原田季栄 (Toshiharu Harada) (2008年11月3日). 2011年1月23日閲覧。
  5. ^ JNSAセミナーレポート - セキュリティ・スタジアム 2004盛況のうちに終了”. 根津研介、日本ネットワークセキュリティ協会. 2011年1月23日閲覧。
  6. ^ Japan Technical Jamboree12”. CE Linux Forum (2008年5月7日). 2011年1月23日閲覧。
  7. ^ ユメのチカラ: TOMOYO Linuxについて”. 吉岡弘隆 (2008年8月28日). 2011年1月23日閲覧。
  8. ^ Linus Torvalds (9 June 2009). "Linux 2.6.30". Linux Kernel (Mailing list). 2011年1月5日閲覧
  9. ^ Linux 2 6 30”. Linux Kernel Newbies (2009年6月12日). 2011年1月5日閲覧。
  10. ^ 日本発セキュアOSのTOMOYOがLinuxカーネルに標準採用”. 日経ITpro (2009年2月17日). 2009年2月18日閲覧。
  11. ^ NTTデータが開発した「TOMOYO? Linux」がLinux標準カーネルに正式採用”. NTTデータ ニュースリリース (2009年6月11日). 2011年1月5日閲覧。

関連項目

[編集]
  • Security-Enhanced Linux
  • AKARI (Access Keeping And Regulating Instrument)[1] - TOMOYO Linux 1とほぼ同等の機能を有するLKMTOMOYO Linux 2SELinuxなどカーネル統合済みのセキュアOSとも同時実行できる。半田哲夫個人のプロジェクト。なお、この名称はARIA登場人物である「水無灯里」から採られている[1]

外部リンク

[編集]
  1. ^ AKARI という名前の由来について - 熊猫さくらのブログ 2010年10月16日、2020年3月16日閲覧。