日本ソフトウェア科学会第 33 回大会 (2016 年度) 講演論文集

クラウドにおける仮想化システム外部からの安全なVM 監視機構
美山 翔平

光来 健一

仮想マシン（VM）内で侵入検知システム（IDS）を動作させると攻撃者の侵入時に無効化される恐れがあるため，IDS オフロードと呼ばれる手法が提案されている．この手法は IDS を監視対象 VM の外側で動作させて安全に監視を行うことを可能にする．しかし，クラウドにおいては管理者が信頼できるとは限らないため，オフロードした IDSが正しく動作していることを保証するのは難しい．本稿では，信頼できない仮想化システムの外側から安全にユー
ザ VM を監視するシステム V-Met を提案する．V-Met は，ネストした仮想化と呼ばれる技術を用いて従来の仮想化システム全体を VM 内で動作させ，その外部で IDS を動作させる．オフロードされた IDS は仮想化システム内のユーザ VM のメモリ，ディスク，ネットワークから情報を取得し，ユーザ VM への侵入を検知する．V-Met 上
で Transcall を動作させることで，既存の IDS を実行することも可能とする．我々は V-Met を Xen 4.4 に実装し，オフロードした chkrootkit と Tripwire の実行オーバヘッドが非常に小さいことを確認した．

ロードを行っても IDS が正しく動作していることを1 はじめに保証するのが難しい．クラウド管理者に悪意があった

近年，急速に普及している IaaS 型クラウドはネッ

場合，IDS を無効化される危険性がある．悪意はな

トワークを介してユーザに仮想マシン（VM）を提供

くとも，クラウド管理者が十分なセキュリティ対策をし，ユーザは自由にシステムを構築することができ行っていない場合，外部から IDS が攻撃を受ける可る．その一方で，サーバ設定の不備やセキュリティ能性も考えられる．従来，クラウド上で安全に IDSアップデートの未適用など，クラウド内のユーザ VMオフロードを行うために，仮想化システム内のハイは十分に管理されているとは限らない．そのため，外パーバイザを信頼する手法が提案されてきた [3] [5]．

部から侵入されて機密情報が漏洩しないように，侵入

しかし，クラウド管理者は比較的容易にハイパーバイ検知システム（IDS）を用いてユーザ VM を監視すザを攻撃することができる．また，信頼できるとは限ることが必要となっている．ユーザ VM 内で IDS をらない一般のクラウド管理者には仮想化システムの動作させても侵入時に無効化されてしまうため，IDS一部しか管理させられなくなるという問題もあった．

を安全に実行するために IDS オフロードと呼ばれる

そこで本稿では，仮想化システムの外側から安全に手法が提案されてきた [4]．この手法は IDS をユーザ

ユーザ VM を監視するシステム V-Met を提案する．

VM の外側で動作させることにより安全に監視を行

V-Met では，ネストした仮想化 [2] を用いて従来のうことを可能にする．これにより，IDS が攻撃を検知仮想化システム全体を VM 内で動作させ，その外部する前に攻撃者によって無効化されることを防ぐこと

で IDS を動作させる．これにより，仮想化システムができる．の管理権限を持ったクラウド管理者でさえ IDS を無一方，クラウドにおいては管理者が十分に信頼でき効化するのは難しくなる．また，一般のクラウド管るとは限らない [7] [6] [13] [10] [11] ため，IDS オフ

理者が従来通りに仮想化システム全体の管理を行う

Shohei Miyama， Kenichi Kourai, 九 州 工 業 大 学,
Kyushu Institute of Technology.

ことができる．オフロードされた IDS は仮想化シス
テム内のユーザ VM のメモリ，ディスク，ネットワー

クから情報を取得し，ユーザ VM への侵入を検知す
る．V-Met 上で Transcall [14] を動作させることで，既存の IDS を実行することも可能となる．
我々は V-Met を Xen 4.4 のハイパーバイザおよび管理 VM に実装した．このハイパーバイザ上の VM
内で従来の仮想化システムを動作させ，管理 VM 内で IDS を動作させる．仮想化システム内のユーザ

図1

IDS オフロード

VM のメモリ上のデータを取得するために，V-Met
はユーザ VM のページテーブルと拡張ページテーブ情報を取得し，プロセスの名前や所有者などをチェッル (EPT) を用いてアドレス変換を行う．ページテークする．また，ユーザ VM のファイルが改ざんされ

ブルと EPT はコンテキストスイッチの際に発生するていないかどうかを監視するには，仮想ディスク上のVM Exit を補足して特定する．また，ebtables を用

ファイルシステムを解析し，ファイルの属性や内容のいることで，MAC アドレスに基づいて特定のユーザチェックを行う．ネットワーク経由の不正アクセスをVM が送受信するパケットだけを取得する．V-Met

監視するには，仮想 NIC からパケットを取得して攻と Transcall を用いて chkrootkit および Tripwire を撃を検出する．

オフロード実行したところ，オーバヘッドは非常に小さいことが分かった．

2. 2 クラウドにおける IDS オフロード

以下，2 章でクラウドにおける IDS オフロードにクラウドおいて IDS オフロードを行うにあたってついて詳説し，3 章ではそれらの問題点をふまえて提問題となるのは，管理者が常に信頼できるとは限ら案システムである V-Met について述べる．4 章ではない [7] [6] [13] [10] [11] ということである．管理者

V-Met の実装について述べ，5 章で V-Met と従来手に悪意があった場合，仮想化システム内で容易に不正法との比較のために行った実験の結果を示す．6 章でアクセスを行うことができる．また，クラウド上の関連研究について述べ，7 章で本稿をまとめる．

ユーザ VM はマイグレーションで移動することがあり，セキュリティ意識の低い管理者やスキルの低い管

2 クラウドにおける IDS オフロード

理者によって管理されている仮想化システム内でユー

2. 1 IDS オフロード

ザ VM が動作する可能性もある．仮想化システムにIDS を安全に動作させるために VM を用いた IDS脆弱性がある場合，外部からの攻撃者によって制御をオフロード手法が提案されている [4]．この手法は，奪われる恐れもある．

図 1 のように，ユーザ VM の外側の仮想化システム

そのため，クラウドではオフロードされた IDS が内で IDS を動作させ，安全に監視を行うことを可能安全に動作することを担保することができない．悪意にする．この手法を用いることにより，ユーザ VMを持った管理者や仮想化システムに侵入した攻撃者が攻撃を受けたとしてもその中で IDS が動作していは，IDS を停止させることで侵入検知を回避するこないため，IDS を攻撃される恐れはない．一方，仮とができる．また，IDS を改ざんすることで，攻撃を想化システム内のユーザ VM の外側では IDS 以外の検出しないようにすることもできる．IDS を改ざんサービスをできるだけ動作させないようにすることしなくとも，IDS がユーザ VM を参照する際に，参で攻撃を受けにくくすることができる．

照先を変更するだけでも IDS の挙動を変えて無効化

オフロードされた IDS はユーザ VM から情報を直接取得することで監視を行う．例えば，ユーザ VM内で悪意のあるプロセスが動いていないかどうかを監視するには，カーネルメモリを解析してプロセスすることができる．

2. 3 従来手法の問題
これまでに，クラウド上で安全に IDS オフロードを行うために，仮想化システム内のハイパーバイザを信頼する手法が提案されてきた．例えば，Self-Service

Cloud (SSC) [3] では，ユーザはハイパーバイザ上でサービスドメインと呼ばれる VM を安全に起動することができ，その中に IDS をオフロードすることができる．クラウド管理者であってもサービスドメインに干渉することはできない．RemoteTrans [5] はクラウドの外部に IDS をオフロードし，クラウド内で動図2

V-Met のシステム構成作するハイパーバイザ経由でユーザ VM を監視する．

ネストした仮想化は，従来の仮想化システム全体をしかし，この手法では管理者は比較的容易にハイVM 内で動作させることを可能にする技術である．本

パーバイザを攻撃することができる．ハイパーバイ

稿ではこの VM をクラウド VM と呼ぶ．V-Met では，

ザは仮想化システムの管理コンポーネントに様々なクラウド VM の外側に IDS をオフロードし，IDS はインタフェースを提供しており，管理者はそれらのイ

クラウド VM 内のユーザ VM を監視する．V-Met やンタフェースにアクセス可能であるためである．ハイ

IDS はクラウドの信頼できる管理者が管理し，クラパーバイザが攻撃されると，IDS を無効化されたり，ウド VM 内の仮想化システムは信頼できるとは限ら改ざんされたりする可能性があり，IDS を安全に実行ない一般のクラウド管理者が管理する．ネストした仮することができなくなる．

想化による性能低下が起こるが，オーバヘッドを削減

また，一般の管理者が仮想化システム全体を管理でするために様々な手法が提案されている [3]．これらきなくなるという問題もある．信頼できないかもしの手法を用いることで性能低下を 6〜8%程度に抑えれない管理者にハイパーバイザを管理させることはることが可能である．

できないためである．一般に，仮想化システムのアッ

V-Met では，オフロードした IDS はクラウド VM

プデートはパッケージを用いて行われるが，パッケーのメモリの中からユーザ VM のデータを見つけて監ジ間の依存関係のために仮想化システム全体を同時視を行う．クラウド VM のメモリ上には複数のユーにアップデートする必要がある．そのため，ハイパー

ザ VM のメモリが含まれているため，監視対象のユーバイザのアップデートだけを別に行えるようにするに

ザ VM のメモリを特定し，さらにその中にある目的は，管理手法の大幅な変更が必要となる．のデータを特定する必要がある．そのために，V-Met
では 3 回のアドレス変換を行う．まず，ユーザ VM

3 V-Met内のページテーブルを用いて，対象データの仮想アド

本稿では，ネストした仮想化 [2] を用いて仮想化シレスをユーザ VM の物理アドレスに変換する．次に，ステムの外側で IDS を動作させ，安全に VM を監視

ユーザ VM 用の拡張ページテーブルを用いて，クラするシステム V-Met を提案する．図 2 に V-Met のウド VM の物理アドレスに変換する．最後に，クラシステム構成を示す．V-Met では，仮想化システム

ウド VM 用の拡張ページテーブルを用いてマシンアの中から外側へのアクセスは大きく制限される．そのドレスに変換する．

ため，仮想化システムの外側で動作している IDS をユーザ VM が送受信するネットワークパケットは攻撃するのは難しい．その一方で，一般のクラウド管

クラウド VM の仮想 NIC から取得する．ユーザ VM

理者に仮想化システム全体を管理する権限を与えるが送信したパケットはクラウド VM を経由して送信ことができるため，従来通りの管理を行うことが可能され，ユーザ VM へのパケットもクラウド VM を経となる．

由してユーザ VM に受信される．このように，クラウド VM の仮想 NIC では複数のユーザ VM のパケットが混ざり合う．そのため，V-Met は宛先や送信元の MAC アドレスを基にパケットを振り分け，IDS が特定のユーザ VM のパケットだけを取得できるようにする．また，IDS がユーザ VM の仮想ディスクにアクセスできるようにするために，V-Met ではネットワークストレージを用いて仮想化システムと IDSとでディスクイメージを共有する．クラウドにおいてユーザ VM はマイグレーションされるため，ネット

図3

V-Met の実際のシステム構成

ワークストレージを用いる構成は従来のクラウドにおけるものと同じである．

V-Met 上で Transcall [14] を動作させることで，既存の IDS を実行することができる．Transcall は，既存の IDS をオフロードするための実行環境を提供するシステムである．Transcall はシステムコール・エミュレータと Shadow ファイルシステムで構成される．システムコール・エミュレータによって IDS が発行するシステムコールをエミュレートし，ユーザ VMのカーネル情報を返す．Shadow ファイルシステムはユーザ VM で使われているものと同じファイルシステムを提供する．特に，特殊なファイルシステムとしてShadow proc ファイルシステムを提供する．Shadow

図4

ゲスト VM にアクセスするためのアドレス変換

proc ファイルシステムはユーザ VM のカーネルの状
態や実行中のプロセス情報などを含んでいる．にアドレス変換を行う．まず，ユーザ VM 内のページテーブルを用いて対象データの仮想アドレスをユー4 実装

ザ VM の物理アドレスに変換する．ユーザ VM 内

我々は V-Met を Xen 4.4 に実装した．V-Met の実のページテーブルを用いてアドレス変換を行うため際のシステム構成を図 3 に示す．V-Met を実装したに，V-Met はページディレクトリのアドレスを取得

ハイパーバイザをクラウドハイパーバイザとして動する必要がある．ページディレクトリのアドレスは仮作させ，その上でクラウド VM とクラウド管理 VM

想 CPU の CR3 レジスタに格納されているが，このを動作させる．クラウド管理 VM はクラウド VM のCR3 レジスタは仮想化システム内のハイパーバイザ管理を行うための権限を持った VM である．クラウが管理している．しかし信頼できないハイパーバイザ

ド VM 内では既存のハイパーバイザとユーザ VM をから取得した情報を利用することはできない．

動作させる．クラウド VM およびユーザ VM はどち

そこで，V-Met では図 5 のようにハイパーバイザらも Intel VT-x を用いて完全仮想化で動作させるこに依存せずに CR3 レジスタの値を取得する．そのたとを想定している．

めに，ユーザ VM が CR3 レジスタの値を変更しようとした時にクラウドハイパーバイザに対して VM

4. 1 メモリ監視

Exit を発生させる．従来は，CR3 レジスタへの書きクラウド管理 VM からユーザ VM のメモリ上の込みが行われても VM Exit は発生しなかった．そこ

データにアクセスするために，V-Met は図 4 のようで，コントロールレジスタの読み書きで VM Exit が図5

CR3 の取得

図6

EPT を用いたアドレス変換発生するように，クラウドハイパーバイザにおいてクいるため，ハイパーバイザが EPT を改ざんするのはラウド VM の仮想 CPU 内にある VMCS の VM 実

難しい．

行制御フィールドに設定を行うようにした．クラウド

最後に，クラウド VM 用の EPT を用いて，クラハイパーバイザでは CR3 レジスタに対する書き込み

ウド VM の物理アドレスをマシンアドレスに変換すかどうかを判定し，そうであれば書き込み元のレジスる．この EPT はクラウドハイパーバイザ内にあり，タの値を保存する．クラウド管理 VM 上の IDS は新クラウド VM のメモリページをマップするハイパー

たに追加したハイパーコールを用いてクラウドハイコールを実行する際にこのアドレス変換が自動的にパーバイザに保存されている最新の CR3 レジスタの行われる．

値を取得し，ページテーブルをたどってアドレス変換を行う．

4. 2 ネットワーク監視

次に，ユーザ VM 用の拡張ページテーブル（EPT）

IDS はクラウド管理 VM に作られたクラウド VMを用いて，ユーザ VM の物理アドレスをクラウド VM用の仮想ネットワークインタフェース（vif）を通しの物理アドレスに変換する．そのために，仮想化シて，ユーザ VM のネットワークパケットを取得する．

ステム内のハイパーバイザが管理している EPT のア

この vif からはクラウド VM が送受信するすべてのドレスを取得する必要がある．V-Met では，図 6 のパケットが取得される．ユーザ VM の MAC アドレ

ように，ユーザ VM が CR3 レジスタへの書き込み

スはネットワーク上で一意に決まるので，MAC アドによって VM Exit が発生した時に，ユーザ VM の仮レスでフィルタリングすることで，特定のユーザ VM

想 CPU 内にある VMCS から EPT のアドレスを取のパケットだけを取得する．

得する．IDS がハイパーコールを呼び出した時に，ハイパーコール内でアドレス変換を行う．

パケットのフィルタリングには ebtables を用いた．

ebtables は Ethernet フレームをフィルタし，フィル信頼できない仮想化システム上で動作するユーザタしたパケットをユーザ空間で扱うことがことを可能

VM 内のページテーブルは，CloudVisor [13] のメモにする．V-Met は，パケットが vif からネットワークリ隔離技術を用いて保護する．CloudVisor は仮想化

ブリッジに送られてきた時は送信元 MAC アドレスシステムからユーザ VM のメモリへのアクセスを制を基にパケットを振り分ける．逆に，ネットワークブ限するため，ハイパーバイザや管理 VM がユーザ VM

リッジから vif に送られてきた時は宛先 MAC アドレのページテーブルを改ざんすることはできない．同様

スを基にパケットを振り分ける．V-Met は MAC アに，ハイパーバイザ内の EPT も CloudVisor のメモ

ドレスごとに OpenVPN を用いて tap デバイスを作リ所有者追跡技術を用いて保護する．CloudVisor は成し，振り分けたパケットを tap デバイスに書き込

ユーザ VM のメモリだけを EPT に登録可能としてむ．マルチキャストやブロードキャストのパケットのVM のページテーブルエントリにはユーザ VM の物理ページフレーム番号が格納されているため，ハイパーコールを呼び出してクラウド VM の物理アドレスに変換してから対応するページをマップするように変更した．

5 実験
V-Met を用いてオフロードした IDS の監視性能を調べるための実験を行った. 実験には，Intel Xeon E3図7

ネットワーク監視の流れ

1270v3 の CPU，16GB のメモリ，1.8TB の HDD，ギガビットイーサネットを搭載したマシンを用いた.

場合には，作成したすべての tap デバイスにパケッ

このマシンでは，V-Met を実装した Xen 4.4 を動作

トを書き込む．IDS は tap デバイスからパケットをさせ，クラウド管理 VM 上では Linux 3.13.0 を動作キャプチャすることで，従来通りのネットワーク監視させた. ホスト VM では，既存の Xen 4.4 を動作さを行うことができる．

せ，管理 VM では Linux 3.13.0 を動作させた. また，
ユーザ VM では Linux 3.13.0 を動作させた. 比較の4. 3 ディスク監視ために，ネストした仮想化を用いない従来システム

クラウド管理 VM はユーザ VM のディスクイメー

でも実験を行い，V-Met におけるホスト VM 内の仮ジが置かれたディレクトリを NFS マウントし，その想化システムと同じものを動作させた. NFS サーバ

ディスクイメージをループバック・マウントする．そには，Intel Xeon X5675 の CPU，32GB のメモリ，の際には，クラウド管理 VM の OS 内のファイルシ

3.75TB の RAID5 ディスク，ギガビットイーサネッ

ステムを用いる．IDS はディスクイメージがマウント

トを搭載したマシンを用いた. これらのマシンはギガされたディレクトリを参照することで，ユーザ VMビットスイッチで接続した.のファイルシステムにアクセスする．一方，仮想化システム内でも同様に NFS マウントを行い，マウント5. 1 アドレス変換のオーバヘッドしたディレクトリ上のディスクイメージを用いてユー

V-Met においてアドレス変換のために追加したハザ VM を起動する．

イパーコールのオーバヘッドを測定した．その結果，
ユーザ VM 用の EPT を用いてユーザ VM の物理ア

4. 4 Transcall の移植

ドレスをクラウド VM の物理アドレスに変換するハ

我々は Transcall [14] を V-Met 上に移植した．既イパーコールの呼び出しには 1.3µs かかることが分存の Transcall は VM の仮想 CPU の状態を取得するかった．一方，ユーザ VM の CR3 の値を取得するハハイパーコールを呼び出して CR3 レジスタの値を取イパーコールの呼び出しには 0.96µs かかることが分得していた．そこで，V-Met においてユーザ VM のかった．従来システムではユーザ VM の CR3 の値CR3 レジスタの値を取得できるようにするために，を取得するためのハイパーコール呼び出しに 15µs か4.1 節のようにクラウドハイパーバイザが保存したかっていた．これは CR3 の値だけでなく仮想 CPUCR3 レジスタの値を取得するハイパーコールを呼びの状態を取得する汎用のハイパーコールを用いてい出すように変更した．また，既存の Transcall では，るためである．

ページテーブルエントリに格納された物理ページフレーム番号に対応するページをマップしながら VMのページテーブルをたどっていた．しかし，ユーザ図8Shadow proc ファイルシステムの構築時間の比較

図9chkrootkit の実行時間

図 10

Tripwire の実行時間

5. 2 Shadow proc ファイルシステムの構築時間
Transcall はあらかじめユーザ VM 内のメモリからプロセスなどの OS の情報を取得して Shadow proc
ファイルシステムを構築する．そこで，Shadow proc
ファイルシステムの構築にかかる時間を V-Met と従来システムとで比較した．結果は図 8 のようになり，V-Met によるオーバヘッドはないことが分かった．
V-Met では，ユーザ VM 用の EPT を用いたアドレス変換が 3，089 回必要になるが，292 回必要な CR3の値取得のオーバヘッドが大幅に削減される．

5. 3 オフロードした IDS の実行時間

用いている FUSE のオーバヘッドが顕著に表れたた

V-Met と Transcall を用いてオフロードした chk-めである。また、システムコールをトラップすることrootkit を実行し，ユーザ VM の検査にかかる時間をによるオーバヘッドが大きくなることも原因である。

測定した．chkrootkit はインストールされたルート同様に，Tripwire をオフロードして実行した場合キットを検知する IDS である．比較のために，従来の実行時間を測定し，オフロードしない場合とも比較システムにおいてオフロードした chkrootkit を実行した．Tripwire はファイルシステムの整合性を検査した場合の時間も測定した．また，ネストした仮想化する IDS である．

を用いたシステムと従来システムにおいてオフロー実験結果は図 10 のようになり，V-Met によるオフドせずにユーザ VM 内で chkrootkit を実行した時にロードのオーバヘッドはわずかであった．オフロードかかる時間も測定した．

しない場合と比較すると，transcall がシステムコー実験結果は図 9 のようになり，オフロードした chk-rootkit の実行時間は V-Met のほうが従来システムよルをトラップするオーバヘッドの分だけ性能が低下した．

り短くなった．chkrootkit の中で実行される chkprocというプログラムの実行時間のばらつきが大きいこ

5. 4 ネットワーク監視のオーバヘッドとが一因であると考えられる．一方，オフロードしV-Met を用いてネットワーク監視を行うことによない場合には実行時間が大幅に長くなった．これはるオーバヘッドを調べるために，iperf を用いてネッchkproc が Shadow proc ファイルシステムに大量にトワーク性能を測定した．iperf サーバをユーザ VMアクセスを行い、Shadow proc ファイルシステムが内で動作させ，iperf クライアントを外部ホストで動のメモリチェックを行う．HyperCheck [12] は SMMを用いてメモリやレジスタの内容をリモートホストに送り，完全性のチェックを行う．HyperSentry [1]は SMM と IPMI を利用してハイパーバイザ内で安全に IDS を動作させる．しかし，SMM で IDS を実行している間はシステムの他の部分が停止してしまうという問題がある．また，SMM での実行は低速なため，IDS の性能に大きな影響を及ぼす．Flicker [8]は Intel TXT や AMD SVM を用いて安全に IDS を
図 11

iperf の実行時間実行するが，SMM と同様の問題を抱えている．

CloudVisor [13] はネストした仮想化を用いてハイ作させた．実験結果を図 11 に示す．ネットワーク監

パーバイザの下にセキュリティモニタを導入すること視を行った場合にはスループットが 3.3%低下した．

で，信頼できないクラウドの中で安全に VM を動作させることができる．VM はハイパーバイザと管理

6 関連研究VM から隔離されるため，VM からの情報漏洩を防Self-Service Cloud (SSC) [3] は，信頼できるハイぐことができる．しかし，VM を安全に監視する機能

パーバイザを用いてクラウドのユーザだけに自身のは提供されていない．

VM を管理する権限を与え，クラウドの管理者からの干渉を防ぐ．ユーザはサービスドメインと呼ばれる

7 まとめ

VM を安全に起動し，IDS を動作させて他の VM を

本稿では，ネストした仮想化を用いて IDS を仮想監視することができる．クラウドの管理者がサービス化システムの外側で実行するシステム V-Met を提案

ドメインの中の IDS を停止したり，改ざんしたりすした．V-Met を用いることで，IDS が仮想化システることはできない．しかし，サービスドメイン内のシムの管理者に攻撃されるのを防ぐことができる．まステムに脆弱性があった場合，攻撃を受ける可能性がた，信頼できない一般のクラウド管理者が従来通りにある．また，ハイパーバイザを信頼する必要がある．

ハイパーバイザを含めた仮想化システム全体の管理

RemoteTrans [5] はユーザ VM が動作しているクを行うことができる．V-Met は従来の仮想化システ

ラウドとは別のホストに IDS をオフロードし，ネッム全体をクラウド VM 内で動作させ，クラウド VM

トワーク経由で安全にユーザ VM を監視できるよう内のユーザ VM のメモリ，ディスク，ネットワークのにするシステムである．リモートホスト上の IDS は監視を可能にする．我々は既存の IDS を動作させる

信頼できるハイパーバイザと暗号通信を行い，ユーことを可能にする Transcall を V-Met に移植し，いザ VM のメモリやネットワークパケット，ディスクくつかの IDS のオーバヘッドが非常に小さいことをブロックを取得する．Transcall を用いることにより確認した．

既存の IDS を動作させることもできる．しかし，IDS今後の課題は，仮想化システム内で複数のユーザをユーザ側で管理する必要があり，IDS を動作させる

VM が動作している時に，それぞれのユーザ VM をホストの安全性もユーザが担保する必要がある．

IDS から安全に特定できるようにすることである．現

ハードウェアによる安全な実行のサポートを用いる

在の実装では，メモリの監視時にはユーザ VM が一ことによって，安全に IDS を動作させつつ，一般のクつだけ動作していることを仮定しており，ネットワーラウド管理者に仮想化システム全体を管理させることクの監視時にはユーザ VM の MAC アドレスが分かが可能である．HyperGuard [9] は CPU のシステムることを仮定している．

マネジメントモード（SMM）で安全にハイパーバイザ

参 考 文 献[ 1 ] Azab, A. M., Ning, P., Wang, Z., Jiang, X.,Zhang, X., and Skalsky, N. C.: HyperSentry: enabling stealthy in-context measurement of hypervisor integrity, Proceedings of Conference on Computer and Communications Security, 2010, pp. 38–49.
[ 2 ] Ben-Yehuda, M., Day, M. D., Dubitzky, Z.,
Factor, M., Har’El, N., Gordon, A., Liguori, A.,
Wasserman, O., and Yassour, B.-A.: The Turtles
Project: Design and Implementation of Nested Virtualization., Proceedings of Symposium on Operating Systems Design and Implementation, 2010,pp. 423–436.
[ 3 ] Butt, S., Lagar-Cavilla, H. A., Srivastava, A.,
and Ganapathy, V.: Self-service cloud computing,
In Processings of Conference on Computer andCommunications Security, 2012, pp. 253–264.
[ 4 ] Garfinkel, T. and Rosenblum, M.: A Virtual Machine Introspection Based Architecture for Intrusion
Detection, 2003, pp. 191–206.
[ 5 ] Kourai, K. and Juda, K.: Secure Oﬄoading ofLegacy IDSes Using Remote VM Introspection inSemi-trusted Clouds, 2016, pp. 43–50.
[ 6 ] Li, C., Raghunathan, A., and Jha, N. K.: Se-cure Virtual Machine Execution under an Untrusted
Management OS, 2010, pp. 172–179.
[ 7 ] Li, C., Raghunathan, A., and Jha, N. K.: A
Trusted Virtual Machine in an Untrusted Management Environment, 2012, pp. 472–483.
[ 8 ] McCune, J. M., Parno, B., Perrig, A., Reiter,
M. K., and Isozaki, H.: Flicker: An Execution Infrastructure for TCB Minimization, 2008, pp. 315–328.
[ 9 ] Rutkowska, J., Wojtczuk, R., and Tereshkin, A.:
HyperGuard, 2008.
[10] Santos, N., Gummadi, K. P., and Rodrigues, R.:Towards Trusted Cloud Computing, 2009.
[11] Tadokoro, H., Kourai, K., and Chiba, S.: Preventing Information Leakage from Virtual Machines Memory in IaaS Clouds, 2012, pp. 156–166.
[12] Wang, J., Stavrou, A., and Ghosh, A.: HyperCheck: A hardware-assisted integrity monitor, Proceedings of International Symposium on Recent Advances in Intrusion Detection, 2010, pp. 158–177.
[13] Zhang, F., Chen, J., Chen, H., and Zang, B.:
CloudVisor: Retrofitting Protection of Virtual Machines in Multitenant Cloud with Nested Virtualization, 2011, pp. 203–216.
[14] 飯田貴大, 光来健一: VM Shadow: 既存 IDS をオ
フロードするための実行環境, 2011.