(57)【特許請求の範囲】
【請求項１】
複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置において、
前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する判定部と、
を有することを特徴とする監視装置。
【請求項２】
前記判定部は、前記パケットの解析結果に基づき、前記単位時間内に検出した前記サーバ装置から前記ストレージ装置に対してなされたアクセスが前記複数の記憶領域に所定順序に従って行われている場合、異常アクセスが行われていると判定することを特徴とする請求項１記載の監視装置。
【請求項３】
前記判定部は、前記パケットの解析結果に基づき、前記単位時間内に検出した前記サーバ装置から前記ストレージ装置に対してなされるアクセスが、前記複数の記憶領域の全てに一回ずつ行われている場合、異常アクセスが行われていると判定することを特徴とする請求項１記載の監視装置。
【請求項４】
前記サーバ装置がアクセスしている記憶領域には、データが格納されていることを特徴とする請求項１乃至３に記載の監視装置。
【請求項５】
複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置の制御方法において、  前記監視装置が、
前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、
所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する、
ことを特徴とする制御方法。
【請求項６】
複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置の制御プログラムであって、
前記監視装置に、
前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、
所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する、
処理を実行させることを特徴とする制御プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
物理サーバとストレージ装置とをネットワーク接続する技術がある。この技術は、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）等、物理サーバとストレージ装置との間をＩＰネットワークで接続したものがある。このＩＰネットワークで接続された物理サーバとストレージ装置は、各々が搭載するネットワーク機器に応じてＩＰアドレスなどネットワークアドレスが付与され、該ネットワークアドレスを使用して通信を行っている。
【０００３】
近年、この物理サーバにて、複数の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を稼働させ、該ＶＭからネットワーク上のストレージ装置へのアクセスを行うことが可能となっている。
【０００４】
上記したように、通信に用いるネットワークアドレスは、ネットワーク機器単位での付与となるため、物理サーバでは、搭載されるネットワーク機器単位で付与となる。即ち、ネットワークアドレスは、物理サーバで稼働するＶＭ単位では付与されない。このため、物理サーバで稼働するＶＭからストレージ装置へのアクセスは、全て物理サーバに搭載されるネットワーク機器に割り当てられたネットワークアドレスを使用することになる。即ち、物理サーバで稼働する複数のＶＭが同じネットワークアドレスを使用してストレージ装置へのアクセスを行う場合がある。
【０００５】
ところで、ネットワークを使用したストレージ装置へのアクセスは、複数のサーバからのアクセスが行われるため、セキュリティの観点から、サーバ単位でストレージ装置内のアクセス可能領域を制限することがある。しかしながら、障害や悪意のあるソフトウエアなどにより、いずれかのサーバが、予め設定されているアクセス可能領域を逸脱してアクセスを行ってしまう場合がある（このようなアクセスを以下不正なアクセスと呼ぶ）。この様な、不正なアクセスを監視は、ネットワーク上のパケットをキャプチャする事により行われることがある。詳しくは、ネットワーク内にパケットキャプチャ装置を設置し、該装置によりキャプチャしたパケットに含まれるネットワークアドレスから送信元のサーバを特定し、該パケットに含まれるストレージ装置のアクセス可能領域外のアクセスが無いかを監視する。
【０００６】
しかしながら、上記したように、送信元ＩＰアドレスは、物理サーバに搭載したネットワーク機器単位で割り振られているため、ＶＭを搭載したサーバでは、たとえパケットを取得しても、該物理サーバ内で稼働している複数のＶＭのいずれから送信されたパケットかまでは識別できない。
【０００７】
このため、個々のＶＭからのアクセスが、その割り当てられた領域範囲外に対してアクセスを行っているのか、その割り当てられた領域範囲内に対してアクセスを行っているのかまでは送信元のネットワークアドレスを持って特定することができない。
【０００８】
即ち、送信元ＩＰアドレスによる識別では、仮想サーバを実行する物理サーバのアクセスがストレージ装置に対し、不正なアクセスを行っているか正常なアクセスを行っているのか判定できない。
【０００９】
なお、先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−２６９４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本技術の開示での課題は、仮想サーバを実行する物理サーバのアクセスが異常なアクセスを行っているかを検出することができる監視装置を提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本技術では、複数の記憶領域を備えたストレージ装置と、それぞれ、前記複数の記憶領域のうちのいずれかの記憶領域がアクセス可能な記憶領域として割り当てられた複数の仮想サーバを実行するサーバ装置とを有する情報処理システムを監視する監視装置は、前記ストレージ装置と前記サーバ装置との間で送受信されるパケットの解析結果に基づいて、前記サーバ装置から前記ストレージ装置に対してなされるアクセスのアクセス先を検出し、所定の単位時間ごとに当該単位時間内に検出したアクセス先に基づいて、前記サーバ装置から前記ストレージ装置に対して異常アクセスが行われていると判定する判定部を有する。
【発明の効果】
【００１３】
本開示の技術の一側面によれば、仮想サーバを実行する物理サーバのアクセスが異常なアクセスを行っているかを検出することができる。
【図面の簡単な説明】
【００１４】
【図１】情報処理システムを示す図である。
【図２】サーバ装置の構成を示すブロック図である。
【図３】監視装置の構成を示すブロック図である。
【図４】本実施形態における情報処理システムを示す図である。
【図５】仮想ストレージが仮想サーバに割り当てられる場合の構成の一例を示す図である。
【図６】ｉＳＣＳＩにてデータを読み込む場合に使用するｉＳＣＳＩコマンドフォーマットを示す図である。
【図７】ＣＤＢ中のフォーマットを示す図である。
【図８】特定領域情報テーブルを示す図（その１）である。
【図９】アクセス判定情報テーブルを示す図である。
【図１０】実施形態１における情報処理システムを示す図である。
【図１１】実施形態１における監視装置の処理を示すフローチャートである。
【図１２】実施形態２における情報処理システムを示す図である。
【図１３】実施形態２における監視装置の処理を示すフローチャートである。
【図１４】実施形態３における情報処理システムを示す図である。
【図１５】実施形態３における監視装置の処理を示すフローチャートである。
【図１６】実施形態４における情報処理システムを示す図である。
【図１７】特定領域情報テーブルを示す図（その２）である。
【図１８】実施形態４における監視装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施形態における情報処理システムについて説明する。
【００１６】
（実施形態１）
図１は、本実施形態における情報処理システムを示す図である。情報処理システムは、複数のサーバ１００、ネットワーク２００、監視装置３００及び複数のストレージ装置４００を有する。複数のサーバ１００、監視装置３００及び複数のストレージ装置４００は、ネットワーク２００によって互いに接続される。サーバ１００は、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を実行する。監視装置３００は、サーバ１００及びストレージ装置４００の監視を行う。ストレージ装置４００は、複数のディスクを有し、データを格納する。なお、サーバ１００とストレージ装置４００とからなる構成を当該情報処理システムの最小構成としても良い。
【００１７】
図２を用いて、本実施形態におけるサーバ１００について説明する。サーバ１００は、ＣＰＵ２０１、主記憶装置２０２、システムコントローラ２０３、バス２０４、ネットワークコントローラ２０７、電源２０９、ディスクコントローラ２１２及びハードディスク２１３を有する。サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１によって制御されている。
【００１８】
ＣＰＵ２０１及び主記憶装置２０２には、システムコントローラ２０３が接続されている。システムコントローラ２０３は、ＣＰＵ２０１と主記憶装置２０２との間のデータ転送や、ＣＰＵ２０１とバス２０４との間のデータ転送を制御する。さらに、システムコントローラ２０３には、バス２０４を介して、ネットワークコントローラ２０７及びディスクコントローラ２１２が接続されている。
【００１９】
主記憶装置２０２には、ＣＰＵ２０１に実行させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置２０２には、ＣＰＵ２０１による処理に必要な各種データが格納される。主記憶装置２０２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。
【００２０】
ディスクコントローラ２１２には、ハードディスク２１３が接続されている。ディスクコントローラ２１２は、ハードディスク２１３を制御する。
【００２１】
ハードディスク２１３は、ＣＰＵ２０１が主記憶装置２０２上でＶＭを実行するためのアプリケーションプログラム３０００、ＣＰＵ２０１に当該アプリケーションプログラム３０００の呼び出しなどの制御を行わせる制御プログラム２０００及び各種データを格納する。
【００２２】
ネットワークコントローラ２０７は、図１に示したサーバ１００及びストレージ装置４００と接続されており、サーバ１００及びストレージ装置４００との間で、データの送受信を行う。
【００２３】
電源２０９は、不図示の電源線を介してサーバ１００内の各ハードウェアに対して電力を供給する。
【００２４】
このようなハードウェアによって、サーバ１００の処理機能を実現することができる。
【００２５】
図３を用いて、本実施形態における監視装置３００について説明する。監視装置３００は、ＣＰＵ２２１、主記憶装置２２２、システムコントローラ２２３、バス２２４、ネットワークコントローラ２２７、電源２２９、ディスクコントローラ２３２及びハードディスク２３３を有する。監視装置３００は、ＣＰＵ２２１によって制御されている。
【００２６】
ＣＰＵ２２１及び主記憶装置２２２には、システムコントローラ２２３が接続されている。システムコントローラ２２３は、ＣＰＵ２２１と主記憶装置２２２との間のデータ転送や、ＣＰＵ２２１とバス２２４との間のデータ転送を制御する。さらに、システムコントローラ２２３には、バス２２４を介して、ネットワークコントローラ２２７及びディスクコントローラ２３２が接続されている。
【００２７】
主記憶装置２２２には、ＣＰＵ２２１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、主記憶装置２２２には、ＣＰＵ２２１による処理に必要な各種データが格納される。主記憶装置２２２には、例えば、ＲＡＭが用いられる。
【００２８】
ディスクコントローラ２３２には、ハードディスク２３３が接続されている。ディスクコントローラ２３２は、ハードディスク２３３を制御する。
【００２９】
ハードディスク２３３は、ＣＰＵ２２１が主記憶装置２２２上で実行するアプリケーションプログラム１０００、ＣＰＵ２２１に当該アプリケーションプログラム１０００の呼び出しなどの制御を行わせる制御プログラム４０００及び各種データを格納する。また、ハードディスク２３３は、特定領域情報テーブル５１０等を格納する。なお、特定領域情報テーブル５１０等については後述する。
【００３０】
ネットワークコントローラ２２７は、図１に示したサーバ１００及びストレージ装置４００と接続されており、サーバ１００及びストレージ装置４００との間で、データの送受信を行う。
【００３１】
電源２２９は、不図示の電源線を介して監視装置３００内の各ハードウェアに対して電力を供給する。
【００３２】
このようなハードウェアによって、監視装置３００の処理機能を実現することができる。
【００３３】
図４に図１において示した本実施形態における情報処理システムを示す。サーバ１００のＣＰＵ２０１が、主記憶装置２０２にてアプリケーションプログラム３０００を実行することで、サーバ１００にて、ＶＭが実行される。サーバ１００それぞれにおいて、「ＶＭＡ」１１０及び「ＶＭＢ」１２０、「ＶＭＣ」１３０及び「ＶＭＤ」１４０が実行される。また、サーバ１００はハイパーバイザ１５０を有する。ハイパーバイザ１５０は、ＶＭの管理を行ったり、入出力の制御を行ったりする。
【００３４】
ストレージ装置４００は、「ディスク０」４１０、「ディスク１」４２０、「ディスク２」４３０及び「ディスク３」４４０を有する。「ディスク０」４１０乃至「ディスク３」４４０はデータを記憶する。「ディスク０」４１０は「ＶＭＡ」１１０に、「ディスク１」４２０は「ＶＭＢ」１２０に、「ディスク２」４３０は「ＶＭＣ」１３０に、「ディスク３」４４０は「ＶＭＤ」１４０に、それぞれ対応付けられている。
【００３５】
監視装置３００のＣＰＵ２２１が、主記憶装置２２２にてアプリケーションプログラム１０００を実行することで、監視装置３００にて、パケットキャプチャ３１０及びロジック実行部３２０が実行される。ハードディスク２３３は仮想システム構成情報５４０を格納する。仮想システム構成情報５４０は、ＶＭと当該ＶＭに対応付けられたディスクを示している。パケットキャプチャ３１０は、ネットワーク２００を介してサーバ１００とストレージ装置４００との間で送受信されるパケットを取得する。なお、パケットキャプチャ３１０は、例えば、スイッチのミラー機能やタップ装置を介してパケットを取得すれば良い。ロジック実行部３２０は、パケットに含まれるＩＰアドレスを参照することにより、種々の処理を行い、ストレージ装置４００への不正アクセスを検出する。
【００３６】
図５に、ストレージ装置４００がｉＳＣＳＩを利用して、各物理サーバ１００、各仮想サーバ（ＶＭ１１０〜１４０）に割り当てられる場合の一例を示す。
【００３７】
ストレージ装置４００内には、物理ディスク４１０（ここでは、説明の都合上、１つの物理ディスク４１０を示しているが、実際は、複数の物理ディスクで構成される）が搭載されている。
【００３８】
また、各物理サーバ１００には、物理ディスク４１０と一意に対応付けた仮想的なディスクを備える。即ち、各物理サーバ１００には、各々同じ構成の仮想ディスク１６０が配置される。
【００３９】
各ＶＭ（ＶＭＡ１１１０，ＶＭＢ１２０，ＶＭＣ１３０，ＶＭＤ１４０）には、各々論理的ディスク１〜４・１１１〜１４１が割り当てられている。この論理的ディスク１〜４・１１１〜１４１は、各々搭載する物理サーバの仮想ディスク１６０内の、お互いのＶＭ同士が同じ領域へのアクセスができない排他的な領域をアクセスできる領域を割り当てている。
【００４０】
図６に、ｉＳＣＳＩにてデータを読み込む場合に使用するｉＳＣＳＩコマンドフォーマット６１０を示す。
【００４１】
図７に、実際にｉＳＣＳＩを利用することによるサーバ１００とストレージ装置４００との通信において、データの読み込みが行われる場合の、Ｃｏｍｍａｎｄ  ＤｅｓｃｒＩＰｔｉｏｎ  Ｂｌｏｃｋ（ＣＤＢ）中のフォーマット６２０を示す。
【００４２】
図８に、特定領域情報テーブル５１０を示す。特定領域情報テーブル５１０は、仮想ストレージの全体のディスクの中で、ある特定の領域を示す情報を記録する。特定領域情報テーブル５１０は、項番５１１、変数５１２及び説明５１３を有する。項番「１」の変数「ＩＰ（ｉｎｉｔｉａｔｏｒ）」はＩｎｉｔｉａｔｏｒのＩＰアドレスを示す。ＩｎｉｔｉａｔｏｒのＩＰアドレスは、物理サーバのＩＰアドレスである。項番「２」の変数「ＩＰ（ｔａｒｇｅｔ）」はＴａｒｇｅｔのＩＰアドレスを示す。ＴａｒｇｅｔのＩＰアドレスはストレージ装置４００のＩＰアドレスを示す。項番「３」の変数「ＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）」はＬＵＮの値を示す。ＬＵＮは、ストレージ装置を所定領域に分割した論理的な単位を特定する番号である。項番「４」の「ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）」はＬＢＡの開始値を示す。ＬＢＡは、当該所定領域をさらに分割した論理ブロックを特定するアドレス番号であり、ＬＢＡの開始値は、ある領域の先頭のＬＢＡを示す。項番「５」の変数「ＬＢＡ範囲」はＬＢＡのＯｆｆｓｅｔを示す。ＬＢＡのＯｆｆｓｅｔは、当該領域に含まれる論理ブロックの数を示す。なお、ＬＢＡのＯｆｆｓｅｔは任意の値に設定可能である。例えば、ＬＢＡのＯｆｆｓｅｔを「１０」と設定した場合、特定単位領域には１０個の論理ブロックが含まれることになる。
【００４３】
図９に、アクセス判定情報テーブル５２０を示す。アクセス判定情報テーブル５２０は、ある特定の領域へのアクセス情報を記録する。アクセス判定情報テーブル５２０は、どの物理サーバからストレージ装置のどの領域にアクセスしたかを示すためのものであり、各物理サーバに対応付けられて各記憶領域ごとに生成されている。アクセス判定情報テーブル５２０は、項番５２１、変数５２２及び説明５２３を有する。項番「１」の変数「ＩＰ（ｔａｒｇｅｔ）」はＴａｒｇｅｔのＩＰアドレスを示す。項番「２」の変数「時刻」は、ある物理サーバからストレージ装置の領域にアクセスがあった時点のアクセス時刻を示す。ロジック実行部３２０は、当該時刻から所定時間経過後、異常アクセス判定を行う。項番「３」の変数「ＬＵＮ」は、アクセスした領域のＬＵＮの値を示す。項番「４」の「ＬＢＡ」は、アクセスした領域のＬＢＡの開始値を示す。項番「５」の変数「ＬＢＡ範囲」は、アクセスした領域の範囲となるＬＢＡのＯｆｆｓｅｔを示す。項番「６」の変数「アクセス回数」はＬＢＡへアクセスした回数を示し、当該ＬＢＡへのアクセスを検出する都度更新され、所定の単位時間ごとにクリアされる。
【００４４】
図１０に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。本実施形態では、「ＶＭＢ」１２０のように、ストレージ装置４００内の「ＶＭＢ」１２０に割り当てられた領域以外の領域も含めて全体的にアクセスした場合を異常と判定する。なお、「ＶＭＤ」１４０のように、ストレージ装置４００内の「ＶＭＤ」１４０に割り当てられた領域の一部領域をアクセスしている場合は正常と判定する。
【００４５】
サーバ１００はそれぞれ、「ＶＭＡ」１１０及び「ＶＭＢ」１２０、「ＶＭＣ」１３０及び「ＶＭＤ」１４０を実行する。「ＶＭＡ」１１０は、仮想ディスク１６０から論理的ディスク１１１を割り当てる。「ＶＭＢ」１２０は、仮想ディスク１６０から論理的ディスク１２１を割り当てる。「ＶＭＣ」１３０は、仮想ディスク１６０から論理的ディスク１３１を割り当てる。「ＶＭＤ」１４０は、仮想ディスク１６０から論理的ディスク１４１を割り当てる。ｉＳＣＳＩ１８０はストレージ装置４００とサーバ１００とを接続するためのストレージ用インタフェースである。
【００４６】
ストレージ装置４００は、ｉＳＣＳＩ１８０、論理ブロック「Ｌ０」４１１、論理ブロック「Ｌ１」４１２、論理ブロック「Ｌ２」４１３、論理ブロック「Ｌ３」４２１、論理ブロック「Ｌ４」４２２、論理ブロック「Ｌ５」４２３、論理ブロック「Ｌ６」４３１、論理ブロック「Ｌ７」４３２、論理ブロック「Ｌ８」４３３、論理ブロック「Ｌ９」４４１、論理ブロック「Ｌ１０」４４２及び論理ブロック「Ｌ１１」４４３を有する。論理ブロック「Ｌ０」４１１乃至論理ブロック「Ｌ２」４１３は「ＶＭＡ」１１０に割り当てられている。論理ブロック「Ｌ３」４２１乃至論理ブロック「Ｌ５」４２３は「ＶＭＢ」１２０に割り当てられている。論理ブロック「Ｌ６」４３１乃至論理ブロック「Ｌ８」４３３は「ＶＭＣ」１３０に割り当てられている。論理ブロック「Ｌ９」４４１乃至論理ブロック「Ｌ１１」４４３は「ＶＭＤ」１４０に割り当てられている。ｉＳＣＳＩ１８０はサーバ１００とストレージ装置４００とを接続するためのシトレージ用インタフェースである。ロジック実行部３２０は、パケットキャプチャ３１０が解析したパケットに含まれるＩｎｉｔｉａｔｏｒのＩＰアドレス、ＴａｒｇｅｔのＩＰアドレス、ＬＵＮ、ＬＢＡ及びＬＢＡ範囲を参照することで、各論理ブロックの番号と当該論理ブロックへのアクセス回数とを対応付けて、図９に示したアクセス判定情報テーブル５２０に記録する。
【００４７】
図１１を用いて実施形態１における監視装置３００の処理を説明する。
【００４８】
ステップＳ１０１において、ロジック実行部３２０は、現在時刻を取得する。ロジック実行部３２０は、処理をステップＳ１０２へ移行する。
【００４９】
ステップＳ１０２において、ロジック実行部３２０は、ステップＳ１０１にて取得した時刻と前回ステップＳ１０２を実行した時刻との差分とから所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部３２０は、処理をステップＳ１０５へ移行する。一方、所定時間が経過していない場合、ロジック実行部３２０は、処理をステップＳ１０３へ移行する。
【００５０】
ステップＳ１０３において、パケットキャプチャ３１０は、ネットワーク２００を介してサーバ１００とストレージ装置４００との間で送受信されるパケットを取得する。ロジック実行部３２０は、処理をステップＳ１０４へ移行する。
【００５１】
ステップＳ１０４において、ロジック実行部３２０は、パケットキャプチャ３１０が取得したパケットのＩｎｉｔｉａｔｏｒのＩＰアドレスやＴａｒｇｅｔのＩＰアドレス、ＬＵＮ等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル５２０の特定領域単位での各キーのアクセス回数を更新する。ここで、キーとは、ＬＵＮ、ＬＢＡ及びＬＢＡ範囲の３つの項目から特定される領域である。その後、ロジック実行部３２０は、処理をステップＳ１０２へ戻す。
【００５２】
ステップＳ１０５において、ロジック実行部３２０は、アクセス判定情報テーブル５２０を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部３２０は、特定領域単位の一例として、各論理ブロックを用い、当該論理ブロックでの各キーへのアクセス回数を取得する。ロジック実行部３２０は、処理をステップＳ１０６へ移行する。
【００５３】
ステップＳ１０６において、ロジック実行部３２０は、全キーへのアクセス回数が０よりも大きいか否かを判定する。全キーへのアクセス回数が０よりも大きい場合、ロジック実行部３２０は、処理をステップＳ１０７へ移行する。一方、全キーへのアクセス回数が０よりも大きくない場合、ロジック実行部３２０は、処理をステップＳ１０８へ移行する。
【００５４】
ステップＳ１０７において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは正常と判定する。ロジック実行部３２０は、処理をステップＳ１０９へ移行する。
【００５５】
ステップＳ１０８において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは異常と判定する。ロジック実行部３２０は、処理をステップＳ１０９へ移行する。
【００５６】
ステップＳ１０９において、ロジック実行部３２０は、全キーへのアクセス回数をクリアする。具体的には、ロジック実行部３２０は、アクセス判定情報テーブル５２０のアクセス回数を０にする。ロジック実行部３２０は、処理をステップＳ１０１へ戻す。
【００５７】
本実施形態によれば、単位時間あたりに特定領域の全体にアクセスしている場合は異常と判定し、単位時間あたりに特定領域の一部にアクセスしている場合は正常と判定することができる。通常のＶＭは、単位時間内に、特定のディスク領域にしかアクセスしない可能性が高く、一方、悪意あるＶＭは、単位時間内に、ディスク全体の領域にアクセスする可能性が高いことに着目している。これによれば、単位時間あたりに特定領域の全体にアクセスしている物理サーバの中には、不正アクセスを行っているＶＭが存在すると判定することができる。
【００５８】
なお、ステップＳ１０７において異常と判定された場合、ロジック実行部３２０は、例えば、異常アクセスが発生したことを管理者にメールなどで通知するようにしても良い。また、ステップＳ１０７において異常と判定された場合、ロジック実行部３２０は、例えば、異常アクセスを示すログを出力するようにしても良い。
【００５９】
（実施形態２）
図１２に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。本実施形態では、「ＶＭＢ」１２０のように、ストレージ装置４００内の「ＶＭＢ」１２０に割り当てられた領域以外の領域も含めて、Ｌｘ（４１１〜４４３）で示すＬＢＡとＯｆｆｓｅｔで示すそれぞれの領域に、シーケンシャルにアクセスした場合を異常と判定する。なお、「ＶＭＤ」１４０のように、ストレージ装置４００内の「ＶＭＤ」１４０に割り当てられた領域の一部にアクセスしている場合は正常と判定する。
【００６０】
図１３を用いて実施形態２における監視装置３００の処理を説明する。
【００６１】
ステップＳ２０１において、ロジック実行部３２０は、現在時刻を取得する。ロジック実行部３２０は、処理をステップＳ２０２へ移行する。
【００６２】
ステップＳ２０２において、ロジック実行部３２０は、ステップＳ２０１にて取得した時刻と前回ステップＳ２０２を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部３２０は、処理をステップＳ２０５へ移行する。一方、所定時間が経過していない場合、ロジック実行部３２０は、処理をステップＳ２０３へ移行する。
【００６３】
ステップＳ２０３において、パケットキャプチャ３１０は、ネットワーク２００を介してサーバ１００とストレージ装置４００との間で送受信されるパケットを取得する。ロジック実行部３２０は、処理をステップＳ２０４へ移行する。
【００６４】
ステップＳ２０４において、ロジック実行部３２０は、パケットキャプチャ３１０が取得したパケットのＩｎｉｔｉａｔｏｒのＩＰアドレスやＴａｒｇｅｔのＩＰアドレス、ＬＵＮ等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル５２０のアクセス回数を更新する。その後、ロジック実行部３２０は、処理をステップＳ２０２へ戻す。
【００６５】
ステップＳ２０５において、ロジック実行部３２０は、アクセス判定情報テーブル５２０を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部３２０は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部３２０は、処理をステップＳ２０６へ移行する。
【００６６】
ステップＳ２０６において、ロジック実行部３２０は、アクセスしたキーの直前のキーが０であるか否かを判定する。具体的には、ロジック実行部３２０は、アクセス判定情報テーブル５２０を参照して、１つ前の論理ブロックにアクセスがあったか否かを判定する。アクセスしたキーの直前のキーが０である場合、ロジック実行部３２０は、処理をステップＳ２０７へ移行する。一方、アクセスしたキーの直前のキーが０でない場合、ロジック実行部３２０は、処理をステップＳ２０８へ移行する。
【００６７】
ステップＳ２０７において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは正常と判定する。ロジック実行部３２０は、処理をステップＳ２０９へ移行する。
【００６８】
ステップＳ２０８において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは異常と判定する。ロジック実行部３２０は、処理をステップＳ２０９へ移行する。
【００６９】
ステップＳ２０９において、ロジック実行部３２０は、全キーへのアクセス回数を０に初期化することでクリアする。その後、ロジック実行部３２０は、処理をステップＳ２０１へ戻す。
【００７０】
本実施形態によれば、特定領域の全体に、論理ブロック「Ｌ０」から論理ブロック「Ｌ５」の順にシーケンシャルにアクセスしている場合は異常と判定し、単位時間あたりに特定領域の一部にアクセスしている場合は正常と判定することができる。正常時でも、確率的には、ディスクの特定領域の全体にアクセスする可能性はある。ただし、ランダムに、かつ、重複してアクセスされる可能性が高い。一方、悪意あるＶＭが特定領域の全体にアクセスする場合、効率的にデータを収集するために、特定領域をシーケンシャルにアクセスする可能性が高いことに着目している。
【００７１】
（実施形態３）
図１４に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。論理ブロック「Ｌ０」４１１乃至論理ブロック「Ｌ１１」４４３内に付した番号は所定時間内にサーバ１００からアクセスされた回数を示す。本実施形態では、論理ブロック「Ｌ０」４１１乃至論理ブロック「Ｌ５」４２３のように、特定領域の全体にランダムであるが重複なくアクセスしている場合を異常と判定する。なお、論理ブロック「Ｌ６」４３１乃至論理ブロック「Ｌ１１」４４３のように、特定領域の全体に重複してアクセスしている場合を正常と判定する。
【００７２】
図１５を用いて実施形態３における監視装置３００の処理を説明する。
【００７３】
ステップＳ３０１において、ロジック実行部３２０は、現在時刻を取得する。ロジック実行部３２０は、処理をステップＳ３０２へ移行する。
【００７４】
ステップＳ３０２において、ロジック実行部３２０は、ステップＳ３０１にて取得した時刻と前回ステップＳ３０２を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部３２０は、処理をステップＳ３０５へ移行する。一方、所定時間が経過していない場合、ロジック実行部３２０は、処理をステップＳ３０３へ移行する。
【００７５】
ステップＳ３０３において、パケットキャプチャ３１０は、ネットワーク２００を介してサーバ１００とストレージ装置４００との間で送受信されるパケットを取得する。ロジック実行部３２０は、処理をステップＳ３０４へ移行する。
【００７６】
ステップＳ３０４において、ロジック実行部３２０は、パケットキャプチャ３１０が取得したパケットのＩｎｉｔｉａｔｏｒのＩＰアドレスやＴａｒｇｅｔのＩＰアドレス、ＬＵＮ等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル５２０のアクセス回数を更新する。その後、ロジック実行部３２０は、処理をステップＳ３０２へ戻す。
【００７７】
ステップＳ３０５において、ロジック実行部３２０は、アクセス判定情報テーブル５２０を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部３２０は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部３２０は、処理をステップＳ３０６へ移行する。
【００７８】
ステップＳ３０６において、ロジック実行部３２０は、全キーへのアクセス回数がｎよりも大きく、かつｍよりも小さいか否かを判定する。この判定を満たす場合、ロジック実行部３２０は、処理をステップＳ３０７へ移行する。一方、この判定を満たさない場合、ロジック実行部３２０は、処理をステップＳ３０８へ移行する。
【００７９】
ステップＳ３０７において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは異常と判定する。ロジック実行部３２０は、処理をステップＳ３０９へ移行する。
【００８０】
ステップＳ３０８において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは正常と判定する。ロジック実行部３２０は、処理をステップＳ３０９へ移行する。
【００８１】
ステップＳ３０９において、ロジック実行部３２０は、全キーへのアクセス回数をクリアする。ロジック実行部３２０は、処理をステップＳ３０１へ戻す。
【００８２】
本実施形態によれば、特定領域の全体に、ランダムであるが重複なくアクセスしている場合は異常と判定し、特定領域の全体に、ランダムであり、かつ、重複してアクセスしている場合は正常と判定することができる。正常時でも、確率的には、ディスクの特定領域の全体にアクセスする可能性はある。一方、悪意あるＶＭが特定領域の全体にアクセスする場合、効率的にデータを収集するために、特定領域を、重複なくアクセスする可能性が高いことに着目している。なお、ステップＳ３０６において用いた、ｍ及びｎには「ｎ＜ｍ」の条件を満たした任意の値を設定すれば良い。
【００８３】
（実施形態４）
図１６に本実施形態における情報処理システムを示す。上述したものについては同一番号を付し、その説明を省略する。論理ブロック「Ｌ０」４１１、論理ブロック「Ｌ１」４１２、論理ブロック「Ｌ３」４２１及び論理ブロック「Ｌ５」４２３は既にデータが記録されているものとする。論理ブロック「Ｌ０」４１１、論理ブロック「Ｌ１」４１２、論理ブロック「Ｌ３」４２１及び論理ブロック「Ｌ５」４２３にアクセスがあった場合を異常と判定する。
【００８４】
図１７に、アクセス判定情報テーブル５３０を示す。アクセス判定情報テーブル５３０は、ある特定の領域へのアクセス情報を記録する。アクセス判定情報テーブル５３０は、項番５３１、変数５３２及び説明５３３を有する。項番「１」の変数「ＩＰ（ｔａｒｇｅｔ）」はＴａｒｇｅｔのＩＰアドレスを示す。項番「２」の変数「時刻」は、領域にアクセスがあった時点のアクセス時刻を示す。ロジック実行部３２０は、当該時刻から所定時間経過後、異常アクセス判定を行う。項番「３」の変数「ＬＵＮ」はＬＵＮの値を示す。項番「４」の「ＬＢＡ」は、アクセスした領域のＬＢＡの開始値を示す。項番「５」の変数「ＬＢＡ範囲」は、アクセスした領域の範囲となるＬＢＡのＯｆｆｓｅｔを示す。項番「６」の変数「アクセス回数」はＬＢＡへアクセスした回数を示す。項番「７」の変数「書込みフィールド」は、既にデータを記録している論理ブロックである論理ブロック「Ｌ０」４１１、論理ブロック「Ｌ１」４１２、論理ブロック「Ｌ３」４２１及び論理ブロック「Ｌ５」４２３にアクセスがあった場合に、ロジック実行部３２０は、当該論理ブロックに対応する書込み発生記録フィールドのフラグを「０」から「１」に変更する。
【００８５】
図１８を用いて実施形態４における監視装置３００の処理を説明する。
【００８６】
ステップＳ４０１において、ロジック実行部３２０は、現在時刻を取得する。ロジック実行部３２０は、処理をステップＳ４０２へ移行する。
【００８７】
ステップＳ４０２において、ロジック実行部３２０は、ステップＳ４０１にて取得した時刻と前回ステップＳ４０２を実行した時刻との差分から所定時間が経過したか否かを判定する。所定時間が経過した場合、ロジック実行部３２０は、処理をステップＳ４０５へ移行する。一方、所定時間が経過していない場合、ロジック実行部３２０は、処理をステップＳ４０３へ移行する。
【００８８】
ステップＳ４０３において、パケットキャプチャ３１０は、ネットワーク２００を介してサーバ１００とストレージ装置４００との間で送受信されるパケットを取得する。ロジック実行部３２０は、処理をステップＳ４０４へ移行する。
【００８９】
ステップＳ４０４において、ロジック実行部３２０は、パケットキャプチャ３１０が取得したパケットのＩｎｉｔｉａｔｏｒのＩＰアドレスやＴａｒｇｅｔのＩＰアドレス、ＬＵＮ等に基づいて、パケットの送信元の物理サーバに対応するアクセス判定情報テーブル５２０のアクセス回数を更新する。その後、ロジック実行部３２０は、処理をステップＳ４０２へ戻す。
【００９０】
ステップＳ４０５において、ロジック実行部３２０は、アクセス判定情報テーブル５２０を参照して、特定領域単位で各キーへのアクセス回数を取得する。本実施形態では、ロジック実行部３２０は、特定領域単位の一例として、各論理ブロックへのアクセス回数を取得する。ロジック実行部３２０は、処理をステップＳ４０６へ移行する。
【００９１】
ステップＳ４０６において、ロジック実行部３２０は、キーへのアクセス回数が０よりも大きく、かつ書込みフィールドのフラグが１であるか否かを判定する。この判定を満たす場合、ロジック実行部３２０は、処理をステップＳ４０７へ移行する。一方、この判定を満たさない場合、ロジック実行部３２０は、処理をステップＳ４０８へ移行する。
【００９２】
ステップＳ４０７において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは異常と判定する。ロジック実行部３２０は、処理をステップＳ４０９へ移行する。
【００９３】
ステップＳ４０８において、ロジック実行部３２０は、ＶＭからストレージ装置へのアクセスは正常と判定する。ロジック実行部３２０は、処理をステップＳ４０９へ移行する。
【００９４】
ステップＳ４０９において、ロジック実行部３２０は、全キーへのアクセス回数と書き込みフィールドのフラグを０に初期化することでクリアする。その後、ロジック実行部３２０は、処理をステップＳ４０１へ戻す。
【００９５】
本実施形態では、悪意あるＶＭが、標準的なＯＳコマンド(ｌｓ、ｃｐ等)でディスクにアクセスし、ファイルの探索を試みる場合、既にデータが書き込みされている領域しかアクセス対象にならないことに着目している。
【００９６】
以上、実施形態１〜４によれば、仮想ストレージへのアクセスする際のｉＳＣＳＩパケットの通信パターンを解析し、その通信パターンに異常な挙動があるか否かを判定することで、セキュリティ的な異常を検出することができる。これにより、ＶＭからストレージ装置への不正なアクセスを検出できる。パケットキャプチャによる外付けのモニタリング方式により、ハイパーバイザ層に依存しないセキュリティ監視が可能である。また、この外付けの汎用性により、ＶＭＷａｒｅ、ＸＥＮなど、複数の仮想化アーキテクチャでのＩＣＴシステムに適用可能である。さらに、仮想サーバによる仮想システムだけでなく、仮想ストレージを利用する物理的なホスティングのシステムにも適用可能である。
【００９７】
以上、本発明の例示的な実施の形態の情報処理システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９８】
１００  サーバ
１１０、１２０、１３０、１４０  ＶＭ
１１１、１２１、１３１、１４１  論理的ディスク
１５０  ハイパーバイザ
１６０  ディスク
１８０  ｉＳＣＳＩ
２００  ネットワーク
２０１、２２１  ＣＰＵ
２０２、２２２  主記憶装置
２０３、２２３  システムコントローラ
２０４、２２４  バス
２０７、２２７  ネットワークコントローラ
２０９、２２９  電源
２１２、２３２  ディスクコントローラ
２１３、２３３  ハードディスク
３００  監視装置
３１０  パケットキャプチャ
３２０  ロジック実行部
４００  ストレージ装置
４１０、４２０、４３０、４４０  ディスク
４１１、４１２、４１３、４２１、４２２、４２３、４３１、４３２、４３３、４４１、４４２、４４３  論理ブロック
５１０  特定領域情報テーブル
５１１、５２１  項番
５１２、５２２  変数
５１３、５２３  説明
５２０、５３０  アクセス判定情報テーブル
５４０  仮想システム構成情報
６１０  ｉＳＣＳＩコマンドフォーマット
６２０  ＣＤＢ中のフォーマット
１０００、３０００  アプリケーション
２０００、４０００  制御プログラム
【図１】
0005803502.tif 000002
【図２】
0005803502.tif 000003
【図３】
0005803502.tif 000004
【図４】
0005803502.tif 000005
【図５】
0005803502.tif 000006
【図６】
0005803502.tif 000007
【図７】
0005803502.tif 000008
【図８】
0005803502.tif 000009
【図９】
0005803502.tif 000010
【図１０】
0005803502.tif 000011
【図１１】
0005803502.tif 000012
【図１２】
0005803502.tif 000013
【図１３】
0005803502.tif 000014
【図１４】
0005803502.tif 000015
【図１５】
0005803502.tif 000016
【図１６】
0005803502.tif 000017
【図１７】
0005803502.tif 000018
【図１８】
0005803502.tif 000019