SAccessor : デスクトップPCのための安全なファ イルアクセス制御システム 東京工業大学 滝澤 裕二 光来健一 柳澤佳里 千葉滋 1 デスクトップPCへの攻撃 オペレーティングシステムが守るはず ウィルスメール P2P OS自体が攻撃される例もある パッチなしOS パッチを当てると動かなくなるアプリがある ユーザのセキュリティ意識が低い ゼロデイアタック 2 誤解 アクセス制御機構をOSの外にも用意 ポリシーを工夫すれば守れるはず VM,HDD,NIC アクセス制御機構を用意するだけでは、具体的 に安全なシステムを作るのは難しい 3 例:特定ユーザだけが読める ファイル VM,HDDによるアクセス制御 OSからは一切情報をもらわない HDDやVM単体では、今どのユーザのプロセスが アクセスしようとしているか不明 OSから今アクセスしているユーザ情報を通知 OSがクラックされているかもしれないので、信用で きない 4 提案:SAccessor ファイルアクセス制御をOSから分離 実用的に使えるような機構を提供 安全なユーザ認証 認証方法に適したファイルシステムの拡張 OSがクラックされても以下は守れる ファイルアクセスのための認証をしなければ、ユー ザのファイルへの不正アクセスはない システムファイルの不正書き換えはできない クラックされたOSも、 再起動すればクラックの影響を取り除ける 5 SAccessorのアーキテクチャ ファイルは全て作業OS外のファイルサーバにおく ローカルファイルシステムは一切なし ファイルサーバ 同一マシンの別VM上の認証OSで動作 アクセス制御を実施 クラックの危険性を最小に設定 例:リモートからのアクセスを制限 VM 認証OS FILE VM NFS 作業OS ユーザは作業VMに ログインして作業 APP ポリシ VMM 6 ファイルアクセスの手順 作業OSから認証OSへア クセス要求 認証OSがユーザを認証 作業OS 認証OS 認証されるのはユーザ ファイルアクセスできるよう になるのは作業OS 2. ファイルアクセス APP APP ディスク 3. ユーザ認証 1.ログインして 作業 ユーザ 7 ユーザファイルの不正アクセス の防御 認証OSがユーザ認証をおこなう 認証するまでは、不正アクセスが不可能 段階的なアクセス保護 ファイルやディレクトリをまとめたグループごとに認証 一度の認証で関連するファイルもまとめて許可 認証に有効期間を設定 認証の有効期間内は認証を省略 ユーザファイル 一部のファイルに のみ一定時間アク セス許可 8 SAccessorのユーザ認証 認証OSの画面 認証OSが認証ダイアログを表示 ユーザ名とパスワードによる認証 認証OSがユーザと直接やりとり 作業OSの画面 9 SAccessorのユーザ認証 認証OSの画面 認証OSが認証ダイアログを表示 ユーザ名とパスワードによる認証 認証OSがユーザと直接やりとり 認証ダイアログ 作業OSの画面 10 画面構成 作業OSの画面も認証ダイアログもウィンドウ 作業OSの画面はVNCで表示して最大化 認証ダイアログは作業OSの上に重ねて表示 ダイアログは認証OSが管理 作業OSから出されたように自然に見える Xサーバ ディスプレイ 認証OS VNC 作業OS 11 認証ダイアログ ダイアログのタイトルにシークレット文字列を表 示 認証OSにあらかじめ登録しておく 作業OSの攻撃者にはわからない 攻撃者の出す偽のダイアログと区別 シークレット文字列 アクセスしようと しているファイル 12 認証ダイアログの利点 シームレスな認証が可能 VMを用いて一台のマシン上で実現 作業OSを介さないので安全 作業OSにいる攻撃者は認証できない 作業OSからは認証ダイアログにアクセスできない 作業OSにパスワードが渡らない たとえ内部犯がいたとしても認証を成功させるの は難しい 13 アクセス制御ポリシ例 ウェブブラウザに関するファイルだけにアクセス 許可をだす 悪意のあるサイトにアクセスした場合 被害はウェブブラウザグループのみ メールの内容を盗まれることはない <ウェブブラウザ>[3600] /home/takizawa/.mozilla/firefox/* (rw) 認証の有効期間とパーミッション <メーラー>[600] /home/takizawa/.thunderbird/* (rw) 14 作業OSのキャッシュ 認証の有効期間の切れたファイルキャッシュはフ ラッシュさせる 作業OSにあるファイルキャッシュは認証なしでアクセ スできてしまう 作業OSを改造しフラッシュ機能を実装 作業OS側でopenしたファイル名とinode構造体を覚えておく TCP/IP通信で認証OSからファイル名を受け取る 認証の有効期間 の切れたファイル を作業OSへ通知 認証OS 作業OS ファイル名 File cache 受け取ったファイル 名のキャッシュをフ ラッシュ 15 システムファイルの保護 Read only PIDなどの一部のファイルを除く ログファイルだけ追記のみ許可 書き換えが必要なとき 安全な基本書き換え操作を 認証OSがサービスとして提供 作業OSはそのサービスをRPCで起動 これ以外の方法では書き換えできない 基本書き換え操作ごとにプログラムを 認証OS側に用意 サービス起動時にダイアログによるユーザ認証 16 例: Set-UID コマンド Passwd コマンド 一般ユーザがパスワード変更のため使用 作業OS側の passwd コマンド RPCで認証OS側のサービスを起動 認証OSは passwd コマンドを実行 システムファイ ルの書き換え 認証OSのpasswd コマンドへのキー入力は、認証OSが だすウィンドウからおこなう 認証OS system file 作業OS passwd サービス 呼び出し APP passwdファイルを 書き換えたい 17 実装 VMMとしてXen、ゲストOSはLinuxを使用 Linuxカーネル内NFSDv3を改造 ドメイン0:認証OS、ドメインU:作業OS NFSリクエストを監視してアクセス権をチェック 追記は書き込みのオフセットを検査 作業OSのキャッシュフラッシュ 作業OSのカーネルを改造 認証OSとTCP/IP通信によりフラッシュさせるファイル 名の受け渡し 18 実験 システムの起動から終了までのファイルアクセス パターンを調査 大半のファイルは読み込みのみ 書き込みはログファイルとPIDばかり 約500ファイル 約30ファイル ログファイルは追記 認証ダイアログでユーザ認証しなくてはならない 回数は少なくてすむ Fedora Core5の場合 19 実験(オーバーヘッドの測定) 読み書きの性能を測定 データブロックサイズ512,1024,2048Bytes 比較対象 ローカルファイルシステム VMM+NFS SAccessor 実験環境 PentiumD 3.0Ghz Memory:1G Xen3.0.4 GuestOS:Linux2.6.13.33 ポリシ数0,100,500行 20 実験(オーバーヘッドの測定) 読み込み性能 読み込み 書き込み VMM+NFS:約57% SAccessor:約54% 50 40 30 20 10 0 512 VMM+NFS:約36% SAccessor:約25% 考えられる原因 throughput(MB/sec) 60 バックエンドにNFSを使って いること NFSDと認証ダイアログ間 のスイッチのオーバーヘッ ド 1024 2048 Data Block Size(Bytes) 書き込み性能 300 throughput(MB/sec) 250 200 150 100 50 0 512 1024 2048 Data Block Size(Bytes) 21 関連研究 Proxos[OSDI’06 Richard Ta-Min et al.] アプリケーションを隔離されたVMで実行 SVFS[SISW’05 Xin Zhao et al.] VMによって異なるアクセス権を与える プログラマがシステムコールレベルのポリシを記述しなけら ばならない 重要ファイルへの書き込みは特別なVMへログインが必要 Plan9[Bell Labs] 管理者のファイルはファイルサーバーに物理的に接 続されたコンソールからのみ 守るのは管理者のファイルだけ 22 まとめ SAccessorを提案 ファイルシステムを攻撃対象のOSから分離 OSがクラックされても機能 システムファイルの不正書き換えを防ぐ ユーザが認証していないファイルの保護 認証ダイアログによる安全なユーザ認証 ダイアログ認証に適したアクセス制御 グループ毎に認証 認証に有効期間を設定 23 今後の課題 ファイルキャッシュのフラッシュ 作業VMのファイルキャッシュのフラッシュ Xenの機能を利用した実装 認証OSから作業OSのファイルキャッシュを直接操作 作業OSのOSカーネルの改造が不要 作業OSが乗っ取られても機能する SUIDコマンドの自動転送 作業OSのLibcを改造 SUIDされたプログラムを識別して自動で認証OSのサービス を起動 24 25 26 27 28 29 画面構成(ボツ) 認証OSの画面 作業OSの画面 認証ダイアログ 認証OSの画面 Xサーバ 認証OSが表示する作業OSの画面 ディスプレイ 認証OS VNC 作業OS 30
© Copyright 2024 ExpyDoc