(57)【要約】【課題】推定可能な外部攻撃を拡充することを可能とする推定プログラム、推定装置及び推定方法を提供する。【解決手段】情報処理システムから計測したリソースの負荷が所定の値以上になった場合、情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する変更事象を特定し、過去に変更事象が発生したタイミングからリソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した変更事象に対応する第１推移情報を特定し、特定した第１推移情報と、現在のタイミングに対応する変更事象が発生したタイミングからリソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、情報処理システムに対する外部攻撃の存在の有無を推定する。【選択図】図７
2017123037.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
処理を実行させることを特徴とする推定プログラム。
【請求項２】
請求項１において、さらに、
前記第２推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
【請求項３】
請求項１において、
前記情報処理システムは、１台以上の仮想マシンにおいて動作する情報処理システムであり、
前記所定の値は、前記情報処理システムにおいて新たな仮想マシンの生成が行われる前記リソースの負荷に対応する値である、
ことを特徴とする推定プログラム。
【請求項４】
請求項３において、さらに、
前記情報処理システムに対する外部攻撃が存在しないと推定した場合、前記情報処理システムにおいて新たな仮想マシンの生成を行う、
ことを特徴とする推定プログラム。
【請求項５】
請求項１において、
前記第１推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第１平均値情報を含み、
前記第２推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第２平均値情報を含み、
前記推定では、
前記第１推移情報毎に、それぞれ時系列順が同じである前記第１平均値情報と前記第２平均値情報との差分の総和を算出し、
前記第１推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定プログラム。
【請求項６】
情報処理システムのリソースの負荷を計測する負荷計測部と、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定する事象特定部と、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する攻撃推定部と、を有する、
ことを特徴とする推定装置。
【請求項７】
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
ことを特徴とする推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定プログラム、推定装置及び推定方法に関する。
【背景技術】
【０００２】
近年、物理装置（以下、物理マシンとも呼ぶ）の性能向上に伴い、複数の仮想装置（以下、仮想マシンとも呼ぶ）を１つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は、例えば、仮想化ソフトウエア（以下、ハイパーバイザとも呼ぶ）が物理マシンを複数の仮想マシンに割り当てて、各仮想マシンによるサービスの提供を可能にする。
【０００３】
上記のような仮想マシンによって構成される情報処理システムを構築する場合、サービスを提供する事業者（以下、単に事業者とも呼ぶ）は、例えば、新たな仮想マシンの生成及び既存の仮想マシンの削除を自動的に行う機能（以下、オートスケール機能とも呼ぶ）を実装する。具体的に、事業者は、情報処理システムを構成する仮想マシンの処理負荷に応じて、新たな仮想マシンの生成及び既存の仮想マシンの削除を自動的に行う機能を実装する。これにより、事業者は、情報処理システムの稼働状況の監視するための負荷を抑制することが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８５２５号公報
【特許文献２】特開２０１０−２２６６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような情報処理システムは、事業者が提供するサービスに悪影響を及ぼすことを目的とした外部攻撃を受ける場合がある。具体的に、情報処理システムは、悪意のある者が情報処理システムに過度の処理負荷を与えるために、膨大な数の処理要求を送信するＤｏｓ攻撃（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）等を受ける場合がある。そのため、事業者は、例えば、Ｄｏｓ攻撃の検知機能を有するファイアーウォールを外部ネットワークと情報処理システムの間に配備する。これにより、事業者は、情報処理システムに悪影響が及ぶ前に、情報処理システムに対するＤｏｓ攻撃の存在を検知することが可能になる。
【０００６】
しかしながら、近年、上記のような情報処理システムは、事業者に必要以上の仮想マシンを生成させることによって経済的負担を強いることを目的としたＥＤｏｓ攻撃（Ｅｃｏｎｏｍｉｃ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）を受ける場合がある。このＥＤｏｓ攻撃は、上記のＤｏｓ攻撃のように膨大な数の処理要求を送信する攻撃と異なり、例えば、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システムに送信することによって行われる。そのため、情報処理システムは、例えば、Ｄｏｓ攻撃の検知機能を有するファイアーウォールを用いる場合であっても、情報処理システムに対するＥＤｏｓ攻撃の存在を検知することができない場合がある。
【０００７】
そこで、一つの側面では、本発明は、推定可能な外部攻撃を拡充することを可能とする推定プログラム、推定装置及び推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一態様では、コンピュータに、情報処理システムのリソースの負荷を計測し、計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、処理を実行させる。
【発明の効果】
【０００９】
一つの側面によれば、推定可能な外部攻撃を拡充することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】情報処理システム１０の全体構成を示す図である。
【図２】仮想マシン３が実行する処理を説明する図である。
【図３】仮想マシン３が実行する処理を説明する図である。
【図４】仮想マシン３が実行する処理を説明する図である。
【図５】物理マシン２のハードウエア構成を示す図である。
【図６】ＶＭ（ＡＳＭ）３３の機能ブロック図である。
【図７】第１の実施の形態における外部攻撃推定処理の概略を説明するフローチャート図である。
【図８】第１の実施の形態における外部攻撃推定処理の概略を説明する図である。
【図９】第１の実施の形態における外部攻撃推定処理の概略を説明する図である。
【図１０】第１の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。
【図１１】第１の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。
【図１２】負荷情報２３１の具体例を示す図である。
【図１３】変更事象情報２３２の具体例を示す図である。
【図１４】推移情報２３３の具体例を示す図である。
【図１５】推移情報２３３の具体例を示す図である。
【図１６】推移情報２３３の具体例を示す図である。
【図１７】第１推移情報２４１の具体例を示す図である。
【図１８】第２推移情報２４２の具体例を示す図である。
【図１９】推移情報２３３の具体例を示す図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０は、例えば、データセンタ内に、管理装置１と、仮想マシン３及び仮想化ソフトウエア４が動作する物理マシン２とが設けられている。そして、仮想マシン３には、インターネットやイントラネット等のネットワークＮＷを介して、１台以上の利用者端末１１からアクセス可能になっている。
【００１２】
物理マシン２は、図１の例では複数の物理マシンから構成されており、各物理マシンは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）とを有する。そして、物理マシン２のリソースは、複数の仮想マシン３に割り当てられる。
【００１３】
管理装置１は、物理マシン２とアクセス可能であり、物理マシン２内における仮想マシン３の生成指示や生成された仮想マシン３の管理を行う。
【００１４】
仮想マシン３は、利用者に対してサービスを提供するための処理を実行する。仮想マシン３が実行する処理の詳細については後述する。
【００１５】
仮想化ソフトウエア４は、管理装置１からの指示に応じて、物理マシン２のリソースを割り当てることにより、仮想マシン３を動作させる基盤ソフトウエアである。
【００１６】
利用者端末１１は、事業者が提供するサービスを受ける利用者が利用する端末である。具体的に、利用者端末１１は、利用者から仮想マシン３に対する処理要求の入力があった場合に、仮想マシン３に対して入力された処理要求を送信する。また、利用者端末１１は、仮想マシン３に対して送信した処理要求に対する実行結果を受信する。
【００１７】
［仮想マシンが実行する処理］
次に、仮想マシン３が実行する処理について説明を行う。図２から図４は、仮想マシン３が実行する処理を説明する図である。なお、以下、仮想マシン３には、例えば、利用者端末１１から送信された処理要求を複数の仮想マシンに対して割り振るロードバランサとして機能する仮想マシン３１（以下、ＶＭ（ＬＢ）３１とも呼ぶ）が含まれているものとする。また、仮想マシン３には、例えば、利用者端末１１から送信された処理要求に対する処理を実行するアプリケーションが動作する仮想マシン３２（以下、ＶＭ（ＡＰ）３２とも呼ぶ）が含まれるものとする。また、仮想マシン３には、例えば、ＶＭ（ＡＰ）の処理負荷を監視し、ＶＭ（ＡＰ）３２の処理負荷に応じて、新たなＶＭ（ＡＰ）３２の生成等を管理装置１に指示するオートスケールマネージャとして機能する仮想マシン３３（以下、ＶＭ（ＡＳＭ）３３とも呼ぶ）が含まれるものとする。なお、以下、物理マシン２には、ＶＭ（ＡＰ）３２が複数台生成されているものとして説明を行う。
【００１８】
具体的に、ＶＭ（ＬＢ）３１は、利用者端末１１から送信された処理要求を受信した場合、図２に示すように、受信した処理要求をＶＭ（ＡＰ）３２のいずれかに送信する。ＶＭ（ＬＢ）３１は、例えば、各ＶＭ（ＡＰ）３２の処理負荷が均等になるように、処理要求の振り分けを行う。
【００１９】
ＶＭ（ＡＰ）３２は、ＶＭ（ＬＢ）３１から処理要求を受信した場合、図２に示すように、受信した処理要求に対する処理を実行する。そして、ＶＭ（ＡＰ）３２は、必要に応じて、実行した処理の実行結果を利用者端末１１に送信する。
【００２０】
ＶＭ（ＡＳＭ）３３は、図３に示すように、例えば、所定時間毎に、各ＶＭ（ＡＰ）３２の処理負荷（処理負荷を示す情報）を取得する。そして、例えば、取得した処理負荷が所定の値（以下、第１閾値情報とも呼ぶ）以上であるＶＭ（ＡＰ）３２が存在する場合、ＶＭ（ＡＳＭ）３３は、図３に示すように、新たなＶＭ（ＡＰ）３２の生成を管理装置１に指示する。その後、管理装置１は、図３に示すように、新たなＶＭ（ＡＰ）３２の生成を行う。
【００２１】
一方、例えば、取得した処理負荷が所定の値（以下、第２閾値情報とも呼ぶ）未満であるＶＭ（ＡＰ）３２が存在する場合、ＶＭ（ＡＳＭ）３３は、図４に示すように、既存のＶＭ（ＡＰ）３２の削除を管理装置１に指示する。その後、管理装置１は、図４に示すように、既存のＶＭ（ＡＰ）３２の削除を行う。
【００２２】
これにより、事業者は、ＶＭ（ＡＰ）３２の生成または削除を自動化することが可能になる。そのため、事業者は、情報処理システム１０の監視に伴う作業負担を軽減することが可能になる。
【００２３】
なお、ＶＭ（ＡＳＭ）３３は、ＶＭ（ＡＰ）３２の処理負荷の全てが第１閾値情報以上になった場合に、新たなＶＭ（ＡＰ）３２の生成を管理装置１に指示するものであってもよい。また、ＶＭ（ＡＳＭ）３３は、ＶＭ（ＡＰ）３２の処理負荷の全てが第２閾値情報未満になった場合に、既存のＶＭ（ＡＰ）３２の削除を管理装置１に指示するものであってもよい。
【００２４】
ここで、図２等で説明した情報処理システム１０は、事業者が提供するサービスに悪影響を及ぼすことを目的とした外部攻撃を受ける場合がある。具体的に、この外部攻撃には、悪意のある者が情報処理システム１０に過度の処理負荷を与えるために、膨大な数の処理要求を送信するＤｏｓ攻撃等が含まれる。
【００２５】
そのため、事業者は、例えば、Ｄｏｓ攻撃の検知機能を有するファイアーウォールを利用者端末１１と情報処理システム１０の間に配備する。これにより、事業者は、情報処理システム１０に悪影響が及ぶ前に、情報処理システム１０に対するＤｏｓ攻撃の存在を検知することが可能になる。
【００２６】
しかしながら、近年、情報処理システム１０は、事業者に必要以上の仮想マシン３を生成させることによって経済的負担を強いることを目的としたＥＤｏｓ攻撃を受ける場合がある。このＥＤｏｓ攻撃は、上記のＤｏｓ攻撃のように膨大な数の処理要求を送信する攻撃と異なり、例えば、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システム１０に送信することによって行われる。そのため、情報処理システム１０は、例えば、Ｄｏｓ攻撃の検知機能を有するファイアーウォールを用いた場合であっても、情報処理システム１０に対するＥＤｏｓ攻撃の存在を検知することができない場合がある。
【００２７】
そこで、本実施の形態におけるＶＭ（ＡＳＭ）３３は、情報処理システム１０のリソース（例えば、ＶＭ（ＡＰ）３２に割り振られた物理マシン２のリソース）の負荷を計測する。そして、ＶＭ（ＡＳＭ）３３は、計測したリソースの負荷が第１閾値情報以上になった場合、情報処理システム１０に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する変更事象を特定する。
【００２８】
その後、ＶＭ（ＡＳＭ）３３は、過去に変更事象が発生したタイミングから情報処理システム１０のリソースの負荷が第１閾値情報以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した変更事象に対応する推移情報（以下、第１推移情報とも呼ぶ）を特定する。また、ＶＭ（ＡＳＭ）３３は、現在のタイミングに対応する変更事象が発生したタイミングから情報処理システム１０のリソースの負荷が第１閾値情報以上になるまでの推移情報（以下、第２推移情報とも呼ぶ）を生成する。そして、ＶＭ（ＡＳＭ）３３は、特定した第１推移情報と生成した第２推移情報との相関度合いに基づいて、情報処理システム１０に対する外部攻撃の存在の有無を推定する。
【００２９】
すなわち、ＶＭ（ＡＳＭ）３３は、情報処理システム１０の負荷が第１閾値情報以上になった場合、新たなＶＭ（ＡＰ）３２の生成を行う前に、情報処理システム１０の負荷が第１閾値情報まで上昇した原因が、ＥＤｏＳ攻撃によるものであるか否かの判定を行う。
【００３０】
具体的に、ＶＭ（ＡＳＭ）３３は、情報処理システム１０において現在行われている変更事象（例えば、新たなサービスの追加等）を特定する。そして、ＶＭ（ＡＳＭ）３３は、現在行われている変更事象の過去の発生時における情報処理システム１０の負荷の推移を示す第１推移情報を特定する。さらに、ＶＭ（ＡＳＭ）３３は、今回の情報処理システム１０の負荷の推移（情報処理システム１０の負荷が第１閾値情報以上になるまでの推移）を示す第２推移情報と、第１推移情報とを比較する。
【００３１】
これにより、ＶＭ（ＡＳＭ）３３は、例えば、第１推移情報が示す内容と第２推移情報が示す内容との差異が所定の基準値（以下、判定情報とも呼ぶ）以上である場合、情報処理システム１０の負荷が第１閾値情報まで上昇した原因が、ＥＤｏＳ攻撃によるものである可能性があると推定することが可能になる。
【００３２】
一方、ＶＭ（ＡＳＭ）３３は、例えば、差異が判定情報未満である場合、情報処理システム１０の負荷が第１閾値情報まで上昇した原因が、外部攻撃（ＥＤｏＳ攻撃）によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、ＶＭ（ＡＳＭ）３３は、例えば、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に送信すべきであると判定することが可能になる。
【００３３】
［物理マシンのハードウエア構成］
次に、物理マシン２のハードウエア構成について説明する。図５は、物理マシン２のハードウエア構成を示す図である。
【００３４】
物理マシン２は、プロセッサであるＣＰＵ２０１と、メモリ２０２と、外部インターフェース（Ｉ／Ｏユニット）２０３と、記憶媒体２０４とを有する。各部は、バス２０５を介して互いに接続される。
【００３５】
記憶媒体２０４は、例えば、記憶媒体２０４内のプログラム格納領域（図示しない）に、情報処理システム１０に対する外部攻撃が存在するか否かを推定する処理（以下、外部攻撃推定処理または推定処理とも呼ぶ）を行うためのプログラム２１０を記憶する。また、記憶媒体２０４は、例えば、外部攻撃推定処理を行う際に用いられる情報を記憶する情報格納領域２３０（以下、記憶部２３０とも呼ぶ）を有する。
【００３６】
ＣＰＵ２０１は、図５に示すように、プログラム２１０の実行時に、プログラム２１０を記憶媒体２０４からメモリ２０２にロードし、プログラム２１０と協働して外部攻撃推定処理を行う。
【００３７】
外部インターフェース２０３は、例えば、管理装置１と通信を行う。また、外部インターフェース２０３は、例えば、ネットワークＮＷを介して利用者端末１１と通信を行う。
【００３８】
［仮想マシンの機能］
次に、物理マシン２に配備されたＶＭ（ＡＳＭ）３３の機能について説明する。図６は、ＶＭ（ＡＳＭ）３３の機能ブロック図である。
【００３９】
ＶＭ（ＡＳＭ）３３に割当てられた物理マシン２のＣＰＵ２０１は、プログラム２１０と協働することにより、例えば、負荷計測部２１１と、事象特定部２１２と、推移特定部２１３と、攻撃推定部２１４として動作する。また、ＶＭ（ＡＳＭ）３３に割当てられた物理マシン２のＣＰＵ２０１は、プログラム２１０と協働することにより、例えば、情報管理部２１５と、情報通知部２１６と、ＶＭ生成指示部２１７と、ＶＭ削除指示部２１８として動作する。
【００４０】
さらに、情報格納領域２３０には、負荷情報２３１と、変更事象情報２３２と、推移情報２３３と、第１閾値情報２３４と、第２閾値情報２３５と、判定情報２３６とが記憶されている。
【００４１】
負荷計測部２１１は、所定の時間間隔毎（例えば、２分毎）に、情報処理システム１０のリソースの負荷を計測する。そして、負荷計測部２１１は、計測した負荷から負荷情報２３１を生成する。
【００４２】
具体的に、負荷計測部２１１は、例えば、物理マシン２に配備されたＶＭ（ＡＰ）３２毎に、リソースの負荷情報２３１を計測する。負荷の計測を行うリソースは、例えば、物理マシン２がＶＭ（ＡＰ）３２にそれぞれ割り当てたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリ等であってよい。負荷情報２３１の具体例については後述する。
【００４３】
事象特定部２１２は、負荷計測部２１１が計測した情報処理システム１０のリソースの負荷が第１閾値情報２３４以上になった場合に、情報格納領域２３０に記憶された変更事象情報２３２から、現在のタイミングに対応する変更事象を特定する。変更事象は、例えば、ＶＭ（ＡＰ）３２が処理を実行することによって利用者に提供する新たなサービスの追加や、情報処理システム１０に対して行われる定期的なメンテナンス等の事象を含む。また、変更事象情報２３２は、情報処理システム１０に対する変更事象と、各変更事象の発生タイミングとが関連付けられた情報である。変更事象情報２３２の具体例については後述する。
【００４４】
なお、第１閾値情報２３４は、例えば、ＶＭ（ＡＳＭ）３３が新たなＶＭ（ＡＰ）３２を生成する必要があると判定する値であってよい。具体的に、負荷の計測が行うリソースがＣＰＵの使用率である場合、事象特定部２１２は、例えば、ＣＰＵの使用率が９０（％）以上になったＶＭ（ＡＰ）３２が存在する場合に、現在のタイミングに対応する変更事象を特定するものであってよい。また、負荷の計測が行うリソースがメモリの使用量である場合、事象特定部２１２は、例えば、メモリの使用量が５．０（ＭＢ）以上になったＶＭ（ＡＰ）３２が存在する場合に、現在のタイミングに対応する変更事象を特定するものであってよい。
【００４５】
推移特定部２１３は、情報格納領域２３０に記憶された推移情報２３３から、事象特定部２１２が特定した変更事象に対応する第１推移情報２４１を特定する。推移情報２３３は、過去に変更事象が発生したタイミングから情報処理システム１０にリソースの負荷が第１閾値情報２３４以上になるまでの負荷の推移を、変更事象が発生したタイミング毎に含む情報である。
【００４６】
また、推移特定部２１３は、現在のタイミングに対応する変更事象が発生したタイミングから情報処理システム１０のリソースの負荷が第１閾値情報２３４以上になるまでの第２推移情報２４２を生成する。
【００４７】
なお、負荷計測部２１１が複数のＶＭ（ＡＰ）３２からリソースの負荷の計測を行っている場合、推移特定部２１３は、例えば、リソースの負荷が第１閾値情報２３４以上になったＶＭ（ＡＰ）３２のリソースの負荷についての第２推移情報２４２を生成するものであってよい。推移情報２３３、第１推移情報２４１及び第２推移情報２４２の具体例については後述する。
【００４８】
攻撃推定部２１４は、推移特定部２１３が特定した第１推移情報２４１と、推移特定部２１３が生成した第２推移情報２４２との相関度合いに基づいて、情報処理システム１０に対する外部攻撃の存在の有無を推定する。
【００４９】
具体的に、攻撃推定部２１４は、例えば、第１推移情報２４１と第２推移情報２４２とを比較し、その差異が所定の基準値である判定情報２３６以上である場合、情報処理システム１０に対する外部攻撃が存在するものと推定する。
【００５０】
情報管理部２１５は、負荷計測部２１１が生成した負荷情報２３１を情報格納領域２３０に記憶する。また、情報管理部２１５は、事業者が予め生成した変更事象情報２３２を情報格納領域２３０に記憶する。さらに、情報管理部２１５は、第２推移情報２４２を生成し、推移情報２３３の一部として情報格納領域２３０に記憶する。
【００５１】
情報通知部２１６は、情報処理システム１０に対する外部攻撃が行われていると推定された場合に、その旨の情報を事業者（例えば、図示しない事業者端末）に通知する。
【００５２】
ＶＭ生成指示部２１７は、情報処理システム１０に対する外部攻撃が行われていないと推定された場合に、新たなＶＭ（ＡＰ）３２の生成を管理装置１に指示する。
【００５３】
ＶＭ削除指示部２１８は、負荷計測部２１１が計測した情報処理システム１０のリソースの負荷が第２閾値情報２３５未満になった場合に、新たなＶＭ（ＡＰ）３２の削除を管理装置１に指示する。
【００５４】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図７は、第１の実施の形態における外部攻撃推定処理の概略を説明するフローチャート図である。また、図８及び図９は、第１の実施の形態における外部攻撃推定処理の概略を説明する図である。図８及び図９を参照しながら図７の外部攻撃推定処理の概略について説明する。なお、以下、ＶＭ（ＡＳＭ）３３が負荷を計測する対象がＶＭ（ＡＰ）３２であるものとして説明を行う。
【００５５】
ＶＭ（ＡＳＭ）３３は、図７に示すように、ＶＭ（ＡＰ）３２のリソースの負荷を計測するタイミング（以下、負荷計測タイミングとも呼ぶ）になるまで待機する（Ｓ１のＮＯ）。負荷計測タイミングは、例えば、１分毎等、所定の時間毎のタイミングであってよい。
【００５６】
そして、負荷計測タイミングになった場合（Ｓ１のＹＥＳ）、ＶＭ（ＡＳＭ）３３は、図８に示すように、各ＶＭ（ＡＰ）３２のリソースの負荷を計測する（Ｓ２）。その後、ＶＭ（ＡＳＭ）３３は、リソースの負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在するか否かを判定する（Ｓ３）。すなわち、ＶＭ（ＡＳＭ）３３は、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に行うか否かを判定するために、各ＶＭ（ＡＰ）３２のリソースの負荷を計測し、リソースの負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在するか否かを判定する。
【００５７】
その結果、例えば、リソースの負荷を計測したＶＭ（ＡＰ）３２のうち、リソースの負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在する場合（Ｓ３のＮＯ）、ＶＭ（ＡＳＭ）３３は、変更事象情報２３２から、現在のタイミングに対応する変更事象（以下、単に現在の変更事象とも呼ぶ）を特定する（Ｓ４）。そして、ＶＭ（ＡＳＭ）３３は、推移情報２３３から、Ｓ４の処理で特定した変更事象に対応する第１推移情報２４１を特定する（Ｓ５）。
【００５８】
さらに、ＶＭ（ＡＳＭ）３３は、図９に示すように、Ｓ５の処理で特定した第１推移情報２４１と、現在の変更事象の発生からリソースの負荷が第１閾値情報２３４以上になるまでの推移を示す第２推移情報との相関度合いに基づき、外部攻撃の存在の有無を推定する（Ｓ６）。
【００５９】
すなわち、ＶＭ（ＡＰ）３２のリソースの負荷が上昇した原因が現在の変更事象によるものである場合、現在の変更事象と同一の変更事象が過去に発生した際のＶＭ（ＡＰ）３２のリソースの負荷の推移は、今回のＶＭ（ＡＰ）３２のリソースの負荷の推移と類似する。そのため、ＶＭ（ＡＳＭ）３３は、ＶＭ（ＡＰ）３２を生成する前に、現在の変更事象と同一の変更事象が過去に発生した際のＶＭ（ＡＰ）３２のリソースの負荷の推移（第１推移情報２４１）と、今回のＶＭ（ＡＰ）３２のリソースの負荷の推移（第２推移情報２４２）とを比較する。そして、ＶＭ（ＡＳＭ）３３は、第１推移情報２４１と第２推移情報２４２との比較結果に基づき、外部攻撃の存在の有無を推定する。
【００６０】
これにより、ＶＭ（ＡＳＭ）３３は、新たなＶＭ（ＡＰ）３２を生成する前に、ＶＭ（ＡＰ）３２のリソースの負荷が上昇した原因が、外部攻撃（ＥＤｏＳ攻撃）によるものであるか否かの判定を行うことが可能になる。そして、ＶＭ（ＡＳＭ）３３は、外部攻撃が存在しないと判定した場合に限り、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に送信することが可能になる。
【００６１】
このように、本実施の形態におけるＶＭ（ＡＳＭ）３３は、情報処理システム１０（ＶＭ（ＡＰ）３２）のリソースの負荷を計測する。そして、計測したリソースの負荷が第１閾値情報２３４以上になった場合、ＶＭ（ＡＳＭ）３３は、情報処理システム１０に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報２３２から、現在のタイミングに対応する変更事象を特定する。
【００６２】
さらに、ＶＭ（ＡＳＭ）３３は、過去に変更事象が発生したタイミングからリソースの負荷が第１閾値情報２３４以上になるまでの負荷の推移をそれぞれ示す推移情報２３３から、特定した変更事象に対応する第１推移情報２４１を特定する。そして、ＶＭ（ＡＳＭ）３３は、特定した第１推移情報２４１と、現在の変更事象が発生したタイミングからリソースの負荷が第１閾値情報２３４以上になるまでの第２推移情報２４２との相関度合いに基づいて、情報処理システム１０に対する外部攻撃の存在の有無を推定する。
【００６３】
これにより、ＶＭ（ＡＳＭ）３３は、例えば、第１推移情報が示す内容と第２推移情報が示す内容との差異が判定情報２３６以上である場合、ＶＭ（ＡＰ）３２のリソースの負荷が第１閾値情報２３４まで上昇した原因が、外部攻撃によるものである可能性があると推定することが可能になる。そのため、この場合、ＶＭ（ＡＳＭ）３３は、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に送信すべきでないと判定することが可能になる。
【００６４】
一方、ＶＭ（ＡＳＭ）３３は、例えば、第１推移情報が示す内容と第２推移情報が示す内容との差異が判定情報２３６未満である場合、ＶＭ（ＡＰ）３２のリソースの負荷が第１閾値情報２３４まで上昇した原因が、外部攻撃によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、ＶＭ（ＡＳＭ）３３は、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に送信すべきと判定することが可能になる。
【００６５】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１０及び図１１は、第１の実施の形態における外部攻撃推定処理の詳細を説明するフローチャート図である。また、図１２から図１９は、第１の実施の形態における外部攻撃推定処理の詳細を説明する図である。図１２から図１９を参照しながら、図１０及び図１１の外部攻撃推定処理の詳細を説明する。
【００６６】
ＶＭ（ＡＳＭ）３３の負荷計測部２１１は、図１０に示すように、負荷計測タイミングになるまで待機する（Ｓ１１のＮＯ）。
【００６７】
その結果、負荷計測タイミングになった場合（Ｓ１１のＹＥＳ）、負荷計測部２１１は、各ＶＭ（ＡＰ）３２のリソースの負荷を計測する（Ｓ１２）。そして、負荷計測部２１１は、計測したＶＭ（ＡＰ）３２のリソースの負荷を示す情報を、負荷情報２３１の一部として情報格納領域２３０に蓄積する。以下、負荷情報２３１の具体例について説明を行う。
【００６８】
［負荷情報の具体例］
図１２は、負荷情報２３１の具体例を示す図である。図１２に示す負荷情報２３１は、負荷情報２３１に含まれる各情報を示す「項番」と、負荷計測部２１１がＶＭ（ＡＰ）３２のリソースの負荷を計測した日時を示す「日時」とを項目として有する。また、図１２に示す負荷情報２３１は、負荷計測部２１１が計測したＣＰＵの使用率を示す「ＣＰＵ使用率」と、負荷計測部２１１が計測したメモリの使用量を示す「メモリ使用量」とを項目として有する。なお、以下、負荷計測部２１１は、ＶＭ（ＡＰ）３２のリソースの負荷を２分毎に計測するものとして説明を行う。
【００６９】
具体的に、図１２に示す負荷情報２３１において、「項番」が「１」である情報には、「日時」として「２０１５／０１／２０  ００：０２：００」が設定され、「ＣＰＵ使用率」として「１１（％）」が設定され、「メモリ使用量」として「２．０（ＭＢ）」が設定されている。図１２に含まれる他の情報については説明を省略する。
【００７０】
図１０に戻り、負荷計測部２１１は、Ｓ１２の処理で計測したリソースの負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在するか否かを判定する（Ｓ１３）。その結果、例えば、Ｓ１２の処理でリソースの負荷を計測したＶＭ（ＡＰ）３２のうち、負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在する場合（Ｓ１３のＹＥＳ）、ＶＭ（ＡＳＭ）３３の事象特定部２１２は、現在の変更事象の特定を行う。具体的に、事象特定部２１２は、この場合、変更事象情報２３２から、現在の変更事象を特定する（Ｓ１４）。
【００７１】
一方、例えば、Ｓ１２の処理でリソースの負荷を計測したＶＭ（ＡＰ）３２のうち、負荷が第１閾値情報２３４以上であるＶＭ（ＡＰ）３２が存在しない場合（Ｓ１３のＮＯ）、負荷計測部２１１は、次の負荷計測タイミングになるまで待機する（Ｓ１１のＮＯ）。
【００７２】
なお、以下、負荷計測部２１１が計測するＶＭ（ＡＰ）３２のリソースは、ＣＰＵの使用率及びメモリの使用量であるものとする。そして、第１閾値情報２３４は、ＣＰＵの使用率に対する閾値である「９０（％）」と、メモリの使用量に対する閾値である「７．０（ＭＢ）」を含むものとして説明を行う。すなわち、事象特定部２１２は、Ｓ１３の処理において、ＣＰＵの使用率が「９０（％）」以上であるＶＭ（ＡＰ）３２が存在する場合に、Ｓ１４の処理を実行する。また、事象特定部２１２は、Ｓ１３の処理において、メモリの使用量が「７．０（ＭＢ）」以上であるＶＭ（ＡＰ）３２が存在する場合に、Ｓ１４の処理を実行する。以下、変更事象情報２３２の具体例について説明を行う。
【００７３】
［変更事象情報の具体例］
図１３は、変更事象情報２３２の具体例を示す図である。図１３に示す変更事象情報２３２は、変更事象情報２３２に含まれる各情報を示す「項番」と、各変更事象を示す「変更事象名」とを項目として有する。また、図１３に示す変更事象情報２３２は、「変更事象名」に設定された変更事象の開始日時を示す「事象開始日時」と、「変更事象名」に設定された変更事象が行われている間に発生したＶＭ（ＡＰ）３２の生成の日時を示す「ＶＭ生成発生日時」とを項目として有する。さらに、図１３に示す変更事象情報２３２は、「変更事象名」に設定された変更事象の実施状況を示す「実施状況」を項目として有する。
【００７４】
なお、「変更事象名」には、例えば、毎月予め定められた日時に実行される処理である「月次処理」、または、情報処理システム１０に対する新たなアプリケーションの導入や導入済のアプリケーションの改版を伴う新サービスの提供開始を示す「新サービス開始」が設定される。また、「変更事象名」には、例えば、定期的に行われる情報処理システム１０のメンテナンスを示す「定期メンテナンス」が設定される。すなわち、「変更事象名」には、事業者によって事前に予定されている事象が設定される。
【００７５】
そして、「変更事象名」に設定された変更事象が行われている間に新たなＶＭ（ＡＰ）３２の生成が発生しなかった場合、「ＶＭ生成発生日時」には、「なし」が設定される。また、「変更事象名」に設定された変更事象がまだ実施されていない場合、「ＶＭ生成発生日時」には、「−」が設定される。
【００７６】
さらに、「実施状況」には、「変更事象名」に設定された変更事象が既に終了したことを示す「実施済」、変更事象が行われている途中であることを示す「実施中」、または、変更事象がまだ開始していないことを示す「未実施」が設定される。
【００７７】
具体的に、図１３に示す変更事象情報２３２において、「項番」が「１」である情報には、「変更事業名」として「月次処理」が設定されている。また、図１３に示す変更事象情報２３２において、「項番」が「１」である情報には、「事象開始日時」として「２０１５／０１／２０  ２２：００：００」が設定され、「ＶＭ生成発生日時」として「２０１５／０１／２１  ０１：０１：４６」が設定されている。さらに、図１３に示す変更事象情報２３２において、「項番」が「１」である情報には、「実施状況」として「実施済」が設定されている。
【００７８】
また、図１３に示す変更事象情報２３２において、「項番」が「２」である情報には、「変更事業名」として「月次処理」が設定されている。また、図１３に示す変更事象情報２３２において、「項番」が「２」である情報には、「事象開始日時」として「２０１５／０２／２０  ２２：００：００」が設定され、「ＶＭ生成発生日時」として「なし」が設定されている。さらに、図１３に示す変更事象情報２３２において、「項番」が「２」である情報には、「実施状況」として「実施済」が設定されている。
【００７９】
すなわち、図１３に示す変更事象情報２３２は、「項番」が「１」である情報の変更事象が行われた際に新たなＶＭ（ＡＰ）３２の生成が行われたが、「項番」が「２」である情報の変更事象が行われた際には、新たなＶＭ（ＡＰ）３２の生成が行われなかったことを示している。図１３に含まれる他の情報については説明を省略する。
【００８０】
そして、Ｓ１４の処理において、事象特定部２１２は、例えば、変更事象情報２３２に含まれる情報のうち、「実施状況」が「実施中」である情報を特定する。具体的に、図１３に示す変更事象情報２３２の「項番」が「５」である情報の「実施状況」には、「実施中」が設定されている。そのため、事象特定部２１２は、現在のタイミングに対応する変更事象として、図１３に示す変更事象情報２３２の「項番」が「５」である情報の「変更事象名」に設定された情報である「月次処理」を特定する。
【００８１】
図１０に戻り、Ｓ１４の処理の後、ＶＭ（ＡＳＭ）３３の推移特定部２１３は、現在のタイミングに対応する変更事象が存在するか否かを判定する（Ｓ１５）。そして、現在のタイミングに対応する変更事象が存在した場合（Ｓ１５のＹＥＳ）、推移特定部２１３は、Ｓ１６の処理を実行するために、推移情報２３３を参照する。以下、推移情報２３３の具体例について説明を行う。
【００８２】
［推移情報の具体例（１）］
図１４から図１６及び図１９は、推移情報２３３の具体例を示す図である。図１４から図１６及び図１９に示す推移情報２３３は、推移情報２３３に含まれる各情報を示す「項番」と、各変更事象を示す「変更事象名」とを項目として有する。また、図１４から図１６及び図１９に示す推移情報２３３は、変更事象を識別する「識別情報」を項目として有する。図１４から図１６及び図１９に示す推移情報２３３における「識別情報」に設定される情報は、図１３に示す変更事象情報２３２における「項番」に設定された情報に対応する。さらに、図１４から図１６及び図１９に示す推移情報２３３は、図１２に示す負荷情報２３１で説明した「ＣＰＵ使用率（％）」と「メモリ使用量（ＭＢ）」とを項目として有する。
【００８３】
推移情報２３３は、外部攻撃推定処理が実行される前に、負荷情報２３１及び変更事象情報２３２に含まれる情報に基づき、ＶＭ（ＡＳＭ）３３の情報管理部２１５によって生成される。そして、推移情報２３３は、後述するように、外部攻撃推定処理の実行に伴って更新される。以下、外部攻撃推定処理が実行される前に生成される推移情報２３３（以下、初期状態の推移情報２３３とも呼ぶ）について説明を行う。
【００８４】
図１４から図１６は、初期状態の推移情報２３３を説明する具体例である。情報管理部２１５は、例えば、事業者による推移情報２３３の生成指示を受け付けた場合、変更事象情報２３２の「項番」に設定された情報毎に、「事象開始日時」に設定された日時から「ＶＭ生成発生日時」に設定された日時までの期間を所定数（例えば、１０）に等分する。そして、情報管理部２１５は、等分された各期間におけるＶＭ（ＡＰ）３２のリソースの負荷の平均値をそれぞれ算出する。図１３に示す変更事象情報２３２において、「項番」が「１」である情報の「変更事象日時」には、「２０１５／０１／２０  ２２：００：００」が設定されており、「ＶＭ生成発生日時」には、「２０１５／０１／２１  ０１：０１：４６」が設定されている。すなわち、この場合、「事象開始日時」に設定された日時から「ＶＭ生成発生日時」に設定された日時までの期間は、約３時間（約１８０分）である。そのため、情報管理部２１５は、図１２に示す負荷情報２３１を参照し、例えば、１８０分を１０等分した期間である１８分毎に、「事象開始日時」に設定された日時から「ＶＭ生成発生日時」に設定された日時までの期間におけるＶＭ（ＡＰ）３２のリソースの負荷の平均値を算出する。
【００８５】
具体的に、情報管理部２１５は、例えば、図１２に示す負荷情報２３１から、「日時」が「２０１５／０１／２０  ００：０２：００」から「２０１５／０１／２０  ００：１６：００」である情報（最初の１８分に対応する情報）の「ＣＰＵ使用率」に設定された情報を取得する。すなわち、情報管理部２１５は、「１１」、「１０」、「１３」、「２４」、「１３」、「７」、「８」、「１０」及び「１２」（図１２に示す負荷情報２３１における「項番」が「１」から「９」である情報の「ＣＰＵ使用率」に設定された情報）を取得する。そして、情報管理部２１５は、取得した情報の平均値である「１２」を算出する。その後、情報管理部２１５は、図１４の下線部分に示すように、「項番」が「１」である情報に対応する「ＣＰＵ使用率」に、算出した「１２（％）」を設定する。
【００８６】
また、情報管理部２１５は、例えば、図１２に示す負荷情報２３１から、「日時」が「２０１５／０１／２０  ００：０２：００」から「２０１５／０１／２０  ００：１６：００」である情報の「メモリ使用量」に設定された情報を取得する。すなわち、情報管理部２１５は、「２．０」、「２．１」、「２．０」、「２．１」、「２．０」、「１．９」、「２．０」、「２．０」及び「１．９」（図１２に示す負荷情報２３１における「項番」が「１」から「９」である情報の「メモリ使用量」に設定された情報）を算出する。そして、情報管理部２１５は、取得した情報の平均値である「２．０」を算出する。その後、情報管理部２１５は、図１４の下線部分に示すように、「項番」が「１」である情報に対応する「メモリ使用量」に、算出した「２．０（ＭＢ）」を設定する。
【００８７】
なお、この場合、情報管理部２１５は、図１４の下線部分に示すように、「項番」が「１」である情報の「変更事象名」に、図１３に示す変更事象情報２３２の「項番」が「１」である情報の「変更事象名」に設定された情報である「月次処理」を設定する。また、情報管理部２１５は、図１４の下線部分に示すように、「項番」が「１」である情報の「識別情報」に、図１３に示す変更事象情報２３２のうち、現在参照している情報の「項番」である「１」を設定する。
【００８８】
また、情報管理部２１５は、図１５の下線部分に示すように、図１３に示す変更事象情報２３２における「項番」が「１」である情報の「事象開始日時」に設定された日時から「ＶＭ生成発生日時」に設定された日時までの期間のうち、最初の１８分以外の期間についても推移情報２３３の生成を行う。
【００８９】
さらに、情報管理部２１５は、図１３に示す変更事象情報２３２に含まれる情報のうち、「実施状況」に「実施済」が設定された情報であって、「ＶＭ生成発生日時」に「なし」以外の情報が設定された各情報について、推移情報２３３の生成を行う。すなわち、情報管理部２１５は、図１６の下線部分に示すように、図１３に示す変更事象情報２３２に含まれる情報のうち、「項番」が「３」、「４」、「６」及び「７」である情報についても推移情報２３３の生成を行う。
【００９０】
これにより、情報管理部２１５は、情報処理システム１０が外部攻撃を受けているか否かを判定する際に用いられる情報を含むように、推移情報２３３を生成することが可能になる。なお、図１４から図１６に含まれる他の情報については説明を省略する。
【００９１】
図１０に戻り、推移特定部２１３は、推移情報２３３から、Ｓ１４の処理で特定した変更事象に対応する第１推移情報２４１を特定する（Ｓ１６）。
【００９２】
具体的に、Ｓ１４の処理において特定された変更事象が「月次処理」である場合、推移特定部２１３は、図１４に示す推移情報２３３から、「変更事象名」が「月次処理」である情報を第１推移情報２４１として特定する（Ｓ１６）。以下、第１推移情報２４１の具体例について説明を行う。
【００９３】
［第１推移情報の具体例］
図１７は、第１推移情報２４１の具体例を示す図である。図１７に示す第１推移情報２４１は、第１推移情報２４１に含まれる各情報を示す「項番」と、図１２に示す負荷情報２３１で説明した「ＣＰＵ使用率」と「メモリ使用量」とを項目として有する。なお、以下、Ｓ１４の処理において、現在のタイミングに対応する変更事象として「月次処理」が特定されたものとして説明を行う。
【００９４】
具体的に、図１７に示す第１推移情報２４１には、図１６に示す推移情報２３３のうち、「変更事象名」が「月次処理」であって「識別情報」が「１」である情報の「ＣＰＵ使用率」及び「メモリ使用量」に設定された情報と同じ情報が設定されている。図１７に含まれる他の情報については説明を省略する。
【００９５】
なお、図１３に示す変更事象情報２３２のうち、「変更事象名」に「月次処理」が設定され、「ＶＭ生成発生日時」に「なし」以外の情報が設定され、「実施状況」に「実施済」が設定されている情報は、「項番」が「１」、「３」及び「４」である。そのため、推移特定部２１３は、図１７で説明した第１推移情報２４１の他に、図１３に示す変更事象情報２３２における「項番」が「３」及び「４」である情報についても、第１推移情報２４１を生成する。以下、図１３に示す変更事象情報２３２における「項番」が「１」、「３」及び「４」に対応する第１推移情報２４１を、それぞれ第１推移情報２４１ａ、第１推移情報２４１ｂ及び第１推移情報２４１ｃとも呼ぶ。
【００９６】
図１０に戻り、情報管理部２１５は、Ｓ１４の処理で特定した変更事象の発生からリソースの負荷が第１閾値情報２３４以上になるまでの推移を示す第２推移情報２４２を生成する（Ｓ１７）。以下、第２推移情報２４２の具体例について説明を行う。
【００９７】
［第２推移情報の具体例］
図１８は、第２推移情報２４２の具体例を示す図である。図１８に示す第２推移情報２４２は、図１７に示す第１推移情報２４１と同じ項目を有している。なお、以下、現在の日時（Ｓ１３の処理が行われた日時）が２０１５年５月２１日００時０１分３２秒であるものとして説明を行う。
【００９８】
Ｓ１７の処理において、情報管理部２１５は、図１３に示す変更事象情報２３２の「実施状況」が「実施中」になっている「項番」が「５」である情報の「事象開始日時」に設定された日時から現在の日時までの期間を所定数（例えば、１０）に等分する。そして、情報管理部２１５は、等分された各期間におけるＶＭ（ＡＰ）３２のリソースの負荷の平均値をそれぞれ算出することにより、第２推移情報２４２を生成する。
【００９９】
具体的に、図１３に示す変更事象情報２３２において、「項番」が「５」である情報の「変更事象日時」には、「２０１５／０５／２０  ２２：００：００」が設定されている。すなわち、この場合、「事象開始日時」に設定された日時から現在の日時（２０１５年５月２１日００時０１分３２秒）までの期間は、約２時間（約１２０分）である。そのため、この場合、情報管理部２１５は、図１４等で説明した場合と同様に、１２０分を１０等分した期間である１２分毎に、「事象開始日時」に設定された日時から現在の日時までの期間におけるＶＭ（ＡＰ）３２のリソースの負荷の平均値を算出する。
【０１００】
そして、情報管理部２１５は、例えば、ＶＭ（ＡＰ）３２のＣＰＵ使用率の負荷の平均値（最初の１２分についての平均値）が「１０」であった場合、図１８に示すように、「項番」が「１」である情報の「ＣＰＵ使用率」に「１０（％）」を設定する。また、情報管理部２１５は、例えば、ＶＭ（ＡＰ）３２のメモリ使用量の負荷の平均値（最初の１２分についての平均値）が「２．０」であった場合、図１８に示すように、「項番」が「１」である情報の「メモリ使用量」に「２．０（ＭＢ）」を設定する。図１８に含まれる他の情報については説明を省略する。
【０１０１】
図１１に戻り、ＶＭ（ＡＳＭ）３３の攻撃推定部２１４は、Ｓ１６の処理で特定した第１推移情報２４１毎に、それぞれ時系列順が同じである第１推移情報２４１に含まれる各情報と、Ｓ１７の処理で生成した第２推移情報２４２に含まれる各情報との差分の総和を算出する（Ｓ２１）。なお、以下、第１推移情報２４１に含まれる各情報をそれぞれ第１平均値情報２４１とも呼び、第２推移情報２４２に含まれる各情報をそれぞれ第２平均値情報２４２とも呼ぶ。
【０１０２】
具体的に、攻撃推定部２１４は、例えば、図１７に示す第１推移情報２４１ａと、図１８に示す第２推移情報２４２とのそれぞれについて、「項番」に設定された情報が互いに同一である情報の差分（差分の絶対値）を算出する。例えば、図１７に示す第１推移情報２４１ａにおける「項番」が「１」である情報の「ＣＰＵ使用率」には、「１２」が設定されている。そして、図１８に示す第２推移情報２４２における「項番」が「１」である情報の「ＣＰＵ使用率」には、「１０」が設定されている。そのため、攻撃推定部２１４は、「項番」が「１」である各情報の差分の絶対値として「２」を算出する。
【０１０３】
また、例えば、図１７に示す第１推移情報２４１ａにおける「項番」が「２」である情報の「ＣＰＵ使用率」には、「２３」が設定されている。そして、図１８に示す第２推移情報２４２における「項番」が「２」である情報の「ＣＰＵ使用率」には、「２７」が設定されている。そのため、攻撃推定部２１４は、「項番」が「２」である情報の差分の絶対値として「４」を算出する。
【０１０４】
同様に、攻撃推定部２１４は、「項番」が「３」から「１０」である各情報の差分の絶対値として、それぞれ「３」、「８」、「１」、「６」、「４」、「２」、「０」及び「０」を算出する。そして、攻撃推定部２１４は、第１推移情報２４１ａ及び第２推移情報２４２の「項番」が「１」から「１０」である情報の差分の絶対値の総和として、「３０」を算出する。
【０１０５】
さらに、攻撃推定部２１４は、Ｓ１６の処理で特定した他の第１推移情報２４１（第１推移情報２４１ｂ及び第１推移情報２４１ｃ）と、Ｓ１７の処理で生成した第２推移情報２４２との差分の総和をそれぞれ算出する。以下、第１推移情報２４１ｂと第２推移情報２４２との差分の総和が「６０」であり、第１推移情報２４１ｃと、第２推移情報２４２との差分の総和が「１０」であるものとして説明を行う。
【０１０６】
図１１に戻り、攻撃推定部２１４は、Ｓ１６の処理で特定した第１推移情報２４１のうち、Ｓ２１の処理で算出した総和が判定情報２３６以上である第１推移情報２４１が存在するか否かを判定する（Ｓ２２）。そして、攻撃推定部２１４は、Ｓ２１の処理で算出した総和が判定情報２３６以上である第１推移情報２４１が存在すると判定した場合（Ｓ２２のＹＥＳ）、攻撃推定部２１４は、情報処理システム１０に対して外部攻撃が行われていると推定する。
【０１０７】
すなわち、Ｓ２１の処理で算出した総和が判定情報２３６以上である第１推移情報２４１が存在すると判定した場合、攻撃推定部２１４は、情報処理システム１０のリソースの負荷の推移が、過去に同じ変更事象が行われていたときの負荷の推移と乖離していると判定する。そのため、攻撃推定部２１４は、情報処理システム１０のリソースの負荷が上昇した原因が、現在行われている変更事象によるものではないと判定する。したがって、攻撃推定部２１４は、この場合、情報処理システム１０に対して外部攻撃が行われていると推定する。
【０１０８】
これにより、攻撃推定部２１４は、情報処理システム１０に対して、例えば、ＥＤｏＳ攻撃のように、通常の利用者によって送信される処理要求よりも若干多い程度の処理要求を情報処理システム１０に送信することによって行われる攻撃であっても検知することが可能になる。そのため、攻撃推定部２１４は、推定可能な外部攻撃を拡充することが可能になる。
【０１０９】
具体的に、Ｓ２２の処理において、例えば、判定情報２３６が「５０」である場合、第１推移情報２４１ｂと第２推移情報２４２との差分の総和である「６０」は、判定情報２３６以上である（Ｓ２２のＹＥＳ）。そのため、この場合、攻撃推定部２１４は、Ｓ２３以降の処理を実行する。
【０１１０】
一方、Ｓ２２の処理において、例えば、判定情報２３６が「８０」である場合、Ｓ２１で算出した全ての総和は、判定情報２３６未満である（Ｓ２２のＮＯ）。そのため、この場合、攻撃推定部２１４は、Ｓ２５以降の処理を実行する。
【０１１１】
なお、図１０のＳ１５の処理において、現在のタイミングに対応する変更事象が存在しない場合についても（Ｓ１５のＮＯ）、攻撃推定部２１４は、Ｓ２３の処理を実行する（Ｓ２２のＹＥＳ）。すなわち、変更事象情報２３２に現在のタイミングに対応する変更事象が存在しない場合、ＶＭ（ＡＰ）３２のリソースの負荷が上昇する可能性があるものとして予め変更事象情報２３２に設定された変更事象以外の原因によって、ＶＭ（ＡＰ）３２のリソースの負荷が上昇したことになる。そのため、攻撃推定部２１４は、この場合についても、情報処理システム１０に対して外部攻撃が行われていると推定する。
【０１１２】
そして、Ｓ２３の処理の後、ＶＭ（ＡＳＭ）３３の情報通知部２１６は、Ｓ２３の処理の結果を通知する（Ｓ２４）。具体的に、情報通知部２１６は、ＶＭ（ＡＰ）３２のリソースの負荷の上昇が、外部攻撃によるものである可能性がある旨の情報を事業者（例えば、図示しない事業者端末）に送信する。これにより、事業者は、情報処理システム１０に対する外部攻撃の存在の可能性を認識することが可能になる。また、事象者は、情報処理システム１０に対する外部攻撃の存在の有無について、必要な調査等を行うことが可能になる。
【０１１３】
さらに、ＶＭ生成指示部２１７は、この場合、新たなＶＭ（ＡＰ）３２のリソースの生成の指示を管理装置１に行わない。これにより、ＶＭ（ＡＳＭ）３３は、外部攻撃によるものである可能性があるリソースの負荷の上昇に伴って、新たなＶＭ（ＡＰ）３２が生成されることを防止することが可能になる。そのため、事業者は、情報処理システム１０に対する外部攻撃によって経済的負担を強いられることを防止することが可能になる。
【０１１４】
一方、Ｓ２１の処理で算出した総和が判定情報２３６以上である第１推移情報２４１が存在しないと判定した場合（Ｓ２２のＮＯ）、攻撃推定部２１４は、情報処理システム１０に対して外部攻撃が行われていないと推定する（Ｓ２５）。そして、ＶＭ生成指示部２１７は、この場合、新たなＶＭ（ＡＰ）３２の生成を管理装置１に指示する（Ｓ２６）。これにより、ＶＭ生成指示部２１７は、攻撃推定部２１４が情報処理システム１０に対する外部攻撃が存在しないと判定した場合、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に行うことが可能になる。
【０１１５】
その後、情報管理部２１５は、Ｓ１６の処理で生成した第２推移情報２４２を、Ｓ１４の処理で特定した変更事象と関連付けて、推移情報２３３の一部として情報格納領域２３０に記憶する（Ｓ２７）。以下、Ｓ２７の処理を実行した後の推移情報２３３の具体例について説明を行う。
【０１１６】
［推移情報の具体例（２）］
図１９は、Ｓ２７の処理を実行した後の推移情報２３３の具体例について説明する図である。図１９に示す推移情報２３３は、図１６で説明した推移情報２３３に対して、図１８で説明した第２推移情報２４２に対応する情報（図１９の下線部分）が追加された場合の推移情報２３３である。
【０１１７】
具体的に、情報管理部２１５は、Ｓ２７の処理において、「項番」が「５１」である情報の「変更事象名」として、図１３に示す変更事象情報２３２における「実施状況」が「実施中」である情報の「変更事象名」に設定された情報である「月次処理」を設定する。また、情報管理部２１５は、「項番」が「５１」である情報の「識別情報」として、図１３に示す変更事象情報２３２における「実施状況」が「実施中」である情報の「項番」に設定された情報である「５」を設定する。
【０１１８】
さらに、情報管理部２１５は、「項番」が「５１」である情報の「ＣＰＵ使用率」として、図１８に示す変更事象情報２３２における「項番」が「１」である情報の「ＣＰＵ使用率」に設定された情報である「１０（％）」を設定する。また、情報管理部２１５は、「項番」が「５１」である情報の「メモリ使用量」として、図１８に示す変更事象情報２３２における「項番」が「１」である情報の「メモリ使用量」に設定された情報である「２．０（ＭＢ）」を設定する。図１９に含まれる他の情報については説明を省略する。
【０１１９】
すなわち、情報管理部２１５は、この場合、Ｓ１６の処理で生成した第２推移情報２４２に関する情報に基づいて、情報格納領域２３０に記憶された推移情報２３３を更新する。これにより、情報管理部２１５は、Ｓ１１以降の処理を再度実行する場合に、より精度の高い推移情報２３３を参照して、処理を実行することが可能になる。
【０１２０】
このように、本実施の形態におけるＶＭ（ＡＳＭ）３３は、情報処理システム１０（ＶＭ（ＡＰ）３２）のリソースの負荷を計測する。そして、計測したリソースの負荷が第１閾値情報２３４以上になった場合、ＶＭ（ＡＳＭ）３３は、情報処理システム１０に対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報２３２から、現在のタイミングに対応する変更事象を特定する。
【０１２１】
さらに、ＶＭ（ＡＳＭ）３３は、過去に変更事象が発生したタイミングからリソースの負荷が第１閾値情報２３４以上になるまでの負荷の推移をそれぞれ示す推移情報２３３から、特定した変更事象に対応する第１推移情報２４１を特定する。そして、ＶＭ（ＡＳＭ）３３は、特定した第１推移情報２４１と、特定した変更事象が発生したタイミングからリソースの負荷が第１閾値情報２３４以上になるまでの第２推移情報２４２との相関度合いに基づいて、情報処理システム１０に対する外部攻撃の存在の有無を推定する。
【０１２２】
これにより、ＶＭ（ＡＳＭ）３３は、例えば、第１推移情報が示す内容と第２推移情報が示す内容との差異が判定情報２３６以上である場合、ＶＭ（ＡＰ）３２のリソースの負荷が第１閾値情報２３４まで上昇した原因が、外部攻撃によるものである可能性があると推定することが可能になる。
【０１２３】
一方、ＶＭ（ＡＳＭ）３３は、例えば、第１推移情報が示す内容と第２推移情報が示す内容との差異が判定情報２３６未満である場合、ＶＭ（ＡＰ）３２のリソースの負荷が第１閾値情報２３４まで上昇した原因が、外部攻撃によるものではなく、サービスの利用量の増加に伴うものであると判定することが可能になる。そのため、この場合、ＶＭ（ＡＳＭ）３３は、例えば、新たなＶＭ（ＡＰ）３２の生成の指示を管理装置１に送信すべきと判定することが可能になる。
【０１２４】
なお、情報管理部２１５は、所定のタイミングで、情報格納領域２３０に記憶された負荷情報２３１のうち、外部攻撃推定処理に使用しない情報の削除を行うものであってもよい。具体的に、情報管理部２１５は、例えば、情報格納領域２３０に記憶された負荷情報２３１のうち、Ｓ１７の処理において第２推移情報２４２を生成する際に使用される可能性がある情報以外の情報を削除するものであってよい。これにより、情報管理部２１５は、負荷情報２３１を記憶するために必要な情報格納領域２３０の大きさを抑えることが可能になる。
【０１２５】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１２６】
（付記１）
コンピュータに、
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
処理を実行させることを特徴とする推定プログラム。
【０１２７】
（付記２）
付記１において、さらに、
前記第２推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
処理をコンピュータに実行させることを特徴とする推定プログラム。
【０１２８】
（付記３）
付記１において、
前記情報処理システムは、１台以上の仮想マシンにおいて動作する情報処理システムであり、
前記所定の値は、前記情報処理システムにおいて新たな仮想マシンの生成が行われる前記リソースの負荷に対応する値である、
ことを特徴とする推定プログラム。
【０１２９】
（付記４）
付記３において、さらに、
前記情報処理システムに対する外部攻撃が存在しないと推定した場合、前記情報処理システムにおいて新たな仮想マシンの生成を行う、
ことを特徴とする推定プログラム。
【０１３０】
（付記５）
付記１において、
前記第１推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第１平均値情報を含み、
前記第２推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第２平均値情報を含み、
前記推定では、
前記第１推移情報毎に、それぞれ時系列順が同じである前記第１平均値情報と前記第２平均値情報との差分の総和を算出し、
前記第１推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定プログラム。
【０１３１】
（付記６）
情報処理システムのリソースの負荷を計測する負荷計測部と、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定する事象特定部と、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する攻撃推定部と、を有する、
ことを特徴とする推定装置。
【０１３２】
（付記７）
付記６において、
前記記憶部は、前記第２推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として記憶する、
ことを特徴とする推定装置。
【０１３３】
（付記８）
付記６において、
前記第１推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第１平均値情報を含み、
前記第２推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第２平均値情報を含み、
前記攻撃推定部は、
前記第１推移情報毎に、それぞれ時系列順が同じである前記第１平均値情報と前記第２平均値情報との差分の総和を算出し、
前記第１推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定装置。
【０１３４】
（付記９）
情報処理システムのリソースの負荷を計測し、
計測した前記リソースの負荷が所定の値以上になった場合、記憶部に記憶された、前記情報処理システムに対する変更事象と変更事象の発生タイミングとが関連付けられた変更事象情報から、現在のタイミングに対応する前記変更事象を特定し、
前記記憶部に記憶された、過去に変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの負荷の推移をそれぞれ示す推移情報から、特定した前記変更事象に対応する第１推移情報を特定し、特定した前記第１推移情報と、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの第２推移情報との相関度合いに基づいて、前記情報処理システムに対する外部攻撃の存在の有無を推定する、
ことを特徴とする推定方法。
【０１３５】
（付記１０）
付記９において、さらに、
前記第２推移情報を、現在のタイミングに対応する前記変更事象と関連付けて前記推移情報の一部として前記記憶部に記憶する、
ことを特徴とする推定方法。
【０１３６】
（付記１１）
付記９において、
前記第１推移情報は、過去に前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第１平均値情報を含み、
前記第２推移情報は、現在のタイミングに対応する前記変更事象が発生したタイミングから前記リソースの負荷が所定の値以上になるまでの期間を前記所定数に分割した期間毎における、前記リソースの負荷の平均値を示す複数の第２平均値情報を含み、
前記推定では、
前記第１推移情報毎に、それぞれ時系列順が同じである前記第１平均値情報と前記第２平均値情報との差分の総和を算出し、
前記第１推移情報に、算出した前記総和が所定の基準値以下である情報が存在しない場合、前記情報処理システムに対して外部攻撃が行われていると推定する、
ことを特徴とする推定方法。
【符号の説明】
【０１３７】
１：管理装置                ２：物理マシン
３：仮想マシン              １１：利用者端末
【図１】
2017123037.tif 000003
【図２】
2017123037.tif 000004
【図３】
2017123037.tif 000005
【図４】
2017123037.tif 000006
【図５】
2017123037.tif 000007
【図６】
2017123037.tif 000008
【図７】
2017123037.tif 000009
【図８】
2017123037.tif 000010
【図９】
2017123037.tif 000011
【図１０】
2017123037.tif 000012
【図１１】
2017123037.tif 000013
【図１２】
2017123037.tif 000014
【図１３】
2017123037.tif 000015
【図１４】
2017123037.tif 000016
【図１５】
2017123037.tif 000017
【図１６】
2017123037.tif 000018
【図１７】
2017123037.tif 000019
【図１８】
2017123037.tif 000020
【図１９】
2017123037.tif 000021