Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LSM Leaks

1,647 views

Published on

TOMOYO LinuxとAkariの開発者であり、LSMに精通する半田さんによる講演資料。

・名前ベースのアクセス制御の意味
・LSMに隠された抜け道

第51回コンピュータセキュリティ研究発表会
http://www.ipsj.or.jp/09sig/kaikoku/2010/CSEC51.html

Published in: Technology

LSM Leaks

  1. 1. LSM Leaks 名前ベースのアクセス制御の意味 LSMに隠された抜け道 TOMOYO Linux プロジェクト 半田 哲夫 1
  2. 2. メインラインカーネルに含まれている アクセス制御モジュール SELinux/Smack  出発点:情報の隔離と伝達経路の制御 TOMOYO/AppArmor  出発点:バッファオーバーフロー対策 現在の状況  SELinux は設定内容が適切であるかどうかを確認することが困難で あることから、 Google suggest に「 SELinux disable 」が登場 するほどのアレルギー反応を引き起こし、現在も続いている。  さらに、最近では「 AppArmor disable 」も登場しており、ユーザ に設定内容を意識させないまま使ってもらうことの難しさを感じて いる。  TOMOYO は徹底的にユーザに設定内容を意識させているが、利用者 が少なく、しかもデフォルトで有効になっていないため、まだ 「 TOMOYO disable 」は登場していないようである。
  3. 3. ラベル対パス名論争(2006年) ラベル  ファイルがどこに存在していてもアクセス可否が変わらないことが 重要。  パス名を持たない資源についてもアクセス制御できることが重要。 パス名(などのパラメータ)  あるべき場所にあるべき名前でファイルが存在していなければ、 ファイルに到達できなかったりファイルの内容が想定外の用途で使 われたりする。  パス名やコマンドライン引数などのパラメータを制限することによ り、想定外の動作や使われ方が発生しないようにすることも重要。  TOMOYO ではファイルの読み書き実行だけでなく、ファイルのリ ネームやコマンドライン引数なども制限することができる。
  4. 4. ラベルに基づくアクセス制御だけでは 解決できない問題の例 # mv /etc/shadow /etc/my_shadow  ラベルであれば /etc/my_shadow に対するアクセス可否は変わらな いが、ユーザがログインできなくなっては意味が無い。 # mv /var/www/html/index.txt /var/www/html/.htaccess  ラベルであれば /var/www/html/.htaccess に対するアクセス可否 は変わらないが、Webコンテンツとして使われるべきファイルの 内容がWebクライアントに対するアクセス制御情報として使われ てしまっては意味が無い。 # /usr/sbin/sshd -o Banner /etc/shadow  ( SELinux の targeted ポリシーの場合) /etc/shadow に対する アクセス可否は変わらないが、パスワード情報が認証前のSSHク ライアントに対して開示されてしまっては意味が無い。
  5. 5. ラベル&パス名論争(ひそかに展開中) ラベルに基づくアクセス制御は機密性と完全性の確保が得 意。  しかし、アクセスを許可することにより発生する副作用を扱うこと は苦手。 パス名(などのパラメータ)に基づくアクセス制御は可用 性の確保が得意。  しかし、オブジェクトの視点からアクセスを制限することは苦手。 ラベルとパス名は補完しあうものであり、同時に使用でき るべき。  LSMの制約により、複数のアクセス制御モジュールを同時に有効 にできない。  LSMを用いない TOMOYO 1.x であれば同時に有効にできる。
  6. 6. LSMの遷移(閉鎖的/排他的なコミュニティ) 主な出来事  2.6.0(2003/12) メインラインに含まれているのは SELinux だけ  2.6.24(2008/1) LKMとして実装することが不可能に  2.6.25(2008/4) Smack がメインライン化成功  2.6.29(2009/3) スレッド単位での変数管理が不可能に  2.6.30(2009/6) TOMOYO がメインライン化成功  2.6.35(2010/8) 起動後に登録することが不可能に  2.6.36(2010/10) AppArmor がメインライン化成功/ Yama は失敗 全てのアクセス制御モジュールのためのインフラとして提 供されていた筈が、メインラインに含まれているアクセス 制御モジュールの主張だけで動くように。 アクセス制御モジュールはメインラインへの追加が困難で、 カーネルコンパイル時に組み込まれなかったアクセス制御 モジュールはカーネル本体の置き換えをしないと使えない という巨大な障壁に阻まれている。
  7. 7. AKARI(灯?灯里?) LSMで実装可能な範囲をLKMとして実装した TOMOYO  TOMOYO 2.x よりも簡単に導入でき、 TOMOYO 1.x に近い機能を利 用可能  アクセス解析用ツールとしても有用  TOMOYO 1.x と同様に SELinux/SMACK/AppArmorなどとの同時利用が 可能 2.6.3 ~ 2.6.37-rc5 のLSMが有効なカーネルで利用可 能  2.6.24/2.6.29/2.6.35 におけるLSMの仕様変更の影響を巧みに 回避  RHEL6 (2.6.32) や Fedora14 (2.6.35) などでも利用可能 単機能LSMモジュールを開発する際のテンプレートとし ても利用可能  何か作りたいものはありませんか?

×