Presentation is loading. Please wait.

Presentation is loading. Please wait.

VMマイグレーションを可能にするIDSオフロード機構

Similar presentations


Presentation on theme: "VMマイグレーションを可能にするIDSオフロード機構"— Presentation transcript:

1 VMマイグレーションを可能にするIDSオフロード機構
九州工業大学   宇都宮 寿仁  光来 健一

2 侵入検知システム(IDS) IDSは攻撃者の侵入を検知するために用いられる IDSへの攻撃が増加 ストレージ、メモリ、ネットワークの監視
例:Tripwire 勝手に追加、変更されたファイルを検出 検出後管理者に通知する IDSへの攻撃が増加 侵入の検知ができなくなる 攻撃者 ホスト 停止 検出 IDS 年々サーバへの不正アクセスが増加している。 このような不正アクセスへの対抗手段として侵入検知システム IDS が用いられている。 IDSは攻撃者の侵入を検知するために用いられており、攻撃者が侵入して来たのを検出し通知してくれます IDSはストレージ、メモリ、ネットワークを監視します。 IDSの例としてTripwireを挙げる。Tripwireは攻撃者によって勝手に追加、変更されたファイルを検出する。 検出された場合にはただちに管理者へと通知してくれる。 しかし近年攻撃者の攻撃方法が変わり、IDSを攻撃して動作を停止させます。 その後ホスト自身へと攻撃を行い被害を与えてきます。 被害

3 VMを用いたIDSのオフロード IDSを別の仮想マシン(VM)で動かす手法 IDSが攻撃されにくくなる Xenを用いた場合
ドメインUでそれ以外を動かす IDSが攻撃されにくくなる IDSを動かすVMには侵入が  難しい 攻撃を受けやすいサービス を動かさないため 攻撃者 ホスト VM [ドメイン0] VM [ドメインU] サービス そこでIDSを攻撃されない手段の一つとして仮想マシンを用いたIDSのオフロードという手法が提案されています。 IDSを別の仮想マシンで動作させ、サービスを展開している仮想マシンを監視するもの。 本研究では仮想化ソフトウェアXenを用いて行う。 Xenではドメイン0でIDSを動かし、ドメインUでそれ以外を動かす。 たとえサービスを提供しているマシンに侵入されてもIDSは別の仮想マシンで稼働しているので攻撃されにくく、 また、IDSを動作させているVM は外部との通信を極力なくしているため、攻撃を受けにくいので安全に監視を行うことができる。 またVM の利点としてマイグレーションという機能がある。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IDSが攻撃されにくい→難しくなるように設定している IDS

4 VMのマイグレーション 別のホストにVMを移動することができる マイグレーション先でサービスを継続できる
マイグレーションする直前の状態から再開 ホスト1 ホスト2 マイグレーションとは別のホストへVM を移動させる機能。 例えば時間帯によって負荷が高くなるVM をマイグレーションさせることで負荷を分散させることができる。 また物理マシンのメンテナンスを行う際にマイグレーションを用いることで、 マイグレーション直前の状態から再開することができるのでサービスを継続したままメンテナンスを行うことができる。 ドメインU サービス

5 オフロード時のマイグレーションの問題 オフロードしたIDSがマイグレーションできな い ドメイン0はマイグレーションできない
ドメイン0はマシン全体を管理 ドメイン0のデバイスは仮想化されていない IDSがドメインUを監視できなくなる ホスト1 ホスト2 しかしIDSオフロードをした際にIDSがマイグレーションできない問題がある Xenにおいてドメイン0にIDSオフロードを行う、しかしドメイン0はマシン全体を管理し、デバイスを仮想化できていないためマイグレーションを行うことができない。 そのためマイグレーションを行うと監視すべきドメインのみがマイグレーションされIDSをオフロードしたドメインがマイグレーションされないのでセキュリティが低下してしまう。 ドメイン0 IDS ドメインU

6 提案:ドメインM マイグレーション可能なIDSオフロード専用の VM 指定したドメインUを監視できる 監視を継続したままマイグレーション可能
ストレージ、メモリ 監視を継続したままマイグレーション可能 ドメインUと一緒にマイグレーションできる そこでマイグレーション可能なIDSオフロード専用 VM としてドメイン M を提案する。 ドメインM は指定したドメインUのストレージやメモリを監視することができる。 またドメインM はドメインUの監視を継続したままマイグレーションすることができ、マイグレーション後も監視を継続することができる。 ホスト1 ホスト2 ドメイン0 ドメインU ドメインM IDS

7 ドメインUのストレージ監視 NFSサーバ上に仮想ディスクイメージを配置 ドメイン0はこのディスクイメージを使ってドメ インUを起動
ドメインMもNFSをマウントすることでドメインU のストレージを監視 ディスクの整合性を保つために読み込み専用でマウン ト NFSサーバ ホスト1 ドメインUのストレージ監視方法としてNFSサーバを利用します。 NFSサーバ上にドメインUの仮想ディスクイメージを配置します。 ドメイン0はNFSサーバをマウントし、このディスクイメージを使ってドメインUを起動する。 ドメインMは整合性を保つために読み取り専用でNFSサーバをマウントし、ドメインUのストレージを監視する。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ドメイン0に仮想ディスクイメージを置いたのではドメインMがマウントできないため なんでNFSサーバを用いているの? 何か理由があったはず・・・? ほかのシステムだと性能は?セキュリティは? NFSサーバは信頼するものとしておかねばならない マウント ドメイン0 ドメインU ドメインM ドメインUディスクイメージ

8 マイグレーション後のストレージ監視 ドメインMのマイグレーション後もドメインU のストレージを監視可能
ドメインMにおけるNFSマウントを継続できる ドメインMのIPアドレスは変わらないため ホスト1 ホスト2 またマイグレーションを行った際にもドメインUのストレージ監視の継続は可能で ドメインMのNFSサーバマウントはマイグレーションした際もドメインMのIPアドレスは変わらないため継続可能である。 ドメインU ドメインM NFSサーバ ドメインUディスク イメージ

9 ストレージ監視の例 ドメインMでTripwireを動作させる ドメインUのストレージを/mnt/domにマウント
ホスト1 NFSサーバ ドメインU ドメインM チェック ストレージの監視の例としてTripwireを挙げる。 ドメインUのストレージをドメインMの/mnt/domにマウントする。 ドメインMのカーネルがドメインUのストレージのファイルシステムを解釈してくれる。 次にデータベースを作成を作成する。 このデータベースは正常時のドメインUのストレージの内容が保存されている。 このデータベースを基にドメインUのストレージの整合性をチェックする。 !!!!!!!!!!!!!!!説明加える!!!!!!!!!!!!!!!!! みているもの(ハッシュ値 ファイルサイズ ファイルタイプ パーミッション uid)etc  データベース マウント

10 ドメインUのメモリ監視 ドメインMにドメインUのメモリページをマッ プ 例:ドメインUのOSカーネルの監視 カーネルチェッカを用いて行う
定期的に実行中のカーネルのハッシュ値を計算し、改 ざんを検出 ドメインU ドメインM OSカーネル IDS ドメインUのメモリ監視方法について説明します。 ドメインMにドメインUのメモリページをマップすることでドメインMから監視を行うことができる。 マップとはドメインM のメモリにアクセスしたときにドメインU のメモリにアクセスすることができるものである メモリページをマップして行う監視の例としてOSカーネルの監視を挙げる。 ここではカーネルチェッカを用いて行います。 ドメインUのカーネルのテキスト領域をドメインMにマップする。 あらかじめ正常状態のカーネルのハッシュ値を計算しておき、実行中のカーネルのハッシュ値を定期的に計算し二つを比べて改ざんを検出する

11 ドメインUへのアクセスを許可 ドメインMにドメインUへのアクセス許可を与 える 従来、ドメイン0しかドメインUにアクセスできな かった
VM間の隔離のため ドメイン0からアクセス許可を与える ドメインMがドメインUにアクセス可能に VM間の隔離は維持できる ドメイン0 ドメインU ドメインM ドメインMにドメインUのメモリをマップさせるためにはドメインUへのアクセス権を与える必要がある。 従来だと、各ドメインを干渉させないようにドメイン0からしかドメインUへのアクセスを行うことができなかった。 スタブドメインを元にドメインMを実装することでドメインUへのアクセスを可能にした スタブドメインは指定されたドメインUにアクセスできるVM のことである。 アクセスするドメインU はドメイン0によって指定することができる。

12 メモリ操作インターフェースの追加 privcmdの利用をドメインMにも許可 ドメインMにdomctlハイパーコールの実行を許 可
Linuxカーネルにサポートを加える ドメインMにdomctlハイパーコールの実行を許 可 ドメインUのメモリ情報を取得できる ドメイン0 ドメインU ドメインM IDS IDS マップ マップ 従来のマップ方法はprivcmd というインターフェースを用いてドメインUのメモリページをマップする。 domctl ハイパーコールを用いてドメインUのメモリページ情報を取得していた しかしドメインMにはprivcmd の利用ができなかった。 そこでLinux カーネルにサポートを加えることでドメインMにもprivcmd の利用を許可した。 またdomctl ハイパーコールはドメイン0にしか利用を許可されていないため、メモリページを取得するためのハイパーコールをドメインM にも使用する許可を与えた。 privcmd privcmd domctl VMM

13 メモリ監視中のマイグレーション メモリマップを保持したままドメインMのマ イグレーションを行う ドメインUのメモリマップ情報も一緒に送信
従来はメモリマップ状態は考慮されていなかった マップされていない状態で再開 ホスト1 ホスト2 ドメインU ドメインM メモリマップを保持したままドメインMのマイグレーションを行います。 従来はメモリマップを行ったままのマイグレーションは考慮されていなかったため、 マイグレーション後はマップされていない状態で再開されていた。 そのためドメインUのメモリマップの情報も一緒に送信することで解決した。

14 ドメインMの保存 ドメインUのメモリマップ状態も一緒に保存 ページテーブル・エントリにDomUビットを追加
ページテーブルの保存によりマップ状態も保存さ れる ドメイン0 ドメインU ドメインM マイグレーションの際にはまずドメインを保存します。 ドメインM を保存する際にドメインUのメモリマップ状態も一緒に保存することにした ドメインを保存するときにはメモリイメージとして保存する。 ドメインM のページテーブルにDomUビットを追加してドメインUのマップ状態を知らせる。 保存時にドメインUのメモリページをマップしていた場合にはDomU ビットを立てる。 その際にはドメインU のメモリページ番号も保持される。 この後ページテーブルを保存することでメモリマップ状態も保存される。

15 ドメインMの復元 ドメインUのメモリマップ状態を復元 ページテーブル・エントリのDomUビットを チェック
ドメイン0がドメインUのメモリをドメインMに マップできるように修正 従来は許可されていなかった ドメイン0 ドメインU ドメインM 復元の際にはページテーブル・エントリ上に存在するDomU ビットをチェックする。 DomU ビットが立っていれば対応するドメインUのメモリをマップし監視を継続する。 またドメイン0によってドメインUのメモリをドメインM にマップできなければならないのだが、従来のVMMではこのようなメモリマップを想定していなかったため ドメインM のページテーブル登録に失敗する。 そこでページテーブル登録のチェックを修正することでドメイン0からメモリマップの設定が可能に

16 監視するドメインUの特定 UUIDを用いてマイグレーション前に監視して いたドメインUを見つける
ドメインMのコンフィグから監視するドメインU のUUIDを取得 再びドメインMに監視する権限を与える ホスト1 ホスト2 マイグレーション後復元した際にドメインMはどのドメインUを監視していたかが分からなくなってしまいます。 そこで監視していたドメインを発見するためにuuidを用いました。 UUIDは各ドメインそれぞれが固有でもつものであり、マイグレーション後も変化がすることがない そのためマイグレーション前に監視対象のドメインUのUUID をドメインM のコンフィグに保存しておき マイグレーション後、保存されていたUUIDを元に監視対象のドメイン探しだし、再び監視する権限を与えます。 !!!!!!!!!!!!説明を加える!!!!!!!!!!!!!!!! ドメイン0 ドメインU ドメインM ドメイン0 IDS uuid

17 実験 ドメインMによるストレージ監視およびメモ リ監視における性能への影響を調べた ドメインMにオフロードしたIDSの実行性能
実験機器の詳細 Xen4.0.1 CPU Intel Core 2 Quad 2.83GHz メモリ 4GB ネットワーク ギガビットイーサネット ドメイン0、ドメインU、ドメインMについて Linuxカーネル メモリ 4GB 512MB 512MB NFSサーバ CPU Intel Xeon X GHz メモリ 32GB SATA16TB RAID5 ネットワーク ギガビットイーサネット Open-E OS ドメインM のストレージ監視及びメモリ監視における実験を行った。 ドメインM にオフロードしたIDSの実行性能とドメインM のマイグレーション時のオーバーヘッドを調べました 実験機器の詳細は以下の通り

18 実験1:ストレージの監視の性能 オフロードしたTripwireの実行時間を測定 実験結果 ドメイン0とドメインMからそれぞれ実行
ドメインMはネットワークが仮想化されているため、 NFSサーバへのアクセスに時間がかかるため ストレージ監視のIDSとしてTripwire を用いる ドメイン0及びドメインM からのそれぞれ実行時間を測定。 実験結果としてドメイン0からは4.5秒、ドメインM からは18.9秒かかりドメインM から実行すると時間がかかるということが分かった。 この原因としてドメインM はネットワークが仮想化されているため、NFSサーバへのアクセスの際にネットワークアクセスがドメイン0を経由するので時間がかかると考えられる。 必要最低限のファイルしかないため短い時間で終わっているが、実際はもっとファイル数があるため実行時間は長くなってしまう ~~~~~~~~~~~~~~~~~~~~~~~ ディスクサイズは4GB 10270ファイルのスキャン スキャン内容はドメインU のファイルすべてのプロパティをチェック Tripwireの実行時間[秒] ドメイン0 4.5 ドメインM 18.9

19 実験2:ストレージ監視時の マイグレーション
実験2:ストレージ監視時の           マイグレーション ストレージ監視時のドメインMのマイグレー ション時間を測定 ドメインUのディスクイメージをNFSマウントし ている場合としていない場合を比較 実験結果 ストレージ監視の有無はマイグレーション時間に 影響を与えない ドメインU のディスクをドメインM がマウントしている場合とマウントしていない場合とでのマイグレーション時間を測定した。 マイグレーションはドメインU ドメインM 一緒に行った。 実験結果としてマウントなしの場合92.6秒マウントありの場合92.3秒かかった マウントありのほうが若干速くなっているがこれは誤差の範囲と考えられ、NFSのマウントをしているかしていないかはマイグレーション時間に影響を与えないことが分かった。 マイグレーション時間[秒] NFSマウントなし 92.6 NFSマウントあり 92.3

20 実験3:メモリ監視の性能 オフロードしたカーネルチェッカの実行時間 を測定 実験結果 カーネルのテキスト領域のハッシュ値を計算
ドメイン0とドメインMからそれぞれ実行 実験結果 ドメインMから実行したほうが速くなる 原因の調査は今後の課題 ドメイン0からとドメインM からそれぞれカーネルチェッカを実行しその実行時間を計測した。 このカーネルチェッカはカーネルのテキスト領域のハッシュ値を計算するものである。 この計算を100回させてその1回あたりの時間を計測した 実験結果としてドメイン0からは239ミリ秒ドメインM からは135ミリ秒とドメインM から実行したほうが速くなることが分かった。 なぜドメインM から実行したほうが速くなるのかは不明で原因を調査は今後の課題となっています。 カーネルチェッカの実行時間[ミリ秒] ドメイン0 239 ドメインM 135

21 実験4:メモリ監視時のマイグレーション メモリ監視時のドメインMのマイグレーショ ン時間を測定 実験結果
ドメインUのメモリをマップしている場合とマッ プしていない場合を比較 実験結果 メモリマップの有無はマイグレーション時間に影 響しない ドメインU のメモリをマップしている場合としていない場合でのマイグレーション時間を測定した。 この時のマイグレーションはドメインU とドメインM 一緒に行っている。 実験結果としてメモリマップがない場合は92.6秒メモリマップがある場合は92.2秒かかった 若干メモリマップありのほうが速くなっているが誤差の範囲としてみられ、マイグレーション時間はメモリマップの有無にかかわらないとわかった。 マイグレーション時間[秒] メモリマップなし 92.6 メモリマップあり 92.2

22 関連研究 Livewire [Garfinkel et al. ‘03] スタブドメイン プロセスマイグレーション
仮想マシン外でIDSを動かし、仮想マシンを監視 マイグレーションは考慮されていない スタブドメイン ドメイン0の特権の一部を持つドメイン マップしたままマイグレーションはできない プロセスマイグレーション IDSプロセスのみをマイグレーションすることが 可能 ドメインUのストレージ監視やメモリ監視を継続 できない Livewire 仮想マシンの外でIDSを動かして仮想マシンを監視する マイグレーションが考慮されていないためマイグレーションを行うと監視の継続ができなくなってしまう。 スタブドメイン ドメイン0の特権の一部を持つドメイン メモリマップを行ったままマイグレーションを行うことができないため、こちらもマイグレーションを行うと監視の継続ができなくなってしまう。 プロセスマイグレーション IDSのプロセスのみをマイグレーションすることが可能でマイグレーションできる環境が限られる またドメインU のストレージ監視やメモリ監視の継続を行うことができない。

23 まとめ IDSをオフロードしたままマイグレーションを 行えるドメインMを提案した 今後の課題 ストレージとメモリの監視を実現
監視を継続したままマイグレーション可能 今後の課題 ドメインMからのネットワーク監視の実現 ストレージのアクセス制限 ライブマイグレーションへの対応 IDSをオフロードしたままマイグレーションを行えるオフロード専用VMドメインMを提案した 現在ストレージの監視とメモリの監視を実現している。 また、マイグレーションを行った後も監視の継続が可能となっている・ 今後の課題として ドメインMからのネットワーク監視が行えていないのでその実現 現在ドメインUのストレージに誰でもアクセスできてしまうので、ストレージにドメインM のみアクセスできるようにしてセキュリティの強化を行う。 ライブマイグレーションへの対応Xenにはマイグレーションのほかにも動作を停止させずにマイグレーションを行うライブマイグレーションがあり、 現状実行することができないのでライブマイグレーションへも対応させること


Download ppt "VMマイグレーションを可能にするIDSオフロード機構"

Similar presentations


Ads by Google