【文献】
光来 健一 外1名,「仮想的な分散監視環境による安全な侵入検知アーキテクチャ」,情報処理学会論文誌,社団法人情報処理学会,2005年12月15日,第46巻,No.SIG16(ACS12),p.108−118
(58)【調査した分野】(Int.Cl.,DB名)
定められたIPアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得する監視サーバイメージ取得部と、
前記監視対象仮想マシンの起動要求を受信する受信部と、
前記受信部が前記起動要求を受信すると、前記監視対象仮想マシンに割り当てるIPアドレスを生成するIPアドレス生成部と、
監視サーバイメージ取得部が取得した前記イメージファイルに基づいて、前記IPアドレスを監視対象とした前記仮想監視サーバを起動する仮想監視サーバ管理部と、
前記仮想監視サーバ管理部が前記仮想監視サーバを起動すると、前記起動要求に応じた前記仮想マシンに前記IPアドレスを割り当てて起動する監視対象仮想マシン起動部と、
を備えることを特徴とする仮想化装置。
前記仮想監視サーバは、前記監視対象仮想マシンに送受信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報に基づいて前記監視処理を行い、
前記監視サーバイメージ取得部は、前記監視対象仮想マシンの用途に応じて異なる定義情報が定められた複数の前記監視サーバのイメージファイルのうち、前記監視対象仮想マシンに対応する前記イメージファイルを取得する
ことを特徴とする請求項1に記載の仮想化装置。
前記仮想監視サーバ管理部は、前記仮想監視サーバが起動している状態にて、前記受信部によって前記起動要求が受信され、前記IPアドレス生成部によって前記IPアドレスが生成されると、当該IPアドレスを前記仮想監視サーバの監視対象として登録する
ことを特徴とする請求項1または請求項2に記載の仮想化装置。
定められたIPアドレスが示す監視対象の仮想マシンである監視対象仮想マシンに送受信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システムの機能を有する監視サーバの仮想マシンである仮想監視サーバを起動するためのイメージファイルを取得するステップと、
前記監視対象仮想マシンの起動要求を受信するステップと、
前記起動要求を受信すると、前記監視対象仮想マシンに割り当てるIPアドレスを生成するステップと、
取得した前記イメージファイルに基づいて、前記IPアドレスを監視対象とした前記仮想監視サーバを起動するステップと、
前記仮想監視サーバを起動すると、前記起動要求に応じた前記仮想マシンに前記IPアドレスを割り当てて起動するステップと、
を備えることを特徴とする仮想化制御方法。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による仮想化システム1の概要を示す図である。仮想化システム1は、コンピュータリソースを仮想化して仮想マシンを起動する仮想化装置400を備えている。仮想化装置400は、起動要求に応じた仮想マシン450(仮想マシン450−1、仮想マシン450−2、仮想マシン450−3、・・・)を仮想環境に起動するとともに、その仮想マシン450を監視対象とするIDSの機能を持つ仮想監視サーバ440(仮想監視サーバ440−1、仮想監視サーバ440−2、・・・)を、仮想マシンとして仮想環境に起動する。ここで、複数の仮想マシン450は同様の構成であるので、特に区別しない場合には「−1」、「−2」等の記載を省略して仮想マシン450として説明する。同様に、複数の仮想監視サーバ440は同様の構成であるので、特に区別しない場合には「−1」、「−2」等の記載を省略して仮想監視サーバ440として説明する。
【0015】
仮想化装置400は、仮想環境に起動した仮想監視サーバ440と仮想マシン450とを仮想環境における内部ブリッジ430により接続する。仮想監視サーバ440は、外部のネットワークに接続された利用者端末300から仮想マシン450を送信先として送信されるデータと、仮想マシン450を送信元とし、他のコンピュータ装置を送信先として送信されるデータとを監視する監視処理を行う。これにより、仮想化装置400に起動される複数の仮想マシン450ごとに対応する仮想監視サーバ440を起動し、個別に監視処理を行うことができる。すなわち、監視対象である仮想マシン450ごとに、その特性に応じたシグネチャを適用することができ、効率良く監視処理を行うことができる。
【0016】
ここで、仮想環境において動作する仮想マシン450は、ウェブサーバとして動作する場合、アプリケーションサーバとして動作する場合、DB(database)サーバとして動作する場合等、異なる用途により動作することが考えられる。例えば、仮想マシン450−1はウェブサーバとして動作し、仮想マシン450−2がDBサーバとして動作する場合、仮想マシン450−1に送受信されるデータにおいて検知すべき警告対象データと、仮想マシン450−2に送受信されるデータにおいて検知すべき警告対象データとは異なる。そこで、仮想監視サーバ440−1と仮想監視サーバ440−2とに異なる警告対象データを示す定義情報であるシグネチャを記憶させておき、異なるシグネチャにより仮想マシン450−1または仮想マシン450−2を監視することができる。
【0017】
図2は、このようなシグネチャにおいて定義される警告対象データの記述方式の例を示す図である。シグネチャは、符号aに示すアクションと、符号bに示すプロトコルと、符号cに示す送信元IPアドレスと、符号dに示す送信元ポート番号と、符号eに示す送信先IPアドレスと、符号fに示す送信先ポート番号と、符号gに示すメッセージと、符号hに示すコンテントと、符号iに示すシグネチャIDとの文字列を連結した情報である。
図3から
図5は、主にウェブサーバに対する監視処理に適用して好適なシグネチャの例を示す図である。
図3は、ウェブサーバを通じてコマンドを実行しようとする通信を検知するためのシグネチャの例である。
図4は、ウェブサーバを通じて電子メールファイルにアクセスしようとする通信を検知するためのシグネチャの例である。
図5は、ウェブサーバのアプリケーションの脆弱性を突いたSQLインジェクションを検知するためのシグネチャの例である。SQLインジェクションとは、アプリケーションが想定しないSQL文を実行させることにより、データベースを不正に操作する攻撃である。
【0018】
図6から
図8は、主にDBサーバに対する監視処理に適用して好適なシグネチャの例を示す図である。
図6は、DBにアクセスしテーブルを破棄しようとする通信を検知するシグネチャの例を示す図である。
図7は、DBにroot権限でログインしようとする通信を検知するシグネチャの例を示す図である。
図8は、DBサーバのパスワードを変更しようとする通信を検知するシグネチャの例を示す図である。本実施形態によれば、例えばウェブサーバである仮想マシン450−1を監視する仮想監視サーバ440−1は、ウェブサーバに適用して好適なシグネチャに基づいて監視処理を行い、DBサーバである仮想マシン450−2を監視する仮想監視サーバ440−2は、DBサーバに適用して好適なシグネチャに基づいて監視処理を行うことができる。これにより、監視対処の仮想マシン450の用途に応じて必要性の高いシグネチャのみを設定し、必要性の低いシグネチャは設定しないことで、不要な警告が出力されることを防ぎ、効率良く監視処理を行うことができる。
【0019】
また、本実施形態によれば、1台の仮想化装置400内に起動された複数の仮想マシン450同士がデータの送受信を行う場合にも、そのデータを監視することができる。例えば、本実施形態によれば、仮想マシン450−1から仮想マシン450−2を送信先としてデータを送信する場合にも、そのデータは仮想監視サーバ440−2を介して仮想マシン450−2に送信される。このため、例えば仮想マシン450−1が仮想マシン450−2に対して攻撃を行おうとする場合にも、その攻撃を検知することが可能となる。
【0020】
すなわち、例えば仮想マシン450を監視するために、仮想化装置400自体を監視対象とした物理的な監視サーバを設置する場合、外部のネットワークから仮想化装置400に送信されるデータを監視することはできても、1台の仮想化装置400の内部に起動している複数の仮想マシン450の間で送受信されるデータを監視することはできない。ここで、例えば仮想化装置400に起動された仮想マシン450を広く一般ユーザに提供するパブリッククラウドと呼ばれるような仮想化システムにおいては、1台の仮想化装置400のコンピュータリソース上に異なる管理者の仮想マシン450が起動することが考えられる。このとき、1台の仮想化装置400に起動している仮想マシン450−1が、悪意をもって仮想マシン450−2に攻撃をするような可能性が考えられる。本実施形態によれば、このような攻撃をも監視し、検知することができる。以下、このような仮想化システム1の構成を具体的に説明する。
【0021】
<第1の実施形態>
図9は、本実施形態による仮想化システム1の構成の例を示すブロック図である。仮想化システム1は、管理者端末100と、コンピュータリソース提供装置200と、利用者端末300と、複数の仮想化装置400(仮想化装置400−1、仮想化装置400−2、仮想化装置400−3、・・・)とを備えている。ここで、複数の仮想化装置400は同様の構成であるため、特に区別しない場合には「−1」、「−2」等の記載を省略して仮想化装置400として説明する。
【0022】
管理者端末100は、コンピュータリソース提供装置200と、複数の仮想化装置400とにネットワークを介して接続されたコンピュータ端末であり、仮想化システム1によって提供されるコンピュータリソースを利用する。管理者端末100は、キーボードやマウス等である入力部、ディスプレイである表示部、出力部、制御部、記憶部等を備えている。管理者端末100は、仮想化装置400に仮想マシンを起動させる管理者からの操作入力に応じて、コンピュータリソース提供装置200にコンピュータリソースの提供要求を送信する。管理者端末100は、送信した提供要求に応じてコンピュータリソース提供装置200から送信されるコンピュータリソースの識別情報(例えば、IP(Internet Protocol)アドレス)に基づいて、自身に提供されたコンピュータリソースである仮想化装置400にネットワークを介して接続し、その仮想化装置400のコンピュータ上に軌道された仮想マシン利用することができる。ここでは、1台の管理者端末100を示して説明するが、仮想化システム1には任意の数の管理者の任意の台数の管理者端末100が接続されていてもよい。
【0023】
コンピュータリソース提供装置200は、ネットワークを介して接続された複数の仮想化装置400に仮想マシンを起動させ、管理者端末100に提供するコンピュータ装置である。コンピュータリソース提供装置200は、利用状況記憶部210と、監視サーバイメージ記憶部220と、仮想マシンイメージ記憶部230と、仮想マシン提供部240とを備えている。
【0024】
利用状況記憶部210には、複数の仮想化装置400の利用状況を示す利用状況情報が記憶されている。例えば、利用状況情報は、仮想化装置400を識別するマシンID(identifier)毎に、その仮想化装置400上に起動された仮想マシン、その仮想マシンを提供した管理者の識別情報、その仮想化装置400におけるコンピュータリソースの空き状況等が対応付けられた情報である
【0025】
監視サーバイメージ記憶部220には、定められたIPアドレスが示す監視対象の仮想マシンを送信先または送信元として送信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する監視処理を行う不正侵入検知システム(IDS)の機能を有する監視サーバを仮想化した仮想マシンである仮想監視サーバを起動するためのイメージファイルが記憶されている。ここで、仮想監視サーバは、監視対象である仮想マシンに送受信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報であるシグネチャに基づいて監視処理を行う。監視サーバイメージ記憶部220には、例えばウェブサーバやDBサーバ等、監視対象である仮想マシンの用途に応じて異なるシグネチャが定められた仮想監視サーバの複数のイメージファイルが記憶されている。このようなイメージファイルは、コンピュータリソース提供装置200の提供者によって予め用意されて記憶されていてもよいし、仮想マシンを起動する管理者端末100のユーザである管理者によって生成され、コンピュータリソース提供装置200に送信させて予め記憶させておくこともできる。
【0026】
仮想マシンイメージ記憶部230には、管理者端末100からの要求に応じて仮想化装置400のコンピュータリソース上に起動させる仮想マシンのイメージファイルが記憶される。仮想マシンのイメージファイルは、コンピュータリソース提供装置200の提供者によって予め用意されて記憶されていてもよいし、仮想マシンを起動する管理者端末100のユーザである管理者によって生成され、コンピュータリソース提供装置200に送信させて予め記憶させておくこともできる。
【0027】
仮想マシン提供部240は、管理者端末100から仮想マシンの起動要求を受信すると、利用状況記憶部210に記憶されている利用状況情報を読み出し、コンピュータリソースに空きがある仮想化装置400を検出して、検出した仮想化装置400に起動要求に応じた仮想マシンを起動させ、仮想化装置400に提供する。ここで、提供するとは、起動要求の送信元である管理者端末100に利用させる仮想化装置400の識別情報(例えば、IPアドレス)を管理者端末100に送信し、その仮想化装置400において起動した仮想マシンに対する管理者端末100からの接続を許可し、管理者権限による仮想マシンの操作を許可するように設定することをいう。
【0028】
ここで、管理者端末100からコンピュータリソース提供装置200に送信される仮想マシンの起動要求には、ユーザが提供を要求する仮想マシンのイメージファイルを識別する情報が含まれているものとする。仮想マシン提供部240は、起動要求に示される仮想マシンに対応するイメージファイルを仮想マシンイメージ記憶部230から読み出し、仮想化装置400に送信して起動させる。また、コンピュータリソース提供装置200は、仮想マシンの起動要求とともに、仮想監視サーバの利用要求を管理者端末100から受信するものとする。仮想マシン提供部240は、例えば、用途ごとのシグネチャが設定された複数の仮想監視サーバの一覧を管理者端末100に提供し、その複数の仮想監視サーバのうち利用する仮想監視サーバの選択を管理者端末100から受け付け、選択された仮想監視サーバのイメージファイルを監視サーバイメージ記憶部220から読み出し、仮想マシンを起動させた仮想化装置400と同一のコンピュータリソース上に、読み出した仮想監視サーバのイメージファイルを送信して起動させる。
【0029】
利用者端末300は、複数の仮想化装置400にネットワークを介して接続されたコンピュータ端末であり、仮想化装置400上に起動された仮想マシンにアクセスする。例えば、管理者端末100からの起動要求に応じて仮想化装置400のコンピュータリソース上にウェブサーバである仮想マシンが起動された場合、利用者端末300は、そのウェブサーバにアクセスしてウェブサービスを利用する。ここでは、1台の利用者端末300を示して説明するが、仮想化システム1には任意の数の利用者の任意の台数の利用者端末300が接続されていてもよい。
【0030】
仮想化装置400は、自身のコンピュータリソースを仮想化して仮想環境を生成し、仮想環境に仮想マシンを起動して管理者端末100または利用者端末300に利用させるコンピュータ装置である。仮想化装置400は、通信部410と、仮想化管理部420とを備えており、自身のコンピュータリソースを仮想化した仮想環境に、複数の内部ブリッジ430(内部ブリッジ430−1、内部ブリッジ430−2)と、仮想監視サーバ440と、仮想マシン450とを生成する。ここで、複数の内部ブリッジ430は同様の構成であるため、特に区別しない場合には「−1」、「−2」等の記載を省略して内部ブリッジ430として説明する。また、ここでは、仮想環境に2台の内部ブリッジ430と、1台の仮想監視サーバ440と、1台の仮想マシン450とを示した例を説明するが、管理者からの要求に応じて任意の台数の内部ブリッジ430、仮想監視サーバ440、仮想マシン450を起動することができる。
【0031】
通信部410は、ネットワークを介して管理者端末100、コンピュータリソース提供装置200、利用者端末300と通信する。通信部410は、例えば、監視サーバイメージ記憶部220を介して管理者端末100から送信される仮想マシンの起動要求を受信する。
【0032】
仮想化管理部420は、仮想化装置400が備えるコンピュータリソースを仮想化する仮想化基盤であり、仮想マシンイメージ取得部421と、監視サーバイメージ取得部422と、内部ブリッジ生成部423と、IPアドレス生成部424と、仮想監視サーバ管理部425と、監視対象仮想マシン起動部426と、転送部427とを備えている。
【0033】
仮想マシンイメージ取得部421は、管理者端末100から送信された仮想マシンの起動要求に応じてコンピュータリソース提供装置200の仮想マシン提供部240から送信される仮想マシンのイメージファイルを受信する。
監視サーバイメージ取得部422は、管理者端末100から送信された仮想監視サーバの利用要求に応じてコンピュータリソース提供装置200の仮想マシン提供部240から送信される仮想監視サーバのイメージファイルを受信する。
【0034】
内部ブリッジ生成部423は、仮想環境に起動させる複数の仮想マシンを接続する仮想的なブリッジである内部ブリッジを生成し、仮想的なネットワークを形成する。例えば、内部ブリッジ生成部423は、仮想環境に起動する仮想マシンの識別情報(例えば、IPアドレス)ごとの接続関係を記述したXML(Extensible Markup Language)ファイルを自身の記憶領域に記憶し、そのXMLファイルに内部ブリッジの記述を追加することにより、内部ブリッジを生成する。本実施形態の例では、内部ブリッジ生成部423は、外部のコンピュータ装置(例えば、利用者端末300)と、後述する仮想監視サーバ管理部425によって起動される仮想監視サーバ440とを接続する内部ブリッジ430−1と、仮想監視サーバ440と、後述する監視対象仮想マシン起動部426によって起動される仮想マシン450とを接続する内部ブリッジ430−2とを生成する。
【0035】
IPアドレス生成部424は、仮想環境に起動する仮想マシンのIPアドレスを生成する。例えば、IPアドレス生成部424は、通信部410が仮想マシンの起動要求を受信すると、その起動要求に応じて起動する仮想マシンに割り当てるIPアドレスを生成する。
【0036】
仮想監視サーバ管理部425は、監視サーバイメージ取得部422が受信した仮想監視サーバのイメージファイルに基づいて、自身のコンピュータリソース上に生成された仮想環境に仮想監視サーバ440を起動する。また、仮想監視サーバ管理部425は、起動した仮想監視サーバ440に、IPアドレス生成部424が生成したIPアドレスを監視対象として記憶させる。
【0037】
監視対象仮想マシン起動部426は、仮想監視サーバ管理部425が仮想監視サーバ440を起動すると、仮想マシンイメージ取得部421が受信したイメージファイルに基づいて、仮想監視サーバ管理部425に監視対象として記憶されたIPアドレスを割り当てて、仮想マシン450を起動する。
転送部427は、利用者端末300から送信されたデータを、内部ブリッジ430−1を介して仮想監視サーバ440に転送する。
【0038】
内部ブリッジ430は、仮想環境に生成された仮想的なブリッジであり、仮想環境において動作する仮想マシンを接続する。
仮想監視サーバ440は、仮想環境に起動された仮想マシンであり、定義情報記憶部441と、監視対象IPアドレス記憶部442と、監視処理部443とを備えている。
定義情報記憶部441には、仮想マシン450に送信されるデータに含まれる場合に警告を出力することが定められた警告対象データを示す定義情報であるシグネチャが記憶される。
監視対象IPアドレス記憶部442には、自身が監視対象とする仮想マシン450を識別するIPアドレスが記憶される。
【0039】
監視処理部443は、定義情報記憶部441に記憶されているシグネチャに基づいて、内部ブリッジ430−1から送信されるデータの監視処理を行う。例えば、監視処理部443は、監視対象のIPアドレスを送信先または送信元として送信されるデータを監視して定められた異常を検知し、異常を検知すると警告を出力する。警告を出力するとは、例えば、予め定められた管理者等のメールアドレスを送信先として警告文が含まれる電子メールを送信したり、異常の可能性があるとして検知したデータをログファイルとして自身の記憶領域に記憶したりすることをいう。
仮想マシン450は、管理者端末100からの起動要求に応じて仮想環境に起動された仮想マシンである。
【0040】
次に、図面を参照して、本実施形態による仮想化システム1の動作例を説明する。
図10は、本実施形態による仮想化システム1の動作例を示す図である。
管理者端末100は、管理者から、仮想マシンの起動要求と仮想監視サーバの利用要求とを受け付けると、仮想マシンの起動要求と仮想監視サーバの利用要求とをコンピュータリソース提供装置200に送信する。コンピュータリソース提供装置200の仮想マシン提供部240は、管理者端末100から送信された仮想マシンの起動要求に応じた仮想マシンのイメージファイルを仮想マシンイメージ記憶部230から読み出す。また、仮想マシン提供部240は、管理者端末100から送信された仮想監視サーバの利用要求に応じた仮想監視サーバのイメージファイルを監視サーバイメージ記憶部220から読み出す。仮想マシン提供部240は、利用状況記憶部210に記憶されている利用状況情報に基づいて、管理者端末100からの要求に応じた仮想マシンと仮想監視サーバとを起動する仮想化装置400を検出する。
【0041】
そして、仮想マシン提供部240は、検出した仮想化装置400に、管理者端末100からの要求に応じて読み出した仮想マシンのイメージファイルと、仮想監視サーバのイメージファイルとを送信する(ステップS1)。仮想化装置400の監視サーバイメージ取得部422は、通信部410を介して、コンピュータリソース提供装置200から送信された仮想監視サーバのイメージファイルを受信する。また、仮想化装置400の仮想マシンイメージ取得部421は、通信部410を介して、コンピュータリソース提供装置200から送信された仮想マシンのイメージファイルを受信する。
【0042】
コンピュータリソース提供装置200から仮想マシンの起動要求と仮想監視サーバの起動要求とが送信されると、内部ブリッジ生成部423は、内部ブリッジ430−1と内部ブリッジ430−2とを生成する(ステップS2)。仮想監視サーバ管理部425は、監視サーバイメージ取得部422が受信した仮想監視サーバのイメージファイルに基づいて、仮想環境に仮想監視サーバ440を起動する(ステップS3)。仮想監視サーバ管理部425が、仮想環境に仮想監視サーバ440が起動し、起動した仮想監視サーバ440から起動完了の通知を受信すると、IPアドレス生成部424は、仮想マシン450に割り当てるIPアドレスを生成する(ステップS5)。
【0043】
仮想監視サーバ管理部425は、IPアドレス生成部424が生成したIPアドレスを取得し(ステップS6)、仮想監視サーバ440に送信する(ステップS7)。仮想監視サーバ440は、仮想監視サーバ管理部425から送信されたIPアドレスを、監視対象IPアドレス記憶部442に記憶させ、監視対象として登録する。仮想監視サーバ管理部425は、仮想監視サーバ440から、監視対象のIPアドレスの登録完了通知を受信すると(ステップS8)、仮想監視サーバ440に、監視処理部443による監視処理プロセスの起動要求を送信する(ステップS9)。
【0044】
仮想監視サーバ440が、監視処理プロセスの起動要求を受信すると、監視処理部443は、定義情報記憶部441に記憶されているシグネチャを読み出し、読み出したシグネチャに基づいて、内部ブリッジ430−1と内部ブリッジ430−2とから送信されるデータの監視処理を開始し、監視処理プロセス起動完了通知を仮想監視サーバ管理部425に送信する。仮想監視サーバ管理部425は、仮想監視サーバ440から送信された監視処理プロセス起動完了通知を受信すると(ステップS10)、監視対象の登録完了通知を監視対象仮想マシン起動部426に送信する(ステップS11)。
【0045】
監視対象仮想マシン起動部426は、仮想監視サーバ管理部425から監視対象の登録完了通知を受信すると、ステップS1において仮想マシンイメージ取得部421が受信した仮想マシンのイメージファイルに基づいて、仮想環境に仮想マシン450を起動させる。ここで、監視対象仮想マシン起動部426は、起動した仮想マシン450に、ステップS5においてIPアドレス生成部424によって生成されたIPアドレスを設定する(ステップS12)。このように、本実施形態では、ステップS7において、仮想マシン450に割り当てるIPアドレスを監視対象として仮想監視サーバ440に設定した後に、仮想マシン450を起動する。このため、仮想マシン450の起動時点から、仮想マシン450を送信先として送信されるデータと仮想マシン450を送信元として送信されるデータとを監視することができる。例えば、仮想マシン450を起動した後に、仮想マシン450を監視対象として仮想監視サーバ440に登録する場合は、仮想マシン450を起動した後に、仮想マシン450を監視対象として仮想監視サーバ440に登録するまでの間に仮想マシン450に対する攻撃が行われた場合には、その攻撃を検知することができない。これに対し、本実施形態によれば、仮想マシン450の起動時点から、仮想マシン450に送受信されるデータを監視することができる。
【0046】
仮想マシン450は、起動が完了すると、起動完了通知を監視対象仮想マシン起動部426に送信する(ステップS13)。仮想化管理部420は、仮想マシンの起動要求と仮想監視サーバの利用要求に応じて仮想監視サーバ440と仮想マシン450とを起動した起動完了通知を、管理者端末100に送信する(ステップS14)。これにより、仮想マシン450を送信先または送信元として送信されるデータは、仮想監視サーバ440によって監視される。例えば、利用者端末300から仮想マシン450を送信先として送信されるデータは、400の通信部410によって受信された後、仮想化管理部420の転送部427によって内部ブリッジ430−1に転送され、内部ブリッジ430−1によって仮想監視サーバ440に転送される。ここで、仮想監視サーバ440は、利用者端末300から送信されたデータと、定義情報記憶部441に記憶されているシグネチャとを比較し、利用者端末300から送信されたデータに、警告対象データとして示されたデータが含まれる場合には、警告を出力する。
図11は、本実施形態による仮想化システム1の動作例を概念的に示した図である。この図における各ステップ番号は、
図10において示した各ステップに対応する。
【0047】
<第2の実施形態>
第1の実施形態では、管理者端末100からの仮想監視サーバの利用要求に応じて仮想監視サーバ440を起動する例を示したが、新たな仮想マシン450を起動する場合、既に仮想監視サーバ440が起動していれば、その仮想監視サーバ440に対して、新たに起動する仮想マシン450を監視対象として登録することもできる。この場合、仮想監視サーバ管理部425は、仮想監視サーバ440が起動している状態にて、通信部410によって仮想マシンの起動要求が受信され、IPアドレス生成部424によって新たなIPアドレスが生成されると、そのIPアドレスを仮想監視サーバ440の監視対象として登録する。
【0048】
図12は、本実施形態による仮想化システム1の動作例を示す図である。ステップS21とステップS22とは、第1の実施形態におけるステップS1とステップS2と同様であるが、既に仮想監視サーバ440が起動しているため、第1の実施形態におけるステップS3からステップS4までの処理を行わない。ステップS23からステップS32までの処理は、第1の実施形態におけるステップS5からステップS14までの処理と同様である。
図13は、本実施形態による仮想化システム1の動作例を概念的に示した図である。この図における各ステップ番号は、
図12において示した各ステップに対応する。
【0049】
以上説明したように、本実施形態によれば、事前準備として、管理者が、起動する仮想マシン450の用途に応じて設定された仮想監視サーバ440のイメージファイルを用意し、コンピュータリソース提供装置200の監視サーバイメージ記憶部220に記憶させておく。そして、仮想マシン450の起動時に、管理者端末100は起動する仮想マシン450の用途に応じた仮想監視サーバ440のイメージファイルを選択してコンピュータリソース提供装置200に起動要求を送信する。これにより、仮想化装置400は、起動する仮想マシン450における通信が仮想マシン450を中継するように設定するとともに、仮想マシン450を監視する仮想監視サーバ440を起動した後に、仮想マシン450を起動する。
【0050】
これにより、仮想化システム1が、管理者端末100からの起動要求に応じて仮想マシン450を起動する場合に、その仮想マシン450を監視する仮想監視サーバ440を自動的に起動させることができる。このため、管理者は、仮想マシン450を監視するための仮想監視サーバ440を起動し、監視対象のIPアドレス、内部ブリッジ、シグネチャ等の設定を自身で行うことなく、仮想マシン450を監視する仮想監視サーバ440を起動させることができる。また、仮想マシン450の起動前に仮想監視サーバ440による監視処理を開始するため、仮想マシン450を起動した後に仮想監視サーバ440の設定を行うまでの間に仮想マシン450が攻撃されることを防ぐことができる。また、本実施形態によれば、仮想マシン450自体にIDSの機能を持たせるのではなく、仮想マシン450とは異なる仮想監視サーバ440を起動するようにしたので、例えば仮想マシン450が攻撃により乗っ取られた場合にも、仮想マシン450に対する監視処理を続けることができる。
【0051】
なお、本実施形態では、コンピュータリソース提供装置200が管理者端末100からの起動要求を受信し、仮想化装置400に仮想マシンを起動する例を示したが、管理者端末100が、仮想化装置400に対して直接、仮想マシンの起動要求と仮想監視サーバの利用要求とを送信することもできる。この場合、例えば、管理者端末100が、自身の記憶領域に仮想マシンのイメージファイルと仮想監視サーバのイメージファイルとを記憶し、仮想化装置400に送信することができる。
【0052】
また、本実施形態では、仮想監視サーバ440の監視処理部443が監視処理を行うための定義情報として、シグネチャを適用する例を示したが、アノマリを適用してもよいし、その双方を適用してもよい。
また、本実施形態では、仮想監視サーバ440はIDSの機能を有するものとして説明したが、IPS(Intrusion Prevention System:不正侵入防止システム)の機能を有するものであってもよい。この場合、例えば、仮想監視サーバ440の監視処理部443は、仮想マシン450を送信先または送信元とするデータに異常を検知した場合には、そのデータを含むパケットを破棄する等の制御を行うことができる。
【0053】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想化装置の制御を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0054】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。