(57)【要約】      （修正有）【課題】複数のサーバを利用し、また、仮想環境化で稼動するなど、その構成が複雑化している業務用のシステムにおいて、改ざん等の発生箇所の特定を効率的に行う。【解決手段】複数の仮想環境サーバで構成されるシステムにおいて、改ざん等の問題発生の確認をハッシュ値を用いて判断する際、システムの構成要件を階層的に判断する。例えば、業種別、サーバ別、モジュール別の順に、ハッシュ値を用いた比較を行う。さらに、外部の影響を受け易さを示す係数を記録しておき、それぞれの階層における比較の際、当該係数の順にハッシュ値を用いた比較を実施する。【選択図】図１
2015079404.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバで構成されるシステムにおける不正を検知する不正検知方法において、
前記サーバを構成する複数のモジュールそれぞれについてモジュールハッシュ値を算出し、
前記モジュールハッシュ値について、対応するサーバ毎に実サーバハッシュ値を算出し、
前記実サーバハッシュ値について、複数のサーバから構成される業務サーバ群毎に業務別ハッシュ値を算出し、
前記システムについて不正検知を実行する場合、当該システムバックアップシステムに関し、当該バックアップシステムを構成する仮想サーバを構成する複数のモジュールそれぞれについて、仮想モジュールハッシュ値を算出し、
前記仮想モジュールハッシュ値について、対応する仮想サーバ毎に仮想サーバハッシュ値を算出し、
前記仮想サーバハッシュ値について、複数の仮想サーバから構成される仮想業務サーバ群毎に業務毎に比較用ハッシュ値を算出し、
前記比較用ハッシュ値と前記業務別ハッシュ値について対応するもの同士を比較し
当該比較の結果、一致しない場合、一致しないハッシュ値に対応する業務に含まれるサーバの実サーバハッシュ値と対応する仮想サーバハッシュ値を比較し、
当該比較の結果、一致しない場合、一致しないハッシュ値に対応するサーバを構成するモジュールのモジュールハッシュ値と、仮想モジュールハッシュ値を比較し、
当該比較の結果に基づいて、不正のあったモジュールを特定することを特徴とする不正検知方法。
【請求項２】
請求項１に記載の不正検知方法において、
前記業務サーバ群は複数の業務サーバ群であり、前記仮想業務サーバ群は複数の仮想業務サーバ群であり、
前記複数の業務サーバ群それぞれおよび前記複数の仮想業務サーバ群のそれぞれについて、外部から影響の受け易さを示す第1の影響度を記録しておき、
前記比較用ハッシュ値と前記業務別ハッシュ値の比較は、前記第1の影響度が外部からの影響が受けやすいものから順に行うことを特徴とする不正検知方法。
【請求項３】
請求項２に記載の不正検知方法において、
前記複数のサーバそれぞれおよび前記複数の仮想サーバのそれぞれについて、外部から影響の受け易さを示す第2の影響度を記録しておき、
前記実サーバハッシュ値と前記仮想サーバハッシュ値の比較は、前記第2の影響度が外部からの影響が受けやすいものから順に行うことを特徴とする不正検知方法。
【請求項４】
請求項１乃至３のいずれかに記載の不正検知方法において、
前記比較用ハッシュ値と業務別ハッシュ値の格納場所を示すパス名を記録しておき、
当該記録に基づいて、前記比較用ハッシュ値と業務別ハッシュ値を特定し、特定された当該比較用ハッシュ値と業務別ハッシュ値の比較を実行することを特徴とする不正検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるシステムにおいて、改ざん等の不正を確認するための技術に関する。その中でも特に、システムを複数の仮想環境サーバを用いて構築した場合の技術に関する。
【背景技術】
【０００２】
現在、様々な業務の遂行のために、システムが利用されている。システムはネットワークと接続されており、外部からの攻撃にさらされ、データが改ざんされるなどの問題を生じることがある。特に、データの真正性を保証することが必要である。
【０００３】
このための従来技術として、特許文献１がある。特許文献１では、データベースに格納された電子データの真正性を保証し、またバックアップされたデータの真正性を保証するためのシステムと方法を提供することを目的とし、以下の構成を取っている。データベースの電子データをレコード単位でハッシュ関数によりハッシュ値を求め、テーブルのレコードの累計についてハッシュ関数によりハッシュ値を作成して保存し、ハッシュ値を証明書の形式で公開し、証明書に対応する電子データ領域のみを外部記憶装置にバックアップする。バックアップファイルの電子データからハッシュ値を計算し、公開された証明書に記載されたハッシュ値と比較して、バックアップファイルの真正性を検証し、真正性が検証されたときのみシステムに電子データを書き戻す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2004-259229号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、現在、業務用のシステムにおいては、複数のサーバを利用し、また、仮想環境化で稼動するなど、その構成が複雑化している。さらに、真正性以外にも脆弱性の問題は様々あり、特許文献１のような構成では、脆弱性の問題の確認に手間が掛かってしまうとの課題がある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明では、複数の仮想環境サーバで構成されるシステムにおいて、改ざん等の問題発生の確認をハッシュ値を用いて判断する際、システムの構成要件を階層的に判断するものである。例えば、業種別、サーバ別、モジュール別の順に、ハッシュ値を用いた比較を行う。このことで、改ざん等の発生箇所(モジュール)の特定が可能になる。
【０００７】
さらに、本発明のより好適な一態様としては、上記構成要件について、外部の影響を受け易さを示す係数を記録しておき、それぞれの階層における比較の際、当該係数の順にハッシュ値を用いた比較を実施するものも含まれる。
【発明の効果】
【０００８】
上記のように階層的な比較を行うことで、問題発生箇所を効率的に判断可能になる。さらに、影響を受けやすい順に比較(確認)することで、更なる効率化が図れる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態における不正検知システムの概略の構成図
【図２】本発明の一実施形態で用いられるハッシュ管理ファイル１１−１及びサーバ定義ファイル１１−２を示す図
【図３】本発明の一実施形態で用いられるサーバ別ハッシュ管理ファイル１１−３及びモジュールハッシュ管理ファイル１１−４、モジュールファイル１１−５を示す図
【図４】本発明の一実施形態におけるデータ保存時の保存対象ファイルを保存する動作を示すフローチャート
【図５】本発明の一実施形態におけるデータ比較の際の保存対象ファイルを保存する動作を示すフローチャート
【図６】本発明の一実施形態におけるハッシュファイルを比較処理するステップＳ５４の詳細フローチャート
【図７】本発明の一実施形態における実サーバハッシュファイル１２−１と、サーバ別ハッシュファイル１４−１を比較処理するステップＳ６４の詳細フローチャート
【図８】本発明の一実施形態におけるモジュールハッシュファイル１２−２と、オリジナルハッシュファイル１４−２を比較処理するステップＳ７４の詳細フローチャート
【発明を実施するための形態】
【００１０】
以降、本発明を実施するための形態(「本実施形態」という)を、図等を参照して詳細に説明する。
図１は、本実施形態における不正検知システムの概略の構成図である。以下、図面および明細書で、データベースを「ＤＢ」、アプリケーションを「ＡＰ」と省略している場合がある。また、複数台ある場合は、a〜ｘと記載している場合がある。
【００１１】
不正検知システム１０は、端末１１と、業務１サーバ１２ａ〜１２ｘと、業務２サーバ１２’ａ〜１２’ｘと、バックアップサーバ１３とを有している。本実施形態の不正検知システム１０は、単一の計算機(サーバ)によって構成されている。しかし、これに限定されず、不正検知システム１０の機能を構成する各部、および各データベースが複数の計算機(サーバ)に分散して設けられ、これら複数の計算機(サーバ)がネットワークやパスを介して接続されていても良い。
【００１２】
端末１１は、ネットワークと業務１サーバ１２ａ〜１２ｘと、業務２サーバ１２’ａ〜１２’ｘと、バックアップサーバ１３とに接続されている。端末１１は、後述するハッシュ管理ファイル１１−１、および後述するサーバ定義ファイル１１−２に基づいて、後述する業種別ハッシュファイル１１−５と、後述する比較用ハッシュファイル１１−６とを比較し、後述する影響レベル別サーバ群Ａ（実サーバ）１２が脆弱性の影響を受けているか否かを判定する機能を有している。端末１１は、後述するサーバ別ハッシュ管理ファイル１１−３に基づいて、後述する実サーバハッシュファイル１２−１と後述するサーバ別ハッシュファイル１５−１とを比較し、後述する業務１サーバ１２ａ〜１２ｘと、後述する業務２サーバ１２’ａ〜１２’ｘが脆弱性の影響を受けているか否かを判定する機能を有している。端末１１は、後述するモジュールハッシュ管理ファイル１１−４に基づいて、後述するモジュールハッシュファイル１２−２と後述するオリジナルハッシュファイル１５−２とを比較し、比較したモジュールが脆弱性の影響を受けているか否かを判定し、ユーザへ警告を発する機能を有している。警告を発する場合は、比較したモジュールが不一致となった場合に警告を発する。なお、警告内容は、不一致となったモジュール名称(フルパス)及び脆弱性の影響を受けている旨を端末１１に表示させる。
【００１３】
ハッシュ管理ファイル１１−１は、後述するサーバ定義ファイル１１−２に基づいて分類されたサーバ群毎に、影響レベルを設定し、後述する業種別ハッシュファイル１１−５と、後述する比較用ハッシュファイル１１−６が端末上に保存されているかを管理すると共に、後述する業種別ハッシュファイル１１−５と、後述する比較用ハッシュファイル１１−６との比較結果を管理する。
【００１４】
サーバ定義ファイル１１−２は、後述する影響レベル別サーバ群（実サーバ）１２を構成するサーバが、後述する業務１サーバ１２ａ〜１２ｘのいずれで構成されているかを示している。ぞれぞれ、サーバ群毎にそれを構成する業務サーバを識別する情報が記録されている。
サーバ別ハッシュ管理ファイル１１−３は、後述する業務１サーバ１２ａ〜１２ｘの各サーバについて、後述する実サーバハッシュファイル１２−１と、後述するサーバ別ハッシュファイル１５−１が保存されているかを管理すると共に、後述する実サーバハッシュファイル１２−１と、後述するサーバ別ハッシュファイル１５−１との比較結果を管理する。
【００１５】
モジュールハッシュ管理ファイル１１−４は、後述する業務１サーバ１２ａ〜１２ｘの各サーバ内の各モジュールについて、後述するモジュールハッシュファイル１２−２と後述するオリジナルハッシュファイル１５−２が保存されているかを管理すると共に、後述する後述するモジュールハッシュファイル１２−２と後述するオリジナルハッシュファイル１５−２との比較結果を管理する。
モジュールファイル１１−５は、モジュールの内容をハッシュ化し、記載したものである。
【００１６】
端末１１は、単一の端末、もしくは単一の計算機(サーバ)によって構成されている。しかし、これに限定されず、機能を構成する各部及び各データベースが複数の端末、もしくは複数の計算機(サーバ)に分散して設けられ、これら複数の端末、もしくは複数の計算機(サーバ)がネットワークやパスを介して接続されていても良い。
【００１７】
業務１サーバ１２ａは、後述する実サーバハッシュファイル１２−１と、後述するモジュールハッシュファイル１２−２と、保存対象となる、後損対象モジュール１３−３とを有している。業務１サーバ１２ａ〜１２ｘと、業務２サーバ１２’ａ〜１２’ｘは、単一の計算機(サーバ)によって構成されている。しかし、これに限定されず、機能を構成する各部、および各データベースが複数の計算機(サーバ)に分散して設けられ、これら複数の計算機(サーバ)がネットワークやパスを介して接続されていても良い。業務１サーバ１２ａ〜１２ｘと、業務２サーバ１２’ａ〜１２’ｘは、任意の台数を有する。業務レベル別サーバ群(実サーバ)１２は、端末１１の有するサーバ定義ファイル１１−２に記述された内容によって定義される。
【００１８】
業務レベル別サーバ群(実サーバ)１２は、システム内にあるサーバの、機能別、もしくは外部から不正アクセスされる危険性によって分類されたサーバ群である。実サーバハッシュファイル１２−１は、モジュール管理ファイル１１−４を参照して、複数の後述するモジュールハッシュファイル１２−２をまとめてハッシュ化した結果のハッシュ値が記録される。モジュールハッシュファイル１２−２は、保存対象モジュール１２−３のハッシュ値が記録される。
【００１９】
バックアップサーバ１３は、後述する業務１サーバ(仮想環境)１４ａ〜１４ｘと、後述する業務２サーバ(仮想環境)１４’ａ〜１４’ｘを有する。業務１サーバ(仮想環境)１４ａ〜１４ｘと、業務２サーバ(仮想環境)１４’ａ〜１４’ｘは、バックアップサーバ１３内に構成された仮想環境領域である。業務１サーバ(仮想環境)１４ａ〜１４ｘと、業務２サーバ(仮想環境)１４’ａ〜１４’ｘは、任意の台数を有する。影響レベル別サーバ群(仮想環境)１４は、末１１の有するサーバ定義ファイル１１−２に記述された内容によって、仮想環境下で分類されたサーバ群である。
【００２０】
業務１サーバ(仮想環境)１４ａは、サーバ別ハッシュファイル１４−１と、オリジナルハッシュファイル１４−２と、保存対象モジュール１４−３と、バックアップ格納部１４−４を有する。サーバ別ハッシュファイル１４−１は、複数の後述するオリジナルハッシュファイル１４−２をまとめてハッシュ化した結果のハッシュ値が記録される。オリジナルハッシュファイル１４−２は、保存対象モジュール１４−３のハッシュ値が記録される。バックアップ格納部１４−４は、業務１サーバ(仮想環境)１４ａに対応する業務１サーバ１２ａ、業務１サーバ(仮想環境)１４ｂに対応する業務１サーバ１２ｂ、といった、対応するサーバの有する保存対象モジュール１２−３を保存する。
【００２１】
バックアップ格納部１４−４では、システム構築の際に、上述した保存対象モジュール１２−３の保存が実施される。しかし、これに限定されず、任意のタイミングでこの保存処理を実施しても良い。バックアップ格納部１４−４に、対応するサーバの有する保存対象モジュール１２−３を保存することで、不正検知システム１０内の実サーバが不正操作等を実施され、モジュール改ざん等が発生しても、バックアップ用ファイルを外部サーバに有しておくことができる。バックアップ格納部１４−４に、対応するサーバの有する保存対象モジュール１２−３を保存することで、複数サーバのバックアップを、単一または複数台の計算機(サーバ)に集約して保存することが可能である。
【００２２】
図２は、ハッシュ管理ファイル１１−１及びサーバ定義ファイル１１−２を示す図である。
ハッシュ管理ファイル１１−１は、サーバ群名２０ａ、保存フラグ(仮想環境)２０ｂ、保存フラグ(実サーバ)２０ｃ、影響レベル２０ｄ、比較結果２０ｅの項目を有している。サーバ群名２０ａの項目は、不正検知システム１０内のサーバ群の名称が格納されている。保存フラグ(仮想環境)２０ｂの項目は、サーバ群名２０ａの項目で記載されたサーバ群の、端末１１内に有する業種別ハッシュファイル１１−５の存在有無を示す値が格納されている。保存フラグ(実サーバ)２０ｃの項目は、サーバ群名２０ａの項目で記載されたサーバ群の、端末１１内に有する比較用ハッシュファイル１１−６の存在有無を示す値が格納されている。
【００２３】
影響レベル２０ｄの項目は、システム内にあるサーバの、機能別、もしくは外部から不正アクセスされる危険性について、任意に設定した値が格納されている。比較結果２０ｅの項目は、サーバ群名２０ａの項目で記載されたサーバ群の、端末１１内に有する業種別ハッシュファイル１１−５と、端末１１内に有する比較用ハッシュファイル１１−６を比較した結果の差異が存在するか否かを示した値が記載されている。
【００２４】
サーバ定義ファイル１１−２は、不正検知システム１０内の各サーバについて、分類した結果を、サーバ群としてまとめた結果２１ａが記載された項目を有している。サーバ群としてまとめた結果２１ａは、不正検知システム１０内の各サーバについて、外部影響の受けやすさで分類した結果が格納されている。しかし、不正アクセスの容易さなど、任意の分類基準によって分類しても良い。
【００２５】
図３は、サーバ別ハッシュ管理ファイル１１−３及びモジュールハッシュ管理ファイル１１−４、モジュールファイル１１−５を示す図である。
サーバ別ハッシュ管理ファイル１１−３は、サーバ名２２ａ、フラグ(仮想環境)２２ｂ、フラグ(実サーバ)２２ｃ、比較結果２２ｄの項目を有している。サーバ名２２ａの項目は、不正検知システム１０内のサーバの名称が格納されている。フラグ(仮想環境)２２ｂの項目は、バックアップサーバ１３内に有する仮想環境下にある、サーバ名２２ａの項目で記載されたサーバの、サーバ別ハッシュファイル１４−１の存在有無を示す値が格納されている。フラグ(実サーバ)２２ｃの項目は、サーバ名２２ａの項目で記載されたサーバが有する、実サーバハッシュファイル１２−１の存在有無を示す値が格納されている。
【００２６】
比較結果２２ｄの項目は、業務１サーバ(仮想環境)１４ａに対応する業務１サーバ１２ａ、業務１サーバ(仮想環境)１４ｂに対応する業務１サーバ１２ｂ、といった、対応するサーバの有する実サーバハッシュファイル１２−１と、サーバ別ハッシュファイル１４−１を比較した結果の差異が存在するか否かを示した値が記載されている。モジュールハッシュ管理ファイル１１−４は、モジュール名２３ａ、フラグ(仮想環境)２３ｂ、フラグ(実サーバ)２３ｃ、比較結果２３ｄ、パス２２ｅの項目を有している。モジュール名２３ａの項目は、保存対象とするモジュールの名称が格納されている。フラグ(仮想環境)２３ｂの項目は、バックアップサーバ１３内に有する仮想環境下にある、サーバ名２２ａの項目で記載されたサーバの、オリジナルハッシュファイル１４−２の存在有無を示す値が格納されている。
【００２７】
フラグ(実サーバ)２３ｃの項目は、サーバ名２２ａの項目で記載されたサーバが有する、モジュールハッシュファイル１２−２の存在有無を示す値が格納されている。比較結果２３ｄの項目は、業務１サーバ(仮想環境)１４ａに対応する業務１サーバ１２ａ、業務１サーバ(仮想環境)１４ｂに対応する業務１サーバ１２ｂ、といった、対応するサーバの有するモジュールハッシュファイル１２−２と、オリジナルハッシュファイル１４−２を比較した結果の差異が存在するか否かを示した値が記載されている。また、パス２２ｅの項目は、モジュール名２３ａの項目で示したモジュールが、どのサーバのどの位置にあるかを示す項目である。モジュールファイル１１−５は、保存対象となるモジュールのデータをハッシュ化した結果が記載されている。
【００２８】
図４は、データ保存時の保存対象ファイルを保存する動作を示すフローチャートである。以下、図４に示す各処理（ステップ）を説明する。
不正検知システム１０においては、例えばシステム構築の際やシステム更改の際、毎日１回ずつ(定時)などで起動し、図４の処理が実行される。
【００２９】
処理を開始すると、ステップＳ１０において、端末１１から要求を出し、バックアップサーバ１３にてこれに応答して通信を確立する。端末１１とバックアップサーバ１３の間の通信は、バックアップデータの完全性を確保するため、通常時は、通信は遮断されている。
【００３０】
ステップＳ１１において、オリジナルハッシュファイル作成フロー(ステップＳ２０〜ステップＳ２４)の処理を行う。
ステップＳ１２において、サーバ別ハッシュファイル作成フロー(ステップＳ３０〜ステップＳ３３)の処理を行う。
ステップＳ１３において、業種別ハッシュファイル作成フロー(ステップＳ４０〜Ｓ４３)の処理を行う。
ステップＳ１４において、端末１１とバックアップサーバ１３の間の通信を遮断し、処理を終了する。
【００３１】
以下、上述したＳ１１〜１４の処理の詳細について、図４（２）〜（４）を用いて説明する。
まず、ステップＳ１１の詳細について、図４（２）を用いて説明する。ステップＳ１１は、オリジナルハッシュファイル作成処理を行うフローチャートである。
・ステップＳ１１においてはまず、ステップＳ２０において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、端末１１内のモジュールハッシュ管理ファイル１１−４を参照し、業務１サーバ(仮想環境)１４ａ(自身のサーバ)と対応する実サーバ１２ａの保存対象モジュール１２−３のハッシュ値を求める。これは、端末１１−１が、モジュールハッシュ管理ファイル１１−４のパス名（ハッシュ対象データが保存されている場所、エリアを特定するもの）を特定する。そして、特定されたパス名により特定されるハッシュ対象データである「保存対象モジュール」（バイナリデータ）を業務サーバ内から読み込む。そして、読み込んだ「保存対象モジュール」に対して、端末１１−１がハッシュ値を求める。
【００３２】
ステップＳ２１において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、ステップＳ２０で求めたハッシュ値を、オリジナルハッシュファイル１４−２に記録し、業務１サーバ(仮想環境)１４ａに保存する。つまり、これは、業務サーバ毎にオリジナルハッシュファイルが保存されていることを意味する。
【００３３】
ステップＳ２２において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、ステップＳ２０で参照した保存対象モジュール１２−３を複製し、バックアップ格納部１４−４に格納する。なお、ステップＳ２２で、バックアップ格納部１４−４に保存対象モジュール１２−３を格納することで、実サーバ１２ａが例えばウイルス感染や不正操作され、データが改ざんされた場合にも、この影響を受けず、復旧が容易となる。
【００３４】
次に、ステップＳ２３において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、端末１１のモジュールハッシュ管理ファイル１１−４（図３に図示）内の、ステップＳ２０で参照した保存対象モジュール１２−３の項目の項目フラグ(仮想環境)２３ｂに、チェックを入れる（図３に示す「○」がチェックされたことを示す）。このチェック（フラグ立て）は、当該データ（モジュール）についてハッシュ値が求められたことを示し、その後に二重にハッシュ値を求めることを防止したり、対象データそれぞれについてハッシュ値が求められているかを確認するために利用される。
【００３５】
最後に、ステップＳ２４において、端末１１のモジュールハッシュ管理ファイル１１−４を参照し、項目モジュール名２３ａに記載のモジュールについてステップＳ２０〜ステップＳ２３が完了しているか否かを判断する。項目モジュール名２３ａに記載の各モジュールについて完了していなければ(ＮＯ)、次の保存対象となるモジュールについて、ステップＳ２０の処理を行う。項目モジュール名２３ａに記載の各モジュールについて完了していれば(YES)、ステップＳ１１の処理を終了する。この判断は、上述したチェックが各モジュールについているかで判断する。
【００３６】
次に、図４（３）を使ってＳ１２の処理について説明する。ステップＳ１２は、サーバ別ハッシュファイル作成処理を行うフローチャートである。
まず、ステップＳ３０において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、ステップＳ２１で作成した、保存対象となる各モジュールのオリジナルハッシュファイル１４−２を各サーバ毎にまとめて、サーバ別ハッシュ値を求める。これは、Ｓ２１で各サーバ毎に保存されているので、保存場所ごとにハッシュ値を求めることで実行される。
【００３７】
次に、ステップＳ３１において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、ステップＳ３０で求めたハッシュ値を、サーバ別ハッシュファイル１４−１に記録し、業務１サーバ(仮想環境)１４ａに保存する。
次に、ステップＳ３２において、バックアップサーバ１３内の業務１サーバ(仮想環境)１４ａは、端末１１のサーバ別ハッシュ管理ファイル１１−３（図３に図示）内の、業務１サーバ(仮想環境)１４ａ（自身のサーバ）の項目の項目フラグ(仮想環境)２２ｂに、チェックを入れる。これは、Ｓ２３と同様に「○」を記録するより実行し、後述する各サーバのハッシュ値が求められたかを確認するために用いられる。
次に、ステップＳ３３において、端末１１のサーバ別ハッシュ管理ファイル１１−３を参照し、項目サーバ名２２ａに記載のサーバについて、ステップＳ３０〜ステップＳ３２が完了しているか否かを判断する。項目サーバ名２２ａに記載の各サーバ(仮想環境)について完了していなければ(ＮＯ)、次の処理対象となるサーバにおいて、ステップＳ３０の処理を行う。項目サーバ名２２ａに記載の各サーバについて完了していれば(YES)、ステップＳ１２の処理を終了する。これの処理は、Ｓ２４と同様に、Ｓ３２で記録された「○」により判断される。
【００３８】
次に、図４（４）を用いて、Ｓ１３の内容を説明する。ステップＳ１３は、業務別ハッシュファイル作成処理を行うフローチャートである。
ステップＳ４０において、端末１１は、端末１１内のサーバ定義ファイル１１−２を参照して、ひとつの業務サーバ群内における保存対象となる各サーバの、ステップＳ３１で作成したサーバ別ハッシュファイル１４−１を業務毎にまとめたハッシュ値を求める。これは、図1等に示す「業務(番号)サーバ」の番号が同じものを同じ業務としてまとめてハッシュ値を求める。なお、以降、番号が同じ「業務サーバ」を業務サーバ群と称する。
ステップＳ４１において、端末１１は、ステップＳ４０で求めたハッシュ値を、業種別ハッシュファイル１１−５に記録し、端末１１に業務毎に保存する。
【００３９】
ステップＳ４２において、端末１１は、端末１１のハッシュ管理ファイル１１−１内（図２に図示）の、ステップＳ４０において処理した業務サーバ群名の、項目保存フラグ(仮想環境)２０ｂに、チェックを入れる。これは、Ｓ２３やＳ３２と同様に「○」を記録することで実行する。
ステップＳ４３において、端末１１のハッシュ管理ファイル１１−１を参照し、項目サーバ群名２０ａに記載のサーバ群について、ステップＳ４０〜ステップＳ４２が完了しているか否かを判断する。項目サーバ群名２０ａに記載の各サーバ群について完了していなければ(ＮＯ)、次の処理対象となるサーバ群において、ステップＳ４０の処理を行う。項目サーバ群名２０ａに記載の各サーバについて完了していれば(YES)、ステップＳ１３の処理を終了する。これも、Ｓ２４や３３と同様に判断される。
【００４０】
図５は、データ比較の際の保存対象ファイルを保存する動作を示すフローチャートである。以降、図５に従って処理を記載するが、その内容は図４のフローチャートと同様の処理を行うものであり、対象となるデータや保存場所が異なるのみである。
処理が開始すると、ステップＳ５０において、端末１１と実サーバ１２との間の通信を確立する。
端末１１と実サーバ１２の間の通信は、実サーバ１２が、例えばウイルス感染した場合に、感染影響を回避するため、通常時は、通信は遮断されている。
【００４１】
ステップＳ５１において、モジュールハッシュファイル作成フロー(ステップＳ２０’〜ステップＳ２４’)の処理を行う。
【００４２】
ステップＳ５１において、各処理は、ステップＳ１１における処理と同様の処理を行う。ただし、ステップＳ２２は実施せず、また、業務１サーバ(仮想環境)１４ａを業務１サーバ１２、オリジナルハッシュファイル１４−２をモジュールハッシュファイル１２−２、項目フラグ(仮想環境)２３ｂを項目フラグ(実サーバ)２３ｃとそれぞれ置き換える。
ステップＳ５２において、サーバ別ハッシュファイル作成フロー(ステップＳ３０’〜ステップＳ３３’)の処理を行う。
ステップＳ５２において、各処理は、ステップＳ１２における処理と同様の処理を行う。ただし、業務１サーバ(仮想環境)１４ａを業務１サーバ１２、サーバ別ハッシュファイル１４−１を実サーバハッシュファイル１２−１、オリジナルハッシュファイル１４−２をモジュールハッシュファイル１２−２、項目フラグ(仮想環境)２２ｂを項目フラグ(実サーバ)２２ｃとそれぞれ置き換える。
【００４３】
ステップＳ５３において、業種別ハッシュファイル作成フロー(ステップＳ４０’〜Ｓ４３’)の処理を行う。
ステップＳ５３において、各処理は、ステップＳ１３における処理と同様の処理を行う。ただし、業務１サーバ(仮想環境)１４ａを業務１サーバ１２、サーバ別ハッシュファイル１４−１を実サーバハッシュファイル１２−１、業種別ハッシュファイル１１−５を、比較用ハッシュファイル１１−６、項目保存フラグ(仮想環境)２０ｂを項目保存フラグ(実サーバ)２０ｃとそれぞれ置き換える。
ステップＳ５４において、それぞれのハッシュファイル比較フローの処理を行う。
ステップＳ５５において、端末１１と実サーバ１２との間の通信を遮断し、処理を終了する。
【００４４】
図６は、ステップＳ１１〜ステップＳ１３及び、ステップＳ５１〜ステップＳ５３で作成したハッシュファイルを比較処理するステップＳ５４のフローチャートである。これは、対象システムで障害が発生した際、その障害箇所を特定するために行う処理である。この比較の結果、不一致の箇所（業務サーバ群、業務サーバ、モジュール）で障害が発生したことを判断する。
【００４５】
ステップＳ６０において、端末１１は、ハッシュ管理ファイル１１−１を参照して、項目影響レベル２０ｄの高いサーバ群を選出する。この項目影響レベルは、図２のハッシュ管理ファイル１１−１の影響レベル２０ｄの値が大きいものから選択する。当該影響レベル２０ｄは、外部からの影響の受けやすさを示し、ｗｅｂサーバ（およびこれに付随したＡＰサーバ）など、外部からの入力を受付けるものほど高く設定するとより好適である。
ステップＳ６１において、端末１１は、選出された業務サーバ群の業種別ハッシュファイル１１−５の値と、対応する比較用ハッシュファイル１１−６の値を比較し、値が一致しているかどうかを判別する。
【００４６】
ステップＳ６２において、端末１１は、ハッシュ管理ファイル１１−１の、ステップＳ６０において選出したサーバ群での、項目比較結果２０ｅに、ステップＳ６１の処理結果が一致していたかどうかを記載する。
ステップＳ６３において、端末１１は、ステップＳ６２の処理で記載した結果が一致しているか否かを判断する。業種別ハッシュファイル１１−５と比較用ハッシュファイル１１−６の値が一致していた場合(ＹＥＳ)、当該業務サーバ群では問題が無いとしてステップＳ６５の処理に進む。業種別ハッシュファイル１１−５と比較用ハッシュファイル１１−６の値が一致していなかった場合(ＮＯ)、つまり、当該業務サーバ群内で問題があると判断し、後述するステップＳ６４、つまり、当該業務サーバ群を構成する各業務サーバでの比較処理を行う。
【００４７】
ステップＳ６５において、端末１１は、ステップＳ６１で処理した業種別ハッシュファイル１１−５と比較用ハッシュファイル１１−６を、削除する。
ステップＳ６６において、端末１１は、ハッシュ管理ファイル１１−１を参照し、項目サーバ群名２０ａに記載のサーバ群について、ステップＳ６１〜ステップＳ６５が完了しているか否かを判断する。これは、Ｓ６２で記録された比較結果を参照して判断する。つまり、それぞれの業務サーバ群の比較結果が記録されていれば、比較済みと判断する。より具体的には、項目サーバ群名２０ａに記載の各サーバ群について完了していなければ(ＮＯ)とは、比較結果が記録されていない業務サーバ群が存在すると判断する。そして、次に影響レベルが高い業務サーバ群に対して、ステップＳ６０の処理を行う。項目サーバ群名２０ａに記載の各サーバについて完了していれば(YES)、ステップＳ５４の処理を終了する。
【００４８】
なお、このように影響レベル２０ｄが高いものから比較を行うことで、より効率的に、問題が発生した業務サーバ群を特定可能になる。また、本実施形態では、それぞれの業務サーバ群の比較処理が終了するまで当該フローチャートを実行するとしたが、Ｓ６３で問題がある業務サーバ群を特定した場合、以降の業務サーバ群に対する比較処理を抑制してもよい。これにより、処理を省力化することが可能になる。
【００４９】
図７は、実サーバハッシュファイル１２−１と、サーバ別ハッシュファイル１４−１を比較処理するステップＳ６４のフローチャートである。なお、本フローチャートは、図６の業務サーバ群に対する比較処理と同様の処理になる。但し、Ｓ７０はＳ６０とは対象データ等以外も異なる処理を実行する。
ステップＳ７０において、端末１１は、ステップＳ６３にて不一致が検出された業務サーバ群内にあるそれぞれのサーバについて、業務１サーバ１２ａ〜１２ｘの実サーバハッシュファイル１２−１〜１２−１’と、業務１サーバ(仮想環境)１４ａ〜１４ｘのサーバ別ハッシュファイル１４−１〜１４−１’を、端末１１に複製する。これは、当該処理を端末１１で行うため、各サーバから対象データを読み込むことを意味する。
ステップＳ７１において、端末１１は、実サーバハッシュファイル１２−１の値と、サーバ別ハッシュファイル１４−１の値を比較し、値が一致しているかどうかを判別する。
【００５０】
ステップＳ７２において、端末１１は、サーバ別ハッシュ管理ファイル１１−３内の、ステップＳ７１において比較したサーバでの、項目比較結果２２ｄに、ステップＳ７１の処理結果が一致していたかどうかを記載する。
ステップＳ７３において、端末１１は、ステップＳ７２の処理で記載した結果が一致しているか否かを判断する。実サーバハッシュファイル１２−１の値と、サーバ別ハッシュファイル１４−１の値が一致していた場合(ＹＥＳ)、ステップＳ７５の処理を行う。実サーバハッシュファイル１２−１の値と、サーバ別ハッシュファイル１４−１の値が一致していなかった場合(ＮＯ)、後述するステップＳ７４の処理を行う。
【００５１】
ステップＳ７５において、端末１１は、ステップＳ７１で比較した、実サーバハッシュファイル１２−１と、サーバ別ハッシュファイル１４−１を削除する。
ステップＳ７６において、端末１１は、サーバ別ハッシュ管理ファイル１１−３を参照し、項目サーバ名２２ａに記載のサーバについて、ステップＳ７１〜ステップＳ７５が完了しているか否かを判断する。項目サーバ名２２ａに記載の各サーバについて完了していなければ(ＮＯ)、次の処理対象となるサーバにおいて、ステップＳ７１の処理を行う。項目サーバ名２２ａに記載の各サーバについて完了していれば(YES)、ステップＳ６４の処理を終了する。
【００５２】
なお、図６および図７の処理については、以下のとおり実行してもよい。図６において、Ｓ６４の処理を一旦保留し、各業務サーバ群についての比較処理が終了した場合、問題が検知された(不一致)各業務サーバ群の業務サーバについて、まとめて図７（Ｓ６４）の比較処理を実行する。この場合、図６の処理を行っている際に、並行処理として、図７のＳ７０の転送処理を実行することで処理の効率化を図ることが可能になる。
【００５３】
図８は、モジュールハッシュファイル１２−２と、オリジナルハッシュファイル１４−２を比較処理するステップＳ７４のフローチャートである。これは、対象データが、業務サーバからモジュールになる以外、処理の内容事態は図７の処理と同様である。ただし、Ｓ８４として警告を発生させる点は異なる。また、図７のなお書きで記載したように、図７の処理をまとめて実行し、その後、図８を行ってもよい。
【００５４】
ステップＳ８０において、端末１１は、ステップＳ７１にて比較したサーバ内にあるそれぞれのモジュールについて、業務１サーバ１２ａのモジュールハッシュファイル１２−２と、業務１サーバ(仮想環境)１４ａのオリジナルハッシュファイル１４−２を、端末１１に複製する。
ステップＳ８１において、端末１１は、モジュールハッシュファイル１２−２の値と、オリジナルハッシュファイル１４−２の値を比較し、値が一致しているかどうかを判別する。
ステップＳ８２において、端末１１は、モジュールハッシュ管理ファイル１１−４内の、ステップＳ８１において比較したモジュールでの、項目比較結果２３ｄに、ステップＳ８１の処理結果が一致していたかどうかを記載する。
【００５５】
ステップＳ８３において、端末１１は、ステップＳ８２の処理で記載した結果が一致しているか否かを判断する。モジュールハッシュファイル１２−２の値と、オリジナルハッシュファイル１４−２の値が一致していた場合(ＹＥＳ)、ステップＳ８５の処理を行う。モジュールハッシュファイル１２−２の値と、オリジナルハッシュファイル１４−２の値が一致していなかった場合(ＮＯ)、後述するステップＳ８４の処理を行う。
ステップＳ８５において、端末１１は、ステップＳ８１で比較した、モジュールハッシュファイル１２−２と、オリジナルハッシュファイル１４−２を削除する。
ステップＳ８６において、端末１１は、モジュールハッシュ管理ファイル１１−４を参照し、項目モジュール名２３ａに記載のモジュールについて、ステップＳ８１〜ステップＳ８５が完了しているか否かを判断する。項目モジュール名２３ａに記載の各モジュールについて完了していなければ(ＮＯ)、次の処理対象となるモジュールにおいて、ステップＳ８１の処理を行う。項目モジュール名２３ａに記載の各モジュールについて完了していれば(YES)、ステップＳ７４の処理を終了する。
【００５６】
ステップＳ８４において、端末１１は、警告を発する。
ステップＳ８４において、出力される警告は、例えば、端末上にポップアップを出すなどである。しかし、これに限定されず、不正検知システム１０を構成する各部、および管理者の所持端末などに出力されても良い。また、その出力方法についても限定しない。
【符号の説明】
【００５７】
１０…不正検知システム、１１…端末、１２…実サーバ、１３…バックアップサーバ、１４…仮想環境
【図１】
2015079404.tif 000003
【図２】
2015079404.tif 000004
【図３】
2015079404.tif 000005
【図４】
2015079404.tif 000006
【図５】
2015079404.tif 000007
【図６】
2015079404.tif 000008
【図７】
2015079404.tif 000009
【図８】
2015079404.tif 000010