仮想マシンの監視を継続可能なマイグレーション機構

仮想マシンの監視を継続可能な
マイグレーション機構
九州工業大学大学院 情報工学府情報創成工学専攻
11675002
宇都宮 寿仁
侵入検知システムへの攻撃

侵入検知システム(IDS)が攻撃者の侵入を検知
するために用いられている
ストレージ、ネットワーク、メモリ上のデータなどを
監視
 例:Tripwire



攻撃者によるファイルの改ざんを検出、通知
ホスト
IDSが攻撃の最初の
ターゲットとなってきた
IDSを無効化
 その後で目的の攻撃を行う
停止
IDS
攻撃

被害
VMを用いたIDSのオフロード

IDSだけを別の仮想マシン(VM)で動かす手法
管理VMでIDS、監視対象VMでサービスを動かす
 IDSは監視対象VMの内部を監視


攻撃
IDSを攻撃から守ることができる



ホスト
監視対象VMに侵入されても
IDSに干渉できない
VM間は隔離されているため
管理VMへの侵入は困難

サービ
ス
外部との通信を制限
IDS
管理VM
監視対象
VM
オフロード時のマイグレーショ
ン

監視対象VMをマイグレーションすると監視でき
なくなる

マイグレーションとは別のホストにVMを移動すること
電力削減、負荷分散が行える
 マイグレーション後もサービスが継続できる


管理VMはマイグレーションできない

管理VMはホストのハードウェアに強く依存しているた
め
ホスト1
ホスト2
IDS
管理VM
監視対象
VM
管理VM
提案:ドメインM

マイグレーション可能なIDSオフロード専用VM

指定した監視対象VMを監視できる


ストレージ、ネットワーク、メモリを監視可能
監視したまま監視対象VMと同時にマイグレーションで
きる

マイグレーション後も監視を継続
ホスト1
ホスト2
IDS
管理VM
監視対象
VM
ドメイン
M
メモリ監視

ドメインMに監視対象VMのメモリをマップして
監視
メモリマップはVM間でメモリを共有するための操作
 従来は管理VMしかマップできなかった



VM間の隔離を実現するため
IDS
ドメインMにもメモリマップの
許可を与える
監視対象VM
ドメインM
VMMのアクセス制限を変更
 ドメインMのOSにメモリマップ用
VMM
のインターフェースを追加

メモリ監視中のマイグレーショ
ン

ドメインMのメモリマップ状態を保持したまま
マイグレーション
従来は他のVMのメモリをマップしていることはなかっ
た
 送信側:ページテーブルにメモリマップ状態を保存


受信側:ページテーブルの情報を基に再度メモリマッ
プ
ホスト1
ホスト2
監視対象VM
ドメイン
M
ネットワーク監視

監視対象VMのパケットを複製して監視

各VMのパケットは管理VMを経由して送られる


管理VMでポートミラーリングを行う


管理VMはパケットを容易に監視できた
ドメインMの監視用インターフェースにパケットを複製
マイグレーション先で再度ポートミラーリングの設定
をすることで監視を継続
管理VM
監視対象
VM
ドメインM
監視用
インターフェース
ストレージ監視

ファイルサーバに置かれた監視対象VMのスト
レージを監視
マイグレーションのために監視対象VMのストレージは
ファイルサーバに置く必要がある
 マイグレーション後もアクセスを継続できる


ファイルサーバへの接続が自動的に保たれる
使用
監視
監視対象VM
ドメイン
M
ファイルサーバ
同時マイグレーション

同期をとりながらドメインMと監視対象VMをマ
イグレーション

マイグレーション中に監視が途切れる可能性


例:監視対象VMのマイグレーションが先に完了した場
合
ドメインMと監視対象VMが互いに同期をとる
監視対象VMが停止するまでドメインMは待つ
 ドメインMが再開されるまで監視対象VMは待つ
ドメイン

M
監視対象
VM
メモリ
イメージ
送信
停止
CPU状態
送信
再開
実験

ドメインMの監視性能およびマイグレーション
性能を調べた
ドメインMにオフロードしたIDSの監視性能
 IDSオフロード時のマイグレーション時間とダウンタイ
ム

実験機器の詳細
Xen4.0.1
CPU Intel Core 2 Quad 2.83GHz
メモリ 4GB
ネットワーク ギガビットイーサネット
管理VM、サーバVM、ドメインMについ
て
Linuxカーネル 2.6.32.38
NFSサーバ
CPU Intel Xeon X5640 3.16GHz
メモリ 32GB
SATA16TB RAID5
ネットワーク ギガビットイーサ
ネット
Open-E OS
実験1:監視性能 (1/2)
ドメインMからの監視性能を調べた


従来の管理VMからの監視性能と比較
メモリ監視性能
監視対象VMのOSカーネルのハッシュ値を計算
 ドメインMから実行したほうが 250
高速
200

仮想CPU数が多いと同期の
オーバヘッドが大きい
 管理VMは多くの仮想CPUを
必要とする

計算時間(ミリ秒)

150
100
50
0
ドメインM
管理VM
実験1:監視性能 (2/2)

ストレージ監視性能
Tripwireを用いてストレージ全体のファイルをチェック
 ドメインMでの実行は遅い


ネットワークの仮想化
ネットワーク監視性能
Snortを用いて監視
 CPU使用率に影響は無し

Tripwireの実行時間(秒)

20
18
16
14
12
10
8
6
4
2
0
ドメインM
管理VM
実験2:マイグレーション時間

IDSオフロード時のマイグレーション時間を測定
監視対象VMのメモリサイズは1024MBに固定
 独立した2つのVMマイグレーション時間と比較

実験結果
マイグレーション時間
(秒)

オフロード時には
わずかに長くなる
 メモリサイズ差が大きい
ほうが差が開く

オフロードなし
25
オフロードあり
20
15
10
5
0
256
512
768
1024
ドメインMのメモリサイズ(MB)
実験3:ダウンタイム
IDSオフロード時のマイグレーションにおける監
視対象VMのダウンタイムを測定


監視対象VMのメモリサイズを1024MBに固定
実験結果
同期のために39ms~
162ms増加
 メモリサイズ差が
小さいほど増加

ダウンタイム(ミリ秒)

オフロードなし
1200
オフロードあり
1000
800
600
400
200
0
256
512
768
1024
ドメインMのメモリサイズ(MB)
関連研究

プロセスマイグレーション
管理VMにオフロードしたIDSのみをマイグレーション
可能
 メモリ監視は継続できない


vShield Endpoint[VMware]
IDSの状態だけをマイグレーション先に送る
 IDSごとに対応する必要がある


ギャング・ライブマイグレーション[Wang et
al.’11]

複数のVMのマイグレーションを高速化

同じメモリ内容は一回の送信で済ませる
まとめ

マイグレーション可能なIDSオフロード専用VM
であるドメインMを提案
ストレージ、ネットワーク、メモリの監視を実現
 監視を継続したままマイグレーションできる



同時マイグレーションにより監視の空白期間が生じる
のを防ぐ
今後の課題

ドメインMを用いて管理VMの機能をマイグレーション
可能にする

例:VNCサーバ