210 likes | 324 Views
仮想計算機を用いたファイルアクセス制御の二重化. 滝澤裕二 光来健一 柳澤佳里 千葉 滋 (東京工業大学). デスクトップ PC への攻撃. 攻撃の手口 ウィルスメールの自動実行 P2P での攻撃ソフトの配布 攻撃の被害 機密情報の流出 銀行の暗証番号(パスワードなど) 顧客情報 実行ファイルの改ざん トロイの木馬の設置. OS のアクセス制御による防御. ユーザ認証 ログイン時にパスワード認証 ファイルシステムによる制御 ユーザ ID とパーミッションによる制御 一般ユーザは管理者のファイルを書き換えられない
E N D
仮想計算機を用いたファイルアクセス制御の二重化仮想計算機を用いたファイルアクセス制御の二重化 滝澤裕二 光来健一 柳澤佳里 千葉 滋 (東京工業大学)
デスクトップPCへの攻撃 • 攻撃の手口 • ウィルスメールの自動実行 • P2P での攻撃ソフトの配布 • 攻撃の被害 • 機密情報の流出 • 銀行の暗証番号(パスワードなど) • 顧客情報 • 実行ファイルの改ざん • トロイの木馬の設置
OSのアクセス制御による防御 • ユーザ認証 • ログイン時にパスワード認証 • ファイルシステムによる制御 • ユーザIDとパーミッションによる制御 • 一般ユーザは管理者のファイルを書き換えられない • 例:ウィルスが実行ファイルを書き換えるのを防げる
OSにも脆弱性が存在 • 脆弱性の例 • Bluetoothスタックの脆弱性により一般ユーザが特権を取得 • sendmsg関数でオーバーフローを起し任意のコードを実行可能 • パッチが適用されていない状況も・・・ • ゼロデイアタック • パッチを当てると動かなくなるアプリがある • ユーザのセキュリティ意識が低い
OSの制御をバイパスされる • OSが攻撃を受けるとアクセス制御が機能しなくなる • ユーザ認証をバイパスされた場合 • 管理者に成りすまされる • 管理者は全てのファイルにアクセスできる • ファイルアクセス制御をバイパスされた場合 • 全てのファイルに無条件にアクセスされる
提案:SAccessor • 仮想計算機(VM)を用いてファイルアクセス制御を二重化 • ファイルアクセスとそれ以外のアクセスを別々のVMで実行 • それぞれのVMのOSでアクセス制御 • 実用性を考慮した機能を提供 • ファイルサーバを別のVMで動かすだけでは実用的にはならない
FILE SAccessorのアーキテクチャ • 1台のマシン上に2つのVMを用意 • ファイルサーバを動作させる認証VM • ユーザがログインする作業VM 認証VM(Dom0) 作業VM(DomU) ユーザは作業VMに ログインして作業 GuestOS(Linux) GuestOS(Linux) Network File System APP APP VMM(Xen)
FILE SAccessorのファイルアクセス制御 • 2つのVMが独立にファイルアクセス制御 • 認証VMはユーザと直接やりとりして認証 • 認証VMは認証した情報を使ってアクセス制御する • 作業VMがクラックされてもバイパス不可能 • 作業VMは従来のOSによるファイルアクセス制御 • 作業VMがクラックされるまでは正常に機能 認証 認証VM(Dom0) 作業VM(DomU) GuestOS(Linux) ファイルアクセス 要求 GuestOS(Linux) APP アクセス権 チェック アクセス権 チェック APP データ転送
SAccessorにおける認証 • 認証VMが認証ダイアログを表示 • ユーザ名とパスワードによる認証 • 作業VMを介さないので安全 • 作業VM内の攻撃者は認証できない • 認証ダイアログにアクセスできない • 作業VMにパスワードを盗まれることがない
シームレスな認証ダイアログ • VNCを用いて作業VMの画面を認証VMのウィンドウとして全画面表示 • ユーザには作業VMの画面だけが見える • 認証ダイアログは作業VMの画面に重ねて表示 認証VMの画面 認証VMが表示する 作業VMの画面 1台のマシン上で両VMを動かすことで シームレスに認証が行える
認証ダイアログの判別 • ダイアログにシークレット文字列を表示 • 作業VMから偽ダイアログを表示される恐れ • 認証VMにあらかじめ文字列を登録 • 作業VMにいる攻撃者からは見ることはできない シークレット文字列 アクセスされるファイル
認証頻度の制御 • 認証の頻度を抑えるポリシを記述可能 • 認証頻度が高くなると利便性が低下 • 認証ダイアログが大量に出される • ファイルやディレクトリをまとめたグループ毎に認証 • 認証に有効期間を設定 • 認証の有効期間内では認証は省略 <DSW> [3600] /home/takizawa/DSW/main.tex (rw) /home/takizawa/DSW/intro.tex (rw) </DSW>
作業VMのキャッシュ • 認証の有効期間の切れたファイルキャッシュはフラッシュさせる • 作業VMにあるファイルキャッシュは認証なしでアクセス可能 • 認証VMから作業VMにフラッシュを命令 • 有効期間内のファイルは認証なしでアクセス可 • セキュリティの低下はない 作業VM 認証VM キャッシュのフラッシュを命令 ファイル キャッシュ File
setuidされたプログラムの扱いは困難 • 一般ユーザが管理者のファイルにアクセス • 管理者のパスワードが必要 • SAccessorでの対応 • 認証VMにsetuidされたプログラムの実行を依頼 • 作業VM上のプログラムを置き換えておく • 一般ユーザのパスワードで認証 • ファイルキャッシュが作業VMに残らない • 標準入出力はSSH経由 • 作業VMのルートディレクトリにchrootして実行 • ファイル入出力のため
システムファイルのアクセス制御 • 一般ユーザが判断するのが難しい • 管理者のパスワードが必要なことも • デフォルトのポリシを用意し認証は省略 • 実行ファイルは読み取りのみ • ログファイルは追記だけ • 実際に実行ファイルは読み込み、ログファイルは追記のみ
ポリシの登録 • 認証VMからウィンドウを表示してポリシを編集 • 認証VMにポリシ編集用ウィンドウを表示 • 作業VMに潜入した攻撃者は編集不可能 • ポリシの内容をユーザに確認させてから認証 認証 ポリシの 編集・確認 ポリシの編集要求 認証VM 作業VM ポリシ APP ポリシ編集用 ウィンドウを表示
SAccessorの有効性ユーザに機密ファイルを守る パーミッション • 顧客情報へのアクセスは認証が必要 • ウェブブラウザが悪意のあるコードを実行しても顧客情報は守られる 有効期間(秒) <仕事>[3000] ~takizawa/顧客情報.xls (rw) ~takizawa/資料.pdf (r) </仕事> <ウェブブラウザ> /usr/bin/firefox (r) /usr/firefox/* (r) </ウェブブラウザ> グループ名 グループに属するファイル
実行ファイルの書き換えを防ぐポリシ例 • Emacsの書き換えのみダイアログを表示 • 通常使用ではダイアログはでない • Emacsのアップデート時には認証を成功させる • アップデート時以外の認証は拒否 • 攻撃と考えられる <emacs> /usr/bin/emacs (r) /usr/libexec/emacs/* (r) </emacs> <emacs>[60] /usr/bin/emacs (w) /usr/libexec/emacs/* (w) </emacs>
Limitation • 認証の有効期間内のファイルは守れない • 認証の有効期間内のファイルは認証なしでアクセス可能 • 作業VMのファイルキャッシュに偽の内容を書き込む攻撃 • ファイルの改ざんと同じ被害を受ける可能性
関連研究 • Proxos[OSDI’06 Richard Ta-Min et al.] • システムコールを隔離されたVMで実行 • プログラマがポリシを作成しなければならない • SVFS[SISW’05 Xin Zhao et al.] • VMによって異なるアクセス権を与える • 重要ファイルへの書き込みは特別なVMへログインが必要 • Plan9[Bell Labs] • 管理者のファイルはファイルサーバーに物理的に接続されたコンソールからのみ • 守るのは管理者のファイルだけ
まとめ・今後の課題 • SAccessorを提案 • ファイルアクセスの二重化 • 従来の二重化システムの問題点を解決 • 今後の課題 • setuidされたプログラムの入出力を認証VMのウィンドウを通してできるようにする