OSが乗っ取られた場合にも機能するファイルアクセス制御システム 滝澤裕二 光来健一 柳澤佳里 千葉滋 (東京工業大学) SPA X
不正ファイルアクセスの増加 メールの添付ファイル P2Pソフトを利用 ウィルスが実行ファイルを書き換えて感染 顧客情報などの機密データの流出 SPA X
従来:OSのファイルアクセス制御に よる防御 ファイルシステムによる制御 一般ユーザは管理者のファイルを書き換えられない 例:ウィルスが実行ファイルを書き換えるのを防げる サンドボックス サンドボックス外のファイルへのアクセスを防ぐ 例:情報漏えいを防げる SPA X
OSの乗っ取りによる ファイルアクセス制御のバイパス 認証をバイパス 管理者になりすまされる アクセス制御のバイパス 全てのファイルに無条件にアクセスされる Rootがアクセスできる全ファイルにアクセス可能 サンドボックスで守られていたファイルもアクセスされる 一般ユーザが管理者権限を得られる脆弱性 任意のコードを実行できる脆弱性 SPA X
提案:SAccessor OSが乗っ取られても認証とファイルアクセス制御が機能するシステム VMを用いてアクセス制御を分離 従来のアクセス制御を補完 乗っ取られるまでは通常の OSの制御も機能 マシン 認証 OS 作業 OS VM VM SPA X
作業OSは認証OSと通信してファイルアクセスを行う SAccessorのアーキテクチャ 認証OSに物理的に繋がれた デバイスを通して認証を行う 認証の分離 ユーザは作業OSで作業 作業OS 認証OS ファイル要求 ディスク 操作 データ転送 デスクトップPC ユーザ 作業OSは認証OSと通信してファイルアクセスを行う ユーザには作業OSの画面が 見えている アクセス制御の分離
認証OSによる認証 作業OSのVMのウィンドウの上に認証OSが認証ダイアログを表示 認証OSのウィンドウ 作業OSの画面 SPA X
認証OSによる認証 ユーザにパスワードを入力させて認証 作業OSからは認証できない 認証に成功したらファイルアクセスを許可 認証を求められた ファイル名 パスワード入力欄 SPA X
ユーザのみが知っているシークレット文字列 パスワード盗聴の防止 認証ダイアログにシークレット文字列を表示 作業OSが出した偽のダイアログと区別 パスワードが作業OSの攻撃者に盗まれるのを防ぐ マシンに直接アクセスされても認証できない ユーザのみが知っているシークレット文字列 SPA X
認証OSによる ファイルアクセス制御 ポリシーファイルに基づいてアクセス制御 ファイルグループごとに認証 ファイルやディレクトリをまとめたファイル グループを定義 ユーザ単位よりきめ細かい制御が可能 パーミッションと認証の有効期間を設定 認証を行ったら、有効期間内ではそのファイル グループに対する認証を省略 SPA X
ポリシの記述例 <business> (rw) (600) /home/takizawa/projectA/ パーミッションと有効期間 グループ名 <business> (rw) (600) /home/takizawa/projectA/ <secret> (rw) (60) /home/takizawa/secretfiles/ SPA X
SAccessorで防げる不正アクセス ユーザの一般のファイルへの不正アクセス ユーザが使っていないファイルへの認証を 求められたら不正アクセスと判断して拒否 ただし、認証の有効期間内のファイルは守れない 利便性とトレードオフ 有効期間を短く、ファイルグループを小さくすれば セキュリティは上がるが、認証の頻度が増す
判断の難しい不正アクセス ユーザの設定ファイル、システムファイルは判断が難しい アプリケーションがどのファイルにアクセスするかは一般ユーザには分からないことが多い ウィルススキャン、バックアップ等を 不正アクセスと区別するのは難しい ユーザのファイルへの身に覚えの無いアクセス ウィルススキャンやバックアップは認証OSで SPA X
実装 VMMとしてXen OSはLinux2.6.12.6をベース 認証サーバを作成 VNCを使用して作業OSの画面を表示 カーネル内のNFSv3サーバを改造 認証サーバを作成 認証ダイアログを出す VNCを使用して作業OSの画面を表示 SPA X
アクセス制御機構の実装 Xen ドメイン0 認証ダイアログを表示 ドメインU 認証OS 作業OS 認証の結果を返す 認証サーバ 認証を要求 ディスク ファイル要求 NFSD NFS Xen SPA X
実験:オーバーヘッドの測定 測定内容 実験対象 ファイルに対するread,writeのスループット 一度に書き込むデータブロックサイズ 1KB, 2KB, 4KB, 8KB 実験対象 VMを使用しないローカル ファイルシステム SAccessorを使用した場合 ポリシー数 0, 100, 500 CPU :Pentium D 3.0GHz メモリー : 1GB VMM:Xen 3.0.2 OS:Linux 2.6.12.6 作業OSに割り当てたメモリは256MB SPA X
readのスループットの比較 ファイルキャッシュ無 ファイルキャッシュ有 10%~27% のオーバーヘッド ポリシ数に比例 ブロックが4KBまでは本システムが優勢 4KBからは本システムが劣勢 キャッシュ無 SPA X キャッシュ有
writeのスループットの比較 オーバーヘッドは 約10% ポリシー数による 変化は少ない VMを使う オーバーヘッドのみ 作業OSのキャッシュにwriteするため SPA X
議論:ファイルキャッシュ(1/2) 作業OSからキャッシュ上のファイルに常にアクセスできてしまう キャッシュは常に認証の有効期間内のものだけ VM VM 認証OS 作業OS フラッシュ キャッシュ ディスク SPA X
議論:ファイルキャッシュ(2/2) NFSサーバへの書き戻しの遅延の問題 アプリケーションのセマンティクスに影響 対策:ファイルのopen時か最初のwrite時に 認証を行う VM VM 認証OS 作業OS キャッシュ ディスク SPA X
関連研究 従来のNFSサーバ Plan9 [ Bell Labs ] SIDS [ ’03 John D.Strunk et al. ] クライアントOSが乗っ取られるとなりすまし可能 Plan9 [ Bell Labs ] 管理者権限での操作はファイルサーバに物理的に接続されたコンソールからのみ 守るのは管理者権限だけ SIDS [ ’03 John D.Strunk et al. ] OSから独立してディスクで侵入検知 管理者に警告するだけ SPA X
まとめ・今後の課題 SAccessorを提案 今後の課題 OSの制御を奪われてもファイルアクセス制御を強制できる VMを用いてファイルアクセス制御機構を 攻撃対象OSから分離 今後の課題 ファイルキャッシュ対策 専用のファイルシステムを作成して 性能・安全性の向上 SPA X
SPA X
画面の構成 認証OSの画面 作業OSの画面 SPA X