Presentation is loading. Please wait.

Presentation is loading. Please wait.

システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク

Similar presentations


Presentation on theme: "システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク"— Presentation transcript:

1 システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク
sod(B4) 親:trueさん サブ親:yasuさん

2 背景 セキュリティの確保が重要な課題に ホストレベルの対策が重要 インターネットの重要インフラ化
全てのホストがセキュアになれば 多くのセキュリティの問題が解決される セキュアOS

3 セキュアOSの特徴 脆弱性を狙った攻撃への有効な対策 特権ユーザへの権限集中の問題を解決 ワーム、クラッキングなど様々な攻撃の手段
未知の脆弱性に対する攻撃にも有効 特権ユーザへの権限集中の問題を解決 従来のUnixでは特権ユーザは何でも出来る 特権ユーザの権限が奪取された場合

4 主要なセキュアOS Linux - SELinux, LIDS, TOMOYO, etc…
Solaris - Trusted Solaris FreeBSD - Trusted BSD PitBull, SecuveTOS, etc… 数多くのセキュアOSが研究されている 主要なもの!それぞれどのような特徴があるのか? ドライバ型とカーネ組込型の違い

5 × × × セキュアOSの技術概要 強制アクセス制御 最小特権 Secure OS MAC read write write
/var/www/ read × httpd-error.log write × write read/append >_ × /bin/sh × excute attacker apache

6 問題点 アクセス制御ルールの設定 設定には知識・経験が必要 本研究では『セキュリティ・ポリシ』と呼ぶ
強制アクセス制御を行うために必要 粒度が高くなればなるほど設定は複雑に 設定には知識・経験が必要 プログラムの動作とシステムの挙動への理解 本研究では『セキュリティ・ポリシ』と呼ぶ セキュアOSとアプリケーションに精通した者にしか現実的に設定不可能

7 セキュリティ・ポリシの一例 主体から対象へのアクセス制御を定義 httpdは/var/wwwに対してread権限を保有

8 情報共有モデル 精通した者のセキュリティ・ポリシを流通 精通した者 精通していない者 精通した者 精通していない者

9 既存の手法 標準的なセキュリティ・ポリシの流通 環境・設定に対して強く依存 ディストリビューションなどで分割
標準的な構成・設定で動作するように 固定的 環境・設定に対して強く依存 設定を一つ変えただけで動作しない

10 セキュリティ・ポリシの再利用性 プログラムの動作はある程度限定可能 apache shell /etcへの書込アクセスは不必要
apacheのプロセスがDocumentRootを読み込む shell 権限が非常に広範囲に渡るが限定可能

11 再利用上の問題 必要なアクセス制御の差異 環境に関する具体的な値の差異 パターン化が可能 ファイルパスやポート番号 組合せは無数に存在
するする/きつきつ、ある機能が必要/不必要 ex) apacheはttyを開けるか/開けないか 環境に関する具体的な値の差異 ファイルパスやポート番号 組合せは無数に存在 ex) apacheの実行バイナリのパス

12 提案する手法 自動的にホストに合わせて調整 必要なアクセス制御の差異 環境に関する具体的な値の差異 パターンの選択
調整段階でホストにおける具体的な値を代入

13 アプリケーションの設定ファイル DocumentRoot /var/www/html Port 80 httpd.conf

14 判断材料 システム構成 アプリケーションの設定ファイル アプリケーションの固定的な値 ユーザの入力した値 ファイルの有無
ソースコードにハードコーディングされた値 ユーザの入力した値 設定ファイルのパスが不明などの場合

15 フレームワーク 参照 bool変数 @***@ 変更 設定 精通した者が用意する部分 システム構成 セキュリティ ポリシのベース
調整スクリプト bool変数 変更

16 実装概要 実例としてApache用の自動生成を実装 実装環境 フレームワークに準ずる
Fedora Core Linux(Linux Kernel ) Apache GNU bash GNU sed 4.04 SELinux (libselinux ) security policy strict

17 実装1 推測/ユーザからの入力が必要なもの ユーザからの入力が必要なもの 現実的に自動生成不可能なもの 実行バイナリ/設定ファイルのパス
cgiのネットワークアクセス可否 現実的に自動生成不可能なもの cgi関連のファイルのアクセス権限 DocumentRoot外のファイルのアクセス権限

18 実装2 設定ファイルから得られる情報の一例 DocumentRoot … 公開されるリソースのパス
ServerRoot … ベースとなるディレクトリ ErrorLog … エラーログのパス LoadModule … 利用するモジュールのパス ScriptAlias … CGIを利用を許可するパス ExecCGI … CGI利用の許可 UserDir … ユーザディレクトリ以下の公開パス

19 デモ

20 評価 アクセス制御設定の正当性 アクセス制御設定のセキュリティ強度 アクセス制御設定の生成工数 ユーザが意図した設定に基づく制御を行うか
無駄なアクセス権限を付与の有無 アクセス制御設定の生成工数 削減出来た設定コストの評価

21 評価ソフトウェア環境 OS ソフトウェア Fedora Core Linux 4 (Kernel 2.6.14-1)
Apache GNU bash GNU sed 4.04 セキュリティ・ポリシstrict

22 評価ハードウェア環境 Machine CPU Memory HDD VMware GSX Server Xeon 3.2GHz 1GB

23 評価:正当性 同じ団体によって作られた設定とアクセス定義設定と比較 比較項目 設定 自動生成 デフォルト Apacheの正常起動の可否 ○
DocumentRoot以下に置かれたhtml等の表示可否 ScriptAlias以下に置かれたcgiの利用可否 cgiからScriptAlias以下ファイルへの読込可否 cgiからScriptAlias以下ファイルへの書込可否 × cgiからDocumentRoot以下ファイルへのアクセス可否 Alias以下に置かれたファイルの表示可否 各種ログの出力可否 ユーザディレクトリ以下のhtml等の表示可否 ユーザディレクトリ以下のcgi等の利用可否 cgiのネットワークアクセス利用の可否

24 評価:セキュリティ強度 不必要なアクセス権限が付与されたファイルの数を評価 権限 自動生成 デフォルト httpd_exec_t 1
httpd_suexec_exec_t httpd_config_t 3 4 httpd_sys_content_t 248 249 httpd_sys_script_exec_t 2 httpd_user_content_t 7 httpd_log_t httpd_modules_t 43 48 httpd_var_run_t 合計 302 316

25 評価:生成工数 最終的に同じアクセス定義設定を設定 手動作成/変更は1行15秒として計算 自動生成は150回試行
Apacheの構成はapache.org標準 手動作成/変更は1行15秒として計算 自動生成は150回試行 手法 行数 秒数 標準偏差 自動生成 7.269 手動変更 73 1095 一から設定 376 5640

26 まとめ アクセス制御設定をホストに合わせて自動調整 今回の実装ではSELinuxを用いたが セキュアOSの運用・導入コストを削減
アプリケーションの設定を判断材料に アクセス制御設定の自動生成を実現 今回の実装ではSELinuxを用いたが LIDSでも /sbin/lidsconf … セキュアOSの運用・導入コストを削減

27 今後の課題 フレームワークの構築 調整を行うスクリプトの記述コストの削減 他アプリケーションへの適用 定義後のラベル付与の簡易化

28 any questions? ご清聴ありがとうございました

29 SELinux 非常に細かい粒度でアクセス制御 Type Enforcement Role Based Access Control
セキュリティ・ポリシと呼ばれる アクセス定義設定も非常に複雑 Type Enforcement プロセス毎にアクセス制限を行う機能 Role Based Access Control ロール毎に権限を分割 TresysとかRedhatとかNSAとか


Download ppt "システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク"

Similar presentations


Ads by Google