TOMOYO Linux

1,127 views

Published on

Linux Conference 2004

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,127
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • このキャラクタをTOMOYOキャラとして利用させていただきます。 ありがとうございました。 5/28 18:22 原田
  • この図でOKです。ありがとうございました。5/28 15:48 原田
  • ちょっとテイストが変わりますが、ここはFlashを使って説明の予定なので図は入りません。5/28 16:06 原田
  • 図は入らない予定です。
  • このページは図をつけない予定です。
  • この図でokです。ありがとうございました。 5/28 15:48 原田
  • この図を採用します。説明の文章を少し修正しました。5/28 15:49 原田
  • この図を採用します。5/28 15:49 原田
  • このページに図をつけたいのですが、まだアイデアが整理できていません。5/31までに考えることが出来れば是非お願い致します。5/28 16:00 原田
  • この絵を採用させていただきます。ありがとうございました。 もし可能であれば「守る」イメージを強調したいのでペンギンに盾等を 持たせられないでしょうか? 5/28 18:24 原田
  • TOMOYOキャラを配置しました。
  • 今のところ図ははいらない予定です。
  • この図を採用します。5/28 16:01 原田
  • この図を採用します。5/28 16:01 原田
  • この図を採用させていただきます。ありがとうございました。5/28 18:25 原田
  • ここに追加したい絵を考えています。5/31までに考えることが出来ればお送りしますのでよろしくお願い致します。5/28 15:57 原田
  • 復元して、 ACCEPT で起動 login savepolicy  (現時点のポリシーがファイルに保存される) ./poled.exe -> ドメインの追加と削除 学習したいコマンドを実行する reboot ENFORCE で起動 policy.txt は編集できるが、 pattern.txt は編集できない (1)プログラムの実行が許可されていない (2)プログラムの実行が許可されていても対象への操作が許可されていない nosave を作って、 policy.txt を消して再起動するとポリシーなしの状態になる
  • su demo ping|su localhost exit ./limitreroot.exe $$ su demo ping|su はできない setuid root されているから 他にも exec 制限、 mount 制限等もある (SAKURA)
  • 勿論図ははいりません。
  • 図ははいらない予定です。
  • TOMOYO Linux

    1. 1. TOMOYO Linux タスク構造体の拡張によるセキュリティ強化Linux 平成 16 年 6 月 3 日 株式会社NTTデータ 技術開発本部 オープンシステムアーキテクチャグループ 原田季栄 [email_address]
    2. 2. Linux セキュリティ上の課題 <ul><li>「所有者」による「自由裁量」のアクセス制御 </li></ul><ul><ul><li>粗い分類と、制御の粒度 </li></ul></ul><ul><ul><li>システム管理者に対しては効力を持たない </li></ul></ul><ul><li>システム管理者権限を奪われると歯止め無し </li></ul>
    3. 3. 強制アクセス制御 (MAC) <ul><li>Mandatory Access Control の略 </li></ul><ul><li>DoD が 1985 年に発令した TCSEC の中で、” CLASS (B1): LABELED SECURITY PROTECTION” として記述 </li></ul><ul><ul><li>アクセスの主体(要求する側)と客体(要求された側)について </li></ul></ul><ul><ul><li>付与された重要性 (sensitivity) のラベルに基づき </li></ul></ul><ul><ul><li>「強制的に例外なく」可否を判定する </li></ul></ul>
    4. 4. SELinux <ul><li>Security-Enhanced Linux </li></ul><ul><ul><li>http://www.nsa.gov/selinux/ </li></ul></ul><ul><li>NSAが開発、公開しているセキュリティ強化Linux </li></ul><ul><li>特徴 </li></ul><ul><ul><li>強制アクセス制御をLinuxに実装 </li></ul></ul><ul><ul><li>DTE (Domain Type Enforcement) </li></ul></ul><ul><ul><ul><li>プログラムの実行状況を「ドメイン」という概念で表現 </li></ul></ul></ul><ul><ul><ul><li>「ドメイン」毎にアクセス許可を定義し、アクセスを制限する </li></ul></ul></ul><ul><ul><li>RBAC (Role Based Access Control) </li></ul></ul><ul><ul><ul><li>同一ユーザでも役割により異なる権限を与える </li></ul></ul></ul><ul><ul><li>LSM に対応、2.6カーネルに組み込み済み </li></ul></ul><ul><ul><li>非常にきめこまかなアクセス制御を実現できる </li></ul></ul>
    5. 5. SELinuxで問題解決? <ul><li>「適切なポリシー」の策定と運用が現実には困難 </li></ul><ul><li>ラベルによるアクセス制御の問題 </li></ul>
    6. 6. SELinuxの運用 <ul><li>エラーログから必要なアクセス許可を割り出して </li></ul><ul><li>ポリシーに追加すれば動作はするのだが・・・ </li></ul>
    7. 7. ポリシーを定義するということは <ul><li>ポリシーはデフォルトで全てのアクセスを禁止するようになっている。 </li></ul><ul><li>管理者はアプリケーションが 動作するために必要なものを全て正確に書き出さなければならない。 </li></ul>
    8. 8. ラベルによるアクセス判定 <ul><li>ユーザが意識するファイル名やディレクトリ名ではなく、それらにつけられた符号(ラベル)によりアクセス可否が判断される。 </li></ul>
    9. 9. TOMOYO以前の取り組み <ul><li>アクセスポリシー自動生成支援システム </li></ul><ul><ul><li>JNSA Network Security Forum 2003で発表 </li></ul></ul><ul><ul><ul><li>http://www.jnsa.org/award/2003/result.html </li></ul></ul></ul><ul><ul><li>特殊なカーネルにより、 </li></ul></ul><ul><ul><ul><li>プロセス起動履歴と、履歴毎のアクセス要求を記憶 </li></ul></ul></ul><ul><ul><ul><li>記憶したアクセス要求をファイルに抽出 </li></ul></ul></ul><ul><ul><ul><li>Windows上でGUIエディタを用いて確認、編集 </li></ul></ul></ul><ul><ul><li>特徴 </li></ul></ul><ul><ul><ul><li>もれがなく、正確なポリシーの策定が可能 </li></ul></ul></ul><ul><li>これに強制アクセス制御機能を加えたものが TOMOYO Linux </li></ul>
    10. 10. TOMOYO以前の取り組み <ul><li>SAKURA Linux (物理的な改ざん防止) </li></ul>
    11. 11. SAKURAの限界 <ul><li>改ざん防止策にはなるが、情報漏洩防止策にはならない </li></ul><ul><li>かといって複雑なポリシーの管理運用はしたくない </li></ul><ul><li>そんなときこそTOMOYOの出番 </li></ul>
    12. 12. TOMOYO Linux <ul><li>ラベルによらないアクセス許可の付与 </li></ul><ul><ul><li>ファイル名、ディレクトリ名そのままでポリシーを確認、編集 </li></ul></ul><ul><li>アクセスポリシーの自動定義機能 </li></ul><ul><li>アクセスポリシーに基づく強制アクセス制御 </li></ul><ul><li>アクセスポリシーによらない自発的アクセス制御 </li></ul>
    13. 13. ラベルによらないアクセス許可 <ul><li>普段意識しているファイル名やディレクトリ名をそのまま使えるから直感的で わかりやすく、間違えない。 </li></ul>
    14. 14. ポリシーの自動定義 <ul><li>管理者の手をわずらわせることなく、 </li></ul><ul><li>必要十分なポリシーが得られる </li></ul>
    15. 15. SAKURAとTOMOYO <ul><li>「改ざん防止の SAKURA 」+「アクセス制御の TOMOYO 」で </li></ul><ul><li>簡単ながら強固なセキュリティを実現可能 </li></ul>
    16. 16. タスク構造体について <ul><li>今回の強制アクセス制御の実装ではタスク構造体を利用しています。 </li></ul><ul><ul><li>全てのプロセスが持っている。(プロセスの「名札」として使える) </li></ul></ul><ul><ul><li>好きな情報を何でも記録することができる。(「名札」には名前以外も書き込める) </li></ul></ul><ul><ul><li>「複製」と「更新」により引き継がれていく。(Linuxのプロセス生成の 仕組みを活用できる) </li></ul></ul>
    17. 17. デモ <ul><li>アクセスポリシー自動定義 </li></ul><ul><li>自動定義された内容に基づく強制アクセス制御 </li></ul>
    18. 18. デモ <ul><li>アクセスポリシーに拠らない自発的アクセス制御 </li></ul>
    19. 19. デモ <ul><li>サーバー機能 </li></ul>
    20. 20. 参考文献 <ul><li>日経システム構築 2004 年 4 月号 no.132 「解説」 </li></ul><ul><ul><li>「セキュアなシステムを作る( 3 つの原則に従い OS の機能を強化)」 </li></ul></ul><ul><li>読み込み専用メディア上での Linux サーバの運用について </li></ul><ul><ul><li>「読み込み専用マウントによる改ざん防止 Linux サーバの構築」 </li></ul></ul><ul><ul><ul><li>Linux Conference 2003 </li></ul></ul></ul><ul><ul><ul><li>http://lc.linux.or.jp/lc2003/30.html </li></ul></ul></ul><ul><ul><ul><li>原田季栄、保理江高志、田中一男 </li></ul></ul></ul><ul><li>強制アクセス制御のポリシー定義の自動化について </li></ul><ul><ul><li>「プロセス実行履歴に基づくアクセスポリシー自動生成システム」 </li></ul></ul><ul><ul><ul><li>Network Security Forum 2003 </li></ul></ul></ul><ul><ul><ul><li>http://www.jnsa.org/award/2003/result.html </li></ul></ul></ul><ul><ul><ul><li>原田季栄、保理江高志、田中一男 </li></ul></ul></ul><ul><li>http://www11.plala.or.jp/tsh/ </li></ul><ul><ul><li>本資料掲載内容のフォローアップ情報を公開します </li></ul></ul>
    21. 21. special thanks to <ul><li>本資料作成にあたりお世話になった方々に感謝致します。 </li></ul><ul><ul><li>NTTデータカスタマサービス 半田哲夫様 </li></ul></ul>AKIRA IGARASHI (illustration)

    ×