(57)【要約】【課題】本発明は、検査対象装置が出力したアラート情報の原因となる検査項目を精度良く抽出することを可能とする検査装置等を提供することを目的とする。【解決手段】本発明に係る検査装置（１００）は、検査対象装置（２００）を検査するための複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶する記憶部（１０４）と、検査用リクエストを検査対象装置に順次送信するとともに、送信した検査用リクエストの送信履歴を記憶部に記憶するリクエスト送信部（１１１）と、検査対象装置が検査用リクエストの受信に応じて出力したアラート情報を受信するアラート情報受信部（１１２）と、アラート情報に、送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれる場合、アラート情報に含まれる製品情報に関連付けて記憶された検査項目をアラート情報の原因となった検査項目として抽出する抽出部（１１３）とを有する。【選択図】図２
2015185030.tif 000002
【特許請求の範囲】
【請求項１】
検査対象装置を検査するための複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶する記憶部と、
前記検査用リクエストを検査対象装置に順次送信するとともに、送信した検査用リクエストの送信履歴を前記記憶部に記憶するリクエスト送信部と、
検査対象装置が前記検査用リクエストの受信に応じて出力したアラート情報を受信するアラート情報受信部と、
前記アラート情報に、前記送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれる場合、前記アラート情報に含まれる製品情報に関連付けて記憶された検査項目を前記アラート情報の原因となった検査項目として抽出する抽出部と、
前記抽出された検査項目を出力する出力部と、
を有することを特徴とする検査装置。
【請求項２】
前記製品情報には、検査対象装置で動作するハードウェア製品又はソフトウェア製品の製品名、ベンダ名、種別名、及び、前記ハードウェア製品又はソフトウェア製品が用いる通信プロトコル名の内の少なくとも一つが含まれる、請求項１に記載の検査装置。
【請求項３】
前記記憶部は、前記複数の検査項目を、複数の検査対象装置の内、当該検査項目の検査を行う検査対象装置を示す検査対象装置情報とさらに関連付けて記憶し、
前記リクエスト送信部は、前記検査用リクエストを、当該検査用リクエストと関連付けて記憶された検査対象装置情報に示される検査対象装置にのみ送信する、請求項１または２に記載の検査装置。
【請求項４】
前記抽出部は、特定の検査対象装置が出力したアラート情報の原因となった検査項目を抽出した場合、以後、前記抽出した検査項目に関連付けて記憶された検査用リクエストを特定の検査対象装置へ送信しないように設定する、請求項３に記載の検査装置。
【請求項５】
前記リクエスト送信部は、前記検査用リクエストの送信時刻を前記記憶部にさらに記憶し、
前記抽出部は、前記送信時刻が前記アラート情報に含まれる当該アラート情報の生成時刻から所定範囲内でない検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外する、請求項１〜４の何れか一項に記載の検査装置。
【請求項６】
前記抽出部は、前記アラート情報受信部が複数のアラート情報を受信した場合に、前記検査用リクエストの送信順序と、複数のアラート情報のそれぞれに含まれる当該アラート情報の生成時刻との関係に基づいて、特定の検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外する、請求項１〜５の何れか一項に記載の検査装置。
【請求項７】
記憶部を有する検査装置の制御プログラムであって、
検査対象装置を検査するための複数の検査項目を検査用リクエスト及び製品情報と関連付けて前記記憶部に記憶し、
前記検査用リクエストを検査対象装置に順次送信するとともに、送信した検査用リクエストの送信履歴を前記記憶部に記憶し、
検査対象装置が前記検査用リクエストの受信に応じて出力したアラート情報を受信し、
前記アラート情報に、前記送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれる場合、前記アラート情報に含まれる製品情報に関連付けて記憶された検査項目を前記アラート情報の原因となった検査項目として抽出し、
前記抽出された検査項目を出力する、
ことを前記検査装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査対象装置の脆弱性を検査する検査装置及びその制御プログラムに関する。
【背景技術】
【０００２】
近年、検査対象装置の脆弱性を検査する検査装置が普及している。一般に、このような検査装置は、検査対象装置を疑似的に攻撃するための１又は複数の検査用パケットで構成される検査用リクエストを検査対象装置に送信し、その応答の内容、挙動等の情報によって、検査対象装置の脆弱性を検査する。検査対象装置は、その設定によっては、検査用リクエストを受信した際にアラート情報を出力する。
【０００３】
例えば、特許文献１には、監視対象装置において発生したイベントを示すメッセージを受信し、受信したメッセージを事象ごとにグループ化し、グループ化されたメッセージをパターン定義と照合して不具合の原因を特定するネットワーク監視サーバが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された情報システムでは、複数のイベントが複合的に原因となる不具合の発生原因を特定することができる。
【０００６】
一方、上述した検査対象装置の脆弱性を検査する検査装置は、効率良く検査を行うために非常に多数（最大で数千程度）の種類の検査用リクエストを検査対象装置に一斉に送信する場合もある。したがって、検査対象装置がアラート情報を出力した場合に、どの検査用リクエストが原因となってアラート情報が出力されたのかを管理者が特定することは困難であった。
【０００７】
本発明は、このような従来の課題を解決すべくなされたものであり、検査対象装置が出力したアラート情報の原因となる検査項目を精度良く抽出することを可能とする検査装置及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る検査装置は、検査対象装置を検査するための複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶する記憶部と、検査用リクエストを検査対象装置に順次送信するとともに、送信した検査用リクエストの送信履歴を記憶部に記憶するリクエスト送信部と、検査対象装置が検査用リクエストの受信に応じて出力したアラート情報を受信するアラート情報受信部と、アラート情報に、送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれる場合、アラート情報に含まれる製品情報に関連付けて記憶された検査項目をアラート情報の原因となった検査項目として抽出する抽出部と、抽出された検査項目を出力する出力部とを有する。
【０００９】
また、本発明に係る検査装置において、製品情報には、検査対象装置で動作するハードウェア製品又はソフトウェア製品の製品名、ベンダ名、種別名、及び、ハードウェア製品又はソフトウェア製品が用いる通信プロトコル名の内の少なくとも一つが含まれることが好ましい。
【００１０】
また、本発明に係る検査装置において、記憶部は、複数の検査項目を、複数の検査対象装置の内、その検査項目の検査を行う検査対象装置を示す検査対象装置情報とさらに関連付けて記憶し、リクエスト送信部は、検査用リクエストを、その検査用リクエストと関連付けて記憶された検査対象装置情報に示される検査対象装置にのみ送信することが好ましい。
【００１１】
また、本発明に係る検査装置において、抽出部は、特定の検査対象装置が出力したアラート情報の原因となった検査項目を抽出した場合、以後、抽出した検査項目に関連付けて記憶された検査用リクエストを特定の検査対象装置へ送信しないように設定することが好ましい。
【００１２】
また、本発明に係る検査装置において、リクエスト送信部は、検査用リクエストの送信時刻を記憶部にさらに記憶し、抽出部は、送信時刻がアラート情報に含まれるそのアラート情報の生成時刻から所定範囲内でない検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外することが好ましい。
【００１３】
また、本発明に係る検査装置において、抽出部は、アラート情報受信部が複数のアラート情報を受信した場合に、検査用リクエストの送信順序と、複数のアラート情報のそれぞれに含まれるそのアラート情報の生成時刻との関係に基づいて、特定の検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外することが好ましい。
【００１４】
本発明に係る検査装置の制御プログラムは、記憶部を有する検査装置の制御プログラムであって、検査対象装置を検査するための複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶部に記憶し、検査用リクエストを検査対象装置に順次送信するとともに、送信した検査用リクエストの送信履歴を記憶部に記憶し、検査対象装置が検査用リクエストの受信に応じて出力したアラート情報を受信し、アラート情報に、送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれる場合、アラート情報に含まれる製品情報に関連付けて記憶された検査項目をアラート情報の原因となった検査項目として抽出し、抽出された検査項目を出力することを検査装置に実行させる。
【発明の効果】
【００１５】
本発明に係る検査装置及びその制御プログラムでは、複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶し、検査対象装置が出力したアラート情報に、送信した検査用リクエストに関連付けて記憶された製品情報が含まれる場合、その製品情報に関連付けて記憶された検査項目をアラート情報の原因となる検査項目として抽出する。これにより、検査対象装置が出力したアラート情報の原因となる検査項目を精度良く抽出することを可能とする。
【図面の簡単な説明】
【００１６】
【図１】検査システム１の概略構成の一例を示す図である。
【図２】検査装置１００の概略構成の一例を示す図である。
【図３】（ａ）は検査項目管理テーブルのデータ構造の一例を示す図であり、（ｂ）は検査対象装置管理テーブルのデータ構造の一例を示す図である。
【図４】検査処理の動作シーケンスの一例を示す図である。
【図５】処理履歴の例を示す模式図である。
【図６】検査項目抽出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００１８】
本実施形態に係る検査システムにおいて、検査装置は、検査対象装置の脆弱性を検査するために、検査対象装置に対して非常に多数の検査項目に係る検査を行う。各検査項目は、検査装置が検査用リクエストを検査対象装置に送信して検査対象装置を疑似的に攻撃することにより行われる。検査用リクエストは、１又は複数のパケットで構成される。各検査用リクエストは、過去に問題が発見された、検査対象装置で動作するハードウェア製品又はソフトウェア製品（以下、対象製品と称する）について、その問題が解決されているか否かを検査するためのものである。検査装置は、検査用リクエストを用いて、対象製品に疑似的にその問題を発生させることにより、又は対象製品から設定情報等を取得することにより、その問題を解決するための修正プログラム等が適用されているか、適切な設定になっているか等を確認する。検査対象装置において対象製品に問題が残っている場合、受信した検査用リクエストにより対象製品に異常が発生し、検査対象装置はアラート情報を出力する。また、検査対象装置は、対象製品に問題が残っていなくても、不正なリクエストを検知してアラート情報を出力する場合もある。一般に、このアラート情報は、異常が発生したこと又は異常を検知したことを通知するための情報であり、アラート情報に含まれる情報は各対象製品によって異なるため、どの検査項目の検査用リクエストが原因となってアラート情報が出力されたのかを特定することは困難である。また、検査装置は１秒間に数千個の検査用リクエストを送信することもあり、さらに、検査装置に設定されている時刻と検査対象装置に設定されている時刻にはずれが生じている場合があるため、検査用リクエストの送信時刻とアラート情報の生成時刻から対応する検査用リクエストを特定することも困難である。
【００１９】
但し、アラート情報には、対象製品の製品名、ベンダ名、種別名、又は、対象製品が用いる通信プロトコル名等が含まれている可能性が高い。そこで、本実施形態の検査装置は、検査対象装置の脆弱性を検査するための複数の検査項目を、検査用リクエスト及びその検査用リクエストにより検査を行う対象製品の製品名、ベンダ名、種別名、通信プロトコル名等と関連付けて記憶する。検査装置は、検査対象装置が出力したアラート情報に、送信した検査用リクエストと関連付けられた上記の各情報が含まれるか否かを判定し、含まれる場合、その情報に関連付けられた検査項目をアラート情報の原因となる検査項目として抽出する。これにより、検査装置は、非常に多数の検査項目の中から、検査対象装置が出力したアラート情報の原因となる検査項目を精度良く抽出又は特定することを可能とする。
【００２０】
図１は、検査システム１の概略構成の一例を示す図である。
【００２１】
検査システム１は、検査装置１００と、複数の検査対象装置２００ａ、２００ｂと、監視サーバ装置３００とを有する。なお、複数の検査対象装置２００ａは一つであってもよい。以下では、複数の検査対象装置２００ａ、２００ｂをまとめて検査対象装置２００と称する。
【００２２】
検査システム１において、検査装置１００、検査対象装置２００及び監視サーバ装置３００は、イントラネット等の通信ネットワーク４００を介して相互に接続される。
【００２３】
検査対象装置２００は、パーソナルコンピュータ、サーバ、ネットワーク機器等であり、検査装置１００により脆弱性が検査される対象の装置である。検査対象装置２００は、検査対象装置２００上で動作する対象製品において異常を検知した場合、その対象製品に応じたアラート情報を出力する。
【００２４】
監視サーバ装置３００は、各検査対象装置２００が出力したアラート情報を受信して各検査対象装置２００を監視する装置である。監視サーバ装置３００は、検査対象装置２００からアラート情報を受信し、各アラート情報の原因となった検査用リクエストの情報を検査装置１００に問い合わせ、その結果を表示して監視員に通知する。
【００２５】
図２は、検査装置１００の概略構成の一例を示す図である。
【００２６】
検査装置１００は、例えばパーソナルコンピュータ、サーバ等であり、検査対象装置の脆弱性を検査する。検査装置１００は、通信部１０１と、操作部１０２と、表示部１０３と、記憶部１０４と、中央処理部１１０とを備える。
【００２７】
通信部１０１は、イーサネット（登録商標）などの有線の通信インターフェース回路を有する。通信部１０１は、通信ネットワーク４００を介して検査対象装置２００、監視サーバ装置３００等と通信を行う。そして、通信部１０１は、検査対象装置２００、監視サーバ装置３００等から受信したデータを中央処理部１１０に供給する。また、通信部１０１は、中央処理部１１０から供給されたデータを通信ネットワーク４００を介して検査対象装置２００、監視サーバ装置３００等に送信する。通信部１０１は、中央処理部１１０により抽出された検査項目を出力する出力部の一例である。
【００２８】
操作部１０２は、検査装置１００の操作が可能であればどのようなデバイスでもよく、例えば、キーボード、マウス等である。ユーザは、このデバイスを用いて、文字、数字等を入力することができる。操作部１０２は、ユーザの指示を受け付け、受け付けた指示に対応する信号を発生し、中央処理部１１０に出力する。
【００２９】
表示部１０３は、動画像、静止画像等の出力が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機ＥＬ（Electro−Luminescence）ディスプレイ等である。表示部１０３は、中央処理部１１０から供給されるデータに応じた動画像、静止画像等を表示する。表示部１０３は、中央処理部１１０により抽出された検査項目を出力する出力部の一例である。
【００３０】
記憶部１０４は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置のうちの少なくとも一つを有する。記憶部１０４は、中央処理部１１０による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部１０４は、ドライバプログラムとして、通信部１０１を制御する通信デバイスドライバプログラム等を記憶する。また、記憶部１０４は、オペレーティングシステムプログラムとして、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の通信方式による接続制御プログラム等を記憶する。また、記憶部１０４は、アプリケーションプログラムとして、各種データの送受信を行うデータ処理プログラム等を記憶する。コンピュータプログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部１０４にインストールされてもよい。
【００３１】
また、記憶部１０４は、データとして、検査対象装置の脆弱性を検査するための複数の検査項目を管理する検査項目管理テーブル、検査対象装置を管理する検査対象装置管理テーブル等を記憶する。
【００３２】
図３（ａ）は、検査項目管理テーブルのデータ構造の一例を示す図である。
【００３３】
図３（ａ）に示すように、検査項目管理テーブルには、各検査項目毎に、その検査項目の識別情報である項目ＩＤ、その検査項目自体である検査内容、その検査項目の検査を実行するためのプログラムに関するプログラム情報、その検査項目により検査を行う対象製品に関する製品情報等が相互に関連付けられて登録される。プログラム情報は、そのプログラムが格納されているフォルダ名及びそのプログラムのファイル名等を示す情報である。各プログラムには、対象製品の検査を行うための検査用リクエスト、その検査用リクエストの送信先のポート番号、その検査用リクエストをそのポート番号へ送信するための命令等が含まれる。なお、この命令には、対象製品のバージョン、対象製品にログインするためのログイン名及びパスワードが初期設定から変更されているか否か又は単純なものであるか否か等を確認するための命令等も含まれる。検査用リクエストは、検査を行う対象製品にサービス運用妨害（ＤｏＳ）攻撃等を疑似的に行うために送信されるリクエストである。製品情報には、その検査用リクエストにより検査を行う対象製品の製品名、ベンダ名、種別名、対象製品が用いる通信プロトコル名等が含まれる。種別名は、その製品の種別を示す名称であり、例えば、Web Server、Database等である。通信プロトコル名は、その対象製品が外部と通信する際に用いられる通信プロトコルを示す名称であり、例えば、HTTP(Hypertext Transfer Protocol)、TNS(Transparent Network Substrate Protocol)、MySQL等である。
【００３４】
なお、図３（ａ）に示すように、一つの対象製品（CCC_HTTP_Server）に対して複数の検査項目（ID=00004、00005）を対応させてもよい。また、一つの検査項目（ID=00006）に対して複数の対象製品（CCC_HTTP_Server、DDD_HTTP_Server）を対応させてもよい。
【００３５】
図３（ｂ）は、検査対象装置管理テーブルのデータ構造の一例を示す図である。
【００３６】
図３（ｂ）に示すように、検査対象装置管理テーブルには、各検査対象装置毎に、その検査対象装置の識別情報である装置ＩＤ、その検査対象装置のＩＰ（Internet Protocol）アドレス、その検査対象装置に対して行う検査項目の項目ＩＤ等が相互に関連付けられて登録される。装置ＩＤは、各検査対象装置を示す検査対象装置情報の一例である。初期設定時、各検査対象装置に対して全ての検査項目が設定される。
【００３７】
さらに、記憶部１０４は、中央処理部１１０が行った検査の処理履歴を記憶する。なお、記憶部１０４は、処理履歴とともに、tcpdumpコマンド等により取得したネットワーク上に流れるリクエストの生データを記憶してもよい。また、記憶部１０４は、異常が発生した検査対象装置のＩＰアドレス、その検査対象装置が出力したアラート情報、そのアラート情報の原因となった検査項目の項目ＩＤ等を関連付けて記憶する異常管理テーブルを記憶する。また、記憶部１０４は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
【００３８】
図２に戻って、中央処理部１１０は、一又は複数個のプロセッサ及びその周辺回路を有する。中央処理部１１０は、検査装置１００の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵ（Central Processing Unit）である。中央処理部１１０は、検査装置１００の各種処理が記憶部１０４に記憶されているプログラム、操作部１０２の操作等に応じて適切な手順で実行されるように、通信部１０１、表示部１０３等の動作を制御する。中央処理部１１０は、記憶部１０４に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、中央処理部１１０は、複数のプログラム（アプリケーションプログラム等）を並列に実行することができる。
【００３９】
中央処理部１１０は、リクエスト送信部１１１と、アラート情報受信部１１２と、抽出部１１３とを有する。中央処理部１１０が有するこれらの各部は、中央処理部１１０が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、中央処理部１１０が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして検査装置１００に実装されてもよい。
【００４０】
図４は、検査システム１における検査装置１００による検査対象装置２００の検査処理の動作シーケンスの一例を示す。
【００４１】
以下に説明する動作シーケンスは、各装置において予め各装置の記憶部に記憶されているプログラムに基づき主に各装置の制御部により各装置の各要素と協働して実行される。図４の動作シーケンスは、操作部１０２を用いたユーザの指示に従って、又は、定期的に実行される。
【００４２】
最初に、検査装置１００のリクエスト送信部１１１は、記憶部１０４から検査項目管理テーブル及び検査対象装置管理テーブルを読み出す（ステップＳ１０１）。
【００４３】
次に、リクエスト送信部１１１は、検査対象装置管理テーブルに含まれる各検査対象装置の装置ＩＤと関連付けられた各項目ＩＤを特定し、検査項目管理テーブルにおいて、特定した各項目ＩＤに対応するプログラム情報に示されるプログラムを順次実行する。これにより、リクエスト送信部１１１は、各プログラムに含まれる検査用リクエストを、通信部１０１を介して各検査対象装置２００のＩＰアドレス及び対応するポート番号に送信する。さらに、リクエスト送信部１１１は、その処理履歴、すなわちその検査用リクエストの送信履歴を記憶部１０４に順次記憶する（ステップＳ１０２）。
【００４４】
なお、検査項目管理テーブルにおいて、各検査項目毎に、その検査項目を実施する検査対象装置のＩＰアドレスを記憶してもよい。その場合、リクエスト送信部１１１は、検査項目管理テーブルに含まれる各項目ＩＤに対応するプログラムに含まれる命令に従って、そのプログラムに含まれる検査用リクエストを、検査項目管理テーブルにおいてその項目ＩＤに関連付けられた各検査対象装置のＩＰアドレスに送信する。
【００４５】
図５は、処理履歴の例を示す模式図である。図５に示すように、処理履歴には、処理時刻、項目ＩＤ、処理内容、検査対象装置２００のＩＰアドレス等の情報が関連付けて記憶される。処理履歴に記憶された項目ＩＤは、その項目ＩＤに関連付けられた検査用リクエストがその処理時刻にそのＩＰアドレス宛てに送信されたこと、すなわちリクエスト送信部１１１が送信した検査用リクエストの送信履歴を表し、処理時刻はその検査用リクエストの送信時刻を表す。
【００４６】
次に、検査対象装置２００が検査用リクエストを受信すると、その検査用リクエストにより検査される検査対象装置２００上の対象製品は、その検査用リクエストに応じた所定の処理を実行する。このとき、対象製品が脆弱性を有しており、その検査用リクエストにより異常が発生した場合、または不正なリクエストを受信したことを検知した場合、検査対象装置２００は特定のアラート情報を履歴として記憶し、記憶したアラート情報を含むアラート信号を監視サーバ装置３００に送信、即ち出力する（ステップＳ１０３）。なお、検査対象装置２００は、例えば一定期間（例えば１分）毎に、その間に記憶した各アラート情報を含むアラート信号を送信してもよい。または、検査対象装置２００は、監視サーバ装置３００からアラート情報の取得を要求する要求信号を受信した場合に、アラート信号を送信してもよい。
【００４７】
なお、アラート情報には、そのアラート情報の生成時刻、即ち異常が発生した発生時刻と、異常の内容とが含まれる。異常の内容がどのように記載されるかは各対象製品によって異なるが、異常の内容には、異常が発生した対象製品の製品名、ベンダ名、種別名及び／又は対象製品が用いる通信プロトコル名が文字列として含まれる場合がある。
【００４８】
次に、監視サーバ装置３００は、検査対象装置２００から、検査対象装置２００が検査用リクエストの受信に応じて出力したアラート信号を受信すると、受信したアラート信号に含まれるアラート情報をその検査対象装置２００のＩＰアドレスと関連付けて記憶する。さらに、監視サーバ装置３００は、記憶した各アラート情報及びＩＰアドレスを表示して監視員に通知する。さらに、監視サーバ装置３００は、記憶した各アラート情報の原因となった検査項目を問い合わせるための問合せ信号を検査装置１００に送信する（ステップＳ１０４）。問合せ信号には、問い合わせの対象となるアラート情報及びＩＰアドレスが含まれる。監視サーバ装置３００は、検査対象装置２００からアラート信号を受信するとすぐに問合せ信号を送信する。なお、監視サーバ装置３００は、例えば一定期間（例えば１時間）毎に、その間に受信した各アラート情報の原因となった検査項目をまとめて問い合わせる問合せ信号を送信してもよい。
【００４９】
次に、検査装置１００のアラート情報受信部１１２が通信部１０１を介して監視サーバ装置３００から問合せ信号を受信すると、抽出部１１３は、受信した問合せ信号に含まれるアラート情報の原因となった検査項目を抽出する検査項目抽出処理を実行する（ステップＳ１０５）。抽出部１１３は、検査項目抽出処理において、アラート情報に、送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれるか否かを判定し、含まれる場合、その製品情報に関連付けて記憶された検査項目をアラート情報の原因となった検査項目として抽出する。検査項目抽出処理の詳細については後述する。
【００５０】
次に、抽出部１１３は、抽出された検査項目と、対応するアラート情報及びＩＰアドレスとを含む抽出結果信号を通信部１０１を介して監視サーバ装置３００に送信する（ステップＳ１０６）。なお、抽出部１１３は、抽出結果信号を送信するとともに、抽出された検査項目と、対応するアラート情報及びＩＰアドレスとを表示部１０３に表示し、検査装置１００の管理者に通知してもよい。
【００５１】
次に、監視サーバ装置３００は、検査装置１００から抽出結果信号を受信すると、受信した抽出結果信号に含まれる検査項目、即ち検査対象装置２００が出力したアラート情報の原因となった検査項目をそのアラート情報とともに表示して監視員に通知する（ステップＳ１０７）。
【００５２】
これにより、監視員は、多数の検査項目の中のどの検査項目が原因となって検査対象装置２００がアラート情報を出力したかを的確に把握することができ、問題のある対象製品を更新する等、適切な対応を実施することが可能となる。
【００５３】
図６は、検査装置１００による検査項目抽出処理の動作フローの一例を示すフローチャートである。図６に示す動作のフローは、図４に示す動作シーケンスのステップＳ１０５において実行される。
【００５４】
最初に、検査装置１００の抽出部１１３は、受信した問合せ信号からアラート情報を抽出する（ステップＳ２０１）。
【００５５】
次に、抽出部１１３は、抽出したアラート情報から製品情報を抽出する（ステップＳ２０２）。
【００５６】
抽出部１１３は、検査項目管理テーブルに記憶された製品情報の内の何れかの製品情報を示す文字列が、抽出したアラート情報に含まれるか否かを判定し、何れかの製品情報がアラート情報に含まれる場合、その製品情報を抽出する。すなわち、抽出部１１３は、検査項目管理テーブルに記憶された製品名、ベンダ名、種別名及び通信プロトコル名の内の何れかを示す文字列がアラート情報に含まれる場合、その文字列を抽出する。なお、検査項目管理テーブルに記憶された製品名、ベンダ名、種別名及び通信プロトコル名の一覧をその項目ＩＤと関連付けて記憶した製品情報テーブルを記憶部１０４に予め記憶しておき、抽出部１１３は、製品情報テーブルを用いて製品情報を抽出してもよい。
【００５７】
次に、抽出部１１３は、アラート情報から製品情報が抽出されたか否かを判定する（ステップＳ２０３）。
【００５８】
抽出部１１３は、アラート情報から製品情報が抽出されなかった場合（ステップＳ２０３−Ｎｏ）、処理をステップＳ２１２へ移行する。一方、抽出部１１３は、アラート情報から製品情報が抽出された場合（ステップＳ２０３−Ｙｅｓ）、抽出された各製品情報に関連付けて検査項目管理テーブルに記憶された全ての項目ＩＤを抽出する（ステップＳ２０４）。
【００５９】
次に、抽出部１１３は、監視サーバ装置３００から受信していた問合せ信号からＩＰアドレスを抽出する（ステップＳ２０５）。
【００６０】
次に、抽出部１１３は、アラート情報からそのアラート情報の生成時刻を抽出する（ステップＳ２０６）。
【００６１】
次に、抽出部１１３は、記憶部１０４に記憶された処理履歴に、ステップＳ２０４で抽出した項目ＩＤ、ステップＳ２０５で抽出したＩＰアドレス、及びステップＳ２０６で抽出した生成時刻に対応する履歴が含まれるか否かを判定する（ステップＳ２０７）。
【００６２】
なお、抽出部１１３は、処理履歴に記憶された処理時刻が、ステップＳ２０６で抽出した生成時刻を含む所定範囲の期間に含まれる場合、その処理時刻がその生成時刻に対応するとみなす。所定範囲は、検査装置１００に設定されている時刻と検査対象装置２００に設定されている時刻の差、及び検査装置１００が検査用リクエストを送信してから検査対象装置２００で異常が発生するまでの時間等を考慮して設定され、例えば生成時刻の前後５分間ずつの合計１０分間に設定される。これにより、抽出部１１３は、送信時刻がアラート情報の生成時刻から所定範囲内でない検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外することができる。したがって、抽出部１１３は、送信時刻が異常の発生時刻と大きく異なる検査用リクエストを抽出対象から除外することが可能となり、検査用リクエストの抽出精度をより向上させることができる。
【００６３】
抽出部１１３は、処理履歴に、各処理で抽出した項目ＩＤ、ＩＰアドレス及び生成時刻に対応する履歴が含まれない場合（ステップＳ２０７−Ｎｏ）、処理をステップＳ２１２へ移行する。一方、抽出部１１３は、処理履歴に、各処理で抽出した項目ＩＤ、ＩＰアドレス及び生成時刻に対応する履歴が含まれる場合（ステップＳ２０７−Ｙｅｓ）、アラート情報に、送信履歴が記憶された検査用リクエストに関連付けて記憶された製品情報が含まれると判定する（ステップＳ２０８）。
【００６４】
次に、抽出部１１３は、その製品情報に関連付けて記憶された検査項目、即ちその履歴に記憶された項目ＩＤの検査項目を、アラート情報の原因となった検査項目として抽出する（ステップＳ２０９）。
【００６５】
次に、抽出部１１３は、抽出した検査項目をそのアラート情報及びＩＰアドレスと関連付けて、抽出結果として記憶部１０４に記憶する（ステップＳ２１０）。
【００６６】
次に、抽出部１１３は、抽出した検査項目をそのアラート情報及びＩＰアドレスと関連付けて、記憶部１０４の異常管理テーブルに記憶するとともに、検査対象装置管理テーブルにおいて、そのＩＰアドレスの検査対象装置と関連付けて記憶されたその検査項目の項目ＩＤを削除する（ステップＳ２１１）。
【００６７】
このように、抽出部１１３は、特定の検査対象装置２００が出力したアラート情報の原因となった検査項目を抽出した場合、以後、その検査項目に関連付けて記憶された検査用リクエストをその検査対象装置へ送信しないように設定する。これにより、その検査項目により異常が発生することが判明している検査対象装置２００、又は異常は発生しないが、不正なリクエストを検知してアラート情報を出力する検査対象装置２００に対して、その検査項目の検査が再度実施されることを防止することができる。したがって、以後の検査において、その検査対象装置２００は、その検査項目に対応したアラートを出力せず、監視サーバ装置３００の監視員は、そのアラートに対応する必要がなくなる。なお、削除された項目ＩＤは、その検査対象装置２００においてその検査用リクエストに対応する対象製品の更新等が行われ、問題が解消されたときに、例えば検査装置１００の管理者により操作部１０２を用いて復旧される。
【００６８】
なお、抽出部１１３は、特定の検査対象装置２００が出力したアラート情報の原因となった検査項目の項目ＩＤを検査対象装置管理テーブルから削除せず、以後の検査を実行する前に異常管理テーブルの内容を表示部１０３に表示したり、電子メール等を管理者宛てに送信して、管理者に確認を促してもよい。
【００６９】
次に、抽出部１１３は、受信した問合せ信号に含まれる全てのアラート情報を抽出したか否かを判定する（ステップＳ２１２）。
【００７０】
抽出部１１３は、全てのアラート情報をまだ抽出していない場合（ステップＳ２１２−Ｎｏ）、処理をステップＳ２０１へ戻し、ステップＳ２０１〜Ｓ２１１の処理を繰り返す。一方、抽出部１１３は、全てのアラート情報を抽出した場合（ステップＳ２１２−Ｙｅｓ）、一連のステップを終了する。
【００７１】
抽出部１１３は、図４のステップＳ１０６において、ステップＳ２１０で抽出結果として記憶した検査項目及びアラート情報を抽出結果信号に含ませて監視サーバ装置３００に送信する。検査用リクエストが全く抽出されなかった場合、抽出部１１３は、その旨を示す抽出結果信号を監視サーバ装置３００に送信する。
【００７２】
なお、製品情報は、対象製品の製品名、ベンダ名、種別名、及び、対象製品が用いる通信プロトコル名の内の少なくとも一つを含んでいればよく、各情報の内の何れかを省略してもよい。
【００７３】
また、抽出部１１３は、ステップＳ２０２において、アラート情報に各製品情報を示す文字列が含まれるか否かを一斉に判定するのではなく、製品名、ベンダ名、種別名及び通信プロトコル名について順次判定してもよい。その場合、プロトコル名をキーワードとするよりも種別名をキーワードとした方が、抽出する検査項目の数を少なくすることができる。同様に、種別名をキーワードとするよりもベンダ名をキーワードとした方が、抽出する検査項目の数を少なくすることができ、ベンダ名をキーワードとするよりも製品名をキーワードとした方が、抽出する検査項目の数を少なくすることができる。
【００７４】
したがって、抽出部１１３は、最初にアラート情報から製品名を抽出し、製品名が抽出されなかった場合に限り、アラート情報からベンダ名を抽出する。同様に、抽出部１１３は、ベンダ名が抽出されなかった場合に限り、アラート情報から種別名を抽出し、種別名が抽出されなかった場合に限り、アラート情報からプロトコル名を抽出する。これにより、抽出部１１３は、抽出する検査項目の数を可能な限り少なくし、抽出する検査項目をより限定することができる。なお、各情報を抽出する順序は適宜変更してもよい。
【００７５】
また、抽出部１１３は、受信した各アラート情報について、送信した各検査用リクエスト毎に、アラート情報と検査用リクエストの製品情報との一致の度合いを示す一致度を算出し、一致度が所定閾値以上となる検査用リクエストに関連付けて記憶された検査項目をそのアラート情報の原因となった検査項目として抽出してもよい。例えば、抽出部１１３は、一致度の初期値を０にしておき、受信したアラート情報に、送信した検査用リクエストに関連付けて記憶された製品名が含まれる場合、ベンダ名が含まれる場合、種別名が含まれる場合、又は通信プロトコル名が含まれる場合、それぞれ一致度に１を加算する。抽出部１１３は、一致度が２以上となる検査用リクエストに関連付けて記憶された検査項目をそのアラート情報の原因となった検査項目として抽出する。なお、一致度に加算する値は、製品名が含まれる場合と、ベンダ名が含まれる場合と、種別名が含まれる場合と、通信プロトコル名が含まれる場合とでそれぞれ異ならせてもよい。これにより、抽出部１１３は、アラート情報の原因となった検査項目をより精度良く抽出することができる。
【００７６】
さらに、抽出部１１３は、過去に抽出された検査項目の履歴に基づいて、アラート情報の原因となった検査項目を抽出してもよい。例えば、抽出部１１３は、上記のように算出した、アラート情報と検査用リクエストの製品情報との一致度に、その検査用リクエストに対応する検査項目が異常管理テーブルに記憶されている数が多いほど大きい係数を乗じる。これにより、抽出部１１３は、アラート情報を発生させる可能性が高い検査項目を優先的に抽出することができる。
【００７７】
また、検査対象装置２００において、各検査項目により異常が発生してアラート情報が生成される順序は、各検査項目が実施された順序と等しくなる可能性が高い。そこで、抽出部１１３は、アラート情報受信部１１２が複数のアラート情報を受信した場合に、処理履歴に記憶された検査用リクエストの送信順序と、各アラート情報に含まれる生成時刻との関係に基づいて、特定の検査用リクエストに関連付けて記憶された検査項目を抽出対象から除外してもよい。
【００７８】
例えば、特定の検査項目により異常が発生して特定のアラート情報が生成された場合、その特定の検査項目が、その特定のアラート情報より前に生成されたアラート情報の原因となる検査項目より前に実施されている可能性は低い。そこで、抽出部１１３は、特定のアラート情報に含まれる生成時刻より前の生成時刻を含む各アラート情報について、そのアラート情報の原因となる検査項目として抽出した検査項目の内の最初に実施された検査項目を処理履歴から抽出する。そして、抽出部１１３は、抽出した検査項目より前に実施された検査項目をその特定のアラート情報についての抽出対象から除外する。
【００７９】
同様に、特定の検査項目により異常が発生して特定のアラート情報が生成された場合、その特定の検査項目が、その特定のアラート情報より後に生成されたアラート情報の原因となる検査項目より後に実施されている可能性は低い。そこで、抽出部１１３は、特定のアラート情報に含まれる生成時刻より後の生成時刻を含む各アラート情報について、そのアラート情報の原因となる検査項目として抽出した検査項目の内の最後に実施された検査項目を処理履歴から抽出する。そして、抽出部１１３は、抽出した検査項目より後に実施された検査項目をその特定のアラート情報についての抽出対象から除外する。
【００８０】
また、検査対象装置管理テーブルにおいて、各検査対象装置毎に検査項目の項目ＩＤを記憶せず、リクエスト送信部１１１は、検査システム１内の全ての検査対象装置２００に対して同じ検査項目を実施してもよい。その場合、全ての検査対象装置２００に同じ検査用リクエストが送信される。したがって、抽出部１１３は、ステップＳ２０５のＩＰアドレスの抽出処理を省略し、ステップＳ２０７において、ＩＰアドレスについては判定せず、処理履歴に、各処理で抽出した生成時刻及び項目ＩＤに対応する履歴が含まれるか否かを判定してもよい。これにより、抽出部１１３は、検査項目抽出処理に要する時間を低減することができる。
【００８１】
また、抽出部１１３は、検査項目の処理時刻、即ち検査用リクエストの送信時刻に関わらず、任意の時刻に処理された検査項目を抽出してもよい。その場合、抽出部１１３は、ステップＳ２０６の生成時刻の抽出処理を省略し、ステップＳ２０７において、生成時刻については判定せず、処理履歴に、各処理で抽出したＩＰアドレス及び項目ＩＤに対応する履歴が含まれるか否かを判定する。これにより、抽出部１１３は、判定処理に要する時間を低減することができる。
【００８２】
また、抽出部１１３は、検査対象装置２００がアラート情報を出力し得ない検査項目を抽出対象から除外してもよい。例えば、抽出部１１３は、アラート情報にWeb Serverの文字列が含まれる場合、ウェブアクセスに用いられるポート番号（８０）以外のポート番号に対して検査を行うための検査項目を抽出対象から除外してもよい。
【００８３】
また、リクエスト送信部１１１は、操作部１０２を用いた管理者による指示に従って、異常管理テーブルに記憶された各検査項目に対応する検査用リクエストをその検査項目に関連付けて記憶されたＩＰアドレス宛てに再度送信してもよい。これにより、問題を有している検査対象装置及び対象製品にのみ、効率良く再検査を行うことができる。管理者は、問題を有している各検査対象装置にそれぞれ個別に再検査を行うことなく、まとめて再検査を行うことができ、利便性を向上させることが可能となる。
【００８４】
以上説明してきたように、検査装置１００は、複数の検査項目を検査用リクエスト及び製品情報と関連付けて記憶し、検査対象装置２００が出力したアラート情報に、送信した検査用リクエストに関連付けて記憶された製品情報が含まれる場合、その製品情報に関連付けて記憶された検査項目をアラート情報の原因となる検査項目として抽出する。これにより、検査装置１００は、非常に多数の検査項目の中から、検査対象装置２００が出力したアラート情報の原因となる検査項目を精度良く抽出又は特定することが可能となる。
【００８５】
また、検査装置１００は、検査対象装置管理テーブルにおいて、検査対象装置２００毎に各検査対象装置に対して行う検査項目を管理する。これにより、全ての検査対象装置２００に対して同一の検査を行うのではなく、検査対象装置２００毎に検査項目を柔軟に変更することが可能となる。特に、異常が発生することが事前に判明している検査項目を省略することができ、監視サーバ装置３００の監視者及び検査装置１００の管理者の利便性を向上させることが可能となる。
【００８６】
なお、本発明は、本実施形態に限定されるものではない。例えば、検査システム１において、監視サーバ装置３００を省略し、検査対象装置２００は、アラート信号を検査装置１００に直接送信してもよい。
【００８７】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００８８】
１    検査システム
１００    検査装置
１０１    通信部
１０２    操作部
１０３    表示部
１０４    記憶部
１１０    中央処理部
１１１    リクエスト送信部
１１２    アラート情報受信部
１１３    抽出部
２００    検査対象装置
３００    監視サーバ装置
【図１】
2015185030.tif 000003
【図２】
2015185030.tif 000004
【図３】
2015185030.tif 000005
【図４】
2015185030.tif 000006
【図５】
2015185030.tif 000007
【図６】
2015185030.tif 000008