VMマイグレーションを可能にす るIDSオフロード機構 九州工業大学 宇都宮 寿仁 光来 健一 侵入検知システム(IDS) IDSは攻撃者の侵入を検知するために用いられる ストレージ、メモリ、ネットワークの監視 例:Tripwire 勝手に追加、変更されたファイルを検出 攻撃者 検出後管理者に通知する IDSへの攻撃が増加 侵入の検知ができなくなる ホス ト IDS 停止 被害 検出 VMを用いたIDSのオフロード IDSを別の仮想マシン(VM)で動かす手法 Xenを用いた場合 ドメイン0でIDSを動かす 攻撃者 ドメインUでそれ以外を動かす IDSが攻撃されにくくなる IDSを動かすVMには侵入が 難しい ホス ト 攻撃を受けやすいサービス を動かさないため VM [ドメイン 0] サービ ス IDS VM [ドメイン U] VMのマイグレーション 別のホストにVMを移動することができる 不可の高いVMを移動させることで負荷分散 VMを移動させてから物理マシンをメンテナンス マイグレーション先でサービスを継続できる マイグレーションする直前の状態から再開 ホスト1 サービ ス ドメインU ホスト2 オフロード時のマイグレーションの 問題 オフロードしたIDSがマイグレーションできな い ドメイン0はマイグレーションできない ドメイン0はマシン全体を管理 ドメイン0のデバイスは仮想化されていない IDSがドメインUを監視できなくなる ホスト1 IDS ドメイン0 ドメインU ホスト2 提案:ドメインM マイグレーション可能なIDSオフロード専用の VM 指定したドメインUを監視できる ストレージ、メモリ 監視を継続したままマイグレーション可能 ドメインUと一緒にマイグレーションできる ホスト1 ホスト2 IDS ドメイン 0 ドメイン U ドメイン M ドメインUのストレージ監視 NFSサーバ上に仮想ディスクイメージを配置 ドメイン0はこのディスクイメージを使ってドメ インUを起動 ドメインMもNFSをマウントすることでドメインU のストレージを監視 ディスクの整合性を保つために読み込み専用でマウン ト NFSサーバ ホスト1 マウン ト ドメイン 0 ドメイン U ドメイン M ドメイ ンUディ スクイ メージ マイグレーション後のストレージ 監視 ドメインMのマイグレーション後もドメインU のストレージを監視可能 ドメインMにおけるNFSマウントを継続できる ドメインMのIPアドレスは変わらないため ホスト1 ホスト2 NFSサーバ ドメイン U ドメイン M ドメイン Uディス ク イメージ ストレージ監視の例 ドメインMでTripwireを動作させる ドメインUのストレージを/mnt/domにマウント ドメインMのカーネルがファイルシステムを解釈 定期的に/mnt/dom以下のファイルを検査 あらかじめドメインM上に整合性データベースを作成 ホスト1 NFSサーバ チェッ ク データ ベース ドメインU ドメインM マウン ト ドメインUのメモリ監視 ドメインMにドメインUのメモリページをマッ プ 例:ドメインUのOSカーネルの監視 カーネルチェッカを用いて行う 定期的に実行中のカーネルのハッシュ値を計算し、改 ざんを検出 OSカーネル IDS ドメインU ドメインM ドメインUへのアクセスを許可 ドメインMにドメインUへのアクセス許可を与 える 従来、ドメイン0しかドメインUにアクセスできな かった VM間の隔離のため ドメイン0からアクセス許可を与える ドメインMがドメインUにアクセス可能に VM間の隔離は維持できる ドメイン0 ドメインU ドメインM メモリ操作インターフェースの追 加 privcmdの利用をドメインMにも許可 Linuxカーネルにサポートを加える ドメインMにdomctlハイパーコールの実行を許 可 ドメインUのメモリ情報を取得できる ドメイン ドメイン ドメイン U M 0 IDS IDS マップ マップ privcmd privcmd domctl VMM メモリ監視中のマイグレーショ ン メモリマップを保持したままドメインMのマ イグレーションを行う ドメインUのメモリマップ情報も一緒に送信 従来はメモリマップ状態は考慮されていなかった マップされていない状態で再開 ホスト1 ドメインU ドメインM ホスト2 ドメインMの保存 ドメインUのメモリマップ状態も一緒に保存 ページテーブル・エントリにDomUビットを追加 ドメインUのメモリページをマップしていればビット を立てる マップしているドメインUのメモリページ番号も保持 ページテーブルの保存によりマップ状態も保存さ れる ドメイン0 ドメインU ドメインM ドメインMの復元 ドメインUのメモリマップ状態を復元 ページテーブル・エントリのDomUビットを チェック ビットが立っていれば対応するドメインUのメモリを マップ ドメイン0がドメインUのメモリをドメインMに マップできるように修正 従来は許可されていなかった ドメイン0 ドメインU ドメインM 監視するドメインUの特定 UUIDを用いてマイグレーション前に監視して いたドメインUを見つける ドメインMのコンフィグから監視するドメインU のUUIDを取得 再びドメインMに監視する権限を与える ホスト1 ホスト2 IDS ドメイン 0 ドメイン U uuid ドメイン M ドメイン 0 実験 ドメインMによるストレージ監視およびメモ リ監視における性能への影響を調べた ドメインMにオフロードしたIDSの実行性能 ドメインMのマイグレーションのオーバヘッド 実験機器の詳細 Xen4.0.1 CPU Intel Core 2 Quad 2.83GHz メモリ 4GB ネットワーク ギガビットイーサネット ドメイン0、ドメインU、ドメインMにつ いて Linuxカーネル 2.6.32.25 メモリ 4GB 512MB 512MB NFSサーバ CPU Intel Xeon X5640 3.16GHz メモリ 32GB SATA16TB RAID5 ネットワーク ギガビットイーサ ネット Open-E OS 実験1:ストレージの監視の性 能 オフロードしたTripwireの実行時間を測定 ドメイン0とドメインMからそれぞれ実行 実験結果 ドメインMから実行したほうが時間がかかる ドメインMはネットワークが仮想化されているため、 NFSサーバへのアクセスに時間がかかるため Tripwireの実行時間[秒] ドメイン0 4.5 ドメインM 18.9 実験2:ストレージ監視時の マイグレー ション ストレージ監視時のドメインMのマイグレー ション時間を測定 ドメインUのディスクイメージをNFSマウントし ている場合としていない場合を比較 実験結果 ストレージ監視の有無はマイグレーション時間に 影響を与えない マイグレーション時間[秒] NFSマウントなし 92.6 NFSマウントあり 92.3 実験3:メモリ監視の性能 オフロードしたカーネルチェッカの実行時間 を測定 カーネルのテキスト領域のハッシュ値を計算 ドメイン0とドメインMからそれぞれ実行 実験結果 ドメインMから実行したほうが速くなる 原因の調査は今後の課題 カーネルチェッカの実行時間[ミリ秒] ドメイン0 239 ドメインM 135 実験4:メモリ監視時のマイグレー ション メモリ監視時のドメインMのマイグレーショ ン時間を測定 ドメインUのメモリをマップしている場合とマッ プしていない場合を比較 実験結果 メモリマップの有無はマイグレーション時間に影 響しない マイグレーション時間[秒] メモリマップな し 92.6 メモリマップあ り 92.2 関連研究 Livewire [Garfinkel et al. ‘03] 仮想マシン外でIDSを動かし、仮想マシンを監視 マイグレーションは考慮されていない スタブドメイン ドメイン0の特権の一部を持つドメイン マップしたままマイグレーションはできない プロセスマイグレーション IDSプロセスのみをマイグレーションすることが 可能 ドメインUのストレージ監視やメモリ監視を継続 できない まとめ IDSをオフロードしたままマイグレーションを 行えるドメインMを提案した ストレージとメモリの監視を実現 監視を継続したままマイグレーション可能 今後の課題 ドメインMからのネットワーク監視の実現 ストレージのアクセス制限 ライブマイグレーションへの対応
© Copyright 2024 ExpyDoc