SlideShare a Scribd company logo
1 of 26
Download to read offline
CELF Japan Technical Jamboree 31



  TOMOYO Linuxのご紹介


   2009.12.18
   TOMOYO Linux Project
   半田哲夫
   penguin-kernel@I-love.SAKURA.ne.jp
                                        Copyright(C)2009 NTT DATA CORPORATION
本日のメニュー


Part 1:TOMOYO Linux 1.x の紹介

Part 2:TOMOYO Linux 2.x の紹介

Q&A




                      Copyright(C)2009 NTT DATA CORPORATION   1
TOMOYO Linux 1.x の紹介




               Copyright(C)2009 NTT DATA CORPORATION   2
TOMOYO Linux 1.x について

2005年11月11日に1.0を公開
 – 「学習モード」により振る舞いを記録し、「強制モー
   ド」により記録された振る舞いをだけを許可することが
   できる、アクセス制御機能
 – Linuxカーネルに対するセキュリティ強化拡張
2009年11月11日に1.7.1を公開
 – カーネル2.4.30以降および2.6.11以降に対応
 – http://tomoyo.sourceforge.jp/



                           Copyright(C)2009 NTT DATA CORPORATION   3
TOMOYO Linux 1.x について

「パス名ベース」のアクセス制御であることと
「学習モード」が存在することは知られているが、
それだけではない。
 –   システム起動時から電源断までを制御下におく(1.0)
 –   システム管理者の操作を制限/なりすまし対策(1.0)
 –   ポリシー違反を対話的に処理する機能(1.1.1)
 –   ユーザIDなどに基づく条件付きアクセス許可(1.2)
 – プログラム実行時のパラメータチェック機能(1.6.0)
 – プログラム実行時のプリプロセッサ機能(1.6.0)
 – ステートフルなアクセス許可(1.6.0)
 – スリープペナルティ機能(1.6.0)

                     Copyright(C)2009 NTT DATA CORPORATION   4
TOMOYO Linux 1.x について

システム起動時から電源断までを制御下におく
 – /sbin/initが実行されるタイミングから
   /sbin/poweroffで電源が切れる直前までの全
   ての動作を制御下に置くことも可能。
  • 「学習モード」が全ての動作を記録してくれ
    るので、それをチューニングおよびレビュー
    して適用するだけ。
  • SELinuxやAppArmorよりも適用しやすい。



                    Copyright(C)2009 NTT DATA CORPORATION   5
TOMOYO Linux 1.x について

システム管理者の操作を制限/なりすまし対策
 – もちろん、コンソールやSSHセッションのよ
   うに特定の範囲だけを制御下に置くことも可能。
 – 状態遷移が木構造になっていることを利用して、
   ログイン時に追加のユーザ認証を行うことによ
   り、パスワードクラック対策や認証モジュール
   の脆弱性への対策が可能。




                   Copyright(C)2009 NTT DATA CORPORATION   6
TOMOYO Linux 1.x について

ポリシー違反を対話的に処理する機能
 – 「強制モード」で動作中にポリシー違反が発生
   した場合に、アクセス要求を許可するかどうか
   を対話的に指定することが可能。
  • ソフトウェアアップデートによる突発的なア
    クセス要求やパス名の変化に対処する。
  • アプリケーション用のポリシーがまだロード
    されていなかった場合に、その場でポリシー
    をロードさせることも可能。

                   Copyright(C)2009 NTT DATA CORPORATION   7
TOMOYO Linux 1.x について

ユーザIDなどに基づく条件付きアクセス許可
 – ユーザのIDやファイルの所有者IDなどの情
   報に基づいてアクセスを制限することが可能。
  • 例:rootユーザではない場合に/bin/shの実行を許可
    – allow_execute /bin/sh if task.uid!=0
      task.euid!=0
  • 例:rootが所有者の場合に/tmp/fileの更新を許可
    – allow_write /tmp/file if path1.uid=0




                               Copyright(C)2009 NTT DATA CORPORATION   8
TOMOYO Linux 1.x について

プログラム実行時のパラメータチェック機能
 – 引数や環境変数などの内容に基づいてプログラ
   ムの実行の可否を判断することが可能。
  • 例:/bin/sh -c "uname -r"の場合だけ/bin/shの実
    行を許可
     – allow_execute /bin/sh if exec.argc=3
       exec.argv[0]="/bin/sh" exec.argv[1]="-c"
       exec.argv[2]="uname¥040-r"




                                Copyright(C)2009 NTT DATA CORPORATION   9
TOMOYO Linux 1.x について

プログラム実行時のプリプロセッサ機能
 – プログラムの実行要求を横取りして、ポリシー
   で指定されたプログラムに任意の処理(例えば
   /tmp/にtmpfsをマウントさせたり、標準入出
   力を繋ぎかえさせたり、コマンドライン引数を
   修正させたりなど)を行わせることが可能。
  • 例:プログラム実行時の引数を記録してから実行する
    – execute_handler /usr/lib/ccs/audit-exec-
      param


                               Copyright(C)2009 NTT DATA CORPORATION   10
TOMOYO Linux 1.x について

ステートフルなアクセス許可
 – 状態変数を用いた権限の分割が可能。
  • 例:LANからのクライアントには/bin/shを許可、
    WANからのクライアントには/bin/rbashを許可
    – allow_network TCP accept @LAN @any ; set
      task.state[0]=1
    – allow_network TCP accept @WAN @any ; set
      task.state[0]=2
    – allow_execute /bin/sh if task.state[0]=1
    – allow_execute /bin/rbash if task.state[0]=2

                               Copyright(C)2009 NTT DATA CORPORATION   11
TOMOYO Linux 1.x について

スリープペナルティ機能
 – 「強制モード」でのポリシー違反の発生時に、
   ポリシー違反を起こしたプロセスを指定された
   時間強制的にスリープさせることで、CPU使
   用率を下げ、無駄な電力消費を抑えることが可
   能。(ポリシーで許可されていない要求を永遠
   に繰り返すプロセスに対する防御として有
   効。)



                   Copyright(C)2009 NTT DATA CORPORATION   12
TOMOYO Linux 1.7 について

TOMOYO Linux 2.2 がメインライン化されたの
を契機に、Linux Kernel開発者コミュニティから
のフィードバックを取り込んで、仕様変更と機能
強化を行ったもの
 – パス名の再帰的指定の追加(1.7.1)
 – プロファイルの仕様変更(1.7.0)
 – ガベージコレクタ機能の追加(1.7.0)
 – パーミッションチェックの細分化(1.7.0)
 – アクセスログの詳細化(1.7.0)


                       Copyright(C)2009 NTT DATA CORPORATION   13
TOMOYO Linux 1.7 について

パス名の再帰的指定の追加
 – 「/」+「1回以上のdir/の繰り返し」に一致す
   る/¥{dir¥}/というワイルドカードが追加され
   た。
  • 例:/var/www/html/以下の¥*.htmlの参照を許可
    – allow_read /var/www/html/¥{¥*¥}/¥*.html
  • 例: /var/www/以下の.svnおよび.gitディレクトリ
    の外にある全てのファイルの参照を許可
    – allow_read /var/www/¥{¥*¥-.svn¥-.git}/¥*


                               Copyright(C)2009 NTT DATA CORPORATION   14
TOMOYO Linux 1.7 について

プロファイルの仕様変更
 – TOMOYO 1.6までは、カテゴリ単位(ファイル/ネッ
   トワーク/ケイパビリティ等)での指定しかできなかっ
   た。
 – TOMOYO 1.7では、項目単位(ファイルのオープン/
   ファイルの新規作成/TCP接続要求の送信/TCP接
   続要求の受信等)での指定が可能になった。これにより、
   例えばファイルの読み書きについてはSELinuxや
   Smackに任せ、ディレクトリエントリの変更操作は
   TOMOYOによる制限およびアクセスログの取得も行う
   という使い方が可能になった。

                    Copyright(C)2009 NTT DATA CORPORATION   15
TOMOYO Linux 1.7 について

ガベージコレクタ機能の追加
 – TOMOYO 1.6までは、ポリシーを削除してもポリシー
   が使用していたメモリ領域を解放することができなかっ
   た。そのため、再起動以外に不要になったメモリを解放
   することができなかった。
 – TOMOYO 1.7では、ポリシーを削除するとポリシーが
   使用していたメモリ領域が自動的に解放されるように
   なった。




                    Copyright(C)2009 NTT DATA CORPORATION   16
TOMOYO Linux 1.7 について

パーミッションチェックの細分化
 – TOMOYO 1.6までは、ファイルに対するアクセス制御
   ではパス名しかチェックしていなかった。
 – TOMOYO 1.7では、ファイルに対するアクセス制御に
   関して、ファイル作成時のモード、パーミッションや所
   有者やグループ変更時の値、ioctlのコマンド番号など、
   数値で表現されているパラメータもチェックされるよう
   になった。
  • 例:/etc/shadowのパーミッションを0600に変更
    許可
    – allow_chmod /etc/shadow 0600
                               Copyright(C)2009 NTT DATA CORPORATION   17
TOMOYO Linux 1.7 について

アクセスログの詳細化
 – if節で使用できる全ての情報を取得できるよう
   になり、「学習モード」を使わずに、アクセス
   ログからif節付きのポリシーを生成できるよう
   になった。
  • 「学習モード」では学習されない条件も付与
    されるので、より厳格な制限が可能




                   Copyright(C)2009 NTT DATA CORPORATION   18
TOMOYO Linux 1.7 について

元々はPCやサーバでの利用を想定して開発され
たが、組込みでの利用にも向いている。
 – アーキテクチャ非依存
 – ファイルシステム非依存
 – マルチコールバイナリ( BusyBox )の識別が可能
 – 省メモリ
 – 既存プログラムの修正が不要
Androidにも適用できる。
 – TCP/IP で通信するエージェント経由で TOMOYO を
   制御可能

                     Copyright(C)2009 NTT DATA CORPORATION   19
どうぞお試しください

YouTubeで動画を観れます。
 – http://www.youtube.com/results?search_quer
   y=tomoyo+linux
LiveCDもあります。
 – CentOS 5
  http://tomoyo.sourceforge.jp/1.7/1st-
  step/centos5-live/
 – Ubuntu 9.10
  http://tomoyo.sourceforge.jp/1.7/1st-
  step/ubuntu9.10-live/


                               Copyright(C)2009 NTT DATA CORPORATION   20
TOMOYO Linux 2.x の紹介




               Copyright(C)2009 NTT DATA CORPORATION   21
TOMOYO Linux 2.2 について

2009年6月10日、Linuxカーネル2.6.30に採用
 – TOMOYO 1.6から出発し、メインラインに採
   用してもらうためにLSMを使用するように改造
   されたバージョン。
  • SELinuxやSmackやAppArmorとの併用は
    不可能
 – まだProof of Conceptレベルの内容
  • ファイルに対するアクセス制御の一部しか実
    装されていない。

                     Copyright(C)2009 NTT DATA CORPORATION   22
TOMOYO Linux 2.2 について

今後の予定
 – カーネル2.6.33でパス名の再帰的指定が追加
Call for reviewers
 – 既にTOMOYO 1.7.1とほぼ同じレベルまで実
   装できてはいるが、LSMメーリングリストでの
   レビューを受けないと採用されない。
 – LSMメーリングリストでのレビューに参加して
   いただける方を募集しています。


                     Copyright(C)2009 NTT DATA CORPORATION   23
Q&A




      Copyright(C)2009 NTT DATA CORPORATION   24
TOMOYOは株式会社NTTデータの登録商標です。
LinuxはLinus Torvalds氏の日本およびその他の国における登録商標または商標です。
             その他の商品名、会社名、団体名は、各社の商標または登録商標です。
                      Copyright(C)2009 NTT DATA CORPORATION   25

More Related Content

More from Toshiharu Harada, Ph.D

Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitToshiharu Harada, Ph.D
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs saysToshiharu Harada, Ph.D
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策Toshiharu Harada, Ph.D
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへToshiharu Harada, Ph.D
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」Toshiharu Harada, Ph.D
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」Toshiharu Harada, Ph.D
 
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Toshiharu Harada, Ph.D
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムToshiharu Harada, Ph.D
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指してToshiharu Harada, Ph.D
 
Linuxセキュリティ強化エッセンシャル
Linuxセキュリティ強化エッセンシャルLinuxセキュリティ強化エッセンシャル
Linuxセキュリティ強化エッセンシャルToshiharu Harada, Ph.D
 
闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座Toshiharu Harada, Ph.D
 
TOMOYO Linux on Android (Taipei, 2009)
TOMOYO Linux on Android (Taipei, 2009)TOMOYO Linux on Android (Taipei, 2009)
TOMOYO Linux on Android (Taipei, 2009)Toshiharu Harada, Ph.D
 

More from Toshiharu Harada, Ph.D (20)

Job's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation KitJob's 2005 Stanford Speech Translation Kit
Job's 2005 Stanford Speech Translation Kit
 
’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says’You’ve got to find what you love,’ Jobs says
’You’ve got to find what you love,’ Jobs says
 
TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介TOMOYO Linuxのご紹介
TOMOYO Linuxのご紹介
 
Your First Guide to "secure Linux"
Your First Guide to "secure Linux"Your First Guide to "secure Linux"
Your First Guide to "secure Linux"
 
振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策振る舞いに基づくSSHブルートフォースアタック対策
振る舞いに基づくSSHブルートフォースアタック対策
 
僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ僕より少し遅く生まれてきた君たちへ
僕より少し遅く生まれてきた君たちへ
 
Why TOMOYO Linux?
Why TOMOYO Linux?Why TOMOYO Linux?
Why TOMOYO Linux?
 
Deep inside TOMOYO Linux
Deep inside TOMOYO LinuxDeep inside TOMOYO Linux
Deep inside TOMOYO Linux
 
ComSys2009
ComSys2009ComSys2009
ComSys2009
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
 
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
Chained Enforceable Re-authentication Barrier Ensures Really Unbreakable Secu...
 
プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システム
 
TOMOYO Linux
TOMOYO LinuxTOMOYO Linux
TOMOYO Linux
 
使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して使いこなせて安全なLinuxを目指して
使いこなせて安全なLinuxを目指して
 
TOMOYO Linuxへの道
TOMOYO Linuxへの道TOMOYO Linuxへの道
TOMOYO Linuxへの道
 
Linuxセキュリティ強化エッセンシャル
Linuxセキュリティ強化エッセンシャルLinuxセキュリティ強化エッセンシャル
Linuxセキュリティ強化エッセンシャル
 
闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座
 
TOMOYO Linux on Android (Taipei, 2009)
TOMOYO Linux on Android (Taipei, 2009)TOMOYO Linux on Android (Taipei, 2009)
TOMOYO Linux on Android (Taipei, 2009)
 
TOMOYO Linux on Android
TOMOYO Linux on AndroidTOMOYO Linux on Android
TOMOYO Linux on Android
 

20091218 CELF Jamboree 31

  • 1. CELF Japan Technical Jamboree 31 TOMOYO Linuxのご紹介 2009.12.18 TOMOYO Linux Project 半田哲夫 penguin-kernel@I-love.SAKURA.ne.jp Copyright(C)2009 NTT DATA CORPORATION
  • 2. 本日のメニュー Part 1:TOMOYO Linux 1.x の紹介 Part 2:TOMOYO Linux 2.x の紹介 Q&A Copyright(C)2009 NTT DATA CORPORATION 1
  • 3. TOMOYO Linux 1.x の紹介 Copyright(C)2009 NTT DATA CORPORATION 2
  • 4. TOMOYO Linux 1.x について 2005年11月11日に1.0を公開 – 「学習モード」により振る舞いを記録し、「強制モー ド」により記録された振る舞いをだけを許可することが できる、アクセス制御機能 – Linuxカーネルに対するセキュリティ強化拡張 2009年11月11日に1.7.1を公開 – カーネル2.4.30以降および2.6.11以降に対応 – http://tomoyo.sourceforge.jp/ Copyright(C)2009 NTT DATA CORPORATION 3
  • 5. TOMOYO Linux 1.x について 「パス名ベース」のアクセス制御であることと 「学習モード」が存在することは知られているが、 それだけではない。 – システム起動時から電源断までを制御下におく(1.0) – システム管理者の操作を制限/なりすまし対策(1.0) – ポリシー違反を対話的に処理する機能(1.1.1) – ユーザIDなどに基づく条件付きアクセス許可(1.2) – プログラム実行時のパラメータチェック機能(1.6.0) – プログラム実行時のプリプロセッサ機能(1.6.0) – ステートフルなアクセス許可(1.6.0) – スリープペナルティ機能(1.6.0) Copyright(C)2009 NTT DATA CORPORATION 4
  • 6. TOMOYO Linux 1.x について システム起動時から電源断までを制御下におく – /sbin/initが実行されるタイミングから /sbin/poweroffで電源が切れる直前までの全 ての動作を制御下に置くことも可能。 • 「学習モード」が全ての動作を記録してくれ るので、それをチューニングおよびレビュー して適用するだけ。 • SELinuxやAppArmorよりも適用しやすい。 Copyright(C)2009 NTT DATA CORPORATION 5
  • 7. TOMOYO Linux 1.x について システム管理者の操作を制限/なりすまし対策 – もちろん、コンソールやSSHセッションのよ うに特定の範囲だけを制御下に置くことも可能。 – 状態遷移が木構造になっていることを利用して、 ログイン時に追加のユーザ認証を行うことによ り、パスワードクラック対策や認証モジュール の脆弱性への対策が可能。 Copyright(C)2009 NTT DATA CORPORATION 6
  • 8. TOMOYO Linux 1.x について ポリシー違反を対話的に処理する機能 – 「強制モード」で動作中にポリシー違反が発生 した場合に、アクセス要求を許可するかどうか を対話的に指定することが可能。 • ソフトウェアアップデートによる突発的なア クセス要求やパス名の変化に対処する。 • アプリケーション用のポリシーがまだロード されていなかった場合に、その場でポリシー をロードさせることも可能。 Copyright(C)2009 NTT DATA CORPORATION 7
  • 9. TOMOYO Linux 1.x について ユーザIDなどに基づく条件付きアクセス許可 – ユーザのIDやファイルの所有者IDなどの情 報に基づいてアクセスを制限することが可能。 • 例:rootユーザではない場合に/bin/shの実行を許可 – allow_execute /bin/sh if task.uid!=0 task.euid!=0 • 例:rootが所有者の場合に/tmp/fileの更新を許可 – allow_write /tmp/file if path1.uid=0 Copyright(C)2009 NTT DATA CORPORATION 8
  • 10. TOMOYO Linux 1.x について プログラム実行時のパラメータチェック機能 – 引数や環境変数などの内容に基づいてプログラ ムの実行の可否を判断することが可能。 • 例:/bin/sh -c "uname -r"の場合だけ/bin/shの実 行を許可 – allow_execute /bin/sh if exec.argc=3 exec.argv[0]="/bin/sh" exec.argv[1]="-c" exec.argv[2]="uname¥040-r" Copyright(C)2009 NTT DATA CORPORATION 9
  • 11. TOMOYO Linux 1.x について プログラム実行時のプリプロセッサ機能 – プログラムの実行要求を横取りして、ポリシー で指定されたプログラムに任意の処理(例えば /tmp/にtmpfsをマウントさせたり、標準入出 力を繋ぎかえさせたり、コマンドライン引数を 修正させたりなど)を行わせることが可能。 • 例:プログラム実行時の引数を記録してから実行する – execute_handler /usr/lib/ccs/audit-exec- param Copyright(C)2009 NTT DATA CORPORATION 10
  • 12. TOMOYO Linux 1.x について ステートフルなアクセス許可 – 状態変数を用いた権限の分割が可能。 • 例:LANからのクライアントには/bin/shを許可、 WANからのクライアントには/bin/rbashを許可 – allow_network TCP accept @LAN @any ; set task.state[0]=1 – allow_network TCP accept @WAN @any ; set task.state[0]=2 – allow_execute /bin/sh if task.state[0]=1 – allow_execute /bin/rbash if task.state[0]=2 Copyright(C)2009 NTT DATA CORPORATION 11
  • 13. TOMOYO Linux 1.x について スリープペナルティ機能 – 「強制モード」でのポリシー違反の発生時に、 ポリシー違反を起こしたプロセスを指定された 時間強制的にスリープさせることで、CPU使 用率を下げ、無駄な電力消費を抑えることが可 能。(ポリシーで許可されていない要求を永遠 に繰り返すプロセスに対する防御として有 効。) Copyright(C)2009 NTT DATA CORPORATION 12
  • 14. TOMOYO Linux 1.7 について TOMOYO Linux 2.2 がメインライン化されたの を契機に、Linux Kernel開発者コミュニティから のフィードバックを取り込んで、仕様変更と機能 強化を行ったもの – パス名の再帰的指定の追加(1.7.1) – プロファイルの仕様変更(1.7.0) – ガベージコレクタ機能の追加(1.7.0) – パーミッションチェックの細分化(1.7.0) – アクセスログの詳細化(1.7.0) Copyright(C)2009 NTT DATA CORPORATION 13
  • 15. TOMOYO Linux 1.7 について パス名の再帰的指定の追加 – 「/」+「1回以上のdir/の繰り返し」に一致す る/¥{dir¥}/というワイルドカードが追加され た。 • 例:/var/www/html/以下の¥*.htmlの参照を許可 – allow_read /var/www/html/¥{¥*¥}/¥*.html • 例: /var/www/以下の.svnおよび.gitディレクトリ の外にある全てのファイルの参照を許可 – allow_read /var/www/¥{¥*¥-.svn¥-.git}/¥* Copyright(C)2009 NTT DATA CORPORATION 14
  • 16. TOMOYO Linux 1.7 について プロファイルの仕様変更 – TOMOYO 1.6までは、カテゴリ単位(ファイル/ネッ トワーク/ケイパビリティ等)での指定しかできなかっ た。 – TOMOYO 1.7では、項目単位(ファイルのオープン/ ファイルの新規作成/TCP接続要求の送信/TCP接 続要求の受信等)での指定が可能になった。これにより、 例えばファイルの読み書きについてはSELinuxや Smackに任せ、ディレクトリエントリの変更操作は TOMOYOによる制限およびアクセスログの取得も行う という使い方が可能になった。 Copyright(C)2009 NTT DATA CORPORATION 15
  • 17. TOMOYO Linux 1.7 について ガベージコレクタ機能の追加 – TOMOYO 1.6までは、ポリシーを削除してもポリシー が使用していたメモリ領域を解放することができなかっ た。そのため、再起動以外に不要になったメモリを解放 することができなかった。 – TOMOYO 1.7では、ポリシーを削除するとポリシーが 使用していたメモリ領域が自動的に解放されるように なった。 Copyright(C)2009 NTT DATA CORPORATION 16
  • 18. TOMOYO Linux 1.7 について パーミッションチェックの細分化 – TOMOYO 1.6までは、ファイルに対するアクセス制御 ではパス名しかチェックしていなかった。 – TOMOYO 1.7では、ファイルに対するアクセス制御に 関して、ファイル作成時のモード、パーミッションや所 有者やグループ変更時の値、ioctlのコマンド番号など、 数値で表現されているパラメータもチェックされるよう になった。 • 例:/etc/shadowのパーミッションを0600に変更 許可 – allow_chmod /etc/shadow 0600 Copyright(C)2009 NTT DATA CORPORATION 17
  • 19. TOMOYO Linux 1.7 について アクセスログの詳細化 – if節で使用できる全ての情報を取得できるよう になり、「学習モード」を使わずに、アクセス ログからif節付きのポリシーを生成できるよう になった。 • 「学習モード」では学習されない条件も付与 されるので、より厳格な制限が可能 Copyright(C)2009 NTT DATA CORPORATION 18
  • 20. TOMOYO Linux 1.7 について 元々はPCやサーバでの利用を想定して開発され たが、組込みでの利用にも向いている。 – アーキテクチャ非依存 – ファイルシステム非依存 – マルチコールバイナリ( BusyBox )の識別が可能 – 省メモリ – 既存プログラムの修正が不要 Androidにも適用できる。 – TCP/IP で通信するエージェント経由で TOMOYO を 制御可能 Copyright(C)2009 NTT DATA CORPORATION 19
  • 21. どうぞお試しください YouTubeで動画を観れます。 – http://www.youtube.com/results?search_quer y=tomoyo+linux LiveCDもあります。 – CentOS 5 http://tomoyo.sourceforge.jp/1.7/1st- step/centos5-live/ – Ubuntu 9.10 http://tomoyo.sourceforge.jp/1.7/1st- step/ubuntu9.10-live/ Copyright(C)2009 NTT DATA CORPORATION 20
  • 22. TOMOYO Linux 2.x の紹介 Copyright(C)2009 NTT DATA CORPORATION 21
  • 23. TOMOYO Linux 2.2 について 2009年6月10日、Linuxカーネル2.6.30に採用 – TOMOYO 1.6から出発し、メインラインに採 用してもらうためにLSMを使用するように改造 されたバージョン。 • SELinuxやSmackやAppArmorとの併用は 不可能 – まだProof of Conceptレベルの内容 • ファイルに対するアクセス制御の一部しか実 装されていない。 Copyright(C)2009 NTT DATA CORPORATION 22
  • 24. TOMOYO Linux 2.2 について 今後の予定 – カーネル2.6.33でパス名の再帰的指定が追加 Call for reviewers – 既にTOMOYO 1.7.1とほぼ同じレベルまで実 装できてはいるが、LSMメーリングリストでの レビューを受けないと採用されない。 – LSMメーリングリストでのレビューに参加して いただける方を募集しています。 Copyright(C)2009 NTT DATA CORPORATION 23
  • 25. Q&A Copyright(C)2009 NTT DATA CORPORATION 24
  • 26. TOMOYOは株式会社NTTデータの登録商標です。 LinuxはLinus Torvalds氏の日本およびその他の国における登録商標または商標です。 その他の商品名、会社名、団体名は、各社の商標または登録商標です。 Copyright(C)2009 NTT DATA CORPORATION 25