(57)【特許請求の範囲】
【請求項１】
定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部と、
前記監視対象仮想マシンの起動要求を受信する受信部と、
前記受信部が前記起動要求を受信すると、前記監視対象仮想マシンに割り当てるＩＰアドレスを生成するＩＰアドレス生成部と、
監視サーバイメージ取得部が取得した前記イメージファイルに基づいて、前記ＩＰアドレスを監視対象とした前記仮想監視サーバを起動する仮想監視サーバ管理部と、
前記仮想監視サーバ管理部が前記仮想監視サーバを起動すると、前記起動要求に応じた前記仮想マシンに前記ＩＰアドレスを割り当てて起動する監視対象仮想マシン起動部と、
を備えることを特徴とする仮想化装置。
【請求項２】
前記仮想監視サーバは、前記監視対象仮想マシンに送受信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報に基づいて前記監視処理を行い、
前記監視サーバイメージ取得部は、前記監視対象仮想マシンの用途に応じて異なる定義情報が定められた複数の前記監視サーバのイメージファイルのうち、前記監視対象仮想マシンに対応する前記イメージファイルを取得する
ことを特徴とする請求項１に記載の仮想化装置。
【請求項３】
前記仮想監視サーバ管理部は、前記仮想監視サーバが起動している状態にて、前記受信部によって前記起動要求が受信され、前記ＩＰアドレス生成部によって前記ＩＰアドレスが生成されると、当該ＩＰアドレスを前記仮想監視サーバの監視対象として登録する
ことを特徴とする請求項１または請求項２に記載の仮想化装置。
【請求項４】
定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得するステップと、
前記監視対象仮想マシンの起動要求を受信するステップと、
前記起動要求を受信すると、前記監視対象仮想マシンに割り当てるＩＰアドレスを生成するステップと、
取得した前記イメージファイルに基づいて、前記ＩＰアドレスを監視対象とした前記仮想監視サーバを起動するステップと、
前記仮想監視サーバを起動すると、前記起動要求に応じた前記仮想マシンに前記ＩＰアドレスを割り当てて起動するステップと、
を備えることを特徴とする仮想化制御方法。
【請求項５】
仮想化装置のコンピュータを、
定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部、
前記監視対象仮想マシンの起動要求を受信する受信部、
前記受信部が前記起動要求を受信すると、前記監視対象仮想マシンに割り当てるＩＰアドレスを生成するＩＰアドレス生成部、
監視サーバイメージ取得部が取得した前記イメージファイルに基づいて、前記ＩＰアドレスを監視対象とした前記仮想監視サーバを起動する仮想監視サーバ管理部、
前記仮想監視サーバ管理部が前記仮想監視サーバを起動すると、前記起動要求に応じた前記仮想マシンに前記ＩＰアドレスを割り当てて起動する監視対象仮想マシン起動部、
として動作させる仮想化装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化装置において動作する仮想マシンを監視する技術に関する。
【背景技術】
【０００２】
ネットワークを介して監視対象のコンピュータ装置に送受信されるデータを監視し、異常を検知した場合に警告を出力する監視処理を行うＩＤＳ（Intrusion Detection System：不正侵入検知システム）が提供されている。このようなＩＤＳは、例えば、監視対象のコンピュータ装置に送受信されるデータに含まれる場合に警告を出力する警告対象データを示すシグネチャを予め記憶しておく。ＩＤＳは、監視対象のコンピュータ装置に送受信されるデータをシグネチャと比較し、送受信されるデータが、シグネチャに示される警告対象データを含む場合に警告を出力する。
【０００３】
ところで、物理マシンである仮想化装置のコンピュータリソースを仮想化し、ユーザからの要求に応じた仮想マシンを起動してユーザに利用可能に提供する仮想化システムが存在する。特許文献１には、このような仮想マシンを二重化し、実行系での障害発生時に待機系に切替えることが提案されている。特許文献２には、このような仮想マシンにおいて動作するＯＳ（Operating System）のバージョンに応じて必要がある場合にソフトウェアを自動更新することが提案されている。
このような仮想化装置に起動される仮想マシンにおいて送受信されるデータを上述のようなＩＤＳによって監視しようとする場合、例えば、その仮想化装置自体を監視対象として監視処理を行うことが考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１６２０号公報
【特許文献２】特開２００９−２１７３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、仮想化装置自体を監視対象として監視処理を行う場合、例えば仮想化装置に複数の仮想マシンが動作していれば、異なる仮想マシンにおいて送受信されるデータについて同様のシグネチャによる監視処理を行うことになるため、仮想マシンの特性等に応じたシグネチャを仮想マシンごとに適用することができない。これでは、例えば第１の仮想マシンと第２の仮想マシンとが動作する仮想化装置を監視対象としており、第１の仮想マシンにおいて送受信されるデータについては警告を出力する必要があるが第２の仮想マシンにおいて送受信されるデータについては警告を出力する必要がない場合でも、その仮想化装置において送受信されるデータについては同様に警告を出力することになる。このため、過剰な負荷がかかるとともに、シグネチャの設定が複雑になると考えられる。そこで、仮想化装置において動作する仮想マシンに送受信されるデータを効率良く監視することが望ましい。
【０００６】
本発明は、このような状況に鑑みてなされたもので、仮想化装置において動作する仮想マシンに送受信されるデータを監視する仮想化装置、仮想化制御方法、仮想化装置制御プログラムを提供する。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部と、監視対象仮想マシンの起動要求を受信する受信部と、受信部が起動要求を受信すると、監視対象仮想マシンに割り当てるＩＰアドレスを生成するＩＰアドレス生成部と、監視サーバイメージ取得部が取得したイメージファイルに基づいて、ＩＰアドレスを監視対象とした仮想監視サーバを起動する仮想監視サーバ管理部と、仮想監視サーバ管理部が仮想監視サーバを起動すると、起動要求に応じた仮想マシンにＩＰアドレスを割り当てて起動する監視対象仮想マシン起動部と、を備えることを特徴とする仮想化装置である。
【０００８】
また、本発明は、仮想監視サーバが、監視対象仮想マシンに送受信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報に基づいて監視処理を行い、監視サーバイメージ取得部は、監視対象仮想マシンの用途に応じて異なる定義情報が定められた複数の監視サーバのイメージファイルのうち、監視対象仮想マシンに対応するイメージファイルを取得することを特徴とする。
【０００９】
また、本発明は、仮想監視サーバ管理部が、仮想監視サーバが起動している状態にて、受信部によって起動要求が受信され、ＩＰアドレス生成部によってＩＰアドレスが生成されると、ＩＰアドレスを仮想監視サーバの監視対象として登録することを特徴とする。
【００１０】
また、本発明は、定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得するステップと、監視対象仮想マシンの起動要求を受信するステップと、起動要求を受信すると、監視対象仮想マシンに割り当てるＩＰアドレスを生成するステップと、取得したイメージファイルに基づいて、ＩＰアドレスを監視対象とした仮想監視サーバを起動するステップと、仮想監視サーバを起動すると、起動要求に応じた仮想マシンにＩＰアドレスを割り当てて起動するステップと、を備えることを特徴とする。
【００１１】
また、本発明は、仮想化装置のコンピュータを、定められたＩＰアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部、監視対象仮想マシンの起動要求を受信する受信部、受信部が起動要求を受信すると、監視対象仮想マシンに割り当てるＩＰアドレスを生成するＩＰアドレス生成部、監視サーバイメージ取得部が取得したイメージファイルに基づいて、ＩＰアドレスを監視対象とした仮想監視サーバを起動する仮想監視サーバ管理部、仮想監視サーバ管理部が仮想監視サーバを起動すると、起動要求に応じた仮想マシンにＩＰアドレスを割り当てて起動する監視対象仮想マシン起動部、として動作させる仮想化装置制御プログラムである。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、仮想化装置が、不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部と、監視対象仮想マシンの起動要求を受信する受信部と、受信部が起動要求を受信すると、監視対象仮想マシンに割り当てるＩＰアドレスを生成するＩＰアドレス生成部と、監視サーバイメージ取得部が取得したイメージファイルに基づいて、ＩＰアドレスを監視対象とした仮想監視サーバを起動する仮想監視サーバ管理部と、仮想監視サーバ管理部が仮想監視サーバを起動すると、起動要求に応じた仮想マシンにＩＰアドレスを割り当てて起動する監視対象仮想マシン起動部と、を備えるようにしたので、仮想化装置において動作する仮想マシンに送受信されるデータを監視することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態による仮想化システムの概要を示す図である。
【図２】本発明の一実施形態によるシグネチャの記述方式の例を示す図である。
【図３】本発明の一実施形態によりウェブサーバに対する監視処理に適用して好適なシグネチャの第１の例を示す図である。
【図４】本発明の一実施形態によるウェブサーバに対する監視処理に適用して好適なシグネチャの第２の例を示す図である。
【図５】本発明の一実施形態によるウェブサーバに対する監視処理に適用して好適なシグネチャの第３の例を示す図である。
【図６】本発明の一実施形態によるＤＢサーバに対する監視処理に適用して好適なシグネチャの第１の例を示す図である。
【図７】本発明の一実施形態によるＤＢサーバに対する監視処理に適用して好適なシグネチャの第２の例を示す図である。
【図８】本発明の一実施形態によるＤＢサーバに対する監視処理に適用して好適なシグネチャの第３の例を示す図である。
【図９】本発明の第１の実施形態による仮想化システムの構成の例を示すブロック図である。
【図１０】本発明の第１の実施形態による仮想化システムの動作例を示す図である。
【図１１】本発明の第１の実施形態による仮想化システムの動作例を概念的に示した図である。
【図１２】本発明の第２の実施形態による仮想化システムの動作例を示す図である。
【図１３】本発明の第２の実施形態による仮想化システムの動作例を概念的に示した図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による仮想化システム１の概要を示す図である。仮想化システム１は、コンピュータリソースを仮想化して仮想マシンを起動する仮想化装置４００を備えている。仮想化装置４００は、起動要求に応じた仮想マシン４５０（仮想マシン４５０−１、仮想マシン４５０−２、仮想マシン４５０−３、・・・）を仮想環境に起動するとともに、その仮想マシン４５０を監視対象とするＩＤＳの機能を持つ仮想監視サーバ４４０（仮想監視サーバ４４０−１、仮想監視サーバ４４０−２、・・・）を、仮想マシンとして仮想環境に起動する。ここで、複数の仮想マシン４５０は同様の構成であるので、特に区別しない場合には「−１」、「−２」等の記載を省略して仮想マシン４５０として説明する。同様に、複数の仮想監視サーバ４４０は同様の構成であるので、特に区別しない場合には「−１」、「−２」等の記載を省略して仮想監視サーバ４４０として説明する。
【００１５】
仮想化装置４００は、仮想環境に起動した仮想監視サーバ４４０と仮想マシン４５０とを仮想環境における内部ブリッジ４３０により接続する。仮想監視サーバ４４０は、外部のネットワークに接続された利用者端末３００から仮想マシン４５０を送信先として送信されるデータと、仮想マシン４５０を送信元とし、他のコンピュータ装置を送信先として送信されるデータとを監視する監視処理を行う。これにより、仮想化装置４００に起動される複数の仮想マシン４５０ごとに対応する仮想監視サーバ４４０を起動し、個別に監視処理を行うことができる。すなわち、監視対象である仮想マシン４５０ごとに、その特性に応じたシグネチャを適用することができ、効率良く監視処理を行うことができる。
【００１６】
ここで、仮想環境において動作する仮想マシン４５０は、ウェブサーバとして動作する場合、アプリケーションサーバとして動作する場合、ＤＢ（database）サーバとして動作する場合等、異なる用途により動作することが考えられる。例えば、仮想マシン４５０−１はウェブサーバとして動作し、仮想マシン４５０−２がＤＢサーバとして動作する場合、仮想マシン４５０−１に送受信されるデータにおいて検知すべき警告対象データと、仮想マシン４５０−２に送受信されるデータにおいて検知すべき警告対象データとは異なる。そこで、仮想監視サーバ４４０−１と仮想監視サーバ４４０−２とに異なる警告対象データを示す定義情報であるシグネチャを記憶させておき、異なるシグネチャにより仮想マシン４５０−１または仮想マシン４５０−２を監視することができる。
【００１７】
図２は、このようなシグネチャにおいて定義される警告対象データの記述方式の例を示す図である。シグネチャは、符号ａに示すアクションと、符号ｂに示すプロトコルと、符号ｃに示す送信元ＩＰアドレスと、符号ｄに示す送信元ポート番号と、符号ｅに示す送信先ＩＰアドレスと、符号ｆに示す送信先ポート番号と、符号ｇに示すメッセージと、符号ｈに示すコンテントと、符号ｉに示すシグネチャＩＤとの文字列を連結した情報である。図３から図５は、主にウェブサーバに対する監視処理に適用して好適なシグネチャの例を示す図である。図３は、ウェブサーバを通じてコマンドを実行しようとする通信を検知するためのシグネチャの例である。図４は、ウェブサーバを通じて電子メールファイルにアクセスしようとする通信を検知するためのシグネチャの例である。図５は、ウェブサーバのアプリケーションの脆弱性を突いたＳＱＬインジェクションを検知するためのシグネチャの例である。ＳＱＬインジェクションとは、アプリケーションが想定しないＳＱＬ文を実行させることにより、データベースを不正に操作する攻撃である。
【００１８】
図６から図８は、主にＤＢサーバに対する監視処理に適用して好適なシグネチャの例を示す図である。図６は、ＤＢにアクセスしテーブルを破棄しようとする通信を検知するシグネチャの例を示す図である。図７は、ＤＢにｒｏｏｔ権限でログインしようとする通信を検知するシグネチャの例を示す図である。図８は、ＤＢサーバのパスワードを変更しようとする通信を検知するシグネチャの例を示す図である。本実施形態によれば、例えばウェブサーバである仮想マシン４５０−１を監視する仮想監視サーバ４４０−１は、ウェブサーバに適用して好適なシグネチャに基づいて監視処理を行い、ＤＢサーバである仮想マシン４５０−２を監視する仮想監視サーバ４４０−２は、ＤＢサーバに適用して好適なシグネチャに基づいて監視処理を行うことができる。これにより、監視対処の仮想マシン４５０の用途に応じて必要性の高いシグネチャのみを設定し、必要性の低いシグネチャは設定しないことで、不要な警告が出力されることを防ぎ、効率良く監視処理を行うことができる。
【００１９】
また、本実施形態によれば、１台の仮想化装置４００内に起動された複数の仮想マシン４５０同士がデータの送受信を行う場合にも、そのデータを監視することができる。例えば、本実施形態によれば、仮想マシン４５０−１から仮想マシン４５０−２を送信先としてデータを送信する場合にも、そのデータは仮想監視サーバ４４０−２を介して仮想マシン４５０−２に送信される。このため、例えば仮想マシン４５０−１が仮想マシン４５０−２に対して攻撃を行おうとする場合にも、その攻撃を検知することが可能となる。
【００２０】
すなわち、例えば仮想マシン４５０を監視するために、仮想化装置４００自体を監視対象とした物理的な監視サーバを設置する場合、外部のネットワークから仮想化装置４００に送信されるデータを監視することはできても、１台の仮想化装置４００の内部に起動している複数の仮想マシン４５０の間で送受信されるデータを監視することはできない。ここで、例えば仮想化装置４００に起動された仮想マシン４５０を広く一般ユーザに提供するパブリッククラウドと呼ばれるような仮想化システムにおいては、１台の仮想化装置４００のコンピュータリソース上に異なる管理者の仮想マシン４５０が起動することが考えられる。このとき、１台の仮想化装置４００に起動している仮想マシン４５０−１が、悪意をもって仮想マシン４５０−２に攻撃をするような可能性が考えられる。本実施形態によれば、このような攻撃をも監視し、検知することができる。以下、このような仮想化システム１の構成を具体的に説明する。
【００２１】
＜第１の実施形態＞
図９は、本実施形態による仮想化システム１の構成の例を示すブロック図である。仮想化システム１は、管理者端末１００と、コンピュータリソース提供装置２００と、利用者端末３００と、複数の仮想化装置４００（仮想化装置４００−１、仮想化装置４００−２、仮想化装置４００−３、・・・）とを備えている。ここで、複数の仮想化装置４００は同様の構成であるため、特に区別しない場合には「−１」、「−２」等の記載を省略して仮想化装置４００として説明する。
【００２２】
管理者端末１００は、コンピュータリソース提供装置２００と、複数の仮想化装置４００とにネットワークを介して接続されたコンピュータ端末であり、仮想化システム１によって提供されるコンピュータリソースを利用する。管理者端末１００は、キーボードやマウス等である入力部、ディスプレイである表示部、出力部、制御部、記憶部等を備えている。管理者端末１００は、仮想化装置４００に仮想マシンを起動させる管理者からの操作入力に応じて、コンピュータリソース提供装置２００にコンピュータリソースの提供要求を送信する。管理者端末１００は、送信した提供要求に応じてコンピュータリソース提供装置２００から送信されるコンピュータリソースの識別情報（例えば、ＩＰ（Internet Protocol）アドレス）に基づいて、自身に提供されたコンピュータリソースである仮想化装置４００にネットワークを介して接続し、その仮想化装置４００のコンピュータ上に軌道された仮想マシン利用することができる。ここでは、１台の管理者端末１００を示して説明するが、仮想化システム１には任意の数の管理者の任意の台数の管理者端末１００が接続されていてもよい。
【００２３】
コンピュータリソース提供装置２００は、ネットワークを介して接続された複数の仮想化装置４００に仮想マシンを起動させ、管理者端末１００に提供するコンピュータ装置である。コンピュータリソース提供装置２００は、利用状況記憶部２１０と、監視サーバイメージ記憶部２２０と、仮想マシンイメージ記憶部２３０と、仮想マシン提供部２４０とを備えている。
【００２４】
利用状況記憶部２１０には、複数の仮想化装置４００の利用状況を示す利用状況情報が記憶されている。例えば、利用状況情報は、仮想化装置４００を識別するマシンＩＤ（identifier）毎に、その仮想化装置４００上に起動された仮想マシン、その仮想マシンを提供した管理者の識別情報、その仮想化装置４００におけるコンピュータリソースの空き状況等が対応付けられた情報である
【００２５】
監視サーバイメージ記憶部２２０には、定められたＩＰアドレスが示す監視対象の仮想マシンを送信先または送信元として送信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システム（ＩＤＳ）の機能を有する監視サーバを仮想化した仮想マシンである仮想監視サーバを起動するためのイメージファイルが記憶されている。ここで、仮想監視サーバは、監視対象である仮想マシンに送受信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報であるシグネチャに基づいて監視処理を行う。監視サーバイメージ記憶部２２０には、例えばウェブサーバやＤＢサーバ等、監視対象である仮想マシンの用途に応じて異なるシグネチャが定められた仮想監視サーバの複数のイメージファイルが記憶されている。このようなイメージファイルは、コンピュータリソース提供装置２００の提供者によって予め用意されて記憶されていてもよいし、仮想マシンを起動する管理者端末１００のユーザである管理者によって生成され、コンピュータリソース提供装置２００に送信させて予め記憶させておくこともできる。
【００２６】
仮想マシンイメージ記憶部２３０には、管理者端末１００からの要求に応じて仮想化装置４００のコンピュータリソース上に起動させる仮想マシンのイメージファイルが記憶される。仮想マシンのイメージファイルは、コンピュータリソース提供装置２００の提供者によって予め用意されて記憶されていてもよいし、仮想マシンを起動する管理者端末１００のユーザである管理者によって生成され、コンピュータリソース提供装置２００に送信させて予め記憶させておくこともできる。
【００２７】
仮想マシン提供部２４０は、管理者端末１００から仮想マシンの起動要求を受信すると、利用状況記憶部２１０に記憶されている利用状況情報を読み出し、コンピュータリソースに空きがある仮想化装置４００を検出して、検出した仮想化装置４００に起動要求に応じた仮想マシンを起動させ、仮想化装置４００に提供する。ここで、提供するとは、起動要求の送信元である管理者端末１００に利用させる仮想化装置４００の識別情報（例えば、ＩＰアドレス）を管理者端末１００に送信し、その仮想化装置４００において起動した仮想マシンに対する管理者端末１００からの接続を許可し、管理者権限による仮想マシンの操作を許可するように設定することをいう。
【００２８】
ここで、管理者端末１００からコンピュータリソース提供装置２００に送信される仮想マシンの起動要求には、ユーザが提供を要求する仮想マシンのイメージファイルを識別する情報が含まれているものとする。仮想マシン提供部２４０は、起動要求に示される仮想マシンに対応するイメージファイルを仮想マシンイメージ記憶部２３０から読み出し、仮想化装置４００に送信して起動させる。また、コンピュータリソース提供装置２００は、仮想マシンの起動要求とともに、仮想監視サーバの利用要求を管理者端末１００から受信するものとする。仮想マシン提供部２４０は、例えば、用途ごとのシグネチャが設定された複数の仮想監視サーバの一覧を管理者端末１００に提供し、その複数の仮想監視サーバのうち利用する仮想監視サーバの選択を管理者端末１００から受け付け、選択された仮想監視サーバのイメージファイルを監視サーバイメージ記憶部２２０から読み出し、仮想マシンを起動させた仮想化装置４００と同一のコンピュータリソース上に、読み出した仮想監視サーバのイメージファイルを送信して起動させる。
【００２９】
利用者端末３００は、複数の仮想化装置４００にネットワークを介して接続されたコンピュータ端末であり、仮想化装置４００上に起動された仮想マシンにアクセスする。例えば、管理者端末１００からの起動要求に応じて仮想化装置４００のコンピュータリソース上にウェブサーバである仮想マシンが起動された場合、利用者端末３００は、そのウェブサーバにアクセスしてウェブサービスを利用する。ここでは、１台の利用者端末３００を示して説明するが、仮想化システム１には任意の数の利用者の任意の台数の利用者端末３００が接続されていてもよい。
【００３０】
仮想化装置４００は、自身のコンピュータリソースを仮想化して仮想環境を生成し、仮想環境に仮想マシンを起動して管理者端末１００または利用者端末３００に利用させるコンピュータ装置である。仮想化装置４００は、通信部４１０と、仮想化管理部４２０とを備えており、自身のコンピュータリソースを仮想化した仮想環境に、複数の内部ブリッジ４３０（内部ブリッジ４３０−１、内部ブリッジ４３０−２）と、仮想監視サーバ４４０と、仮想マシン４５０とを生成する。ここで、複数の内部ブリッジ４３０は同様の構成であるため、特に区別しない場合には「−１」、「−２」等の記載を省略して内部ブリッジ４３０として説明する。また、ここでは、仮想環境に２台の内部ブリッジ４３０と、１台の仮想監視サーバ４４０と、１台の仮想マシン４５０とを示した例を説明するが、管理者からの要求に応じて任意の台数の内部ブリッジ４３０、仮想監視サーバ４４０、仮想マシン４５０を起動することができる。
【００３１】
通信部４１０は、ネットワークを介して管理者端末１００、コンピュータリソース提供装置２００、利用者端末３００と通信する。通信部４１０は、例えば、監視サーバイメージ記憶部２２０を介して管理者端末１００から送信される仮想マシンの起動要求を受信する。
【００３２】
仮想化管理部４２０は、仮想化装置４００が備えるコンピュータリソースを仮想化する仮想化基盤であり、仮想マシンイメージ取得部４２１と、監視サーバイメージ取得部４２２と、内部ブリッジ生成部４２３と、ＩＰアドレス生成部４２４と、仮想監視サーバ管理部４２５と、監視対象仮想マシン起動部４２６と、転送部４２７とを備えている。
【００３３】
仮想マシンイメージ取得部４２１は、管理者端末１００から送信された仮想マシンの起動要求に応じてコンピュータリソース提供装置２００の仮想マシン提供部２４０から送信される仮想マシンのイメージファイルを受信する。
監視サーバイメージ取得部４２２は、管理者端末１００から送信された仮想監視サーバの利用要求に応じてコンピュータリソース提供装置２００の仮想マシン提供部２４０から送信される仮想監視サーバのイメージファイルを受信する。
【００３４】
内部ブリッジ生成部４２３は、仮想環境に起動させる複数の仮想マシンを接続する仮想的なブリッジである内部ブリッジを生成し、仮想的なネットワークを形成する。例えば、内部ブリッジ生成部４２３は、仮想環境に起動する仮想マシンの識別情報（例えば、ＩＰアドレス）ごとの接続関係を記述したＸＭＬ（Extensible Markup Language）ファイルを自身の記憶領域に記憶し、そのＸＭＬファイルに内部ブリッジの記述を追加することにより、内部ブリッジを生成する。本実施形態の例では、内部ブリッジ生成部４２３は、外部のコンピュータ装置（例えば、利用者端末３００）と、後述する仮想監視サーバ管理部４２５によって起動される仮想監視サーバ４４０とを接続する内部ブリッジ４３０−１と、仮想監視サーバ４４０と、後述する監視対象仮想マシン起動部４２６によって起動される仮想マシン４５０とを接続する内部ブリッジ４３０−２とを生成する。
【００３５】
ＩＰアドレス生成部４２４は、仮想環境に起動する仮想マシンのＩＰアドレスを生成する。例えば、ＩＰアドレス生成部４２４は、通信部４１０が仮想マシンの起動要求を受信すると、その起動要求に応じて起動する仮想マシンに割り当てるＩＰアドレスを生成する。
【００３６】
仮想監視サーバ管理部４２５は、監視サーバイメージ取得部４２２が受信した仮想監視サーバのイメージファイルに基づいて、自身のコンピュータリソース上に生成された仮想環境に仮想監視サーバ４４０を起動する。また、仮想監視サーバ管理部４２５は、起動した仮想監視サーバ４４０に、ＩＰアドレス生成部４２４が生成したＩＰアドレスを監視対象として記憶させる。
【００３７】
監視対象仮想マシン起動部４２６は、仮想監視サーバ管理部４２５が仮想監視サーバ４４０を起動すると、仮想マシンイメージ取得部４２１が受信したイメージファイルに基づいて、仮想監視サーバ管理部４２５に監視対象として記憶されたＩＰアドレスを割り当てて、仮想マシン４５０を起動する。
転送部４２７は、利用者端末３００から送信されたデータを、内部ブリッジ４３０−１を介して仮想監視サーバ４４０に転送する。
【００３８】
内部ブリッジ４３０は、仮想環境に生成された仮想的なブリッジであり、仮想環境において動作する仮想マシンを接続する。
仮想監視サーバ４４０は、仮想環境に起動された仮想マシンであり、定義情報記憶部４４１と、監視対象ＩＰアドレス記憶部４４２と、監視処理部４４３とを備えている。
定義情報記憶部４４１には、仮想マシン４５０に送信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報であるシグネチャが記憶される。
監視対象ＩＰアドレス記憶部４４２には、自身が監視対象とする仮想マシン４５０を識別するＩＰアドレスが記憶される。
【００３９】
監視処理部４４３は、定義情報記憶部４４１に記憶されているシグネチャに基づいて、内部ブリッジ４３０−１から送信されるデータの監視処理を行う。例えば、監視処理部４４３は、監視対象のＩＰアドレスを送信先または送信元として送信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する。警告を出力するとは、例えば、予め定められた管理者等のメールアドレスを送信先として警告文が含まれる電子メールを送信したり、異常の可能性があるとして検知したデータをログファイルとして自身の記憶領域に記憶したりすることをいう。
仮想マシン４５０は、管理者端末１００からの起動要求に応じて仮想環境に起動された仮想マシンである。
【００４０】
次に、図面を参照して、本実施形態による仮想化システム１の動作例を説明する。図１０は、本実施形態による仮想化システム１の動作例を示す図である。
管理者端末１００は、管理者から、仮想マシンの起動要求と仮想監視サーバの利用要求とを受け付けると、仮想マシンの起動要求と仮想監視サーバの利用要求とをコンピュータリソース提供装置２００に送信する。コンピュータリソース提供装置２００の仮想マシン提供部２４０は、管理者端末１００から送信された仮想マシンの起動要求に応じた仮想マシンのイメージファイルを仮想マシンイメージ記憶部２３０から読み出す。また、仮想マシン提供部２４０は、管理者端末１００から送信された仮想監視サーバの利用要求に応じた仮想監視サーバのイメージファイルを監視サーバイメージ記憶部２２０から読み出す。仮想マシン提供部２４０は、利用状況記憶部２１０に記憶されている利用状況情報に基づいて、管理者端末１００からの要求に応じた仮想マシンと仮想監視サーバとを起動する仮想化装置４００を検出する。
【００４１】
そして、仮想マシン提供部２４０は、検出した仮想化装置４００に、管理者端末１００からの要求に応じて読み出した仮想マシンのイメージファイルと、仮想監視サーバのイメージファイルとを送信する（ステップＳ１）。仮想化装置４００の監視サーバイメージ取得部４２２は、通信部４１０を介して、コンピュータリソース提供装置２００から送信された仮想監視サーバのイメージファイルを受信する。また、仮想化装置４００の仮想マシンイメージ取得部４２１は、通信部４１０を介して、コンピュータリソース提供装置２００から送信された仮想マシンのイメージファイルを受信する。
【００４２】
コンピュータリソース提供装置２００から仮想マシンの起動要求と仮想監視サーバの起動要求とが送信されると、内部ブリッジ生成部４２３は、内部ブリッジ４３０−１と内部ブリッジ４３０−２とを生成する（ステップＳ２）。仮想監視サーバ管理部４２５は、監視サーバイメージ取得部４２２が受信した仮想監視サーバのイメージファイルに基づいて、仮想環境に仮想監視サーバ４４０を起動する（ステップＳ３）。仮想監視サーバ管理部４２５が、仮想環境に仮想監視サーバ４４０が起動し、起動した仮想監視サーバ４４０から起動完了の通知を受信すると、ＩＰアドレス生成部４２４は、仮想マシン４５０に割り当てるＩＰアドレスを生成する（ステップＳ５）。
【００４３】
仮想監視サーバ管理部４２５は、ＩＰアドレス生成部４２４が生成したＩＰアドレスを取得し（ステップＳ６）、仮想監視サーバ４４０に送信する（ステップＳ７）。仮想監視サーバ４４０は、仮想監視サーバ管理部４２５から送信されたＩＰアドレスを、監視対象ＩＰアドレス記憶部４４２に記憶させ、監視対象として登録する。仮想監視サーバ管理部４２５は、仮想監視サーバ４４０から、監視対象のＩＰアドレスの登録完了通知を受信すると（ステップＳ８）、仮想監視サーバ４４０に、監視処理部４４３による監視処理プロセスの起動要求を送信する（ステップＳ９）。
【００４４】
仮想監視サーバ４４０が、監視処理プロセスの起動要求を受信すると、監視処理部４４３は、定義情報記憶部４４１に記憶されているシグネチャを読み出し、読み出したシグネチャに基づいて、内部ブリッジ４３０−１と内部ブリッジ４３０−２とから送信されるデータの監視処理を開始し、監視処理プロセス起動完了通知を仮想監視サーバ管理部４２５に送信する。仮想監視サーバ管理部４２５は、仮想監視サーバ４４０から送信された監視処理プロセス起動完了通知を受信すると（ステップＳ１０）、監視対象の登録完了通知を監視対象仮想マシン起動部４２６に送信する（ステップＳ１１）。
【００４５】
監視対象仮想マシン起動部４２６は、仮想監視サーバ管理部４２５から監視対象の登録完了通知を受信すると、ステップＳ１において仮想マシンイメージ取得部４２１が受信した仮想マシンのイメージファイルに基づいて、仮想環境に仮想マシン４５０を起動させる。ここで、監視対象仮想マシン起動部４２６は、起動した仮想マシン４５０に、ステップＳ５においてＩＰアドレス生成部４２４によって生成されたＩＰアドレスを設定する（ステップＳ１２）。このように、本実施形態では、ステップＳ７において、仮想マシン４５０に割り当てるＩＰアドレスを監視対象として仮想監視サーバ４４０に設定した後に、仮想マシン４５０を起動する。このため、仮想マシン４５０の起動時点から、仮想マシン４５０を送信先として送信されるデータと仮想マシン４５０を送信元として送信されるデータとを監視することができる。例えば、仮想マシン４５０を起動した後に、仮想マシン４５０を監視対象として仮想監視サーバ４４０に登録する場合は、仮想マシン４５０を起動した後に、仮想マシン４５０を監視対象として仮想監視サーバ４４０に登録するまでの間に仮想マシン４５０に対する攻撃が行われた場合には、その攻撃を検知することができない。これに対し、本実施形態によれば、仮想マシン４５０の起動時点から、仮想マシン４５０に送受信されるデータを監視することができる。
【００４６】
仮想マシン４５０は、起動が完了すると、起動完了通知を監視対象仮想マシン起動部４２６に送信する（ステップＳ１３）。仮想化管理部４２０は、仮想マシンの起動要求と仮想監視サーバの利用要求に応じて仮想監視サーバ４４０と仮想マシン４５０とを起動した起動完了通知を、管理者端末１００に送信する（ステップＳ１４）。これにより、仮想マシン４５０を送信先または送信元として送信されるデータは、仮想監視サーバ４４０によって監視される。例えば、利用者端末３００から仮想マシン４５０を送信先として送信されるデータは、４００の通信部４１０によって受信された後、仮想化管理部４２０の転送部４２７によって内部ブリッジ４３０−１に転送され、内部ブリッジ４３０−１によって仮想監視サーバ４４０に転送される。ここで、仮想監視サーバ４４０は、利用者端末３００から送信されたデータと、定義情報記憶部４４１に記憶されているシグネチャとを比較し、利用者端末３００から送信されたデータに、警告対象データとして示されたデータが含まれる場合には、警告を出力する。
図１１は、本実施形態による仮想化システム１の動作例を概念的に示した図である。この図における各ステップ番号は、図１０において示した各ステップに対応する。
【００４７】
＜第２の実施形態＞
第１の実施形態では、管理者端末１００からの仮想監視サーバの利用要求に応じて仮想監視サーバ４４０を起動する例を示したが、新たな仮想マシン４５０を起動する場合、既に仮想監視サーバ４４０が起動していれば、その仮想監視サーバ４４０に対して、新たに起動する仮想マシン４５０を監視対象として登録することもできる。この場合、仮想監視サーバ管理部４２５は、仮想監視サーバ４４０が起動している状態にて、通信部４１０によって仮想マシンの起動要求が受信され、ＩＰアドレス生成部４２４によって新たなＩＰアドレスが生成されると、そのＩＰアドレスを仮想監視サーバ４４０の監視対象として登録する。
【００４８】
図１２は、本実施形態による仮想化システム１の動作例を示す図である。ステップＳ２１とステップＳ２２とは、第１の実施形態におけるステップＳ１とステップＳ２と同様であるが、既に仮想監視サーバ４４０が起動しているため、第１の実施形態におけるステップＳ３からステップＳ４までの処理を行わない。ステップＳ２３からステップＳ３２までの処理は、第１の実施形態におけるステップＳ５からステップＳ１４までの処理と同様である。図１３は、本実施形態による仮想化システム１の動作例を概念的に示した図である。この図における各ステップ番号は、図１２において示した各ステップに対応する。
【００４９】
以上説明したように、本実施形態によれば、事前準備として、管理者が、起動する仮想マシン４５０の用途に応じて設定された仮想監視サーバ４４０のイメージファイルを用意し、コンピュータリソース提供装置２００の監視サーバイメージ記憶部２２０に記憶させておく。そして、仮想マシン４５０の起動時に、管理者端末１００は起動する仮想マシン４５０の用途に応じた仮想監視サーバ４４０のイメージファイルを選択してコンピュータリソース提供装置２００に起動要求を送信する。これにより、仮想化装置４００は、起動する仮想マシン４５０における通信が仮想マシン４５０を中継するように設定するとともに、仮想マシン４５０を監視する仮想監視サーバ４４０を起動した後に、仮想マシン４５０を起動する。
【００５０】
これにより、仮想化システム１が、管理者端末１００からの起動要求に応じて仮想マシン４５０を起動する場合に、その仮想マシン４５０を監視する仮想監視サーバ４４０を自動的に起動させることができる。このため、管理者は、仮想マシン４５０を監視するための仮想監視サーバ４４０を起動し、監視対象のＩＰアドレス、内部ブリッジ、シグネチャ等の設定を自身で行うことなく、仮想マシン４５０を監視する仮想監視サーバ４４０を起動させることができる。また、仮想マシン４５０の起動前に仮想監視サーバ４４０による監視処理を開始するため、仮想マシン４５０を起動した後に仮想監視サーバ４４０の設定を行うまでの間に仮想マシン４５０が攻撃されることを防ぐことができる。また、本実施形態によれば、仮想マシン４５０自体にＩＤＳの機能を持たせるのではなく、仮想マシン４５０とは異なる仮想監視サーバ４４０を起動するようにしたので、例えば仮想マシン４５０が攻撃により乗っ取られた場合にも、仮想マシン４５０に対する監視処理を続けることができる。
【００５１】
なお、本実施形態では、コンピュータリソース提供装置２００が管理者端末１００からの起動要求を受信し、仮想化装置４００に仮想マシンを起動する例を示したが、管理者端末１００が、仮想化装置４００に対して直接、仮想マシンの起動要求と仮想監視サーバの利用要求とを送信することもできる。この場合、例えば、管理者端末１００が、自身の記憶領域に仮想マシンのイメージファイルと仮想監視サーバのイメージファイルとを記憶し、仮想化装置４００に送信することができる。
【００５２】
また、本実施形態では、仮想監視サーバ４４０の監視処理部４４３が監視処理を行うための定義情報として、シグネチャを適用する例を示したが、アノマリを適用してもよいし、その双方を適用してもよい。
また、本実施形態では、仮想監視サーバ４４０はＩＤＳの機能を有するものとして説明したが、ＩＰＳ（Intrusion Prevention System：不正侵入防止システム）の機能を有するものであってもよい。この場合、例えば、仮想監視サーバ４４０の監視処理部４４３は、仮想マシン４５０を送信先または送信元とするデータに異常を検知した場合には、そのデータを含むパケットを破棄する等の制御を行うことができる。
【００５３】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想化装置の制御を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５４】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５５】
１  仮想化システム
１００  管理者端末
２００  コンピュータリソース提供装置
２１０  利用状況記憶部
２２０  監視サーバイメージ記憶部
２３０  仮想マシンイメージ記憶部
２４０  仮想マシン提供部
３００  利用者端末
４００  仮想化装置
４１０  通信部
４２０  仮想化管理部
４２１  仮想マシンイメージ取得部
４２２  監視サーバイメージ取得部
４２３  内部ブリッジ生成部
４２４  ＩＰアドレス生成部
４２５  仮想監視サーバ管理部
４２６  監視対象仮想マシン起動部
４２７  転送部
４３０  内部ブリッジ
４４０  仮想監視サーバ
４４１  定義情報記憶部
４４２  監視対象ＩＰアドレス記憶部
４４３  監視処理部
４５０  仮想マシン
【図１】
0005736346.tif 000002
【図２】
0005736346.tif 000003
【図３】
0005736346.tif 000004
【図４】
0005736346.tif 000005
【図５】
0005736346.tif 000006
【図６】
0005736346.tif 000007
【図７】
0005736346.tif 000008
【図８】
0005736346.tif 000009
【図９】
0005736346.tif 000010
【図１０】
0005736346.tif 000011
【図１１】
0005736346.tif 000012
【図１２】
0005736346.tif 000013
【図１３】
0005736346.tif 000014