以下、図面に基づいて、本願の開示する管理装置、管理方法及び管理プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、実施例の監視システムの一例を示す説明図である。図1に示す監視システム1は、複数の顧客システム2と、監視センタ3とを有する。監視センタ3は、例えば、遠隔地にある複数の顧客システム2の状態をリモート監視する。監視センタ3は、サーバ4と、データベース(以下、単にDBと称する)装置5と、障害監視装置6とを有する。
顧客システム2は、例えば、コンピュータ装置等の電子機器で構成し、通信インタフェース(以下、単にIFと称する)11と、表示部12と、操作部13と、TPM(Trusted Platform Module)チップ14とを有する。更に、顧客システム2は、HDD(Hard Disk Drive)15と、RAM(Random Access Memory)16と、CPU(Control Processing Unit)17と、バス18とを有する。通信IF11は、サーバ4との間の通信を司るIFである。表示部12は、各種情報を表示する出力IFである。操作部13は、各種情報を入力する入力IFである。HDD15は、各種情報を記憶する不揮発性の記憶領域である。RAM16は、各種情報を記憶する揮発性の記憶領域である。CPU17は、顧客システム2全体を制御する。バス18は、通信IF11、表示部12、操作部13、TPMチップ14、HDD15、RAM16及びCPU17間でデータを伝送する伝送経路である。
ここで、TPMチップの特徴について説明する。TPMチップは、TCG(Trusted Computing Group)技術を採用したチップである。近年、インターネットに接続されるデバイスには、常にセキュリティの脅威に曝され、ウィルス、スパイウェア、その他、悪質なスクリプト、不正アクセス等で、プラットフォームを構成するソフトウェア構造に予期せぬ改変が加えられるリスクがある。TCGでは、プラットフォームの信頼性を保証することで安全なコンピューティング環境を実現している。尚、プラットフォームとは、例えば、ハードウェア、OS(Operating System)やアプリケーション等である。例えば、ソフトウェアの改竄という脅威に対しては、従来のソフトウェアのみに依存したセキュリティ対策には限界がある。そこで、TCGでは、プラットフォーム内にTPMチップを埋め込み、かかるTPMチップを信頼のルートとして、改竄が困難な信頼性の高いコンピューティング環境を構築している。更に、TCGでは、TPMチップを利用して、ハードウェアベースでのデータや証明書の保護、安全な暗号化処理を実現している。
TPMチップは、耐タンパー性を備えたチップであって、電子機器から取り外しができないように、電子機器の主要な構成部位、例えば、マザーボード等に物理的に搭載されるものである。また、TPMチップの機能には、RSA(Rivest Shamir Adleman)の秘密鍵及び公開鍵のペアの生成・保管の機能や、RSA秘密鍵による署名、暗号化や復号の機能がある。また、TPMチップの機能には、SHA−1(Secure Hash Algorithm 1)のハッシュ値を演算する機能や、電子機器の環境情報を保持する機能等がある。
また、TCGでは、上位のアプリケーションやライブラリからハードウェア・デバイスであるTPMチップを利用するため、ソフトウェア・スタックとソフトウェアインターフェースとを規定している。ソフトウェア・スタックは、TSS(TCG Software Stack)と呼ばれ、リソースが制限されるTPMチップの機能を保管するソフトウェアモジュールから構成されている。また、電子機器内のCPUのアプリケーションは、TSSの提供するインタフェースを利用して、TPMチップの機能にアクセスするものである。
また、TPMチップは、電子機器のCPUが起動した時点で、BIOS(Basic Input/Output System)、OSloader、OSカーネルへのブートプロセスでのソフトウェアコードを取得する。TPMチップは、取得されたソフトウェアコードをハッシュ化してソフト構成のハッシュ値を得る。そして、TPMチップは、そのソフト構成のハッシュ値をTPMチップ内部のレジスタに登録する。また、TPMチップは、電子機器のハードウェア構成の情報を取得し、ハードウェア構成の情報をハッシュ化してハード構成のハッシュ値を得る。そして、TPMチップは、そのハード構成のハッシュ値をTPMチップ内部のレジスタに登録する。つまり、TPMチップでは、電子機器のソフト構成のハッシュ値及びハード構成のハッシュ値をレジスタ内に登録する。
図2は、構成情報の一例を示す説明図である。図2に示すソフトウェア情報、ソフトウェア設定値、OS情報及びOS設定値等は、顧客システム2のソフトウェアコードである。ハードウェア情報は、顧客システム2のハードウェア情報である。TPMチップ14は、ソフトウェア情報をハッシュ化してハッシュ値A1を得る。TPMチップ14は、ソフトウェア設定値をハッシュ化してハッシュ値A2を得る。TPMチップ14は、OS情報をハッシュ化してハッシュ値A3を得る。TPMチップ14は、OS設定値をハッシュ化してハッシュ値A4を得る。TPMチップ14は、ハードウェア情報をハッシュ化してハッシュ値A5を得る。更に、TPMチップ14は、ソフトウェア情報のハッシュ値A1、ソフトウェア設定値のハッシュ値A2、OS情報のハッシュ値A3、OS設定値のハッシュ値A4、ハードウェア情報のハッシュ値A5をハッシュ化して代表ハッシュ値Aを得る。構成情報は、ソフト構成のハッシュ値A1,A2,A3,A4及び/又はハード構成のハッシュ値A5と、代表ハッシュ値Aとを有する。
次に、サーバ4は、例えば、コンピュータ装置で構成し、通信IF21と、表示部22と、操作部23と、TPMチップ24と、HDD25と、RAM26と、CPU27と、バス28とを有する。サーバ4側のTPMチップ24は、顧客システム2側のTPMチップ14でハッシュ値を採取する際のルールをハッシュ化及び署名付与して管理することで、ハッシュ値採取の正当性を担保するものである。しかも、TPMチップ24は、必要に応じて、現時点でのルール及び署名をチェックすることで、ルールの非改竄性を証明する。その結果、TPMチップ14は、TPMチップ24側で非改竄性が証明されたルールを参照しながら運用することでハッシュ値を採取する際のルールに改竄がないことを保証する。しかも、顧客システム2に派遣された監視センタ3内の作業者が勝手に改竄していないことも保証できる。
DB装置5は、比較DB30と、蓄積DB40とを有する。比較DB30は、顧客システム2の構成変更、障害や正常等の判定に使用するリスト等を格納している。比較DB30には、ホワイトリスト31と、ブラックリスト32と、イエローリスト33と、ベリファイドリスト34と、アンノウンリスト35と、ビッグDB36とが格納してある。
ホワイトリスト31には、例えば、ハード出荷、ソフト商品化、パッチ提供等のタイミングで製造者側が保証した組合せ可能の正常なシステム構成の構成情報が登録してある。尚、ホワイトリスト31内に登録した構成情報は、システム構成のソフト構成及びハード構成に対応したハッシュ値を含む。サーバ4は、ホワイトリスト31を参照して顧客システム2側のシステム構成が正常状態のシステム構成であるか否かを判定する。
ブラックリスト32には、例えば、製造者側で検証済みの障害事例のシステム構成に対応した構成情報が登録してある。尚、ブラックリスト32内に登録した構成情報は、システム構成のソフト構成及びハード構成に対応したハッシュ値を含む。サーバ4は、ブラックリスト32を参照して顧客システム2側のシステム構成が障害事例のシステム構成であるか否かを判定する。尚、検証済みの障害事例には、検証済みの障害が発生する虞が大の事例も含めても良い。
イエローリスト33には、ブラックリスト32には該当しないものの、原因不明で未検証の障害事例のシステム構成に対応した構成情報が登録してある。尚、イエローリスト33に登録した構成情報は、システム構成のソフト構成及びハード構成に対応したハッシュ値を含む。サーバ4は、イエローリスト33を参照して顧客システム2側のシステム構成が原因不明の障害事例のシステム構成であるか否かを判定する。尚、原因不明の障害事例には、原因不明の障害が発生する虞が大の事例も含めても良い。また、第1のリストの一例として、例えば、イエローリスト33がある。
ベリファイドリスト34は、運用の中で検証済みのシステム構成に対応した構成情報が登録してある。尚、ベリファイドリスト34内に登録した構成情報は、システム構成のソフト構成及びハード構成に対応したハッシュ値を含む。サーバ4は、ベリファイドリスト34を参照して顧客システム2側のシステム構成が検証済みの正常状態のシステム構成であるか否かを判定する。また、第2のリストの一例として、例えば、ベリファイドリスト34がある。
アンノウンリスト35は、ホワイトリスト31、ブラックリスト32、イエローリスト33及びベリファイドリスト34の何れにも該当しない、未知のシステム構成に対応した構成情報が登録してある。また、第3のリストの一例として、例えば、アンノウンリスト35がある。
図3は、ビッグDB36のテーブル構成の一例を示す説明図である。図3に示すビッグDB36には、各顧客システム2から収集した構成情報36Aを、その顧客システム2を識別するシステムID36B及び、当該構成情報36Aを収集した日付等の時間情報36Cを対応付けたビッグデータが記憶してある。記憶部の一例としては、例えば、ビッグDB36がある。
蓄積DB40は、各顧客システム2から収集した構成情報を顧客システム2毎に順次記憶したDBである。図4は、蓄積DB40のテーブル構成の一例を示す説明図である。図4に示す蓄積DB40は、日付41と、システムID42と、ロケーションID43と、代表ハッシュ値44と、ハッシュ値45とを対応付けて記憶する。日付41は、例えば、サーバ4側で顧客システム2から構成情報を収集した日付である。システムID42は、構成情報の送信元である顧客システム2を識別するIDである。ロケーションID43は、送信元の顧客システム2の設置場所を示すIDである。代表ハッシュ値44は、構成情報内の代表ハッシュ値である。ハッシュ値45は、構成情報内のソフト構成及びハード構成のハッシュ値である。
障害監視装置6は、障害の事例情報をサーバ4に報知する装置である。尚、障害の事例情報には、障害内容と、例えば、障害のシステム構成に対応したソフト構成及び/又はハード構成のハッシュ値とを含む。
顧客システム2のCPU17は、TPMチップ14で得た構成情報をサーバ4側のTPMチップ24の公開鍵を認証局から取得し、取得された公開鍵を使用して構成情報を暗号化する。更に、CPU17は、通信IF11を通じて暗号化した構成情報をサーバ4に伝送する。更に、サーバ4のCPU27は、通信IF21を通じて、顧客システム2から構成情報を受信する。そして、サーバ4内のTPMチップ24は、自分が保有する秘密鍵で受信した顧客システム2の構成情報を復号する。尚、顧客システム2は、サーバ4に対して構成情報の他に、顧客システム2を識別するシステムIDやロケーションID等の情報も伝送するものである。
図5は、サーバ4内のCPU27で実行する障害判定プロセスの一例を示す説明図である。CPU27は、HDD25に格納された障害判定プログラムを読み出し、障害判定プログラムに基づき障害判定プロセスを実行して構成情報収集部51、構成変更判定部52、構成変更報知部53、障害判定部54、障害報知部55を機能として実行する。構成情報収集部51は、TPMチップ24で復号した顧客システム2の構成情報を収集する。構成情報収集部51は、収集した構成情報36Aを顧客システム2のシステムID36B及び取得日(時間情報)36Cに対応付けてビッグDB36に記憶する。
構成変更判定部52は、代表ハッシュ比較部52Aを有する。代表ハッシュ比較部52Aは、蓄積DB40を参照し、復号した構成情報内の代表ハッシュ値と同一のシステムID42、かつ、同一の代表ハッシュ値44があるか否かを判定する。
構成変更判定部52は、代表ハッシュ比較部52Aの比較結果に基づき、蓄積DB40を参照し、該当代表ハッシュ値と同一のシステムID42、かつ、同一の代表ハッシュ値がある場合、今回の構成情報に関わる顧客システム2の構成変更なしと判定する。構成変更判定部52は、代表ハッシュ比較部52Aの比較結果に基づき、蓄積DB40を参照し、該当代表ハッシュ値と同一のシステムID42、かつ、同一の代表ハッシュ値がない場合、今回の構成情報に関わる顧客システム2の構成変更ありと判定する。
構成変更報知部53は、構成変更ありの場合、構成変更ありを表示部22で報知出力する。サーバ4の管理者は、表示部22上で当該顧客システムの構成変更を認識できる。
障害判定部54は、ハッシュ比較部54Aを有する。ハッシュ比較部54Aは、比較DB30を参照し、復号した構成情報内のハッシュ値と同一のハッシュ値があるか否かを判定する。障害判定部54は、ハッシュ比較部54Aを通じて構成情報内のハッシュ値がホワイトリスト31内にあるか否かを判定し、ハッシュ値がホワイトリスト31内にある場合、顧客システム2が正常状態のシステム構成と判定する。障害判定部54は、ハッシュ比較部54Aを通じて構成情報内のハッシュ値がブラックリスト32内にあるか否かを判定し、ハッシュ値がブラックリスト32内にある場合、顧客システム2が障害事例のシステム構成と判定する。障害判定部54は、ハッシュ比較部54Aを通じて構成情報内のハッシュ値がイエローリスト33内にあるか否かを判定し、ハッシュ値がイエローリスト33内にある場合、顧客システム2が原因不明の障害事例のシステム構成と判定する。
障害判定部54は、ハッシュ比較部54Aを通じて構成情報内のハッシュ値がベリファイドリスト34内にあるか否かを判定し、ハッシュ値がベリファイドリスト34内にある場合、顧客システム2が検証済みの正常状態のシステム構成と判定する。障害判定部54は、構成情報内のハッシュ値がホワイトリスト31、ブラックリスト32、イエローリスト33、ベリファイドリスト34の何れにもない場合、この構成情報を未知のシステム構成と判定する。
障害判定部54は、構成情報内のハッシュ値が未知のシステム構成と判定すると、構成情報をアンノウンリスト35内に登録する。
また、障害報知部55は、障害判定部54が検証済みの障害事例のシステム構成と判定した場合、表示部22上にブラック警告を報知出力する。また、障害報知部55は、障害判定部54が原因不明の障害事例のシステム構成と判定した場合、表示部22上にイエロー警告を報知出力する。
図6は、サーバ4内のCPU27で実行するリスト更新プロセスの一例を示す説明図である。CPU27は、HDD25に格納されたリスト更新プログラムを読み出し、リスト更新プログラムに基づきリスト更新プロセスを実行してリスト更新部61、障害情報取得部62及び条件ポリシ管理部63を機能として実行する。
障害情報取得部62は、障害監視装置6からの障害事例情報を取得する。リスト更新部61は、障害事例情報内の構成情報に該当する構成情報がアンノウンリスト35内にある場合、構成情報毎に事例数をカウントし、事例数を事例リスト35Aに記憶する。リスト更新部61は、障害事例情報内の構成情報に該当する構成情報がベリファイドリスト34内にある場合、構成情報毎に事例数をカウントし、事例数を事例リスト34Aに記憶する。リスト更新部61は、障害事例情報内の構成情報に該当する構成情報がイエローリスト33内にある場合、構成情報毎に事例数をカウントし、事例数を事例リスト33Aに記憶する。
リスト更新部61は、更新部の一例であって、アンノウン判定部61Aと、ベリファイド判定部61Bと、イエロー判定部61Cとを有する。アンノウン判定部61Aは、アンノウンリスト35内の事例リスト35Aを参照し、アンノウンリスト35内の構成情報がベリファイドリスト34に移行する条件を満たしたか否かを判定する。アンノウン判定部61Aは、アンノウンリスト35内の構成情報がベリファイドリスト34に移行する条件を満たした場合、該当構成情報をアンノウンリスト35から削除して、ベリファイドリスト34に登録する。尚、アンノウンリスト35からベリファイドリスト34に移行する条件は、アンノウンリスト35内の構成情報の障害事例の事例数(発生回数)が所定期間内に第2の規定回数未満の場合である。
アンノウン判定部61Aは、アンノウンリスト35内の事例リスト35Aを参照し、アンノウンリスト35内の構成情報がイエローリスト33に移行する条件を満たしたか否かを判定する。アンノウン判定部61Aは、アンノウンリスト35内の構成情報がイエローリスト33に移行する条件を満たした場合、該当構成情報をアンノウンリスト35から削除して、イエローリスト33に登録する。尚、アンノウンリスト35からイエローリスト33に移行する条件は、アンノウンリスト35内の構成情報の障害事例の事例数(発生回数)が所定期間内に第1の規定回数を超えた場合である。第1の規定回数は、第2の規定回数以上である。第1の規定回数は、例えば、所定期間内に、アンノウンリスト35に登録した同一構成情報の全件数に対する当該構成情報の障害事例の事例数の割合が20%相当の回数である。
ベリファイド判定部61Bは、ベリファイドリスト34内の事例リスト34Aを参照し、ベリファイドリスト34内の構成情報がイエローリスト33に移行する条件を満たしたか否かを判定する。ベリファイド判定部61Bは、ベリファイドリスト34内の構成情報がイエローリスト33に移行する条件を満たした場合、該当構成情報をベリファイドリスト34から削除して、イエローリスト33に登録する。尚、ベリファイドリスト34からイエローリスト33に移行する条件は、ベリファイドリスト34内の構成情報の障害事例の事例数(発生回数)が所定期間内に第1の規定回数を超えた場合である。
イエロー判定部61Cは、イエローリスト33内の事例リスト33Aを参照し、イエローリスト33内の構成情報がベリファイドリスト34に移行する条件を満たしたか否かを判定する。イエロー判定部61Cは、イエローリスト33内の構成情報がベリファイドリスト34に移行する条件を満たした場合、該当構成情報をイエローリスト33から削除して、ベリファイドリスト34に登録する。尚、イエローリスト33からベリファイドリスト34に移行する条件は、イエローリスト33内の構成情報の障害事例の事例数(発生回数)が所定期間内に第2の規定回数未満の場合である。
イエロー判定部61Cは、イエローリスト33内の事例リスト33Aを参照し、イエローリスト33内の構成情報がブラックリスト32に移行する条件を満たしたか否かを判定する。イエロー判定部61Cは、イエローリスト33内の構成情報がブラックリスト32に移行する条件を満たした場合、該当構成情報をイエローリスト33から削除して、ブラックリスト32に登録する。尚、イエローリスト33からブラックリスト32に移行する条件は、イエローリスト33内の構成情報の障害事例の事例数(発生回数)が所定期間内に第3の規定回数を超えた場合である。第3の規定回数は、第1の規定回数よりも大である。
条件ポリシ管理部63は、アンノウンリスト35、イエローリスト33及びベリファイドリスト34間で構成情報が移行する条件を管理するものである。
次に本実施例の監視システム1の動作について説明する。図7は、構成変更チェック処理に関わるサーバ4内のCPU27の処理動作の一例を示すフローチャートである。図7に示す構成変更チェック処理は、顧客システム2から収集した構成情報内の代表ハッシュ値に基づき、当該顧客システム2の構成変更の有無をチェックする処理である。図7においてCPU27内の構成情報収集部51は、顧客システム2から構成情報を収集したか否かを判定する(ステップS11)。構成情報収集部51は、構成情報を収集した場合(ステップS11肯定)、構成情報から代表ハッシュ値を取得する(ステップS12)。
代表ハッシュ比較部52Aは、取得した代表ハッシュ値と同一のシステムID、かつ、同一の代表ハッシュ値が蓄積DB40内にあるか否かを判定する(ステップS13)。構成変更判定部52は、同一のシステムID、かつ、同一の代表ハッシュ値がある場合(ステップS13肯定)、当該代表ハッシュ値に関わるシステム構成の構成変更なしと判定する(ステップS14)。更に、構成変更判定部52は、当該システム構成の構成変更なしと判定した場合、当該顧客システム2の構成情報を蓄積DB40内に登録し(ステップS15)、図7に示す処理動作を終了する。
また、代表ハッシュ比較部52Aは、取得した代表ハッシュ値と同一のシステムID、かつ、同一の代表ハッシュ値が蓄積DB40内にない場合(ステップS13否定)、当該システム構成の構成変更ありと判定する(ステップS16)。そして、構成変更報知部53は、システム構成の構成変更ありと判定した場合、構成変更ありを表示部22に報知出力し(ステップS17)、当該システム構成の構成情報を蓄積DB40に登録すべく、ステップS15に移行する。その結果、サーバ4の管理者は、例えば、表示部22の報知内容を見て構成変更ありを認識できる。
また、構成情報取得部51は、構成情報を取得しなかった場合(ステップS11否定)、図7に示す処理動作を終了する。
図7に示す構成変更チェック処理のCPU27は、顧客システム2から構成情報内の代表ハッシュ値を取得すると、この代表ハッシュ値と同一のシステムID、かつ、同一の代表ハッシュ値が蓄積DB40内にあるか否かを判定する。CPU27は、同一システムID、かつ、同一の代表ハッシュ値が蓄積DB40内にある場合、顧客システム2のシステム構成に構成変更なしと判定する。
また、CPU27は、取得した代表ハッシュ値と同一のシステムID、かつ、同一の代表ハッシュ値が蓄積DB40内にない場合、顧客システム2のシステム構成の構成変更ありと判定し、構成変更ありを報知出力する。その結果、サーバ4の管理者は、報知内容に基づき、顧客システム2のシステム構成の構成変更ありを認識できる。
図8は、障害判定処理に関わるサーバ4内のCPU27の処理動作の一例を示すフローチャートである。図8に示す報知処理は、障害判定部54の判定結果に応じて障害有無を報知する処理である。図8において構成情報収集部51は、顧客システム2から構成情報を収集したか否かを判定する(ステップS21)。構成情報収集部51は、構成情報を収集した場合(ステップS21肯定)、構成情報内のソフト構成及びハード構成のハッシュ値を取得する(ステップS22)。障害判定部54は、取得したハッシュ値がホワイトリスト31内にあるか否かを判定する(ステップS23)。
障害判定部54は、ハッシュ値がホワイトリスト31内にある場合(ステップS23肯定)、システム構成が正常状態であるため、図8に示す処理動作を終了する。また、障害判定部54は、ハッシュ値がホワイトリスト31内にない場合(ステップS23否定)、ハッシュ値がベリファイドリスト34内にあるか否かを判定する(ステップS24)。障害判定部54は、ハッシュ値がベリファイドリスト34内にある場合(ステップS24肯定)、システム構成が検証済みの正常状態であるため、図8に示す処理動作を終了する。
障害判定部54は、取得したハッシュ値がイエローリスト33内にあるか否かを判定する(ステップS25)。障害判定部54は、ハッシュ値がイエローリスト33内にある場合(ステップS25肯定)、システム構成が原因不明の障害事例であるため、障害報知部55を通じてイエロー警告を報知出力し(ステップS26)、図8に示す処理動作を終了する。尚、サーバ4の管理者は、イエロー警告に応じて顧客システム2のシステム構成が原因不明の障害事例と認識できる。
また、障害判定部54は、ハッシュ値がイエローリスト33内にない場合(ステップS25否定)、ハッシュ値がブラックリスト32内にあるか否かを判定する(ステップS27)。障害判定部54は、ハッシュ値がブラックリスト32内にある場合(ステップS27肯定)、システム構成が検証済みの障害事例であるため、障害報知部55を通じてブラック警告を報知出力し(ステップS28)、図8に示す処理動作を終了する。尚、サーバ4の管理者は、ブラック警告に応じて顧客システム2のシステム構成が検証済みの障害事例と認識できる。
また、障害判定部54は、ハッシュ値がブラックリスト32内にない場合(ステップS27否定)、ステップS21で取得した構成情報をアンノウンリスト35に登録し(ステップS29)、図8に示す処理動作を終了する。
図8に示す報知処理のCPU27は、顧客システム2から収集した構成情報内のハッシュ値がホワイトリスト31内にある場合、顧客システム2のシステム構成が正常状態と判定する。
CPU27は、顧客システム2から収集した構成情報内のハッシュ値がベリファイドリスト34内にある場合、顧客システム2のシステム構成が検証済みの正常状態と判定する。
CPU27は、顧客システム2から収集した構成情報内のハッシュ値がイエローリスト33内にある場合、顧客システム2のシステム構成が原因不明の障害事例と判定し、イエロー警告を報知出力する。その結果、サーバ4の管理者は、イエロー警告に基づき、顧客システムのシステム構成が原因不明の障害事例と認識できる。
CPU27は、顧客システム2から収集した構成情報内のハッシュ値がブラックリスト32内にある場合、顧客システム2のシステム構成が検証済みの障害事例と判定し、ブラック警告を報知出力する。その結果、サーバ4の管理者は、ブラック警告に基づき、顧客システムのシステム構成が障害事例と認識できる。
図9は、アンノウンリスト判定処理に関わるサーバ4内のCPU27の処理動作の一例を示すフローチャートである。図9に示すアンノウンリスト判定処理は、移行条件に応じて、アンノウンリスト35内に登録された構成情報を削除してイエローリスト33又はベリファイドリスト34に登録する処理である。
図9においてCPU27内のアンノウン判定部61Aは、アンノウンリスト35内の構成情報の事例回数が所定期間内に第1の規定回数を超えたか否かを判定する(ステップS31)。アンノウン判定部61Aは、構成情報の事例回数が所定期間内に第1の規定回数を超えた場合(ステップS31肯定)、該当構成情報をアンノウンリスト35から削除してイエローリスト33内に登録し(ステップS32)、図9に示す処理動作を終了する。
アンノウン判定部61Aは、構成情報の事例回数が所定期間内に第1の規定回数を超えなかった場合(ステップS31否定)、アンノウンリスト35内の構成情報の事例回数が所定期間内に第2の規定回数未満であるか否かを判定する(ステップS33)。アンノウン判定部61Aは、構成情報の事例回数が所定期間内に第2の規定回数未満の場合(ステップS33肯定)、該当構成情報をアンノウンリスト35から削除してベリファイドリスト34内に登録し(ステップS34)、図9に示す処理動作を終了する。
アンノウン判定部61Aは、構成情報の事例回数が所定期間内に第2の規定回数未満でない場合(ステップS33否定)、図9に示す処理動作を終了する。
図9に示すアンノウンリスト判定処理のCPU27は、アンノウンリスト35内の構成情報の事例回数が所定期間内に第1の規定回数を超えた場合、該当構成情報をアンノウンリスト35から削除してイエローリスト33内に登録する。その結果、アンノウンリスト35とイエローリスト33との間で構成情報を動的に移行できる。
CPU27は、アンノウンリスト35内の構成情報の事例回数が所定期間内に第2の規定回数未満の場合、該当構成情報をアンノウンリスト35から削除してベリファイドリスト34内に登録する。その結果、アンノウンリスト35とベリファイドリスト34との間で構成情報を動的に移行できる。
図10は、イエローリスト判定処理に関わるサーバ4内のCPU27の処理動作の一例を示すフローチャートである。図10に示すイエローリスト判定処理は、移行条件に応じて、イエローリスト33内に登録された構成情報を削除してベリファイドリスト34又はブラックリスト32に登録する処理である。
図10においてCPU27内のイエロー判定部61Cは、イエローリスト33内の構成情報の事例回数が所定期間内に第3の規定回数を超えたか否かを判定する(ステップS41)。イエロー判定部61Cは、構成情報の事例回数が所定期間内に第3の規定回数を超えた場合(ステップS41肯定)、該当構成情報をイエローリスト33から削除してブラックリスト32内に登録し(ステップS42)、図10に示す処理動作を終了する。
また、イエロー判定部61Cは、構成情報の事例回数が所定期間内に第3の規定回数を超えなかった場合(ステップS41否定)、イエローリスト33内の構成情報の事例回数が所定期間内に第2の規定回数未満であるか否かを判定する(ステップS43)。イエロー判定部61Cは、構成情報の事例回数が所定期間内に第2の規定回数未満の場合(ステップS43肯定)、該当構成情報をイエローリスト33から削除してベリファイドリスト34内に登録し(ステップS44)、図10に示す処理動作を終了する。
イエロー判定部61Cは、構成情報の事例回数が所定期間内に第2の規定回数未満でない場合(ステップS43否定)、図10に示す処理動作を終了する。
図10に示すイエローリスト判定処理のCPU27は、イエローリスト33内の構成情報の事例回数が所定期間内に第2の規定回数未満の場合、該当構成情報をイエローリスト33から削除してベリファイドリスト34内に登録する。その結果、ベリファイドリスト34とイエローリスト33との間で構成情報を動的に移行できる。
CPU27は、イエローリスト33内の構成情報の事例回数が所定期間内に第3の規定回数を超えた場合、該当構成情報をイエローリスト33から削除してブラックリスト32内に登録する。その結果、ブラックリスト32とイエローリスト33との間で構成情報を動的に移行できる。
図11は、ベリファイドリスト判定処理に関わるサーバ4内のCPU27の処理動作の一例を示すフローチャートである。図11に示すベリファイドリスト判定処理は、所定条件に応じて、ベリファイドリスト34内に登録された構成情報を削除してイエローリスト33内に登録する処理である。
図11においてCPU27内のベリファイド判定部61Bは、ベリファイドリスト34内の構成情報の事例回数が所定期間内に第1の規定回数を超えたか否かを判定する(ステップS51)。ベリファイド判定部61Bは、構成情報の事例回数が所定期間内に第1の規定回数を超えた場合(ステップS51肯定)、該当構成情報をベリファイドリスト34から削除してイエローリスト33内に登録し(ステップS52)、図11に示す処理動作を終了する。
ベリファイド判定部61Bは、構成情報の事例回数が所定期間内に第1の規定回数を超えなかった場合(ステップS51否定)、図11に示す処理動作を終了する。
図11に示すベリファイドリスト判定処理のCPU27は、ベリファイドリスト34内の構成情報の事例回数が所定期間内に第1の規定回数を超えた場合、該当構成情報をベリファイドリスト34から削除してイエローリスト33内に登録する。その結果、ベリファイドリスト34とイエローリスト33との間で構成情報を動的に移行できる。
実施例では、顧客システム2側のシステム構成、例えば、ソフト構成及びハード構成毎のハッシュ値を含む構成情報を定期的に収集し、顧客システム2毎の構成情報を蓄積DB40に蓄積した。その結果、サーバ4は、蓄積DB40を参照して、顧客システム2毎のシステム構成を時系列に把握できる。
実施例では、顧客システム2側のシステム構成として、ソフト構成及びハード構成のハッシュ値を含む構成情報をサーバ4に伝送したので、システム構成のデータ量は必要最小限の固定長のデータ量で済むため、その通信経路の使用帯域を小さくできる。
実施例では、顧客システム2側の構成変更の有無を構成情報内の代表ハッシュ値で蓄積DB40を参照してチェックする。その結果、顧客システム2の構成変更の有無を高速にチェックできる。
実施例では、顧客システム2のシステム構成に対応したハッシュ値と各リスト内に登録済みのハッシュ値とを比較して障害内容を検知する。その結果、障害発生の事前予測や、障害発生後の早期解決を実現できる。
実施例のサーバ4は、顧客システム2から収集した構成情報内のハッシュ値がイエローリスト33内にある場合、顧客システム2が原因不明の障害事例に関わるシステム構成と判定する。その結果、サーバ4は、顧客システム2が原因不明の障害に関わるシステム構成と識別する。
実施例のサーバ4は、顧客システム2から収集した構成情報内のハッシュ値がベリファイドリスト34内にある場合、顧客システム2が検証済みの正常状態のシステム構成と判定する。その結果、サーバ4は、顧客システム2が検証済みの正常状態のシステム構成と識別する。
実施例のサーバ4は、蓄積DB40に記憶された顧客システム2の前回の構成情報と、収集した今回の構成情報とを代表ハッシュ値で比較して構成変更の有無を確認できる。しかも、サーバ4は、今回の構成変更で障害が発生したことが確認できた場合、前回の構成情報に戻すことで、障害の早期復旧を図ることができる。
実施例では、顧客システム2側のTPMチップ14及びサーバ4側のTPMチップ24が使用するハッシュ値の採取ルール及び暗号化ルールは、国際公開標準仕様に準拠しているため、その証拠性も高く、第三者が自律的に検証できる。
実施例のCPU27は、ビッグDB36に記憶された構成情報36A及び時間情報36Cと、事例リスト内の構成情報36A毎の障害事例の事例回数とに基づき、アンノウンリスト35、イエローリスト33及びベリファイドリスト34の間で構成情報を移行する。その結果、CPU27は、アンノウンリスト35、イエローリスト33及びベリファイドリスト34の間で構成情報を移動して動的にリスト更新できる。
CPU27は、アンノウンリスト35に記憶された構成情報に関わる障害事例の事例回数が所定期間内に第1の規定回数を超えた場合、当該構成情報を当該アンノウンリスト35から削除してイエローリスト33に格納する。その結果、アンノウンリスト35に登録された構成情報をイエローリスト33に移動して動的にリスト更新できる。
CPU27は、アンノウンリスト35に記憶された構成情報に関わる障害事例の事例回数が所定期間内に第2の規定回数未満である場合、当該構成情報を当該アンノウンリスト35から削除してベリファイドリスト34に格納する。その結果、アンノウンリスト35に登録された構成情報をベリファイドリスト34に移動して動的にリスト更新できる。
CPU27は、ベリファイドリスト34に記憶された構成情報に関わる障害事例の事例回数が所定期間内に第1の規定回数を超えた場合、当該構成情報を当該ベリファイドリスト34から削除してイエローリスト33に格納する。その結果、ベリファイドリスト34に登録された構成情報をイエローリスト33に移動して動的にリスト更新できる。
CPU27は、イエローリスト33に記憶された構成情報に関わる障害事例の事例回数が所定期間内に第2の規定回数未満である場合、当該構成情報を当該イエローリスト33から削除してベリファイドリスト34に格納する。その結果、イエローリスト33に登録された構成情報をベリファイドリスト34に移動して動的にリスト更新できる。
実施例のCPU27は、顧客システム2から受信した構成情報と、イエローリスト33に記憶された構成情報とを比較し、当該構成情報を送信した電子機器で原因不明の障害が発生するおそれがあるか否かを判定する。
実施例のCPU27は、受信した構成情報が、蓄積DB40に記憶された前回の構成情報と異なる場合に、当該構成情報と、比較DB30内に登録された構成情報とを比較する。
また、サーバ4は、パッチに対応したハッシュ値をホワイトリスト31に登録しておき、顧客システム2から収集した構成情報内にホワイトリスト31に登録したパッチのハッシュ値があるか否かを判定しても良い。この場合、サーバ4は、顧客システム2毎のパッチ適用の有無を確認できる。
サーバ4は、例えば、顧客システム2に対するパッチ適用前の構成情報と、パッチ適用後の構成情報を収集し、パッチ適用前の構成情報とパッチ適用後の構成情報とを比較してパッチ適用の有無を確認できる。しかも、サーバ4は、パッチ適用前の構成情報を把握している為、ロールバックで元のシステム構成にも戻すことができる。
サーバ4は、例えば、保守作業完了後のシステム構成のホワイトリスト31を登録しておき、顧客システム2から収集した構成情報内のハッシュ値がホワイトリスト31内にあるか否かを判定する。その結果、サーバ4は、顧客システム2毎に保守作業の完了有無を確認できる。
尚、上記実施例では、顧客システム2のシステム構成としてハード構成及びソフト構成等を含めたが、ハード部品交換時のソフト版数の変更作業では、2つの組合せが正しく維持されることを証明するために組合せのハッシュ値を採取しても良い。
上記実施例の障害判定部54では、各リスト31〜35内に登録する構成情報がハッシュ値であるため、ハッシュ値でシステム構成の状態を判定したが、各リスト31〜35内に代表ハッシュ値が登録されている場合、代表ハッシュ値で状態を判定しても良い。
上記実施例では、顧客システム2の電子機器の一例としてコンピュータ装置を例示した。電子機器は、例えば、サーバ、プリンタ、ネットワーク機器、外部ストレージ、携帯電話、スマートフォン、冷蔵庫、洗濯機、テレビ、ステレオコンポ、医療機器や工作機器等であっても良い。
上記実施例のイエローリスト33には、障害事例のシステム構成に対応した構成情報を登録するようにしたが、この際、その障害事例の障害状況に対応した危険度毎に構成情報をイエローリスト33内に登録しても良い。尚、障害状況に対応した危険度とは、例えば、障害事例による障害が及ぼす影響範囲や被害額の大小に応じた複数段のランクである。この際、障害判定部54は、受信した構成情報がイエローリスト33内の危険度毎にハッシュ値があるか否かを夫々判定し、当該ハッシュ値が該当する危険度に対応したイエロー警告を報知出力する。その結果、サーバ4の管理者は、危険度に対応した障害事例を認識できる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図12は、管理プログラムを実行する情報処理装置を示す説明図である。
図12に示す管理プログラムを実行する情報処理装置100では、ROM110、RAM120、HDD130と、プロセッサ140、操作部150、表示部160及び通信部170を有する。
そして、ROM110には、上記実施例と同様の機能を発揮する管理プログラムが予め記憶されている。尚、ROM110ではなく、図示せぬドライブで読取可能な記録媒体に管理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ、SDカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。管理プログラムとしては、図12に示すように、受信プログラム110A及び更新プログラム110Bである。尚、プログラム110A及び110Bについては、適宜統合又は分散しても良い。
そして、プロセッサ140は、これらのプログラム110A及び110BをROM110から読み出し、これら読み出された各プログラムを実行する。そして、プロセッサ140は、図12に示すように、各プログラム110A及び110Bを、受信プロセス140A及び更新プロセス140Bとして機能する。
HDD130は、第1のリスト130Aと、第2のリスト130Bと、第3のリスト130Cとが格納してある。第1のリスト130Aは、電子機器の構成情報の内、第1の状態を示す構成情報を記憶する。第2のリスト130Bは、第1の状態ではない第2の状態を示す構成情報を記憶する。第3のリスト130Cは、前記第1の状態または第2の状態のいずれであるか不明である第3の状態を示す構成情報を記憶する。
プロセッサ140は、電子機器の構成情報を定期的に受信する。更に、プロセッサ140は、受信した構成情報を時間情報と対応付けて記憶部に記憶する。更に、プロセッサ140は、構成情報毎に、第1の状態を示す事例の発生回数を事例リストに記憶する。プロセッサ140は、HDD130内の構成情報及び時間情報と、事例リスト内の構成情報の発生回数とに基づき、第1のリストと第2のリストとの間、第2のリストと第3のリストとの間や、第3のリストと第1のリストとの間で、構成情報を移動してリストを更新する。その結果、事例回数の変化や時間の経過に応じてリストの内容を動的に変更できる。