slide - KSL

1
クラウドにおけるネストした仮想化
を用いた安全な監視機構
九州工業大学情報工学部
機械情報工学科
光来研究室
B4 美山翔平
2
クラウド
• IaaS型クラウド
– ユーザの仮想マシン(VM)を動作させる
– サーバの運用にかかるコストを削減
• クラウド内のVMは攻撃にさらされている
– 対策:VM内で侵入検知システム(IDS)を動作させる
– 侵入と同時にIDSが無効化される恐れ
VM
IDS
クラウド
攻撃者
3
IDSオフロード
• IDSを管理VMにオフロードし、監視対象VMの外から
安全に監視
– VMのメモリ上のシステム情報を直接取得
• 例:プロセスの一覧、ネットワーク接続の一覧
– VMに侵入されてもIDSを無効化されない
監視対象VM
管理VM
IDS
監視
オフロード
IDS
攻撃者
4
クラウドにおけるIDSオフロード
• クラウド内の管理VMが信用できるとは限らない
– クラウド管理者は管理VMを用いてシステムを管理
– 悪意あるクラウド管理者が存在する可能性
• IDSオフロードの安全性が担保できない
– 管理VM上のIDSはクラウド管理者によって容易に無効化
管理VM
IDS
管理者
監視対象VM
5
従来手法の問題
• クラウド内のハイパーバイザを信頼する手法が提案
されている
– 例:IDSをハイパーバイザ内で動作させる
• 一般のクラウド管理者が仮想化システム全体を管
理できなくなる
– ハイパーバイザは信頼できるクラウド管理者が管理
一般の
管理者
仮想化システム
管理VM
ハイパーバイザ
監視対象
VM
IDS
信頼できる
管理者
6
提案:V-Met
• 仮想化システムの外側からVMを監視
– 同一マシン上で安全にIDSをオフロード
– 仮想化システム内の一般のクラウド管理者がIDSを攻撃
するのは難しい
– 仮想化システム内では従来通りの管理が可能
一般の
管理者
仮想化システム
管理VM
監視対象
VM
ハイパーバイザ
IDS
7
ネストした仮想化の利用
• ホストVMの中で仮想化システムを動作させる
– 仮想化システムは信頼できない一般の管理者が管理
– 仮想化システム以外は信頼できるクラウド管理者が管理
– ホスト管理VMでIDSを動作させる
ホストVM
ゲスト
管理VM
一般の
管理者
ホスト管理VM
ゲストVM
IDS
ゲスト・ハイパーバイザ
ホスト・ハイパーバイザ
信頼できる
管理者
8
V-Metにおけるメモリ監視
• IDSはホスト物理アドレスを用いてゲストVMを監視
– しかし、監視対象データの仮想アドレスしか分からない
– 仮想アドレスをまずゲスト物理アドレスに変換
• ゲストVM内のページテーブルを検索
– ゲスト物理アドレスをホスト物理アドレスに変換
• ゲスト・ハイパーバイザ内の拡張ページテーブルを検索
仮想
アドレス
変換
ゲスト物理
アドレス
変換
ページ
テーブル
ゲストVMの
仮想メモリ
ゲストVMの
物理メモリ
拡張
ページ
テーブル
ホスト物理
アドレス
ホストVMの
物理メモリ
9
ページテーブルの検索
• IDSがページテーブルを検索してアドレス変換を行う
– ゲストVMによるページテーブルの切り替え時にホスト・ハ
イパーバイザがそのアドレスを記録
– IDSはホスト・ハイパーバイザからゲストVMのページテー
ブルのアドレスを取得
ホストVM
ゲストVM
ページ
テーブル
ゲスト・ハイパーバイザ
ホスト・ハイパーバイザ
ホスト管理VM
IDS
10
拡張ページテーブルの検索
• ホスト・ハイパーバイザが拡張ページテーブルを検
索してアドレス変換を行う
– CPUの仮想化支援機構から拡張ページテーブルのアドレ
スを取得
– IDSはホスト・ハイパーバイザを呼び出すことで変換
ホスト管理VM
ホストVM
ゲストVM
IDS
拡張ページ
テーブル
ゲスト・
ハイパーバイザ
ゲスト物理
アドレス
ホスト・ハイパーバイザ
ホスト物理
アドレス
11
実験
• 目的
– V-MetにおけるIDSオフロードの動作確認
– 従来手法とV-Metの性能比較
• 実験環境
– CPU:Intel Xeon E3-1270v3
– メモリ:16GB
• ホストVM:6GB、ゲストVM:2GB
– ホスト/ゲストハイパーバイザ:Xen 4.4
– ホスト/ゲスト管理VMカーネル:Linux-3.13.0
– ゲストVMカーネル:Linux-2.6.27
12
IDSオフロードの動作確認
• ゲストVM内のプロセス一覧を取得を確認
プロセス一覧の画面写真の一部
• Shadow procファイルシステム [1] を構築してゲスト
VM内の情報を取得を確認
[1] 飯田ら,既存IDSをオフロードするための実行環境
13
IDSオフロードの性能
• ゲストVM内のプロセス一覧の取得時間を測定
– V-Metは従来システムより17%長い
• 拡張ページテーブルを参照するため
• Shadow procファイルシステムの構築時間を測定
– 従来システムより22%長い
25
プロセス取得時間の比較
35
Shadow procファイルシステム
構築時間の比較
30
20
15
時間(秒)
時間(ミリ秒)
25
10
20
15
10
5
0
5
V-Met
従来システム
0
V-Met
従来システム
14
関連研究
• Self-Service Cloud [Butt et al.’12]
– クラウド内で安全にIDSをオフロードできるVMを提供
– クラウド内のハイパーバイザを信頼
• HyperGuard [Rutkowska et al.’08]
– CPUのSMMと呼ばれるモードで安全にIDSを動作させる
– ハイパーバイザを信頼する必要がないが、IDSの実行中
はシステムが停止
• CloudVisor [Zhang et al.’11]
– ネストした仮想化を用いてクラウド管理者によるVMの情
報漏洩・改ざんを防ぐ
15
まとめ
• クラウド内のVMを安全に監視するシステムV-Metを
提案
– ネストした仮想化を用いてIDSを仮想化システムの外側で
動作させる
– 一般のクラウド管理者が仮想化システム全体を管理する
ことができる
– ゲストVMのメモリを監視することができる
• 今後の課題
– ゲストVMのディスクとネットワークを監視できるようにする