Document

仮想計算機を用いたファイルア
クセス制御の二重化
滝澤裕二 光来健一 柳澤佳里
千葉 滋 (東京工業大学)
デスクトップPCへの攻撃

攻撃の手口



ウィルスメールの自動実行
P2P での攻撃ソフトの配布
攻撃の被害

機密情報の流出



銀行の暗証番号(パスワードなど)
顧客情報
実行ファイルの改ざん

トロイの木馬の設置
OSのアクセス制御による防御

ユーザ認証


ログイン時にパスワード認証
ファイルシステムによる制御


ユーザIDとパーミッションによる制御
一般ユーザは管理者のファイルを書き換えら
れない

例:ウィルスが実行ファイルを書き換えるのを防げ
る
OSにも脆弱性が存在

脆弱性の例



Bluetoothスタックの脆弱性により一般ユーザ
が特権を取得
sendmsg関数でオーバーフローを起し任意の
コードを実行可能
パッチが適用されていない状況も・・・



ゼロデイアタック
パッチを当てると動かなくなるアプリがある
ユーザのセキュリティ意識が低い
OSの制御をバイパスされる

OSが攻撃を受けるとアクセス制御が機能
しなくなる

ユーザ認証をバイパスされた場合



管理者に成りすまされる
管理者は全てのファイルにアクセスできる
ファイルアクセス制御をバイパスされた場合

全てのファイルに無条件にアクセスされる
提案:SAccessor

仮想計算機(VM)を用いてファイルアクセ
ス制御を二重化



ファイルアクセスとそれ以外のアクセスを別々
のVMで実行
それぞれのVMのOSでアクセス制御
実用性を考慮した機能を提供

ファイルサーバを別のVMで動かすだけでは実
用的にはならない
SAccessorのアーキテクチャ

1台のマシン上に2つのVMを用意


ファイルサーバを動作させる認証VM
ユーザがログインする作業VM
認証VM(Dom0)
作業VM(DomU)
GuestOS(Linux) Network File GuestOS(Linux)
System
APP
FILE
APP
VMM(Xen)
ユーザは作業VMに
ログインして作業
SAccessorのファイルアクセス制
御

2つのVMが独立にファイルアクセス制御

認証VMはユーザと直接やりとりして認証



認証VMは認証した情報を使ってアクセス制御する
作業VMがクラックされてもバイパス不可能
作業VMは従来のOSによるファイルアクセス制御

作業VMがクラックされるまでは正常に機能
認証
認証VM(Dom0)
作業VM(DomU)
GuestOS(Linux) ファイルアクセス GuestOS(Linux)
要求
FILE
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 キャッシュのフ
ラッシュを命令
File
作業VM
ファイル
キャッシュ
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>
/usr/bin/emacs (r)
通常使用ではダイアロ /usr/libexec/emacs/* (r)
</emacs>
グはでない
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の
ウィンドウを通してできるようにする