(57)【要約】      （修正有）【課題】複数の脆弱性検査ツールを用いた検査結果に対する対応を容易に決定する仕組みを提供する。【解決手段】複数の脆弱性検査ツールの検査結果を表示する情報処理装置であって、脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する検査結果管理部と、管理されている情報から取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する異検査結果特定部と、管理されている情報から取得された情報のうち、特定された情報を識別して表示する表示部と、を有する。【選択図】図３
2018055340.tif 000002
【特許請求の範囲】
【請求項１】
複数の脆弱性検査ツールの検査結果を表示する情報処理装置であって、
脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する検査結果管理手段と、
前記検査結果管理手段により管理されている情報を取得する検査結果取得手段と、
前記検査結果取得手段により取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する異検査結果特定手段と、
前記検査結果取得手段により取得された情報のうち、前記異検査結果特定手段により特定された情報を識別して表示する表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示手段により表示された情報のうち、前記検査結果の更新を受け付ける更新受付手段と、
前記更新受付手段により受け付けた検査結果を用いて、前記検査結果管理手段により管理されている検査結果を更新する更新手段と
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検査結果管理手段により管理されている情報のうち、前記検査結果の値を確定する検査結果確定手段を更に備え、
前記検査結果確定手段は、
前記検査結果取得手段により取得された情報のうち、検査項目識別情報が一致し、かつ検査結果が一致する場合は、当該検査結果の値で確定し、一方、検査項目識別情報が一致し、かつ検査結果が異なる場合は、前記更新手段により更新された検査結果の値で確定すること
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示手段により識別して表示されていた前記異検査結果特定手段により特定された情報が、前記更新手段による検査結果の更新により、前記検査結果が等しい情報になった場合、前記表示手段による識別表示を抑止する表示制御手段
を更に備えることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
複数の脆弱性検査ツールの検査結果を表示する情報処理装置における処理方法であって、
前記情報処理装置が、
脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する検査結果管理ステップと、
前記検査結果管理ステップにより管理されている情報を取得する検査結果取得ステップと、
前記検査結果取得ステップにより取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する異検査結果特定ステップと、
前記検査結果取得ステップにより取得された情報のうち、前記異検査結果特定ステップにより特定された情報を識別して表示する表示ステップと
を実行することを特徴とする処理方法。
【請求項６】
複数の脆弱性検査ツールの検査結果を表示する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する検査結果管理手段と、
前記検査結果管理手段により管理されている情報を取得する検査結果取得手段と、
前記検査結果取得手段により取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する異検査結果特定手段と、
前記検査結果取得手段により取得された情報のうち、前記異検査結果特定手段により特定された情報を識別して表示する表示手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脆弱性検査の検査結果を表示する情報処理装置、その処理方法およびプログラムに関する。
【背景技術】
【０００２】
昨今、コンピュータシステムのセキュリティの重要性は増しており、システム開発において脆弱性検査ツールを使用した脆弱性検査（Ｖｕｌｎｅｒａｂｉｌｉｔｙ  Ｓｃａｎｎｅｒ）が普及しつつある。但し、脆弱性検査ツールは、ツール毎に得意・不得意な分野（例えば、業務アプリケーション分野、インフラ分野等）があり、検査精度にばらつきがある。そのため、複数の脆弱性検査ツールを組み合わせて検査を実行することがある。
特許文献１には、複数のサブシステムを含むシステムについて、セキュリティ評価結果を算定する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１０３２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の仕組みは、複数のサブシステムについてセキュリティ評価を行い、その評価を用いてシステム全体のセキュリティ評価結果を算出するだけであって、複数の脆弱性検査ツールを用いて、システムの脆弱性検査を行うものではない。
そのため、ある検査項目について、複数の脆弱性検査ツールによる検査結果が異なる場合が生じ、その異なる検査結果に対するユーザの対応決定に手間がかかってしまうという問題が生じてしまう。
【０００５】
そこで、本発明の目的は、複数の脆弱性検査ツールを用いた検査結果に対する対応を容易に決定する仕組みを提供することである。
【課題を解決するための手段】
【０００６】
複数の脆弱性検査ツールの検査結果を表示する情報処理装置であって、脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する検査結果管理手段と、前記検査結果管理手段により管理されている情報を取得する検査結果取得手段と、前記検査結果取得手段により取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する異検査結果特定手段と、前記検査結果取得手段により取得された情報のうち、前記異検査結果特定手段により特定された情報を識別して表示する表示手段とを備えることを特徴とする情報処理装置。
【発明の効果】
【０００７】
本発明によれば、複数の脆弱性検査ツールを用いた検査結果に対する対応を容易に決定する仕組みを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明のシステム構成図の一例を示す図
【図２】情報処理装置１０１のハードウエア構成の一例を示す図
【図３】情報処理装置１０１の機能構成の一例を示すブロック図
【図４】検査ログ取込画面表示処理のフローチャートの一例を示す図
【図５】検査ログ取込実行処理のフローチャートの一例を示す図
【図６】脆弱性別一覧処理のフローチャートの一例を示す図
【図７】検査別一覧処理のフローチャートの一例を示す図
【図８】情報処理装置１０１にて表示される検査ログ取込画面および検査ログ取込実行画面の一例を示す図
【図９】情報処理装置１０１にて表示される脆弱性別一覧画面の一例を示す図
【図１０】情報処理装置１０１にて表示される検査別一覧画面の一例を示す図
【図１１】脆弱性検査管理サーバ１０２にて管理するテーブルの一例を示す図
【図１２】脆弱性検査管理サーバ１０２にて管理するテーブルの一例を示す図
【図１３】脆弱性検査管理サーバ１０２にて管理するテーブルの一例を示す図
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態を詳細に説明する。
図１は、本実施形態における脆弱性検査システム１００のシステム構成の一例を示す図である。
【００１０】
本実施形態の脆弱性検査システム１００は、情報処理装置１０１、脆弱性検査管理サーバ１０２、ＢＴＳサーバ１０３、脆弱性検査装置１０４、検査対象サーバ１０５を含み、これらがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等のネットワークを介して、相互にデータ通信可能に接続されている。尚、図１のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
【００１１】
情報処理装置１０１は、パーソナルコンピュータ等の汎用のコンピュータ装置である。情報処理装置１０１にはＷｅｂブラウザ等のアプリケーションがインストールされており、そのアプリケーションを用いて脆弱性検査管理サーバ１０２が管理する脆弱性検査の検査結果を表示する。
脆弱性検査管理サーバ１０２は、脆弱性検査装置１０４によって行われた検査対象サーバ１０５の脆弱性検査の検査結果を管理するサーバ装置である。
【００１２】
脆弱性検査装置１０４には、脆弱性検査ツールがインストールされており、その脆弱性検査ツールを用いて、検査対象サーバ１０５で動作するアプリケーション（例えば、Ｗｅｂアプリケーション）の脆弱性検査や、検査対象サーバ１０５の設定やミドルウェア等の脆弱性検査を行う。なお、脆弱性検査装置１０４は、図１のように脆弱性検査ツール毎に別々の装置（１０４ａ、１０４ｂ、１０４ｃ・・・）としてもよいし、脆弱性検査装置１０４の１台に複数の脆弱性検査ツールをインストールして１台で複数の脆弱性検査を行うとしてもよい。
【００１３】
ＢＴＳサーバ１０３は、ＢＴＳ（Ｂｕｇ  Ｔｒａｃｋｉｎｇ  Ｓｙｓｔｅｍ）が動作するサーバであり、脆弱性検査管理サーバ１０２で管理する検査結果のうち、異常と検知した結果を障害として管理する。
以上で、図１の説明を終了する。
【００１４】
以下、図２を用いて、図１に示した情報処理装置１０１に適用可能なハードウエア構成の一例について説明する。
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【００１５】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００１６】
また、２０５は入力コントローラで、入力装置２０９等からの入力を制御する。２０６はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置２１０への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、ＣＲＴディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【００１７】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００１８】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００１９】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２０】
ハードウエア上で動作する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
以上で、図２の説明を終了する。
【００２１】
図３は、情報処理装置１０１の機能構成の一例を示すブロック図の一例である。
情報処理装置１０１は、以下の機能部を備える。
検査結果管理部３０１は、脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する機能部である。
検査結果取得部３０２は、検査結果管理部３０１により管理されている情報を取得する機能部である。
異検査結果特定部３０３は、検査結果取得部３０２により取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する機能部である。
表示部３０４は、検査結果取得部３０２により取得された情報のうち、異検査結果特定部３０３により特定された情報を識別して表示する機能部である。
更新受付部３０５は、表示部３０４により表示された情報のうち、前記検査結果の更新を受け付ける機能部である。
更新部３０６は、更新受付部３０５により受け付けた検査結果を用いて、検査結果管理部３０１により管理されている検査結果を更新する機能部である。
検査結果確定部３０７は、検査結果管理部３０１により管理されている情報のうち、前記検査結果の値を確定する機能部である。
【００２２】
検査結果確定部３０７は、検査結果取得部３０２により取得された情報のうち、検査項目識別情報が一致し、かつ検査結果が一致する場合は、当該検査結果の値で確定し、一方、検査項目識別情報が一致し、かつ検査結果が異なる場合は、更新部３０６により更新された検査結果の値で確定する機能部である。
【００２３】
表示制御部３０８は、表示部３０４により識別して表示されていた異検査結果特定部３０３により特定された情報が、更新部３０６による検査結果の更新により、前記検査結果が等しい情報になった場合、表示部３０４による識別表示を抑止する機能部である。
【００２４】
なお、本実施形態においては、情報処理装置１０１がこれらの機能構成を備えるとしたが、情報処理装置１０１に限定するものではなく、情報処理装置１０１ではなく脆弱性検査管理サーバ１０２において脆弱性検査の検査結果を表示する場合、脆弱性検査管理サーバ１０２がこれらの機能構成を備えるとしてもよい。
以上で、図３の説明を終了する。
【００２５】
図４〜図７のフローチャートを用いて、本発明の処理について説明する。なお、図４〜図７の各ステップは、すべて各装置のＣＰＵ２０１が行うものとする。なお、本実施形態においては、情報処理装置１０１のＣＰＵ２０１が行うとしたが、これに限定するものではなく、設定ファイルを管理するサーバ１０２のＣＰＵ２０１が行うとしてもよい。
【００２６】
図４は、検査ログ取込画面表示処理のフローチャートの一例を示す図である。
ステップＳ４０１において、情報処理装置１０１は、ユーザの操作により検査ログ取込画面８１０（図８）の表示要求を受け付ける。
ステップＳ４０２において、情報処理装置１０１は、脆弱性検査管理サーバ１０２へ検査ログ取込画面の表示要求を送信する。
ステップＳ４０３において、脆弱性検査管理サーバ１０２は、検査ログ取込画面の表示要求を受信する。
ステップＳ４０４において、脆弱性検査管理サーバ１０２は、検査ログ情報を取得する。具体的には、検査テーブル１２３０（図１２）の全件データを取得する。取得した各レコードの「システムＩＤ」と「パーサＩＤ」を用いて、検査対象システムテーブル１１１０（図１１）から「システム名称」、パーサテーブル１１３０（図１１）から「パーサ名」を取得する。
例えば、検査テーブル１２３０のレコード１２３１は、「検査ＩＤ」＝２、「対象システムＩＤ」＝２、「パーサＩＤ」＝３であり、検査対象システムテーブル１１１０のレコード１１１１から、「システムＩＤ」＝２の「システム名称」＝“●●ＥＤＩシステム”であることがわかる。同様に、パーサテーブル１１３０のレコード１１３１から、「パーサＩＤ」＝３の「パーサ名称」＝“ツールＣ＿ＸＭＬパーサ”であることがわかる。このようにして、検査ログ取込画面８１０のレコード８１２が表示される。
ステップＳ４０５において、脆弱性検査管理サーバ１０２は、検査ログ情報を含む検査ログ取込画面８１０を情報処理装置１０１へ送信する。検査ログ情報とは、ステップＳ４０４において取得した「検査ＩＤ」「取込日時」「システム名称」「パーサ名」のリストである。
ステップＳ４０６において、情報処理装置１０１は、検査ログ取込画面を受信する。
ステップＳ４０７において、情報処理装置１０１は、検査ログ取込画面を表示する。
【００２７】
ステップＳ４０８において、情報処理装置１０１は、画面上のボタンの押下を受け付け、「検査ログ取込実行ボタン８１３」の場合は図５のフローチャートに進み、「脆弱性別一覧ボタン８１４」の場合は図６のフローチャートに進み、「検査別一覧ボタン８１５」の場合は図７のフローチャートに進む。
【００２８】
なお、「検査ログ取込実行ボタン８１３」「脆弱性別一覧ボタン８１４」は、特定の検査結果を一覧表示するためのボタンであるため、選択される「検査ＩＤチェックボックス８１１」の数は１つのみである。また、「検査別一覧ボタン８１５」は、選択された二つの検査結果を照合し、差異を確認するためのボタンであるため、選択される「検査ＩＤチェックボックス８１１」の数は２つである。よって、検査ログ取込画面８１０（図８）は、「検査別一覧ボタン８１５」押下を受け付ける直前の状態である。
以上で、図４の説明を終了する。
【００２９】
図５は、検査ログ取込実行処理のフローチャートの一例を示す図である。
ステップＳ５０１において、情報処理装置１０１は、ユーザの操作により検査ログ取込実行指示の要求を受け付ける。具体的には、「検査ログ取込実行ボタン８１３」の操作に応じて表示した検査ログ取込実行画面８２０（図８）にて、検査対象システム名８２１、使用ログパーサ名８２２、検査ログ保存場所８２３の指示または取込実行ボタン８２４の押下を受け付ける。
【００３０】
ステップＳ５０２において、情報処理装置１０１は、脆弱性検査管理サーバ１０２へ検査ログ取込実行要求を送信する。要求送信時には、ステップＳ５０１にて受け付けた検査対象システム名８２１、使用ログパーサ名８２２および検査ログ保存場所８２３を送信する。
【００３１】
ステップＳ５０３において、脆弱性検査管理サーバ１０２は、検査ログ取込実行要求を受信する。要求受信時には、検査対象システム名８２１、使用ログパーサ名８２２および検査ログ保存場所８２３を受信する。
【００３２】
ステップＳ５０４において、脆弱性検査管理サーバ１０２は、検査テーブル１２３０を更新する。具体的には、受信した検査対象システム名８２１を検索キーにして検査対象システムテーブル１１１０を検索し、ヒットしたレコードを取得する。同様に、使用ログパーサ名８２２を検索キーにしてパーサテーブル１１３０を検索し、ヒットしたレコードを取得する。後続処理のため、取得したレコードから「システムＩＤ」「ＢＴＳ  ＩＤ」「パーサＩＤ」「パーサパス」をそれぞれ取得する。
【００３３】
その後、検査ＩＤ、現在のシステム日付、システムＩＤおよびパーサＩＤを用いて、検査テーブル１２３０に新規レコードを追加する。なお、「検査ＩＤ」は、検査テーブル１２３０に存在する「検査ＩＤ」の最大値に１足した値とする。
【００３４】
また、後続処理のため、検査テーブル１２３０から、前回の「検査ＩＤ」（「対象システムＩＤ」「パーサＩＤ」がステップＳ５０４にて取得した「システムＩＤ」「パーサＩＤ」の値と同じ、かつ取込日付が直近のレコードの「検査ＩＤ」）も取得しておく。
【００３５】
ステップＳ５０５において、脆弱性検査管理サーバ１０２は、検査ログを１件ずつ読み込む。具体的には、ステップＳ５０４にて取得した「パーサパス」を用いてパーサを起動し、ステップＳ５０３にて受信した検査ログ保存場所８２３に記憶されている検査ログ（不図示）から一行読み込み、ＲＡＭ２０２に記憶する。検査ログの終端に到達した場合は、図５のフローチャートを終了する。なお、検査ログには、「脆弱性ＩＤ」「検査対象」が含まれているとする。
【００３６】
ステップＳ５０６において、脆弱性検査管理サーバ１０２は、ステップＳ５０５にて読み込んだ検査ログと同じ脆弱性について、前回の検査で検出されたか否かを判定する。具体的には、
・ステップＳ５０４にて取得した前回の「検査ＩＤ」
・ステップＳ５０５にて検査ログから取得した「検査ツール固有脆弱性ＩＤ」と「検査ツール」を検索キーにして検査ツール別脆弱性テーブル１２２０（図１２）を検索して取得した「脆弱性ＩＤ」
・ステップＳ５０５にて検査ログから取得した「検査対象」
を検索キーにして、検査詳細テーブル１３００（図１３）を検索し、ヒットするレコードの有無を判定し、レコードが有る場合は既知の脆弱性と捉えてステップＳ５０７に進み、レコードが無い場合は新規に検出した脆弱性と捉えてステップＳ５１０に進む。
【００３７】
すなわち、検査詳細テーブル１３００は、脆弱性検査ツールを識別するツール識別情報および検査項目を識別する検査項目識別情報と対応付けて検査結果を管理する手段の一例である。
なお、検査ツール別脆弱性テーブル１２２０（図１２）は、「検査ツール固有脆弱性ＩＤ」と「脆弱性ＩＤ」を事前に紐付けておくテーブルであり、このテーブルにより、脆弱性検査システム１００において統一した「脆弱性ＩＤ」を用いて管理することが可能になる。
例えば、検査ツール別脆弱性テーブル１２２０のレコード１２２１から、ツールＡでは“１０１”というＩＤの脆弱性は、脆弱性検査システム１００において「脆弱性ＩＤ」＝１（ＳＱＬインジェクション）と設定され、同じくレコード１２２２から、ツールＢでは“８２０１”というＩＤの脆弱性も脆弱性検査システム１００において「脆弱性ＩＤ」＝１と設定されており、ツールＡとツールＢの「検査ツール固有脆弱性ＩＤ」が脆弱性検査システム１００における「脆弱性ＩＤ」に統一して管理されていることがわかる。
【００３８】
ステップＳ５０７において、脆弱性検査管理サーバ１０２は、ステップＳ５０６にてヒットした前回検査の検査詳細レコードを取得する。
ステップＳ５０８において、脆弱性検査管理サーバ１０２は、ステップＳ５０７にて取得した前回検査の検査詳細レコードから「対応要否」「ＢＴＳ起票ＩＤ」を取得し、ＲＡＭ２０２に記憶する。
【００３９】
ステップＳ５０９において、脆弱性検査管理サーバ１０２は、ステップＳ５０８にて取得した「対応要否」の値に従って、ステップＳ５０５にてＲＡＭ２０２に記憶した今回の検査ログを次の要領で更新する。
前回の「対応要否」        今回の「対応要否」
・  “誤検知”        →    “誤検知？”
・  “対応不要”      →    “対応不要？”
・    上記以外        →    （空白のまま）
これにより、前回の検査の対応内容に従って、今回の対応をサジェストできるため、脆弱性検査ツールによる対応の煩わしさを効率化することができる。
【００４０】
なお、「対応要否」の値のうち、“誤検知？”や“対応不要？”のように末尾に“？”があるものおよび“未定”のものを「対応要否」が未確定と呼び、“誤検知”や“対応不要”のように末尾に“？”がないもの（“未定”は除く）を「対応要否」が確定済と呼ぶことにする。
【００４１】
ステップＳ５１０において、脆弱性検査管理サーバ１０２は、新規に脆弱性を検出したと捉え、ＢＴＳサーバ１０３へ検査ログを送信する。なお、検査ログの送信先は、ステップＳ５０４で取得した「ＢＴＳ  ＩＤ」を検索キーにして、ＢＴＳテーブル１１２０（図１１）を検索し、ヒットしたレコードの「ＵＲＬ」の値とする。
ステップＳ５１１において、ＢＴＳサーバ１０３は、検査ログを受信する。
【００４２】
ステップＳ５１２において、ＢＴＳサーバ１０３は、新規に検出した脆弱性が含まれている検査ログに従って、ＢＴＳアプリケーション３０５を用いてＢＴＳ障害票を起票する。
ステップＳ５１３において、ＢＴＳサーバ１０３は、ステップＳ５１２にて起票したＢＴＳ障害票ＩＤを脆弱性検査管理サーバ１０２へ送信する。
【００４３】
ステップＳ５１４において、脆弱性検査管理サーバ１０２は、ＢＴＳ障害票ＩＤを受信し、ＲＡＭ２０２に記憶した今回の検査ログで新規に検出した脆弱性の「対応要否」の値を“未定”に設定する。
【００４４】
ステップＳ５１５において、脆弱性検査管理サーバ１０２は、ＲＡＭ２０２に記憶した今回の検査ログを検査詳細テーブル１３００にレコードとして登録する。その後、ステップＳ５０５に戻る。
以上で、図５の説明を終了する。
【００４５】
図６は、脆弱性別一覧処理のフローチャートの一例を示す図である。
ステップＳ６０１において、情報処理装置１０１は、ステップＳ４０８にて「脆弱性別一覧ボタン８１４」の押下に従い、脆弱性別一覧画面９００（図９）の表示要求を受け付ける。
【００４６】
ステップＳ６０２において、情報処理装置１０１は、脆弱性検査管理サーバ１０２へ脆弱性別一覧画面９００の表示要求を送信する。表示要求送信時には、ステップＳ４０８にて選択された検査ＩＤチェックボックス８１１の「検査ＩＤ」（以下、今回の「検査ＩＤ」と記す）を送信する。
ステップＳ６０３において、脆弱性検査管理サーバ１０２は、脆弱性別一覧画面９００の表示要求を今回の「検査ＩＤ」と受信する。
【００４７】
ステップＳ６０４において、脆弱性検査管理サーバ１０２は、今回の「検査ＩＤ」を用いて、検査テーブル１２３０（図１２）を検索し、ヒットしたレコードから「取込日時」「対象システムＩＤ」「パーサＩＤ」を取得する。
【００４８】
ステップＳ６０５において、脆弱性検査管理サーバ１０２は、今回の「検査ＩＤ」とステップＳ６０４にて取得した「対象システムＩＤ」「パーサＩＤ」を用いて、検査テーブル１２３０から、前回の「検査ＩＤ」（「対象システムＩＤ」「パーサＩＤ」がステップＳ６０４にて取得した「対象システムＩＤ」「パーサＩＤ」の値と同じ、かつ取込日付がステップＳ６０４にて取得した「取込日時」から直近のレコードの「検査ＩＤ」）を取得する。
【００４９】
ステップＳ６０６において、脆弱性検査管理サーバ１０２は、今回の「検査ＩＤ」とステップＳ６０５にて取得した前回の「検査ＩＤ」を用いて、検査詳細テーブル１３００をそれぞれ検索し、取得した２つの検査詳細リストを照合する。
【００５０】
ステップＳ６０７において、脆弱性検査管理サーバ１０２は、ステップＳ６０６にて取得した２つのリストのうち、「脆弱性ＩＤ」「検査対象」が一致するレコードの「対応要否」を比較する。前回の検査の「対応要否」が“要対応”で確定済、かつ今回の検査の「対応要否」が未確定の場合はステップＳ６０８に進む。また、前回の検査の「対応要否」が“要対応”以外で確定済、かつ今回の検査の「対応要否」が未確定の場合、ステップＳ６０９に進む。また、そのいずれでもない場合は、ステップＳ６０６に戻る。
【００５１】
ステップＳ６０８において、脆弱性検査管理サーバ１０２は、ステップＳ６０７にて特定した今回の検査結果における「対応要否」を“要対応”で更新する。具体的には、今回の「検査ＩＤ」「脆弱性ＩＤ」「検査対象」を検索キーにして検査詳細テーブル１３００を検索し、ヒットしたレコードの「対象要否」を“要対応”に更新する。
【００５２】
ステップＳ６０９において、脆弱性検査管理サーバ１０２は、ステップＳ６０７にて特定した前回の検査結果における「対象要否」の値の末尾に“？”を付加した値で、今回の検査のデータにおける「対応要否」を更新する。具体的には、前回の「検査ＩＤ」「脆弱性ＩＤ」「検査対象」を用いて、検査詳細テーブル１３００を検索し、ヒットしたレコードの「対象要否」の値（以下、前回の「対象要否」の値と呼ぶ）を取得する。次に、今回の「検査ＩＤ」「脆弱性ＩＤ」「検査対象」を用いて、検査詳細テーブル１３００を検索し、ヒットしたレコードの「対象要否」を、前回の「対象要否」の値の末尾に“？”を付加した値に更新する。
これにより、前回の検査の対応内容に従って、今回の対応をサジェストできるため、脆弱性検査ツールによる対応の煩わしさを効率化することができる。
【００５３】
ステップＳ６１０において、脆弱性検査管理サーバ１０２は、今回の「検査ＩＤ」を用いて、検査詳細テーブル１３００から検査結果レコードのリストを取得する。
【００５４】
ステップＳ６１１において、脆弱性検査管理サーバ１０２は、ステップＳ６１０にて取得した検査結果リストを含む脆弱性別一覧画面９００の画面情報を生成し、情報処理装置１０１へ送信する。なお、脆弱性別一覧画面９００に含まれる「脆弱性名称」は、「脆弱性ＩＤ」を検索キーにして脆弱性テーブル１２１０（図１２）を検索して取得する。
ステップＳ６１２において、情報処理装置１０１は、脆弱性別一覧画面９００の画面情報を受信する。
【００５５】
ステップＳ６１３において、情報処理装置１０１は、受信した画面情報を用いて、脆弱性別一覧画面９００（図９）を表示する。対応要否が“誤検知”や“対応不要”のように確定済のレコードはグレー等で塗りつぶして表示する（図９の９０４）。また、対応要否が“誤検知？”や“要対応？”等、未確定のレコード、ハイライトして強調表示する（図９の９０２、９０３）。
ステップＳ６１４において、情報処理装置１０１は、脆弱性別一覧画面９００で、「対応要否」の値を更新するチェックボックス９０５の選択を受け付ける。
ステップＳ６１５において、情報処理装置１０１は、脆弱性別一覧画面９００の対応要否セレクトボックス９０６の選択を受け付ける。
ステップＳ６１６において、情報処理装置１０１は、脆弱性別一覧画面９００の対応要否更新ボタン９０７の押下を受け付ける。
【００５６】
ステップＳ６１７において、情報処理装置１０１は、脆弱性検査管理サーバ１０２へ脆弱性別一覧画面９００で更新された「対応要否」の値の更新要求を送信する。更新要求送信時には、更新を要求するレコードの「検査ＩＤ」「脆弱性ＩＤ」「検査対象」「対象要否」「ＢＴＳ起票ＩＤ」を送信する。
ステップＳ６１８において、脆弱性検査管理サーバ１０２は、「対応要否」の更新要求を受信する。
【００５７】
ステップＳ６１９において、脆弱性検査管理サーバ１０２は、要求時に受け取ったリストを検査詳細テーブル１３００へ反映する。具体的には、ステップＳ６１７にて受信した「検査ＩＤ」「脆弱性ＩＤ」「検査対象」を検索キーにして検査詳細テーブル１３００を検索し、ヒットしたレコードの「対応要否」をステップＳ６１７にて受信した「対応要否」の値で更新する。
以上で、図６の説明を終了する。
【００５８】
図７は、検査別一覧処理のフローチャートの一例を示す図である。
ステップＳ７０１において、情報処理装置１０１は、ステップＳ４０８にて「検査別一覧ボタン８１５」の押下に従い、検査別一覧画面１０００（図１０）の表示要求を受け付ける。
【００５９】
ステップＳ７０２において、情報処理装置１０１は、脆弱性検査管理サーバ１０２へ、検査別一覧画面１０００の表示要求を送信する。表示要求送信時には、ステップＳ４０８にて選択された２つの検査ＩＤチェックボックス８１１（図８）の「検査ＩＤ」（以下、「検査ＩＤ−Ａ」「検査ＩＤ−Ｂ」と記す）を送信する。例えば、検査ログ取込画面８１０（図８）のように、「検査ＩＤ」＝３と４の値が選択された場合、「検査ＩＤ−Ａ」＝３、「検査ＩＤ−Ｂ」＝４となる。
ステップＳ７０３において、脆弱性検査管理サーバ１０２は、検査別一覧画面の表示要求を「検査ＩＤ−Ａ」「検査ＩＤ−Ｂ」と受信する。
【００６０】
ステップＳ７０４において、脆弱性検査管理サーバ１０２は、「検査ＩＤ−Ａ」「検査ＩＤ−Ｂ」を検索キーとして検査詳細テーブル１３００を検索し、ヒットしたリストをそれぞれ取得する。以降、「検査ＩＤ−Ａ」のリストを検査Ａリスト、「検査ＩＤ−Ｂ」のリストを検査Ｂリストと呼ぶ。すなわち、ステップＳ７０４は、検査詳細テーブル１３００により管理されている情報を取得する処理の一例を示すステップである。
【００６１】
ステップＳ７０５において、脆弱性検査管理サーバ１０２は、２つの検査リストを「脆弱性ＩＤ」「検査対象」をキーにして「対応要否」を照合する照合表を生成し、ＲＡＭ２０２に記憶する。
【００６２】
ステップＳ７０６において、脆弱性検査管理サーバ１０２は、照合表に含まれるレコードを「脆弱性ＩＤ」「検査対象」の組み合わせでグルーピングし、そのグループ毎にレコードを取得する。
【００６３】
ステップＳ７０７において、脆弱性検査管理サーバ１０２は、ステップＳ７０６にて取得したレコード数を判定し、１件の場合は一方のツールのみで検出された脆弱性であると捉えてステップＳ７０９に進み、２件の場合は両方のツールで検出された脆弱性であると捉えてステップＳ７０８に進む。
【００６４】
例えば、検査詳細テーブル１３００の「検査ＩＤ」＝３または４のレコードのうち、｛「脆弱性ＩＤ」＝１、「検査対象」＝ｍａｌｌ／ｃａｔａｌｏｇ｝の組み合わせを持つレコードは、「検査ＩＤ」＝４のレコード１３１２のみであるため、ステップＳ７０６にて取得したレコード数は１件となりステップＳ７０９に進む。
【００６５】
また、検査詳細テーブル１３００の「検査ＩＤ」＝３または４のレコードのうち、｛「脆弱性ＩＤ」＝２、「検査対象」＝ｍａｌｌ／ｃａｔａｌｏｇ｝の組み合わせを持つレコードは、「検査ＩＤ」＝３のレコード１３０１と「検査ＩＤ」＝４のレコード１３１１が存在するため、ステップＳ７０６にて取得したレコード数は２件となりステップＳ７０８に進む。
【００６６】
また、検査詳細テーブル１３００の「検査ＩＤ」＝３または４のレコードのうち、｛「脆弱性ＩＤ」＝３、「検査対象」＝ｍａｌｌ／ｃａｒｔ｝の組み合わせを持つレコードは、「検査ＩＤ」＝３のレコード１３０３のみであるため、ステップＳ７０６にて取得したレコード数は１件となりステップＳ７０９に進む。
【００６７】
また、検査詳細テーブル１３００の「検査ＩＤ」＝３または４のレコードのうち、｛「脆弱性ＩＤ」＝４、「検査対象」＝ｍａｌｌ／ｃａｒｔ｝の組み合わせを持つレコードは、「検査ＩＤ」＝３のレコード１３０２と「検査ＩＤ」＝４のレコード１３１３が存在するため、ステップＳ７０６にて取得したレコード数は２件となりステップＳ７０８に進む。
【００６８】
ステップＳ７０８において、脆弱性検査管理サーバ１０２は、ステップＳ７０６にて取得した２件のレコードの「対応要否」の値が一致しているか否かを判定する。一致する場合はステップＳ７１０に進み、一致しない場合はステップＳ７０９に進む。すなわち、ステップＳ７０８は、取得された情報のうち、検査項目識別情報が一致し、検査結果が異なる情報を特定する処理の一例を示すステップである。
【００６９】
ステップＳ７０９において、脆弱性検査管理サーバ１０２は、ステップＳ７０６にて取得したレコードについて「対応要否」の値が一致しないため、「対応要否」が未確定であると捉え、該当レコードの「対応要否」をハイライト表示する画面情報を生成する。
【００７０】
なお、ステップＳ７０７において、ステップＳ７０６にて取得したレコード数＝１件と判定されてステップＳ７０９に来た場合は、一方のツールでは、その脆弱性が検出されなかったため、検出されなかった検査ＩＤの「対応要否」は空白で表示する（図１０の１００２、１００４）。これにより、複数の検査によって、ある脆弱性の検出有無が分かれた場合であっても、識別して表示されるため、脆弱性検査ツールによる誤検知を容易に確認することができる。
【００７１】
ステップＳ７１０において、脆弱性検査管理サーバ１０２は、ステップＳ７０６にて取得した２件のレコードの「対応要否」の値が一致するため、現状の「対応要否」の値で確定済であると捉え、該当レコードの「対応要否」をハイライト表示しない画面情報を生成する（図１０の１００１）。
【００７２】
なお、本実施形態においては、ステップＳ７０９、ステップＳ７１０では「ハイライト表示する／しない」としたが、「ハイライト表示」に限定するものではなく、「対応要否」が未確定または確定であることを識別できる方法であれば、太字・フォント・色・点滅・枠で囲む等の方法であってもよい。
【００７３】
ステップＳ７１１において、脆弱性検査管理サーバ１０２は、ステップＳ７０６にて取得した２件のレコードの「ＢＴＳ障害票ＩＤ」を関連する障害であると捉え、２つの「ＢＴＳ起票ＩＤ」をＢＴＳサーバ１０３に送信し、それらを関連障害として関連付ける指示をする。
【００７４】
ステップＳ７１２において、ＢＴＳサーバ１０３は、受信した２つの「ＢＴＳ障害票ＩＤ」を関連障害として関連付ける設定をする。これにより、複数の検査によって大量に発生する障害票の管理を容易にすることができる。
ステップＳ７１３において、脆弱性検査管理サーバ１０２は、ステップＳ７０６に戻る。
【００７５】
ステップＳ７１４において、脆弱性検査管理サーバ１０２は、ステップＳ７０９にて行ったハイライト表示を含む検査別一覧画面の画面情報を情報処理装置１０１に送信する。
ステップＳ７１５において、情報処理装置１０１は、検査別一覧画面の画面情報を受信する。
【００７６】
ステップＳ７１６において、情報処理装置１０１は、ハイライト表示を含む検査別一覧画面１０００（図１０の１００２〜１００４）を表示する。すなわち、ステップＳ７１６は、取得された情報のうち、特定された情報を識別して表示する処理の一例を示すステップである。これにより、複数の検査による「対応要否」が不一致、つまり「対応要否」をユーザが決定しなければならない脆弱性が識別して表示されるため、複数の脆弱性検査ツールを用いた時の検査結果を確認する煩わしさやその後の対応要否決定を容易にすることができる。
ステップＳ７１７において、情報処理装置１０１は、「対応要否」の値を更新するチェックボックス１００５の選択を受け付ける。
ステップＳ７１８において、情報処理装置１０１は、対応要否セレクトボックス１００６の選択を受け付ける。
【００７７】
ステップＳ７１９において、情報処理装置１０１は、対応要否更新ボタン１００７の押下を受け付ける。すなわち、ステップＳ７１７〜ステップＳ７１９は、表示された情報のうち、検査結果の更新を受け付ける処理の一例を示すステップである。
【００７８】
ステップＳ７２０において、情報処理装置１０１は、チェックボックス１００５が選択された脆弱性に対し、対応要否セレクトボックス１００６にて選択された対応要否の値で更新するよう、脆弱性検査管理サーバ１０２へ更新要求を送信する。更新要求送信時には、以下の情報の組合せを１レコードとし、更新するレコードを含むリストを送信する。
・検査ＩＤ−Ａ、検査ＩＤ−Ｂ
・脆弱性ＩＤ
・検査対象
・更新後の対応要否
ステップＳ７２１において、脆弱性検査管理サーバ１０２は、対応要否の更新要求を受信する。
【００７９】
ステップＳ７２２において、脆弱性検査管理サーバ１０２は、ステップＳ７２１にて受信したリストを用いて検査詳細テーブル１３００の「対応要否」を更新する。すなわち、ステップＳ７２２は、受け付けた検査結果を用いて、管理されている検査結果を更新する処理の一例を示すステップである。具体的には、｛検査ＩＤ−Ａまたは検査ＩＤ−Ｂ、脆弱性ＩＤ、検査対象｝を検索キーとして検査詳細テーブル１３００を検索し、ヒットしたレコードの「対応要否」をステップＳ７２１にて受信した更新後の対応要否の値で更新する。
【００８０】
また、ステップＳ７２２は、管理されている情報のうち、前記検査結果の値を確定する処理の一例を示すステップである。また、ステップＳ７２２は、取得された情報のうち、検査項目識別情報が一致し、かつ検査結果が一致する場合は、当該検査結果の値で確定し、一方、検査項目識別情報が一致し、かつ検査結果が異なる場合は、更新された検査結果の値で確定する処理の一例を示すステップである。
【００８１】
ステップＳ７２３において、脆弱性検査管理サーバ１０２は、ステップＳ７２２の更新により「対応要否」が未確定から確定済に変わったレコードはハイライト表示を抑止した画面情報を生成し、情報処理装置１０１に送信する。
ステップＳ７２４において、情報処理装置１０１は、検査別一覧画面の画面情報を受信する。
【００８２】
ステップＳ７２５において、情報処理装置１０１は、ハイライト表示を抑止した検査別一覧画面１０００を表示する。すなわち、ステップＳ７２５は、識別して表示されていた情報が検査結果の更新により、検査結果が等しい情報になった場合、識別表示を抑止する処理の一例を示すステップである。これにより、複数の検査による「対応要否」が不一致、つまり「対応要否」をユーザが決定しなければならない脆弱性が強調表示される。
以上で、図７の説明を終了する。
以上により、複数の脆弱性検査ツールを用いた検査結果に対する対応を容易に決定する仕組みを提供することができる。
【００８３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００８４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００８５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００８６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００８９】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【００９０】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９１】
１０１  情報処理装置
１０２  脆弱性検査管理サーバ
１０３  ＢＴＳサーバ
１０４  脆弱性検査装置
１０５  検査対象サーバ
【図１】
2018055340.tif 000003
【図２】
2018055340.tif 000004
【図３】
2018055340.tif 000005
【図４】
2018055340.tif 000006
【図５】
2018055340.tif 000007
【図６】
2018055340.tif 000008
【図７】
2018055340.tif 000009
【図８】
2018055340.tif 000010
【図９】
2018055340.tif 000011
【図１０】
2018055340.tif 000012
【図１１】
2018055340.tif 000013
【図１２】
2018055340.tif 000014
【図１３】
2018055340.tif 000015