(57)【特許請求の範囲】
【請求項１】
複数の診断ツールのそれぞれによって対象システムを診断して得られる診断ツール毎の診断結果を統合する診断結果統合装置であって、
診断ツール毎の診断結果は、前記対象システムを診断して検出された脆弱性毎の脆弱性情報を含み、
それぞれの脆弱性情報は、脆弱性を識別するために診断ツールで使用される個別識別子を含み、
前記診断結果統合装置は、
診断ツール毎の個別識別子と脆弱性を識別する共通識別子と脆弱性の内容を示す共通説明とが互いに対応付けられた脆弱性管理テーブルを用いて、それぞれの脆弱性情報を、共通識別子に対応付けられた個別識別子を含んだ脆弱性情報である第１種類情報と、共通識別子に対応付けられていない個別識別子を含んだ脆弱性情報である第２種類情報とに分類する情報分類部と、
第１種類情報の集合から前記複数の診断ツールで共通して検出された脆弱性の共通識別子に対応する複数の第１種類情報を第１共通情報群として選択し、前記第１共通情報群に対応する共通識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を統合結果に加える第１統合部と
を備える診断結果統合装置。
【請求項２】
前記第１統合部は、前記第１共通情報群に対応する共通識別子に対応付けられた共通説明が前記脆弱性管理テーブルに登録されていない場合、前記第１共通情報群に対応する共通識別子に対応付けて前記脆弱性管理テーブルに共通説明を登録し、登録された共通説明を前記統合結果に加える
請求項１に記載の診断結果統合装置。
【請求項３】
前記第１統合部は、少なくともいずれかの診断ツールを除いて残りの診断ツールで共通して検出された脆弱性の共通識別子に対応する１つ以上の第１種類情報を第１部分情報群として選択し、
前記診断結果統合装置は、
第１部分情報群の集合から再診断の対象とならない脆弱性に対応する第１部分情報群である第１統合対象群を選択し、前記第１統合対象群に対応する共通識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を前記統合結果に加える部分統合部
を備える請求項１に記載の診断結果統合装置。
【請求項４】
前記部分統合部は、脆弱性毎に診断ツール毎の対応状況を示す対応状況テーブルを用いて、前記第１統合対象群を選択する
請求項３に記載の診断結果統合装置。
【請求項５】
新たな対応状況を示す対応状況データを取得し、取得された対応状況データを用いて前記対応状況テーブルを更新するテーブル更新部
を備える請求項４に記載の診断結果統合装置。
【請求項６】
前記部分統合部は、診断ツール毎の診断ミスの履歴を示す診断履歴ファイルを用いて、前記第１統合対象群を選択する
請求項３から請求項５のいずれか１項に記載の診断結果統合装置。
【請求項７】
前記部分統合部は、第１部分情報群の集合から再診断の対象となる脆弱性に対応する第１部分情報群である第１再診断対象群を選択し、前記第１再診断対象群のそれぞれの脆弱性情報に含まれる個別識別子を再診断リストに登録する
請求項３から請求項６のいずれか１項に記載の診断結果統合装置。
【請求項８】
前記再診断リストに含まれる個別識別子に対応する診断ツールに前記個別識別子で識別される脆弱性を対象とする診断を行わせるための制御を行う再診断制御部
を備える請求項７に記載の診断結果統合装置。
【請求項９】
前記第２種類情報の集合から前記複数の診断ツールで共通して検出された脆弱性に対応する複数の第２種類情報を第２共通情報群として選択し、前記第２共通情報群に含まれる個別識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を前記統合結果に加える第２統合部
を備える請求項１に記載の診断結果統合装置。
【請求項１０】
前記第２統合部は、前記第２共通情報群に対応する共通識別子に対応付けられた共通説明が前記脆弱性管理テーブルに登録されていない場合、前記第２共通情報群に対応する共通識別子に対応付けて前記脆弱性管理テーブルに共通説明を登録し、登録された共通説明を前記統合結果に加える
請求項９に記載の診断結果統合装置。
【請求項１１】
前記対象システムは、１つ以上のホストを含み、
それぞれの脆弱性情報は、脆弱性が検出されたホストのホスト情報を含み、
前記第２統合部は、それぞれの第２種類情報に含まれるホスト情報に基づいて、前記第２共通情報群を選択する
請求項９または請求項１０に記載の診断結果統合装置。
【請求項１２】
それぞれの脆弱性情報は、脆弱性の内容を示す説明として当該診断ツールで使用される個別説明を含み、
前記第２統合部は、それぞれの第２種類情報に含まれる個別説明に基づいて、前記第２共通情報群を選択する
請求項９から請求項１１のいずれか１項に記載の診断結果統合装置。
【請求項１３】
前記第２統合部は、少なくともいずれかの診断ツールを除いて残りの診断ツールで共通して検出された脆弱性に対応する１つ以上の第２種類情報を第２部分情報群として選択し、
前記診断結果統合装置は、
第２部分情報群の集合から再診断の対象とならない脆弱性に対応する第２部分情報群である第２統合対象群を選択し、前記第２統合対象群に含まれる個別識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を前記統合結果に加える部分統合部
を備える請求項９に記載の診断結果統合装置。
【請求項１４】
前記部分統合部は、第２部分情報群の集合から再診断の対象となる脆弱性に対応する第２部分情報群である第２再診断対象群を選択し、前記第２再診断対象群のそれぞれの脆弱性情報に含まれる個別識別子を再診断リストに登録する
請求項１３に記載の診断結果統合装置。
【請求項１５】
複数の診断ツールのそれぞれによって対象システムを診断して得られる診断ツール毎の診断結果を統合する診断結果統合プログラムであって、
診断ツール毎の診断結果は、前記対象システムを診断して検出された脆弱性毎の脆弱性情報を含み、
それぞれの脆弱性情報は、脆弱性を識別するために診断ツールで使用される個別識別子を含み、
前記診断結果統合プログラムは、
診断ツール毎の個別識別子と脆弱性を識別する共通識別子と脆弱性の内容を示す共通説明とが互いに対応付けられた脆弱性管理テーブルを用いて、それぞれの脆弱性情報を、共通識別子に対応付けられた個別識別子を含んだ脆弱性情報である第１種類情報と、共通識別子に対応付けられていない個別識別子を含んだ脆弱性情報である第２種類情報とに分類する情報分類処理と、
第１種類情報の集合から前記複数の診断ツールで共通して検出された脆弱性の共通識別子に対応する複数の第１種類情報を第１共通情報群として選択し、前記第１共通情報群に対応する共通識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を統合結果に加える第１統合処理と
をコンピュータに実行させるための診断結果統合プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断ツール毎の診断結果を統合するための技術に関するものである。
【背景技術】
【０００２】
近年、インターネット技術の発展に伴い、人々の業務および人々の生活の利便性が目覚ましく向上している。その一方で、企業または組織の様々なシステムに対するサイバー攻撃の被害が増加の一途をたどっている。
サイバー攻撃に使われる不正なソフトウェア（マルウェア）は、攻撃の存在に気づかれないように正規のツールを使う等、攻撃の発覚を避けるための高度化が進んでいる。また、一日に数十万の新種または亜種のウイルスが登場しており、ウイルスの多様化が進んでいる。
最近の標的型攻撃では、システムに潜在的に存在する脆弱性（セキュリティ上の欠陥）を突いた攻撃が多くなっている。脆弱性が残存したシステムへの攻撃が成功した場合には、金銭搾取による経済的被害、企業または組織の根幹を揺るがす大規模な情報漏えい、といった事故が起こる。そして、そのような事故が相次ぐことにより、深刻な問題につながっている。
【０００３】
このような背景を受けて、従来、脆弱性診断ツールを用いたセキュリティ診断により、対象システムにおける脆弱性の検出、検出結果に基づく課題の把握、および、課題に対する対処が行われてきた。
診断ツールは複数存在し、診断ツールによって診断項目および診断方式が異なり、診断ツールによって特長および得意不得意が異なる。そのため、同一の対象システムを診断した結果であっても、それぞれの診断ツールの診断結果が完全には一致しないことが知られている。さらに、同一の対象システムに対して同一の診断ツールを複数回実行すると、実行のたびに診断結果が変わることがある。
【０００４】
特許文献１には、診断漏れを防ぐために診断項目が異なる複数の診断ツールを併用して診断全体の網羅性を上げる、あるいは、システムの脆弱性の検査に適合したツールの選定を支援するための技術が開示されている。
しかしながら、作業者は、複数の診断ツールから得られた複数の診断結果を一つの診断結果にまとめるための作業を行う必要がある。その作業においては、複数の診断結果に生じた差を作業者が手作業で確認するため、多くの時間を要する。また、作業者の経験に基づいて作業が行われるため、作業者によって判断が変わってしまう。つまり、属人性という課題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９８１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、診断ツール毎の診断結果を統合できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の診断結果統合装置は、
複数の診断ツールのそれぞれによって対象システムを診断して得られる診断ツール毎の診断結果を統合する。
診断ツール毎の診断結果は、前記対象システムを診断して検出された脆弱性毎の脆弱性情報を含む。
それぞれの脆弱性情報は、脆弱性を識別するために診断ツールで使用される個別識別子を含む。
前記診断結果統合装置は、
診断ツール毎の個別識別子と脆弱性を識別する共通識別子と脆弱性の内容を示す共通説明とが互いに対応付けられた脆弱性管理テーブルを用いて、それぞれの脆弱性情報を、共通識別子に対応付けられた個別識別子を含んだ脆弱性情報である第１種類情報と、共通識別子に対応付けられていない個別識別子を含んだ脆弱性情報である第２種類情報とに分類する情報分類部と、
第１種類情報の集合から前記複数の診断ツールで共通して検出された脆弱性の共通識別子に対応する複数の第１種類情報を第１共通情報群として選択し、前記第１共通情報群に対応する共通識別子に対応付けられた共通説明を前記脆弱性管理テーブルから取得し、取得された共通説明を統合結果に加える第１統合部とを備える。
【発明の効果】
【０００８】
本発明によれば、診断ツール毎の診断結果を統合することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における診断システム２００の構成図。
【図２】実施の形態１における診断結果統合装置１００の構成図。
【図３】実施の形態１における診断結果統合方法のフローチャート。
【図４】実施の形態１における診断結果３１０を示す図。
【図５】実施の形態１における脆弱性管理テーブル３２０を示す図。
【図６】実施の形態１における情報分類処理（Ｓ１００）のフローチャート。
【図７】実施の形態１における統合結果３３０を示す図。
【図８】実施の形態１における第１統合処理（Ｓ２００）のフローチャート。
【図９】実施の形態１における説明登録画面３４０を示す図。
【図１０】実施の形態１における第２統合処理（Ｓ３００）のフローチャート。
【図１１】実施の形態１における再診断リスト３５０を示す図。
【図１２】実施の形態１における対応状況テーブル３６０を示す図。
【図１３】実施の形態１における診断履歴ファイル３７０を示す図。
【図１４】実施の形態１における部分統合処理（Ｓ５００）のフローチャート。
【図１５】実施の形態１における再診断制御処理（Ｓ４００）のフローチャート。
【図１６】実施の形態１におけるテーブル更新処理（Ｓ６００）のフローチャート。
【図１７】実施の形態１における対応状況チャート３８０を示す図。
【図１８】実施の形態２における診断システム２００の構成図。
【図１９】実施の形態における診断結果統合装置１００のハードウェア構成図。
【発明を実施するための形態】
【００１０】
実施の形態１．
対象システム２１０のセキュリティを診断する診断システム２００について、図１から図１７に基づいて説明する。
【００１１】
＊＊＊構成の説明＊＊＊
図１に基づいて、診断システム２００の構成を説明する。
診断システム２００は、対象システム２１０と診断装置２２０と診断結果統合装置１００と複数のツールベンダサーバ２３０と複数の外郭団体サーバ２４０とを備える。これらはネットワークを介して通信を行う。具体的なネットワークはインターネットである。
【００１２】
対象システム２１０は、診断される対象となるシステムである。システムは、１台以上のコンピュータを備える。システムに備わるコンピュータをホストという。具体的な対象システム２１０は業務システムである。
【００１３】
診断装置２２０は、対象システム２１０を診断するコンピュータである。
診断装置２２０は、異なるツールベンダによって作られた複数の診断ツール２２１を備える。
診断ツール２２１は、セキュリティの診断を行うための診断処理をコンピュータに実行させるためのプログラムである。
診断装置２２０は、それぞれの診断ツール２２１を実行して、対象システム２１０を診断する。これにより、診断ツール２２１毎の診断結果が得られる。
診断結果は、対象システム２１０を診断して検出された脆弱性毎の脆弱性情報を含んだデータである。
脆弱性情報は、脆弱性に関する情報である。
脆弱性とは、セキュリティの欠陥である。
【００１４】
診断結果統合装置１００は、診断ツール２２１毎の診断結果を統合して統合結果を生成する。
【００１５】
複数のツールベンダサーバ２３０のそれぞれは、ツールベンダ毎のサーバ装置である。
ツールベンダサーバ２３０は、対応状況データを提供する。
対応状況データは、脆弱性毎に診断ツール２２１の対応状況を示すデータである。
【００１６】
複数の外郭団体サーバ２４０のそれぞれは、外郭団体毎のサーバ装置である。具体的な外郭団体は、ＪＰＣＥＲＴおよびＩＰＡ等である。ＪＰＣＥＲＴはＪａｐａｎ  Ｃｏｍｐｕｔｅｒ  Ｅｍｅｒｇｅｎｃｙ  Ｒｅｓｐｏｎｓｅ  Ｔｅａｍの略称であり、ＩＰＡはＩｎｆｏｒｍａｔｉｏｎ−ｔｅｃｈｎｏｌｏｇｙ  Ｐｒｏｍｏｔｉｏｎ  Ａｇｅｎｃｙの略称である。
外郭団体サーバ２４０は、脆弱性データを提供する。
脆弱性データは、脆弱性に関する情報を示すデータである。
【００１７】
図２に基づいて、診断結果統合装置１００の構成を説明する。
診断結果統合装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と通信装置９０４と入力装置９０７とディスプレイ９０８といったハードウェアを備えるコンピュータである。プロセッサ９０１は、信号線を介して他のハードウェアと接続されている。
【００１８】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。具体的には、プロセッサ９０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＤＳＰはＤｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称であり、ＧＰＵはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９０３は不揮発性の記憶装置である。具体的には、補助記憶装置９０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＨＤＤはＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
通信装置９０４は、通信を行う装置であり、レシーバとトランスミッタとを備える。具体的には、通信装置９０４は通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力装置９０７は、入力を受け付ける装置である。具体的には、入力装置９０７は、キーボード、マウス、テンキーまたはタッチパネルである。
ディスプレイ９０８は、画像等を表示する表示装置である。具体的には、ディスプレイ９０８は液晶ディスプレイである。ディスプレイ９０８はモニタともいう。
【００１９】
診断結果統合装置１００は、情報分類部１１０と第１統合部１２０と第２統合部１３０と部分統合部１４０と再診断制御部１５０とテーブル更新部１６０といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
【００２０】
補助記憶装置９０３には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。
なお、診断結果統合装置１００が複数のプロセッサ９０１を備えて、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
【００２１】
メモリ９０２は、診断結果統合装置１００で使用、生成、入出力または送受信されるデータが記憶される記憶部１９１として機能する。但し、メモリ９０２以外の記憶装置が記憶部１９１として機能してもよい。
【００２２】
通信装置９０４はデータを通信する通信部として機能する。通信装置９０４において、レシーバはデータを受信する受信部１９３として機能し、トランスミッタはデータを送信する送信部１９４として機能する。
入力装置９０７は入力を受け付ける受付部１９５として機能する。
ディスプレイ９０８は画像等を表示する表示部１９６として機能する。
【００２３】
プロセッサ９０１とメモリ９０２と補助記憶装置９０３とをまとめたハードウェアを「プロセッシングサーキットリ」という。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
【００２４】
＊＊＊動作の説明＊＊＊
診断結果統合装置１００の動作は診断結果統合方法に相当する。また、診断結果統合方法の手順は診断結果統合プログラムの手順に相当する。
【００２５】
図３に基づいて、診断結果統合方法を説明する。
ステップＳ１００は情報分類処理である。
ステップＳ１００において、情報分類部１１０は、診断ツール２２１毎の診断結果３１０に含まれる脆弱性情報３１１を、脆弱性管理テーブル３２０を用いて、第１種類情報と第２種類情報とに分類する。
【００２６】
図４に基づいて、診断結果３１０を説明する。
診断結果３１０は、診断日時、ホスト数、リビジョン、バージョンおよび脆弱性毎の脆弱性情報３１１などを含む。
診断日時は、診断が開始された時刻である。
ホスト数は、診断されたホストの数である。
リビジョンおよびバージョンは、診断ツール２２１の版を示す。
【００２７】
脆弱性情報３１１は、個別識別子、個別説明、アドレス、ポート番号、ＯＳ情報、ホスト名および深刻度などを含む。
個別識別子は、脆弱性を識別するために診断ツール２２１で使用される識別子である。
個別説明は、脆弱性を説明するために診断ツール２２１で使用される説明である。具体的には、個別説明は文字列である。
アドレスは、ホストのアドレスである。具体的なアドレスは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスである。
ポート番号は、ホストのポートを識別する。
ＯＳ情報は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を特定する情報である。具体的なＯＳ情報は、ＯＳ名およびバージョンである。
深刻度は、脆弱性に伴う深刻の度合いを示す。
【００２８】
図５に基づいて、脆弱性管理テーブル３２０を説明する。
脆弱性管理テーブル３２０は、脆弱性を管理するためのデータである。
脆弱性管理テーブル３２０は、脆弱性毎のレコードを備える。図中の１行がレコードに相当する。
それぞれのレコードにおいて、分類と脆弱性識別子と共通識別子と共通説明と診断ツール２２１毎の個別識別子とが互いに対応付けられている。
分類は、共通識別子の有無を示す。
脆弱性識別子は、脆弱性を識別するために診断結果統合装置１００で使用される識別子である。
共通識別子は、脆弱性を識別する識別子である。具体的な共通識別子は、ＣＶＥ番号またはＢＩＤ番号などである。ＣＶＥはＣｏｍｍｏｎ  Ｖｕｌｎｅｒａｂｉｌｉｔｉｅｓ  ａｎｄ  Ｅｘｐｏｓｕｒｅｓの略称であり、ＢＩＤはＢｕｇｔｒａｑ  Ｉｄｅｎｔｉｆｉｅｒの略称である。
共通説明は、脆弱性の内容を示すために診断結果統合装置１００で使用される説明である。言い換えると、共通説明は、正規化して統一された説明である。具体的には、共通説明は文字列である。文字列は、日本語、英語または他の言語で記される。
個別識別子の欄に記載の「Ｔｘ」は、診断ツール２２１のツール識別子である。
【００２９】
図３に戻り、ステップＳ１００の説明を続ける。
第１種類情報は、共通識別子に対応付けられた個別識別子を含んだ脆弱性情報３１１である。
第２種類情報は、共通識別子に対応付けられていない個別識別子を含んだ脆弱性情報３１１である。
【００３０】
図６に基づいて、情報分類処理（Ｓ１００）の詳細を説明する。
ステップＳ１１０において、受信部１９３は、診断装置２２０から、診断ツール２２１毎の診断結果３１０を受信する。
記憶部１９１は、診断ツール２２１毎の診断結果３１０を記憶する。具体的には、記憶部１９１は、診断ツール２２１を識別するツール識別子に対応付けて診断結果３１０を記憶する。これにより、診断結果３１０に含まれる脆弱性情報３１１は、ツール識別子に対応付けて管理される。
【００３１】
ステップＳ１２０において、情報分類部１１０は、診断結果３１０毎に、診断結果３１０から脆弱性情報３１１を抽出する。
【００３２】
ステップＳ１３０において、情報分類部１１０は、診断結果３１０毎に、それぞれの脆弱性情報３１１を第１種類情報と第２種類情報とに分類する。
【００３３】
具体的には、情報分類部１１０は、脆弱性情報３１１を以下のように分類する。
まず、情報分類部１１０は、脆弱性情報３１１から個別識別子を取得する。
次に、情報分類部１１０は、取得された個別識別子と同じ個別識別子を脆弱性管理テーブル３２０から選択する。
次に、情報分類部１１０は、選択された個別識別子に対応付けられた共通識別子が脆弱性管理テーブル３２０に登録されているか判定する。また、情報分類部１１０は、選択された個別識別子に対応付けられた脆弱性識別子を脆弱性管理テーブル３２０から取得する。
当該共通識別子が登録されている場合、情報分類部１１０は、脆弱性識別子に対応付けて脆弱性情報３１１を第１種類情報として記憶部１９１に記憶する。
当該共通識別子が登録されていない場合、情報分類部１１０は、脆弱性識別子に対応付けて脆弱性情報３１１を第２種類情報として記憶部１９１に記憶する。
【００３４】
図３に戻り、ステップＳ２００から説明を続ける。
ステップＳ２００は第１統合処理である。
ステップＳ２００において、第１統合部１２０は、第１種類情報の集合から第１共通情報群を選択し、第１共通情報群に対応する共通識別子に対応付けられた共通説明を脆弱性管理テーブル３２０から取得する。そして、第１統合部１２０は、取得された共通説明を統合結果３３０に加える。
第１共通情報群は、複数の診断ツール２２１で共通して検出された脆弱性の共通識別子に対応する複数の第１種類情報である。
【００３５】
第１共通情報群に対応する共通識別子に対応付けられた共通説明が脆弱性管理テーブル３２０に登録されていない場合、第１統合部１２０は、第１共通情報群に対応する共通識別子に対応付けて脆弱性管理テーブル３２０に共通説明を登録する。そして、第１統合部１２０は、登録された共通説明を統合結果３３０に加える。
【００３６】
図７に基づいて、統合結果３３０を説明する。
統合結果３３０は、診断ツール２２１毎の診断結果３１０を統合して得られるデータである。
統合結果３３０は、脆弱性毎の結果データを含む。図中の１行が結果データに相当する。
結果データにおいて、脆弱性識別子と共通説明と共通識別子と脆弱性情報とが互いに対応付けられている。脆弱性情報は、アドレス、ポート番号、ＯＳ情報およびツール識別子などを含む。
【００３７】
図３に戻り、ステップＳ２００の説明を続ける。
第１統合部１２０は、第１種類情報の集合から第１部分情報群を選択する。
第１部分情報群は、少なくともいずれかの診断ツール２２１を除いて残りの診断ツール２２１で共通して検出された脆弱性の共通識別子に対応する１つ以上の第１種類情報である。
【００３８】
図８に基づいて、第１統合処理（Ｓ２００）の詳細を説明する。
ステップＳ２１０において、第１統合部１２０は、それぞれの第１種類情報に対応付けられた脆弱性識別子に基づいて、第１種類情報の集合を組み分けする。
つまり、第１統合部１２０は、第１種類情報の集合を脆弱性識別子別に組み分けする。
同じ組に属する第１種類情報は、同じ脆弱性識別子に対応付けられている。
【００３９】
ステップＳ２２１において、第１統合部１２０は、第１種類情報の未選択の組を１つ選択する。
【００４０】
ステップＳ２２２からステップＳ２２５は、選択された組を対象にして実行される。
【００４１】
ステップＳ２２２において、第１統合部１２０は、第１種類情報の組が第１共通情報群であるか判定する。
具体的には、第１統合部１２０は、それぞれの第１種類情報に対応付けられたツール識別子を参照し、全ての診断ツール２２１のツール識別子が第１種類情報の組に対応付けられているか判定する。全ての診断ツール２２１のツール識別子が第１種類情報の組に対応付けられている場合、第１統合部１２０は、第１種類情報の組が第１共通情報群であると判定する。
第１種類情報の組が第１共通情報群である場合、処理はステップＳ２２３に進む。
第１種類情報の組が第１共通情報群でない場合、処理は部分統合処理（Ｓ５００）に進み、部分統合処理（Ｓ５００）の後、処理はステップＳ２２６に進む。部分統合処理（Ｓ５００）については後述する。なお、第１共通情報群でない第１種類情報の組を第１部分情報群という。
【００４２】
ステップＳ２２３において、第１統合部１２０は、第１種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されているか判定する。
具体的には、第１統合部１２０は、第１種類情報の組に対応付けられている脆弱性識別子と同じ脆弱性識別子を脆弱性管理テーブル３２０から選択する。そして、第１統合部１２０は、選択された脆弱識別子に対応付けられた共通説明が脆弱性管理テーブル３２０に登録されているか判定する。
第１種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されている場合、処理はステップＳ２２５に進む。
第１種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されていない場合、処理はステップＳ２２４に進む。
【００４３】
ステップＳ２２４において、第１統合部１２０は、第１種類情報の組に対応する共通説明を脆弱性管理テーブル３２０に登録する。
【００４４】
具体的には、第１統合部１２０は、当該共通説明を以下のように登録する。
まず、第１統合部１２０は、それぞれの第１種類情報から個別説明を抽出する。
次に、第１統合部１２０は、抽出された個別説明を含んだ説明登録画面３４０を生成する。
次に、表示部１９６は、説明登録画面３４０を表示する。説明登録画面３４０には、共通説明が入力される。
次に、受付部１９５は、入力された共通説明を受け付ける。
そして、第１統合部１２０は、第１種類情報の組に対応付けられている脆弱性識別子と同じ脆弱性識別子を脆弱性管理テーブル３２０から選択し、選択された脆弱識別子に対応付けて脆弱性管理テーブル３２０に共通説明を登録する。
【００４５】
図９に基づいて、説明登録画面３４０を説明する。
説明登録画面３４０は、第１種類情報から抽出された個別説明３４１と、個別説明３４１に対応付けられたラジオボタン３４２と、第１種類情報に対応付けられたツール識別子３４３とを含む。
さらに、説明登録画面３４０は、共通説明が記載されるテキストボックス３４４と、共通説明を登録するための登録ボタン３４５とを備える。
【００４６】
第１統合部１２０は、それぞれの個別説明３４１に共通する単語を抽出する。そして、表示部１９６は、抽出された単語を強調して表示する。具体的な強調方法は、下線の付加またはフォントの色の変更などである。
利用者は、それぞれの個別説明３４１を参照する。そして、利用者は、入力装置９０７を操作して、いずれかのラジオボタン３４２を選択する。
表示部１９６は、選択されたラジオボタン３４２に対応する個別説明３４１をテキストボックス３４４に記載する。
利用者は、入力装置９０７を操作して、テキストボックス３４４に記載された個別説明３４１を編集する。編集後、利用者は、入力装置９０７を操作して、登録ボタン３４５を押す。
登録ボタン３４５が押された場合、受付部１９５は、テキストボックス３４４に記載されている文字列を共通説明として受け付ける。そして、第１統合部１２０は、受け付けられた共通説明を登録する。
【００４７】
図８に戻り、ステップＳ２２５から説明を続ける。
ステップＳ２２５において、第１統合部１２０は、第１種類情報の組に基づいて結果データを生成し、生成された結果データを統合結果３３０に追加する。
【００４８】
具体的には、第１統合部１２０は、結果データを以下のように生成する。
まず、第１統合部１２０は、第１種類情報の組に対応する脆弱性識別子と共通説明と共通識別子とを脆弱性管理テーブル３２０から取得する。
次に、第１統合部１２０は、第１種類情報の組を用いて、脆弱性情報を生成する。
そして、第１統合部１２０は、脆弱性識別子と共通説明と共通識別子と脆弱性情報とを含んだ結果データを生成する。
【００４９】
ステップＳ２２６において、第１統合部１２０は、第１種類情報の未選択の組があるか判定する。
第１種類情報の未選択の組がある場合、処理はステップＳ２２１に戻る。
第１種類情報の未選択の組がない場合、処理は終了する。
【００５０】
図３に戻り、ステップＳ３００から説明を続ける。
ステップＳ３００は第２統合処理である。
ステップＳ３００において、第２統合部１３０は、第２種類情報の集合から第２共通情報群を選択し、第２共通情報群に含まれる個別識別子に対応付けられた共通説明を脆弱性管理テーブル３２０から取得する。そして、第２統合部１３０は、取得された共通説明を統合結果３３０に加える。
第２共通情報群は、複数の診断ツール２２１で共通して検出された脆弱性に対応する複数の第２種類情報である。
【００５１】
第２統合部１３０は、それぞれの第２種類情報に含まれるホスト情報に基づいて、第２共通情報群を選択する。ホスト情報は、アドレスとポート番号とＯＳ情報との少なくともいずれかである。
【００５２】
第２統合部１３０は、それぞれの第２種類情報に含まれる個別説明に基づいて、第２共通情報群を選択する。
【００５３】
第２共通情報群に対応する共通識別子に対応付けられた共通説明が脆弱性管理テーブル３２０に登録されていない場合、第２統合部１３０は、第２共通情報群に対応する共通識別子に対応付けて脆弱性管理テーブル３２０に共通説明を登録する。そして、第２統合部１３０は、登録された共通説明を統合結果３３０に加える。
【００５４】
また、第２統合部１３０は、第２種類情報の集合から第２部分情報群を選択する。
第２部分情報群は、少なくともいずれかの診断ツールを除いて残りの診断ツールで共通して検出された脆弱性に対応する１つ以上の第２種類情報である。
【００５５】
図１０に基づいて、第２統合処理（Ｓ３００）の詳細を説明する。
ステップＳ３１０において、第２統合部１３０は、それぞれの第２種類情報に含まれるホスト情報に基づいて、第２種類情報の集合を組み分けする。具体的には、ホスト情報は、アドレス、ポート番号およびＯＳ情報である。
つまり、第２統合部１３０は、第２種類情報の集合をホスト情報別に組み分けする。
同じ組に属する第２種類情報は、同じホスト情報を含んでいる。つまり、同じ組に属する第２種類情報は、同じアドレスと同じポート番号と同じＯＳ情報とを含んでいる。
【００５６】
ステップＳ３２１において、第２統合部１３０は、第２種類情報の未選択の組を１つ選択する。
【００５７】
ステップＳ３２２からステップＳ３２７は、選択された組を対象にして実行される。
【００５８】
ステップＳ３２２において、第２統合部１３０は、第２種類情報の組が第２共通情報群の候補であるか判定する。
具体的には、第２統合部１３０は、それぞれの第２種類情報に対応付けられたツール識別子を参照し、全ての診断ツール２２１のツール識別子が第２種類情報の組に対応付けられているか判定する。全ての診断ツール２２１のツール識別子が第２種類情報の組に対応付けられている場合、第２統合部１３０は、第２種類情報の組が第２共通情報群の候補であると判定する。
第２種類情報の組が第２共通情報群の候補である場合、処理はステップＳ３２３に進む。
第２種類情報の組が第２共通情報群でない場合、処理は部分統合処理（Ｓ５００）に進み、部分統合処理（Ｓ５００）の後、処理はステップＳ３２８に進む。部分統合処理（Ｓ５００）については後述する。なお、第２共通情報群の候補でない第２種類情報の組を第２部分情報群という。
【００５９】
ステップＳ３２３において、第２統合部１３０は、それぞれの第２種類情報から個別説明を抽出する。
次に、第２統合部１３０は、それぞれの個別説明から単語を抽出する。
そして、第２統合部１３０は、個別説明毎の単語を比較し、それぞれの個別説明に共通する単語の数を数える。得られる数を共通単語数という。
【００６０】
ステップＳ３２４において、第２統合部１３０は、共通単語数を単語数閾値と比較する。単語数閾値は予め決められた値である。
共通単語数が単語数閾値以上である場合、処理はステップＳ３２５に進む。この場合の第２種類情報の組を第２共通情報群という。
共通単語数が単語数閾値未満である場合、処理は部分統合処理（Ｓ５００）に進み、部分統合処理（Ｓ５００）の後、処理はステップＳ３２８に進む。部分統合処理（Ｓ５００）については後述する。なお、共通単語数が単語数閾値未満である場合の第２種類情報の組を第２部分情報群という。
【００６１】
ステップＳ３２５において、第２統合部１３０は、第２種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されているか判定する。
判定方法は、図８で説明したステップＳ２２３と同じである。つまり、ステップＳ３２５は、ステップＳ２２３において第１種類情報の組を第２種類情報の組に置き換えた処理と同じである。
第２種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されている場合、処理はステップＳ３２７に進む。
第２種類情報の組に対応する共通説明が脆弱性管理テーブル３２０に登録されていない場合、処理はステップＳ３２６に進む。
【００６２】
ステップＳ３２６において、第２統合部１３０は、第２種類情報の組に対応する共通説明を脆弱性管理テーブル３２０に登録する。
登録方法は、図８に基づいて説明したステップＳ２２４と同じである。つまり、ステップＳ３２６は、ステップＳ２２４において第１種類情報の組を第２種類情報の組に置き換えた処理と同じである。
【００６３】
ステップＳ３２７において、第２統合部１３０は、第２種類情報の組に基づいて結果データを生成し、生成された結果データを統合結果３３０に追加する。
結果データの生成方法は、図８で説明したステップＳ２２５と同じである。つまり、ステップＳ３２７は、ステップＳ２２５において第１種類情報の組を第２種類情報の組に置き換えた処理と同じである。
【００６４】
ステップＳ３２８において、第２統合部１３０は、第２種類情報の未選択の組があるか判定する。
第２種類情報の未選択の組がある場合、処理はステップＳ３２１に戻る。
第２種類情報の未選択の組がない場合、処理は終了する。
【００６５】
次に、部分統合処理（Ｓ５００）を説明する。
ステップＳ５００において、部分統合部１４０は、第１部分情報群の集合から第１統合対象群を選択し、第１統合対象群に対応する共通識別子に対応付けられた共通説明を脆弱性管理テーブル３２０から取得する。そして、部分統合部１４０は、取得された共通説明を統合結果３３０に加える。
第１統合対象群は、再診断の対象とならない脆弱性に対応する第１部分情報群である。
【００６６】
また、部分統合部１４０は、第１部分情報群の集合から第１再診断対象群を選択し、第１再診断対象群のそれぞれの脆弱性情報に含まれる個別識別子を再診断リスト３５０に登録する。
第１再診断対象群は、再診断の対象となる脆弱性に対応する第１部分情報群である。
【００６７】
同様に、部分統合部１４０は、第２部分情報群の集合から第２統合対象群を選択し、第２統合対象群に含まれる個別識別子に対応付けられた共通説明を脆弱性管理テーブル３２０から取得する。そして、部分統合部１４０は、取得された共通説明を統合結果３３０に加える。第２統合対象群は、再診断の対象とならない脆弱性に対応する第２部分情報群である。
また、部分統合部１４０は、第２部分情報群の集合から第２再診断対象群を選択し、第２再診断対象群のそれぞれの脆弱性情報に含まれる個別識別子を再診断リスト３５０に登録する。第２再診断対象群は、再診断の対象となる脆弱性に対応する第２部分情報群である。
【００６８】
なお、部分統合部１４０は、対応状況テーブル３６０と診断履歴ファイル３７０とを用いて、第１統合対象群と第１再診断対象群と第２統合対象群と第２再診断対象群とを選択する。
対応状況テーブル３６０は、脆弱性毎に診断ツール毎の対応状況を示すデータである。
診断履歴ファイル３７０は、診断ツール２２１毎の診断ミスの履歴を示すデータである。
【００６９】
図１１に基づいて、再診断リスト３５０を説明する。
再診断リスト３５０は、診断ツール２２１と脆弱性との組毎の再診断データを含む。図中の１行が再診断データに相当する。
再診断データにおいて、ツール識別子と個別識別子とアドレスとポート番号とが互いに対応付けられている。
【００７０】
図１２に基づいて、対応状況テーブル３６０を説明する。
対応状況テーブル３６０は、脆弱性毎のレコードを備える。図中の１行がレコードに相当する。
それぞれのレコードにおいて、脆弱性識別子と脆弱性名と共通識別子と公表日と診断ツール２２１毎の対応状況とが互いに対応付けられている。
脆弱性名は、脆弱性の名称である。
公表日は、脆弱性に関する情報が外郭団体から公表された日の日付である。
対応状況は、対応日または未対応を示す。対応日は、診断ツール２２１が脆弱性を検出できるようになった日の日付である。未対応は、診断ツール２２１が脆弱性を検出することができないことを意味する。未対応は、ブランク、記号または文字列で表される。
【００７１】
図１３に基づいて、診断履歴ファイル３７０を説明する。
診断履歴ファイル３７０は、診断ミス毎の履歴データを含む。図中の１行が履歴データに相当する。
履歴データにおいて、日付と脆弱性識別子と診断ツール２２１毎の診断履歴とが互いに対応付けられている。
日付は、履歴データが生成された日付である。
診断履歴は、診断ミスまたはミスなしを示す。診断ミスは、誤検知または検知漏れである。誤検知は、脆弱性がないにも関わらず脆弱性が誤って検出されたことを意味する。検知漏れは、脆弱性があるにも関わらず脆弱性が検出されなかったことを意味する。ミスなしは、診断ミスでなかったことを意味する。図中のハイフンはミスなしを意味する。
【００７２】
図１４に基づいて、部分統合処理（Ｓ５００）の詳細を説明する。
部分統合処理（Ｓ５００）は、第１統合処理（Ｓ１００）で選択された第１部分情報群または第２統合処理（Ｓ２００）で選択された第２部分情報群を対象にして実行される。
第１部分情報群および第２部分情報群を総称して部分情報群という。
【００７３】
ステップＳ５１１において、部分統合部１４０は、部分情報群に対応する脆弱性に対する診断ツール２２１毎の対応状況を、対応状況テーブル３６０から取得する。
具体的には、部分統合部１４０は、部分情報群に対応付けられた脆弱性識別子と同じ脆弱性識別子を対応状況テーブル３６０から選択する。そして、部分統合部１４０は、選択された脆弱性識別子に対応付けられた診断ツール２２１毎の対応状況を対応状況テーブル３６０から取得する。
【００７４】
ステップＳ５１２において、部分統合部１４０は、部分情報群に対応する脆弱性に対する診断ツール２２１毎の診断履歴を、診断履歴ファイル３７０から取得する。
具体的には、部分統合部１４０は、部分情報群に対応付けられた脆弱性識別子と同じ脆弱性識別子を診断履歴ファイル３７０から選択する。そして、部分統合部１４０は、選択された脆弱性識別子に対応付けられた診断ツール２２１毎の診断履歴を取得する。
【００７５】
ステップＳ５１３において、部分統合部１４０は、部分情報群と診断ツール２２１毎の対応状況と診断ツール２２１毎の診断履歴とを用いて、診断ツール２２１毎の検出結果を決定する。
【００７６】
具体的には、部分統合部１４０は、診断ツール２２１の検出結果を以下のように決定する。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれる場合、部分統合部１４０は、診断ツール２２１の検出結果に検出を設定する。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれない場合、部分統合部１４０は、診断ツール２２１の検出結果に不検出を設定する。
診断ツール２２１の対応状況が未対応である場合、部分統合部１４０は、診断ツール２２１の検出結果を無効に更新する。
診断ツール２２１の診断履歴に診断ミスが含まれる場合、部分統合部１４０は、診断ツール２２１の検出結果を無効に更新する。
【００７７】
ステップＳ５２１において、部分統合部１４０は、検出結果の多数決を取る。
具体的には、部分統合部１４０は、検出と不検出と無効とのそれぞれの数を数える。
【００７８】
ステップＳ５２２において、部分統合部１４０は、検出結果の多数決が成立するか判定する。
具体的には、部分統合部１４０は、検出の数または不検出の数が過半数であるか判定する。検出の数または不検出の数が過半数である場合、部分統合部１４０は、診断ツール２２１毎の検出結果の多数決が成立すると判定する。
検出結果の多数決が成立する場合、処理はステップＳ５２３に進む。
検出結果の多数決が成立しない場合、処理はステップＳ５２５に進む。
【００７９】
ステップＳ５２３において、部分統合部１４０は、部分情報群と多数決の結果とを用いて履歴データを生成し、生成された履歴データを診断履歴ファイル３７０に登録する。
【００８０】
具体的には、部分統合部１４０は、以下のような日付と脆弱性識別子と診断ツール２２１毎の診断履歴とを含んだ履歴データを生成する。
日付は、履歴データを生成したときの日付である。
脆弱性識別子は、部分情報群に対応付けられた脆弱性識別子である。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれ、多数決の結果が検出である場合、診断ツール２２１の診断履歴はミスなしである。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれ、多数決の結果が不検出である場合、診断ツール２２１の診断履歴は誤検知である。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれず、多数決の結果が検出である場合、診断ツール２２１の診断履歴は検知漏れである。
診断ツール２２１のツール識別子に対応付けられた脆弱性情報３１１が部分情報群に含まれず、多数決の結果が不検出である場合、診断ツール２２１の診断履歴はミスなしである。
【００８１】
ステップＳ５２４において、多数決の結果が検出である場合、部分統合部１４０は、部分情報群に基づいて結果データを生成し、生成された結果データを統合結果３３０に追加する。
結果データを生成する方法は、図８で説明したステップＳ２２５と同じである。つまり、多数決の結果が検出である場合のステップＳ５２４は、ステップＳ２２５において第１種類情報の組を部分情報群に置き換えた処理と同じである。
【００８２】
ステップＳ５２５において、部分統合部１４０は、部分情報群に含まれる脆弱性情報３１１毎に再診断データを生成し、生成された再診断データを再診断リスト３５０に登録する。
【００８３】
具体的には、部分統合部１４０は、再診断データを以下のように生成する。
まず、部分統合部１４０は、脆弱性情報３１１に対応付けられたツール識別子を取得する。
次に、部分統合部１４０は、脆弱性情報３１１から個別識別子とアドレスとポート番号とを抽出する。
そして、部分統合部１４０は、ツール識別子と個別識別子とアドレスとポート番号とを含んだ再診断データを生成する。
【００８４】
図３に戻り、ステップＳ４００から説明を続ける。
ステップＳ４００は再診断制御処理である。
ステップＳ４００において、再診断制御部１５０は、再診断制御を行う。
再診断制御は、再診断リスト３５０に含まれる個別識別子に対応する診断ツール２２１に個別識別子で識別される脆弱性を対象とする診断を行わせるための制御である。
【００８５】
図１５に基づいて、再診断制御処理（Ｓ４００）の詳細を説明する。
ステップＳ４０１において、再診断制御部１５０は、再診断回数にゼロを設定する。
【００８６】
ステップＳ４１１において、再診断制御部１５０は、再診断リスト３５０から再診断データを読み出す。
【００８７】
ステップＳ４１２において、送信部１９４は、それぞれの再診断データを診断装置２２０に送信する。
それぞれの再診断データは、診断装置２２０によって受信されて診断ツール２２１に設定される。具体的には、再診断データに含まれるツール識別子で識別される診断ツール２２１に、再診断データに含まれる個別識別子とアドレスとポート番号とが設定される。
【００８８】
ステップＳ４１３において、診断装置２２０は、再診断データが設定された診断ツール２２１のそれぞれを実行し、診断ツール２２１毎の診断結果３１０を診断結果統合装置１００に送信する。
そして、受信部１９３は、診断ツール２２１毎の診断結果３１０を受信する。記憶部１９１は、診断ツール２２１毎の診断結果３１０を記憶する。
【００８９】
ステップＳ４２１において、再診断制御部１５０は、今回の診断ツール２２１毎の診断結果３１０を前回の診断ツール２２１毎の診断結果３１０と比較する。
今回の診断ツール２２１毎の診断結果３１０が前回の診断ツール２２１毎の診断結果３１０と異なる場合、処理はステップＳ５２０に進む。
今回の診断ツール２２１毎の診断結果３１０が前回の診断ツール２２１毎の診断結果３１０と同じ場合、処理はステップＳ４２３に進む。
【００９０】
ステップＳ５２０は脆弱性毎の多数決処理である。
ステップＳ５２０において、再診断制御部１５０は、今回の診断ツール２２１毎の診断結果３１０から、脆弱性情報３１１を抽出する。
次に、再診断制御部１５０は、脆弱性情報３１１の集合を脆弱性識別子別に組み分けする。組み分け方法は図８で説明したステップＳ２１０と同じである。
そして、再診断制御部１５０は、脆弱性識別子毎に、脆弱性情報３１１の組を対象にして、図１４で説明したステップＳ５２１からステップＳ５２５を実行する。
なお、診断ツール２２１毎の検出結果は、脆弱性情報３１１の有無によって決まる。つまり、脆弱性情報３１１に対応する診断ツール２２１の検出結果は検出であり、残りの診断ツール２２１の検出結果は不検出である。
ステップＳ５２０の後、処理はステップＳ４２２に進む。
【００９１】
ステップＳ４２２において、部分統合部１４０は、ステップＳ５２０で生成された再診断リスト３５０に再診断データがあるか判定する。
再診断データがある場合、処理はステップＳ４２３に進む。
再診断データがない場合、処理は終了する。
【００９２】
ステップＳ４２３において、部分統合部１４０は、再診断回数に１を加える。
【００９３】
ステップＳ４２４において、部分統合部１４０は、再診断回数を回数閾値と比較する。回数閾値は予め決められた値である。
再診断回数が回数閾値未満である場合、処理はステップＳ４１１に戻る。
再診断回数が回数閾値以上である場合、処理はステップＳ４３０に進む。
【００９４】
ステップＳ４３０において、部分統合部１４０は、再診断リスト３５０にある再診断データに基づいて、結果データと履歴データとを生成する。
履歴データにおいて、再診断データに含まれるツール識別子と同じツール識別子に対応する診断履歴には未解決が設定される。
そして、部分統合部１４０は、結果データを統合結果３３０に追加し、履歴データを診断履歴ファイル３７０に登録する。
【００９５】
次に、テーブル更新部１６０によって実行されるテーブル更新処理（Ｓ６００）を説明する。
ステップＳ６００において、テーブル更新部１６０は、新たな脆弱性を示す脆弱性データを取得し、取得された脆弱性データを用いて脆弱性管理テーブル３２０および対応状況テーブル３６０を更新する。
さらに、テーブル更新部１６０は、新たな対応状況を示す対応状況データを取得し、取得された対応状況データを用いて脆弱性管理テーブル３２０および対応状況テーブル３６０を更新する。
【００９６】
図１６に基づいて、テーブル更新処理（Ｓ６００）の詳細を説明する。
ステップＳ６１１において、それぞれの外郭団体サーバ２４０は、新たな脆弱性データが登録された場合、新たな脆弱性データを診断結果統合装置１００に送信する。新たな脆弱性データは、新たに発見された脆弱性を示すデータである。脆弱性データは、分類、脆弱性識別子、脆弱性名、共通識別子、共通説明および公表日などを含む。
それぞれの外郭団体サーバ２４０から新たな脆弱性データが送信された場合、受信部１９３は、新たな脆弱性データを受信する。
新たな脆弱性データが受信された場合、処理はステップＳ６１２に進む。
新たな脆弱性データが受信されなかった場合、処理はステップＳ６２１に進む。
【００９７】
ステップＳ６１２において、テーブル更新部１６０は、新たな脆弱性データを用いて、脆弱性管理テーブル３２０および対応状況テーブル３６０を更新する。
具体的には、テーブル更新部１６０は、新たな脆弱性データに含まれる分類、脆弱性識別子、共通識別子および共通説明を用いて、脆弱性管理テーブル３２０のレコードを生成する。そして、テーブル更新部１６０は、生成されたレコードを脆弱性管理テーブル３２０に追加する。追加されるレコードの個別識別子の欄は空欄である。
具体的には、テーブル更新部１６０は、新たな脆弱性データに含まれる脆弱性識別子、脆弱性名、共通識別子および公表日を用いて、対応状況テーブル３６０のレコードを生成する。そして、テーブル更新部１６０は、生成されたレコードを対応状況テーブル３６０に追加する。追加されるレコードの対応状況の欄には未対応が設定される。
【００９８】
ステップＳ６２１において、それぞれのツールベンダサーバ２３０は、新たな対応状況データが登録された場合、新たな対応状況データを診断結果統合装置１００に送信する。新たな対応状況データは、追加または変更された対応状況を示すデータである。対応状況データは、ツール識別子、個別識別子、脆弱性識別子、共通識別子および対応状況などを含む。
それぞれのツールベンダサーバ２３０から新たな対応状況データが送信された場合、受信部１９３は、新たな対応状況データを受信する。
新たな対応状況データが受信された場合、処理はステップＳ６２２に進む。
新たな対応状況データが受信されなかった場合、処理は終了する。
【００９９】
ステップＳ６２２において、テーブル更新部１６０は、新たな対応状況データを用いて、脆弱性管理テーブル３２０および対応状況テーブル３６０を更新する。
具体的には、テーブル更新部１６０は、脆弱性管理テーブル３２０から、新たな対応状況データに含まれる脆弱性識別子に対応するレコードを選択する。テーブル更新部１６０は、選択されたレコードの個別識別子の欄から、新たな対応状況データに含まれるツール識別子に対応する欄を選択する。そして、テーブル更新部１６０は、選択された個別識別子の欄に、新たな対応状況データに含まれる個別識別子を設定する。
具体的には、テーブル更新部１６０は、対応状況テーブル３６０から、新たな対応状況データに含まれる脆弱性識別子に対応するレコードを選択する。テーブル更新部１６０は、選択されたレコードの対応状況の欄から、新たな対応状況データに含まれるツール識別子に対応する欄を選択する。そして、テーブル更新部１６０は、選択された対応状況の欄に、新たな対応状況データに含まれる対応状況を設定する。
【０１００】
＊＊＊実施の形態１の効果＊＊＊
人手で行われていた複数の診断結果の突き合わせを自動化して、作業の効率化を図ることができる。
作業者が経験に基づいて手作業で確認していた誤検知および検知漏れについて、外郭団体またはツールベンダから提供される最新情報をもとに随時更新されるテーブルと診断ツールの診断履歴とに基づいた特定により、属人性を排除することができる。
再診断が必要な脆弱性のみが診断ツールで再診断されるため、再診断に必要な時間を短縮することができる。
【０１０１】
＊＊＊他の構成＊＊＊
診断結果統合装置１００は、図１７に示すような対応状況チャート３８０を生成するチャート生成部を機能構成の要素として備えてもよい。
対応状況チャート３８０は、脆弱性毎に診断ツール２２１の対応状況を示す図表である。
チャート生成部は、対応状況テーブル３６０を用いて、対応状況チャート３８０を生成する。そして、表示部１９６は、対応状況チャート３８０を表示する。
利用者は、対応状況チャート３８０を参照することにより、脆弱性毎の診断ツール２２１の対応状況を視覚的に把握することができる。
【０１０２】
診断結果統合装置１００は、診断装置２２０を兼ねてもよい。
具体的には、診断結果統合装置１００は、診断ツール２２１を実行して対象システム２１０を診断する診断部を機能構成の要素として備えてもよい。
【０１０３】
診断システム２００は、互いに異なる診断ツール２２１を実行する複数の診断装置２２０を備えてもよい。
具体的には、診断システム２００は、診断ツール２２１毎に診断装置２２０を備えてもよい。
【０１０４】
再診断リスト３５０は、利用者によって編集されてもよい。
具体的には、診断結果統合装置１００は、再診断リスト３５０を編集する編集部を備えてもよい。
表示部１９６は再診断リスト３５０を表示し、利用者は入力装置９０７を操作して編集指示を入力する。受付部１９５は編集指示を受け付け、編集部は編集指示に従って再診断リスト３５０を編集する。
同様に、脆弱性管理テーブル３２０および対応状況テーブル３６０が、利用者によって編集されてもよい。
【０１０５】
脆弱性管理テーブル３２０において、共通識別子があるレコードと共通識別子がないレコードとは、データベースのフィルタ機能を利用して分離することが可能である。
脆弱性管理テーブル３２０は、共通識別子があるレコードから成るテーブルと共通識別子がないレコードから成るテーブルとに分けてもよい。
【０１０６】
実施の形態２．
複数の対象システム２１０を備える診断システム２００について、図１８に基づいて説明する。但し、実施の形態１と重複する説明は省略または簡略する。
【０１０７】
＊＊＊構成の説明＊＊＊
図１８に基づいて、診断システム２００の構成について説明する。
診断システム２００は、対象システム２１０と診断装置２２０と診断結果統合装置１００との組を複数備える。
さらに、診断システム２００は、テーブル管理装置２５０と、脆弱性管理データベース２５１と、対応状況データベース２５２とを備える。
テーブル管理装置２５０、脆弱性管理データベース２５１および対応状況データベース２５２は、クラウド環境に設けられる。
【０１０８】
脆弱性管理データベース２５１は、脆弱性管理テーブル３２０が記憶される記憶装置である。
対応状況データベース２５２は、対応状況テーブル３６０が記憶される記憶装置である。
テーブル管理装置２５０は、脆弱性管理データベース２５１に記憶された脆弱性管理テーブル３２０と、対応状況データベース２５２に記憶された対応状況テーブル３６０とを管理するコンピュータである。
具体的には、テーブル管理装置２５０は、実施の形態１で説明したテーブル更新部１６０を機能構成の要素として備える。
【０１０９】
それぞれの診断結果統合装置１００は、脆弱性管理テーブル３２０を使用するために脆弱性管理データベース２５１にアクセスし、対応状況テーブル３６０を使用するために対応状況データベース２５２にアクセスする。
診断結果統合装置１００の機能構成は、テーブル更新部１６０を除いて、実施の形態１と同じである。
【０１１０】
＊＊＊動作の説明＊＊＊
診断結果統合装置１００の診断結果統合方法は、テーブル更新処理（Ｓ６００）を除いて、実施の形態１と同じである。
【０１１１】
＊＊＊実施の形態２の効果＊＊＊
テーブルがクラウドで管理されるため、診断結果統合装置１００の記憶容量を減らすことができる。また、診断結果統合装置１００においてテーブルを更新する必要がないため、診断結果統合装置１００の負荷を軽減することができる。
【０１１２】
＊＊＊実施の形態の補足＊＊＊
実施の形態において、診断結果統合装置１００の機能はハードウェアで実現してもよい。
図１９に、診断結果統合装置１００の機能がハードウェアで実現される場合の構成を示す。
診断結果統合装置１００は処理回路９９０を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、実施の形態で説明した「部」の機能を実現する専用の電子回路である。この「部」には記憶部１９１も含まれる。
具体的には、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
なお、診断結果統合装置１００が複数の処理回路９９０を備えて、複数の処理回路９９０が「部」の機能を連携して実現してもよい。
【０１１３】
診断結果統合装置１００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、「部」の一部をソフトウェアで実現し、「部」の残りをハードウェアで実現してもよい。
【０１１４】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１１５】
１００  診断結果統合装置、１１０  情報分類部、１２０  第１統合部、１３０  第２統合部、１４０  部分統合部、１５０  再診断制御部、１６０  テーブル更新部、１９１  記憶部、１９３  受信部、１９４  送信部、１９５  受付部、１９６  表示部、２００  診断システム、２１０  対象システム、２２０  診断装置、２２１  診断ツール、２３０  ツールベンダサーバ、２４０  外郭団体サーバ、２５０  テーブル管理装置、２５１  脆弱性管理データベース、２５２  対応状況データベース、３１０  診断結果、３１１  脆弱性情報、３２０  脆弱性管理テーブル、３３０  統合結果、３４０  説明登録画面、３４１  個別説明、３４２  ラジオボタン、３４３  ツール識別子、３４４  テキストボックス、３４５  登録ボタン、３５０  再診断リスト、３６０  対応状況テーブル、３７０  診断履歴ファイル、３８０  対応状況チャート、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  通信装置、９０７  入力装置、９０８  ディスプレイ、９９０  処理回路。
【図１】
0006355668.tif 000002
【図２】
0006355668.tif 000003
【図３】
0006355668.tif 000004
【図４】
0006355668.tif 000005
【図５】
0006355668.tif 000006
【図６】
0006355668.tif 000007
【図７】
0006355668.tif 000008
【図８】
0006355668.tif 000009
【図９】
0006355668.tif 000010
【図１０】
0006355668.tif 000011
【図１１】
0006355668.tif 000012
【図１２】
0006355668.tif 000013
【図１３】
0006355668.tif 000014
【図１４】
0006355668.tif 000015
【図１５】
0006355668.tif 000016
【図１６】
0006355668.tif 000017
【図１７】
0006355668.tif 000018
【図１８】
0006355668.tif 000019
【図１９】
0006355668.tif 000020