---実施例1---
<システム構成の例>
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の判断支援装置100を含むネットワーク構成図である。図1に示す判断支援装置100は、脆弱性対策の要否判断に好適な参考情報を、効率的に提供可能とするコンピュータ装置である。
図1で例示する判断支援システム10は、コンピュータシステム1A、1B、判断支援装置100、および対策管理装置400から構成されている。このうち判断支援装置100は、適宜なネットワーク4を介してコンピュータシステム1A、1Bおよび対策管理装置400と相互通信可能に接続されている。
なお、判断支援装置100に接続されるコンピュータシステムの台数は、特に制限されるものではない。また、ネットワーク4は、例えばインターネット等の公衆網の他、LAN(Local Area Network)、WAN(Wide Area Network)など、システム構成等の状況に応じた適宜なものを想定できる。
また、コンピュータシステム1A、1Bは、例えば脆弱性対策を実施したい企業あるいは脆弱性対策サービスの提供企業などが保有する物理的なコンピュータハードウェアであるサーバ装置などである。
このうちコンピュータシステム1Aは、新脆弱性情報2を有している。新脆弱性情報2は、新たに脆弱性対策の判断をすべき脆弱性に関する情報である。具体的には、新脆弱性情報2は、例えばCVSS(Common Vulnerability Scoring System)といった脆弱性を記述するための規格に沿った脆弱性情報、ないし製品ベンダが独自に提供する形式の脆弱性情報や、脆弱性を持つシステムや製品の特性に関する情報である。
図2に上述の新脆弱性情報2の一例を示す。具体的には、新脆弱性情報2は、タイトル2Aをキーとして、CVSS値2B、必要な特権レベル2C、重要資産2D、ネットワーク環境2E、および管理コンソール2F、といった値が対応付けられたレコードを有して
いる。
このうちタイトル2Aは、脆弱性の名前やIDといった脆弱性を特定する識別情報である。また、CVSS値2Bは、脆弱性に対し規格CVSSで示されるCVSS基本値を示す情報である。
また、必要な特権レベル2Cは、脆弱性に対し規格CVSSで示される必要な特権レベルを示す情報である。
また、重要資産2Dは、脆弱性を持つシステムまたは製品が重要資産か否かを示す情報である。また、ネットワーク環境2Eは、脆弱性を持つ製品がどのネットワークに接続しているか示す情報である。
また、管理コンソール2Fは、脆弱性が管理コンソールに関するものか否かを示す情報である。
例えば、図2におけるレコードは、「“JVN#AAA”という脆弱性は、CVSS値が“7.2”で、必要な特権レベルは“低”で、管理コンソールに関する脆弱性ではなく、“JVN#AAA”という脆弱性を持つシステムまたは製品は重要資産として指定しており、“インターネット”に接続している」ことを示している。
ここで、新脆弱性情報2が有する情報は、例示された情報に限られるものではない。例えばタイトル2AやCVSS値2B、必要な特権レベル2Cのように、公開情報から得られる情報を含んでも良い。また、重要資産2Dやネットワーク環境2Eのように、担当者があらかじめ任意に設定したシステムまたは製品に関する情報を含んでも良い。また、管理コンソール2Fのように、担当者が公開情報を元に調査し追加した情報を含んでも良い。いずれにしても、情報源や情報源からの情報の取得方法は限定されない。
一方、コンピュータシステム1Bは、過去事例情報3を有している。過去事例情報3は、過去発生した脆弱性情報に対する担当者の要否判断の結果や判断理由を有する情報である。
図3に、上述の過去事例情報3の一例を示す。具体的には、過去事例情報3は、タイトル3Aをキーとして、CVSS値3B、必要な特権レベル3C、重要資産3D、ネットワーク環境3E、管理コンソール3F、ローカル環境ログイン3G、要否判断3H、および判断理由3Iといった値が対応付けられたレコードを有している。
こうした過去事例情報3におけるタイトル3Aと、CVSS値3Bと、必要な特権レベル3Cと、重要資産3Dと、ネットワーク環境3Eおよび管理コンソール3Fは、それぞれ図2で示したタイトル2Aと、CVSS値2Bと、必要な特権レベル2Cと、重要資産2Dと、ネットワーク環境2Eおよび管理コンソール2Fと同じであるため、差分のみ説明する。
ローカル環境ログイン3Gは、脆弱性が利用されるためには製品に直接接続してログインが必要か否かを示す情報である。また、要否判断3Hは、脆弱性に対し対策が必要か否か担当者が判断した結果を示す情報である。また、判断理由3Iは、脆弱性に対し対策が必要か否か担当者が判断した理由を示す情報である。
例えば、図3の例では、「“JVN#X”という、CVSS値が“7.2”で、必要な特権レベルは“低”で、管理コンソールに関する脆弱性ではなく、ローカル環境ログインが“不要”で、“JVN#X”という脆弱性を持つ製品は重要資産として指定しており、“インターネット”に接続している脆弱性に対し、対策は“必要”と判断し、判断理由は
脆弱性をもつ製品は“重要資産”として指定しているため」ということを示している。
ここで、過去事例情報3が有する情報は、図3で例示した情報に限られるものではない。例えば、脆弱性に対し実際に行った対策方法に関する情報が含まれていて良い。
また、記述が例示された内容に限られるものではない。例えば、判断理由は自由記述でも良いし、あらかじめ設定された判断理由群から選択することで記述しても良い。
さらに、過去事例情報3は複数保持していても良い。例えば、過去事例情報3を、システム毎に保持しても良いし、類似するシステム毎のまとまりで保持しても良いし、脆弱性毎に複数のシステムで判断した結果をまとめて保持しても良い。
なお、新脆弱性情報2と過去事例情報3は、同じコンピュータシステム1Aまたはコンピュータシステム1Bに格納されていても良いし、判断支援装置100に格納されていても良い。
ここで図1に戻って説明する。対策管理装置400は、例えば脆弱性対策を実施する企業や、脆弱性対策サービスの提供企業に設置された物理的なコンピュータハードウェアであるサーバ装置である。
この対策管理装置400は、上述のネットワーク4を介して判断支援装置100に相互通信可能に接続されている。よって対策管理装置400は、判断支援装置100から所定情報(例えば、後述の類似過去事例の表示画面情報など)を取得する。また、対策管理装置400は、取得した情報をディスプレイ等の適宜な表示装置に表示する。
続いて、判断支援装置100の機能構成について説明する。図4は、本実施形態における判断支援装置100の機能構成例を示した機能ブロック図である。
図示するように、判断支援装置100は、入力部110、出力部120、記憶部130、演算部140、および通信部150を有している。
このうち入力部110は、入力情報を受け付ける機能部である。具体的には、入力部110は、判断支援装置100が備えるキーボードやマウスといった入力装置を介して入力されたユーザの入力情報を受け付ける。また、入力部110は、受け付けた入力情報を演算部140に出力する。
また、出力部120は、ディスプレイ等の表示装置に表示する画面情報などを生成する機能部である。具体的には、出力部120は、判断支援装置100が備えるディスプレイといった表示装置に表示する画面情報を生成する。また、出力部120は、生成した画面情報を表示装置に出力する。
また、記憶部130は、様々な情報を格納する機能部である。具体的には、記憶部130は、少なくとも判断根拠管理情報200を有している。
ここで図5に判断根拠管理情報200の一例を示す。判断管理根拠情報200には、上述の過去事例情報3から抽出した判断根拠の重要度に関する情報が含まれている。具体的には、分類200Aと、判断根拠200Bと、重要度200Cといった情報が対応付けられたレコードを有している。
このうち分類200Aは、判断根拠の重要度を管理するまとまりを示す情報である。この分類200Aは、過去事例の分類基準となる属性と換言できる。この属性は、図5で例示する形態の場合、脆弱性対策の適用対象となったシステムの種類を一例として想定できる。
また、判断根拠200Bは、過去事例情報3から抽出した判断根拠を示す情報である。判断根拠の抽出は、判断支援装置100が、過去事例情報3の判断理由3Iの値を形態素解析して単語や文節を抽出し、過去事例情報3における、これら単語や文節の出現頻度が一定基準を超えるもの(例:全ての単語や文節の出現頻度の平均値より高いものや、上位1割以内のもの等)を特定したものを想定できる。
また、重要度200Cは、上述のように過去事例情報3から抽出した判断根拠200Bの重要度を示す情報である。重要度200Cの値は、判断支援装置100が、当該判断根拠が過去事例情報3において出現した頻度や累積回数、の大きさや或いは増加ごとにインクリメントして管理するものとする。換言すれば、出現の頻度や累積回数が増加しないと、重要度200Cの値も高まらないか、却って減少しうる。
例えば、図5は、「“システムA”では、判断根拠“重要資産”の重要度は“10”であり、判断根拠“管理コンソール”の重要度は“8”であり、判断根拠“ローカル環境ログイン”の重要度は“5”である」ことが示されている。
ここで、判断根拠管理情報200の分類200Aは、例示する分類に限定されるものではない。例えば、類似する複数の案件のまとまりで判断根拠200Bと重要度200Cを保持しても良いし、脆弱性毎に複数の案件から抽出される判断根拠200Bと重要度200Cを保持しても良い。
図4に戻って説明する。判断支援装置100における演算部140は、判断根拠管理部300と、判断支援部310と、情報提示部320とを有している。
このうち判断根拠管理部300は、判断根拠管理情報200を更新する機能部である。具体的には、判断根拠管理部300は、通信部150を介して過去事例情報3を取得し、取得した過去事例情報3を用いて判断根拠管理情報200を更新する。判断根拠管理情報200を更新する処理の詳細については後述する。また、後述する判断根拠類似度管理処理や判断ルール作成処理を実行する。
また、判断支援部310は、新脆弱性情報2に示される新脆弱性情報2に対する対策の要否判断を支援する情報を特定する機能部である。具体的には、判断支援部310は、通信部150を介して新脆弱性情報2を取得し、取得した新脆弱性情報2と、判断根拠管理情報200とを用いて当該新脆弱性情報2に対する対策の要否判断を支援する情報を特定する。
新脆弱性情報2に対する対策の要否判断を支援する情報を特定する処理の詳細については後述する。また、判断支援部310は、後述する判断支援情報抽出処理や、類似分類判断支援情報抽出処理や、推奨判断算出処理を実行する。
また、情報提示部320は、判断支援部310で特定した新脆弱性情報2に対する対策の要否判断を支援する情報を提示する機能部である。具体的には、新脆弱性情報2に対する対策の要否判断を支援する情報を、ユーザに提示する画面情報の生成指示を出力部120に対して行う。
また、通信部150は、判断支援装置100が、ネットワーク4を介して外部装置との間で情報の送受信を行う機能部である。具体的には、通信部150は、コンピュータシステム1Aから新脆弱性情報2を、コンピュータシステム1Bから過去事例情報3を取得する。また、通信部150は、新脆弱性情報に対する判断を支援する情報の画面情報を対策管理装置400に送信する。以上、特徴選択装置100の機能ブロックについて説明した
。
<ハードウェア構成>
続いて、本実施形態における判断支援装置100のハードウェア構成例について説明する。図6は、本実施形態における判断支援装置100のハードウェア構成例を示す図である。判断支援装置100は、例えば物理的なコンピュータハードウェアであるサーバ装置により実現される。
本実施形態における判断支援装置100は、入力装置501と、表示装置502と、外部記憶装置503と、演算装置504と、主記憶装置505と、通信装置506と、これらを電気的に相互接続するバス507とを有している。
このうち入力装置501は、キーボードやマウス、タッチパネルなどのポインティングデバイス、あるいは音声入力装置であるマイクなどを想定する。
また、表示装置502は、ディスプレイや音声出力装置であるスピーカなどを想定する。
また、外部記憶装置503は、デジタル情報を記憶可能ないわゆるハードディスク(Hard Disk Drive)やSSD(Solid State Drive)あるいはフラッシュメモリなどの不揮発性記憶装置である。
また、演算装置504は、例えばCPU(Central Processing Unit)である。
また、主記憶装置505は、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ装置である。
また、通信装置506は、ネットワークケーブルを介して有線通信を行う有線の通信装置、またはアンテナを介して無線通信を行う無線通信装置である。この通信装置506は、ネットワーク4に接続されている外部装置との間で情報通信を行う。
なお、判断支援装置100の演算部140は、演算装置504に処理を行わせるプログラム510によって実現される。このプログラム510は、主記憶装置505あるいは外部記憶装置503に記憶され、プログラム510の実行にあたって主記憶装置505上にロードされ、演算装置504により実行される。
また、記憶部130は、主記憶装置505または外部記憶装置503あるいはこれらの組合せにより実現される。また、通信部150は、通信装置506により実現される。
ただし、判断支援装置100のハードウェア構成は、前述の構成に限定されるものではない。
また、判断支援装置100の上記の各構成、機能、処理部および処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記構成、機能は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD等の記憶装置またはICカード、SDカードおよびDVD等の記録媒体に置くことができる。
また、特徴選択装置100のハードウェア構成はこれらに限られるものではなく、その他のハードウェアを用いて構成されるものであっても良い。例えば、インターネットを介して入出力を受け付ける装置であっても良い。
なお、判断支援装置100は、図示しないが、OS(Operating Syste
m)、ミドルウェア、アプリケーションなどの公知の要素を有し、特にディスプレイなどの入出力装置にGUI画面を表示するための既存の処理機能を備える。以上、特徴選択装置100のハードウェア構成について説明した。
<フロー例1>
以下、本実施形態における判断支援方法の実際手順について図に基づき説明する。以下で説明する判断支援方法に対応する各種動作は、判断支援装置100が主記憶装置505等に読み出して実行するプログラム510によって実現される。そして、このプログラム510は、以下に説明される各種の動作を行うためのコードから構成されている。
図7は、本実施形態における判断根拠管理処理の一例を示したフロー図である。かかるフローは、例えば判断支援装置100において、入力部110を介してユーザから処理の実行指示を受け付けた場合、あるいは定期的(例えば、毎分または各日所定の時刻など)に実行される。
こうして判断支援装置100において判断根拠管理処理が開始されると、判断根拠管理部300は、過去事例情報3に変更があるか否か判定する(ステップS101)。
具体的には、判断根拠管理部300は、通信部150を介して過去事例情報3を取得する。また、判断根拠管理部300は、所定のタイミング(例えば、前回の判断根拠管理処理の実行時など)に取得し一時的に保存しておいた(つまり過去の時点の)過去事例情報3(不図示)と、新たに取得した過去事例情報とを比較する。
そして、過去事例情報3に脆弱性情報の追加または削除または修正を示す内容が含まれる場合(ステップS101:Yes)、判断根拠管理部300は、過去事例情報3に変更があると判定し、処理をステップS102に移行する。
一方、過去事例情報3に脆弱性情報の追加または削除または修正を示す内容が含まれていない場合(ステップS101:No)、判断根拠管理部300は、変更がないと判定して処理をステップS101に戻す。
ステップS102において、判断根拠管理部300は、過去事例情報3の判断理由3Iから判断根拠を抽出する。この場合、例えば、図3に示す過去事例情報3の例では、判断根拠管理部300は、判断理由3Iに格納された文章“重要資産のため”に、公知の形態素解析技術を適用するか、或いはあらかじめ用意した判断根拠として用いられる単語の辞書を照合することで、“重要資産”を判断根拠として抽出する。勿論、判断理由3Iの値が長分で多くの文節を含む場合、上述の形態素解析等で得た単語を、上述の辞書に適用して該当する語彙を判断根拠と特定すればよい。他にも、形態素解析等で得た単語群の中から、その出現頻度が最も高いものを判断根拠として抽出する形態等も想定できる。
いずれにしても、過去事例情報3から判断根拠を抽出する方法は特に限定されるものではない。
なお、過去事例情報3の判断理由3Iに格納されている文字列をそのままの形式で判断根拠として抽出しても良いし、運用管理者が任意に抽出しても良い。
次に、判断根拠管理部300は、S102で抽出した判断根拠の重要度を算出する(ステップS103)。例えば、判断根拠管理部300は、ステップS102で抽出した判断根拠が過去事例情報3の判断理由3Iに記載された回数の多いほど或いは頻度が高いほど、当該判断根拠の重要度を高いものと特定する。例えば、記載の回数が全判断根拠中で一位の場合、重要度を予め定めた上限値とする、といった算出手法や、記載の回数や頻度が高まるに応じて、その増大程度に応じて重要度の値を高めるといった手法も想定出来る。
なお、判断根拠の重要度の算出方法は特に限定されるものではない。例えば、判断根拠が過去事例情報3の判断理由3Iに記載された回数に重み付け係数をかけて算出しても良いし、担当者が任意に重要度を算出しても良い。
また、判断根拠の重要度は、システム毎に過去事例情報3から算出しても良いし、類似する複数のシステム毎に過去事例情報3から算出しても良い。或いは、脆弱性毎に過去事例情報3から算出しても良い。
また、判断根拠の重要度は、過去事例情報3に格納されるすべてのレコードから算出しても良いし、過去事例情報3に格納されるレコードのうち格納された時刻を元に指定したレコードから算出しても良い。
次に、判断根拠管理部300は、ステップS102で抽出した判断根拠と、ステップS103で算出した判断根拠の重要度とを対応付けて判断根拠管理情報200に保存する(ステップS104)。
なお、判断根拠管理情報200に保存する判断根拠と重要度の形態としては、特に限定されるものではない。例えば、あらかじめ設定した重要度の値以上の重要度値を持つ判断根拠を保存しても良いし、あらかじめ設定した数の判断根拠を重要度が高いものから保存しても良い。また、判断根拠管理部300は、かかる処理を行うと、本フローの処理を終了する。以上、判断根拠管理処理について説明した。
<フロー例2>
図8は、判断支援処理の一例を示したフロー図である。かかる処理は、例えば入力部110を介してユーザから処理の実行指示を受け付けた場合あるいは定期的(例えば、毎分または各日所定の時刻など)に、判断支援装置100が実行する。
こうして判断支援処理が開始されると、判断支援部310は、対策要否判断をすべき新たな脆弱性情報を取得する(ステップS201)。具体的には、判断支援部310は、通信部150を介して新脆弱性情報2(例えばタイトル2Aが“JVN#AAA”の脆弱性情報)を取得する。
次に、判断支援部310は、判断を支援するために用いる重要判断根拠を選択する(ステップS202)。例えば、判断支援部310は、図5に例示する判断根拠管理情報200から、“システムA”において、最も重要度の高い判断根拠“重要資産”を重要判断根拠として選択する。
なお、判断根拠管理情報200から重要判断根拠を選択する方法は、特に限定されるものではない。例えば、重要度の高い複数の判断根拠を選択しても良い。或いは、担当者があらかじめ指定した判断根拠を選択しても良い。また、他の分類200Aの判断根拠から選択しても良いし、脆弱性毎の判断根拠(不図示)から選択しても良い。
次に、判断支援部310は、ステップS201で取得した新しい脆弱性情報と、ステップS202で選択した重要判断根拠とを用いて、新しい脆弱性情報に対する対策要否の判断を支援する情報(以下、判断支援情報)を抽出する(ステップS203)。
例えば、判断支援部310は、ステップS202で選択した重要判断根拠“重要資産”に関して、ステップS201で取得した新しい脆弱性情報(タイトル2Aが“JVN#AAA”の脆弱性情報)では、“該当”と一時保存する。
また、判断支援部310は、過去事例情報3において、“重要資産”が、新しい脆弱性情報が保持する“該当”という値と合致する過去事例(タイトル3Aが“JVN#X”と“JVN#Z”の過去事例)を、判断支援情報として抽出する。
なお、判断支援情報の抽出方法は特に限定されない。例えば、レーベンシュタイン距離を用いて新しい脆弱性情報が保持する重要判断根拠の値と類似する値を保持する過去事例を抽出しても良い。或いは、あらかじめ設定した閾値を用いて新しい脆弱性情報が保持する重要判断根拠の値に近い値を保持する過去事例を抽出しても良い。または、あらかじめ設定した類似辞書を用いて新しい脆弱性情報が保持する重要判断根拠の値と類似する値を保持する過去事例を抽出しても良い。
次に、情報提示部320は、ステップS203で抽出した判断支援情報を、表示装置502や対策管理装置400等の適宜な装置に配信し表示させる(ステップS204)。
図9は、判断支援情報を示した画面例600である。ここで図示するように、かかる画面例600には、判断支援情報として、ステップS202で選択した重要判断根拠の値が新しい脆弱性情報の値と合致または類似する値を持つ過去事例(タイトルが“JVN#X”と“JVN#Z”の過去事例)が、他の過去事例(タイトルが“JVN#Y”の過去事例)より上位に表示されている。
具体的には、判断支援情報は、タイトル、CVSS値、必要な特権レベル、重要資産、ネットワーク環境、管理コンソール、ローカル環境ログイン、要否判断、および判断理由といった過去事例情報3に格納されているレコードを有している。
このような判断支援情報は、過去事例情報3と、判断支援処理のステップS201~ステップS203で抽出した判断支援情報とを用いて情報提示部320により生成される。
具体的には、情報提示部320は、例えば入力部110を介してユーザから判断支援情報の表示要求を受け付けた場合など、所定のタイミングで判断支援情報を生成する。
また、情報提示部320は、出力部120に対して、生成した判断支援情報を表示するための画面情報の生成指示を行う。
出力部120は、情報提示部320からの指示に基づき判断支援情報の画面情報を生成(例:判断支援情報たる過去事例の情報を、予め確保しておいた雛形の画面フォーマットに適用して画面生成)し、これを表示装置502に出力する。なお、出力部120は、通信部150を介して判断支援情報の画面情報を対策管理装置400に送信し、対策管理装置400上にかかる画面情報を表示させても良い。なお、判断支援情報の構成は、上記の構成に限定されるものではない。以上、判断支援処理について説明した。
以上のような本実施形態に係る判断支援装置100によれば、新しい脆弱性情報に対し、参考となる可能性の高い判断支援情報を表示することで担当者の迅速な判断を支援することができる。
特に、判断支援装置100では、判断根拠管理処理の実行により過去の脆弱性情報を元に重要な判断根拠を抽出し、判断支援処理の実行により重要な判断根拠の値が新しい脆弱性情報の値と合致または類似する過去事例を抽出することで、新しい脆弱性情報に対し判断結果が類似する可能性の高い過去事例を表示することができる。
これにより、担当者は判断にかかる時間を短縮することが出来る。また、過去事例が日
々蓄積されると重要判断根拠が更新されるため、脆弱性情報のトレンドや担当者が重要視する判断根拠の変更といった変化に追従することが可能となる。また、これにより、常に参考となる可能性の高い判断支援情報を表示することができ、担当者は判断にかかる時間を短縮することが出来る。
---実施例2---
<フロー例3>
本実施形態は、第1の実施形態の変形例に該当する。従って、第1の実施形態との相違点を中心に説明する。図10は、判断支援情報抽出処理の一例を示したフロー図である。かかる処理は、図8に示す判断支援処理のステップS203を実行する場合に、判断支援装置100により実行される。
処理が開始されると、判断支援部310は、ステップS202で選択した重要判断根拠から判断根拠を1つ選択する(ステップS301)。例えば、図5に例示する判断根拠管理情報200で、判断根拠200B“ローカル環境ログイン”を選択する。
次に、判断支援部310は、新しい脆弱性情報において、ステップS301で選択した重要判断根拠の値が含まれているか否か判定する(ステップS302)。
具体的には、ステップS201で取得した新しい脆弱性情報であるタイトル2Aが“JVN#AAA”の脆弱性情報に対し、“ローカル環境ログイン”に関する情報が含まれているか判定する。
そして、当該値が含まれている場合(ステップS302:Yes)、判断支援部310は、処理をステップS305に移行する。
一方、上述の判定の結果、当該値が含まれていない場合(ステップS302:No)、判断支援部310は、処理をステップS303に移行する。
ステップS303では、判断支援部310は、新しい脆弱性情報に関する重要判断根拠の値の入力を受け付ける。具体的には、判断支援部310は、情報掲示部320を介して、出力部120に対して、ステップS301で選択した重要判断根拠に関する値の入力画面の生成指示を行う。また、判断支援部310は、生成された入力画面において担当者が入力した値を取得する。
次に、判断支援部310は、ステップS202で選択した重要判断根拠のすべてをステップS301で選択したか否かを判定する(ステップS304)。すべての重要判断根拠を選択していないと判定した場合(ステップS304:No)、判断支援部310は、処理をステップS301に戻す。
一方で、すべての重要判断根拠を選択したと判定した場合(ステップS304:Yes)、判断支援部310は、処理をステップS305に移行する。
ステップS305では、判断支援部310は、上述のステップS301~ステップS304で取得した重要判断根拠の値を用いて、判断支援情報を抽出する。例えば、図2に例示する新脆弱性情報2のタイトル2A“JVN#AAA”の新脆弱性情報に関して、図5に例示する判断根拠管理情報200の分類200A“システムA”の判断根拠から “重要資産”と、“管理コンソール”と、“ローカル環境ログイン”とを重要判断根拠とし、判断支援情報を抽出することを考える。
判断支援部310は、新脆弱性情報に関して、重要判断根拠“重要資産”、“管理コンソール”、“ローカル環境ログイン”の各値を、新脆弱性情報2およびステップS303で取得した値から、それぞれ“該当”、“否”、“要”とする。
また、判断支援部310は、図3に例示する過去事例情報3から、これらの値に、より合致または類似する重要判断根拠の値を持つ過去事例として“JVN#Z”(重要判断根拠3つが合致)、“JVN#X”(重要判断根拠”重要資産”と”管理コンソール”の2つが合致)、“JVN#Y”(重要判断根拠”管理コンソール”の1つが合致)を順に、判断支援情報として抽出する。
また、判断支援部310は、かかる処理を行うと、本フローを終了する。なお、判断支援情報の抽出するタイミングは特に限定されるものではない。例えば、ステップS301で重要判断根拠を1つ選択し、ステップS303で重要判断根拠の値の入力を受け付けた度に判断支援情報を抽出し、その後に実行されるステップS204で担当者に判断支援情報を表示しても良い。以上、判断支援情報抽出処理について説明した。
図11は、ステップS303で新しい脆弱性情報に関する重要判断根拠の値の入力を受け付ける画面、および図10に例示する判断支援情報抽出処理の後実行されるステップS204で表示される判断支援情報の画面の一例を示す。
図示するように、画面例700には、入力を受け付ける、新しい脆弱性情報に関する重要判断根拠と、入力欄が表示されている。例えば、重要判断根拠の値を受け付けるため“「ローカル環境ログイン」を入力してください。”と表示701がなされており、また、担当者が“要”という値を入力した欄が表示されている。
なお、重要判断根拠の受け付け方法は特に限定されるものではない。例えば、あらかじめ回答がプルダウン形式で用意されており担当者が選択する形でも良い。
また、画面例700には、ステップS305により、入力を受け付けた重要判断根拠の値を用いて抽出された判断支援情報が表示されている。図示するように、かかる画面例700には、判断支援情報として、ステップS202で選択した重要判断根拠の値が新しい脆弱性情報の値と合致または類似する値としてより多く持つ過去事例が、他の過去事例より上位に表示されている。
具体的には、ステップS305で説明したように、新脆弱性情報“JVN#AAA”に対して、重要判断根拠“重要資産”、“管理コンソール”、“ローカル環境ログイン”の値がより多く合致または類似する過去事例として、“JVN#Z”、“JVN#X”、“JVN#Y”の順に上位に表示されている。
以上のような本実施形態に係る判断支援装置によれば、新しい脆弱性情報に対し、参考となる可能性が高い判断支援情報を表示することで担当者の迅速な判断を支援することができる。
特に、判断支援装置では、担当者に重要判断根拠の値の入力を促すことで、担当者に過去事例から想定されるまだ値が確認されていない調査すべき判断根拠を示すことができる。これにより、担当者は判断に必要な情報の取得にかかる時間、結果として判断にかかる時間を短縮することが出来る。
---実施例3---
本実施例3は、第1の実施形態の変形例に該当する。従って、第1の実施形態との相違点を中心に説明する。ここで図12は、記憶部130に保持される判断根拠類似度管理情報210の一例を示した図である。
判断根拠類似度管理情報210には、判断根拠管理情報200で保持される分類200Aの各間の判断根拠の類似度が格納される。具体的には、判断根拠類似度管理情報210
は、分類210Aと、比較分類210Bと、類似度210Cとが対応付けられたレコードを有している。
このうち分類210Aは、判断根拠の重要度を管理するまとまりを示す情報である。比較分類210Bは、上述の分類210Aと比較する判断根拠の重要度を管理するまとまりを示す情報である。
また、類似度210Cは、分類210Aおよび比較分類210Bにそれぞれ格納された判断根拠の重要度を管理するまとまりに関して、判断根拠の類似度を示す情報である。
例えば、図12のレコード210Dは、「システムAから見たシステムBとの判断根拠の類似度は8である」ことを示している。
<フロー例4>
図13は、判断根拠類似度管理処理の一例を示したフロー図である。かかる処理は、例えば入力部110を介してユーザから処理の実行指示を受け付けた場合、あるいは定期的(例えば、毎分または各日所定の時刻など)に、判断支援装置100が実行する。
ここで判断根拠類似度管理処理が開始されると、判断根拠管理部300は、判断根拠管理情報200に変更があるか否か判定する(ステップS401)。具体的には、判断根拠管理部300は、所定のタイミング(例えば、前回の判断根拠類似度管理処理の実行時など)に取得し一時的に保存しておいた判断根拠管理情報200(不図示)と、記憶部130に格納されている判断根拠情報200とを比較する。
そして、上述の比較の結果、判断根拠管理情報200に脆弱性情報の追加または削除または修正を示す内容が含まれる場合(ステップS401:Yes)、判断根拠管理部300は、過去事例情報3に変更があると判定し、処理をステップS402に移行する。
他方、上述の比較の結果、変更がないと判定した場合(ステップS401:No)、判断根拠管理部300は、処理をステップS401に戻す。
続いてステップS402では、判断根拠管理部300は、判断根拠の重要度を管理するまとまりである分類を選択する。例えば、判断根拠管理部300は、図5に例示する判断根拠管理情報200の分類200Aから、例えばテーブル中で最上位に配置されている“システムA”を選択する。
次に、判断根拠管理部300は、ステップS402で選択した分類と比較するための判断根拠の重要度を管理するまとまりとして比較分類を選択する。例えば、判断根拠管理部300は、図5に例示する判断根拠管理情報200の分類200Aから、例えばテーブル中で最上位に配置されている“システムB”を選択する。
次に、判断根拠管理部300は、ステップS402とステップS403で選択した分類と比較分類との間の判断根拠の類似度を算出する(ステップS404)。例えば、図5に例示する判断根拠管理情報200で、システムAとシステムBの判断根拠の類似度を算出することを考える。
例えば、判断根拠管理情報200において、分類と比較分類における判断根拠の内容が同じかつ重要度の順位が同じ場合に類似度を「5」、判断根拠の内容が同じで重要度の順位が異なる場合に類似度を「3」とすると、“システムA”と“システムB”とでは、判断根拠“重要資産”が類似度「5」で、“管理コンソール”が類似度「3」となり、類似度は合計「8」と算出される。
同様に、“システムA”と“システムC”の類似度を算出すると、“ローカル環境ログイン”が、判断根拠の内容が同じかつ重要度の順位が同じのため類似度が「5」と算出される。
なお、分類と比較分類の類似度の算出方法は特に限定されるものではない。例えば、判断根拠の内容の順位順にレーベンシュタイン距離を計算し類似度を算出しても良いし、担当者が任意に算出方法を定めても良いし、担当者があらかじめ類似度を設定しても良い。
次に、判断根拠管理部300は、ステップS402およびステップS403ですべての比較分類および分類を選択したか否か判定する(ステップS405)。
すべての比較分類および分類を選択していないと判定した場合(ステップS405:No)、判断根拠管理部300は、処理をステップS402に戻す。一方、すべての比較分類および分類を選択していると判定した場合(ステップS405:Yes)、判断根拠管理部300は、処理をステップS406に移行する。
ステップS406では、判断根拠管理部300は、ステップS404で算出した分類と比較分類の類似度を判断根拠類似度管理情報210に保存する。また、判断根拠管理部300は、かかる処理を行うと、本フローを終了する。以上、判断根拠類似度管理処理について説明した。
<フロー例5>
図14は、類似分類判断支援情報抽出処理の一例を示したフロー図である。かかる処理は、図8に例示する判断支援処理のステップS203を実行する場合に、判断支援装置100が実行する。
処理が開始されると、判断支援部310は、重要判断根拠を用いて判断支援情報を抽出する(ステップ501)。例えば、上述のステップS203と同様に、新しい脆弱性情報(タイトル2Aが“JVN#AAA”の脆弱性情報)に対し、判断根拠“重要資産”が“該当”で一致する過去事例(タイトル3Aが“JVN#X”と“JVN#Z”の過去事例)を、判断支援情報として抽出する。
次に、判断支援部310は、判断根拠類似度管理情報210を用いて、判断支援情報を抽出する(ステップS502)。例えば、図3に例示する過去事例情報3で、タイトル3Aが“JVN#X”のレコードは“システムC”が対応した過去事例、タイトル3Aが“JVN#Y”のレコードは“システムC”が対応した過去事例、タイトル3Aが“JVN#Z”のレコードは“システムB”が対応した過去事例とする。
判断支援部310は、判断根拠類似度管理情報210を用いて、“システムA”は“システムC”より“システムB”との類似度が高いと判定し、ステップ501で抽出したタイトル3Aが“JVN#X”と“JVN#Z”の過去事例の中で、“システムB”が対応した過去事例“JVN#Z”がより参考になる可能性が高い判断支援情報として抽出する。以上、類似分類判断支援情報抽出処理について説明した。
図15は、図14に示す類似分類判断支援情報抽出処理の後、実行されるステップS204で判断支援情報を表示する画面の一例を示す。図示するように、画面例800には、判断支援情報として、ステップS202で選択した重要判断根拠の値が、新しい脆弱性情報の値と合致または類似する値を持つ過去事例(タイトルが“JVN#X”と“JVN#Z”の過去事例)が、他の過去事例(タイトルが“JVN#Y”の過去事例)より上位に表示されている。
さらに、判断根拠類似度管理情報210に格納されている分類と比較分類の類似度に基づき、“システムA”と類似度の高い“システムB”に関する過去事例(タイトル“JVN#Z”)が、“システムC”に関する過去事例(タイトル“JVN#X”)よりも上位に表示されている。
画面例800は、具体的には、判断支援情報として、タイトル、分類、CVSS値、必要な特権レベル、重要資産、ネットワーク環境、管理コンソール、ローカル環境ログイン、要否判断、判断理由といったレコードを有している。
なお、表示される判断支援情報は特に限定されるものではない。例えば、判断根拠類似度管理情報210に格納される類似度210Cが表示されても良い。
以上のような本実施形態に係る判断支援装置によれば、新しい脆弱性情報に対し、参考となる可能性が高い判断支援情報を表示することで担当者の迅速な判断を支援することができる。
特に、判断支援装置では、判断根拠が類似する他の分類、具体的には、判断根拠が類似する他のシステムが対応した過去事例をより上位に表示することができる。これにより、担当者は、新しい脆弱性情報に対し判断結果が類似する可能性の高い過去事例を参考にし、判断にかかる時間を短縮することが出来る。
---実施例4---
本実施例は、第1の実施例の変形例に該当する。従って、第1の実施例との相違点を中心に説明する。図16は、記憶部130に保持される過去事例学習情報220の一例を示した図である。
過去事例学習情報220には、重要判断根拠に対する過去事例の具体的な値と要否判断の結果が含まれている。具体的には、重要資産220Aと、管理コンソール220Bと、要否判断220Cとが対応付けられたレコードを有している。
重要資産220Aは、重要判断根拠として抽出された“重要資産”に対する過去事例での値を示す情報である。管理コンソール220Bは、重要判断根拠として抽出された“管理コンソール”に対する過去事例での値を示す情報である。要否判断220Cは、過去事例における要否判断の結果を示す情報である。
例えば、図16のレコード220Dは、「“重要資産”が“該当”で、“管理コンソール”が“否”の過去事例において、“要否判断”は“要”」であったことを示している。
ここで、過去事例学習情報220に含まれる値は特に限定されない。例えば、他の重要判断根拠として“ローカル環境ログイン”の値が含まれていても良いし、各レコードに対応する過去事例における判断後の対策方法が含まれていても良いし、分類に関する情報を含み分類毎にレコードを保持しても良い。
<フロー例6>
図17は、判断ルール作成処理の一例を示したフロー図である。かかる処理は、例えば入力部110を介してユーザから処理の実行指示を受け付けた場合あるいは定期的(例えば、毎分または各日所定の時刻など)に、判断支援装置100が実行する。
判断ルール作成処理が開始されると、判断根拠管理部300は、過去事例情報3または判断根拠管理情報200に変更があるか否か判定する(ステップS601)。
具体的には、判断根拠管理部300は、所定のタイミング(例えば、前回の判断ルール作成処理の実行時など)に取得し一時的に保存しておいた過去事例情報3(不図示)または判断根拠管理情報200(不図示)と、新たに取得した過去事例情報3または記憶部130に格納されている判断根拠情報200を比較する。
そして、過去事例情報3または判断根拠管理情報200に脆弱性情報の追加または削除または修正を示す内容が含まれる場合(ステップS601:Yes)、判断根拠管理部300は、過去事例情報3または判断根拠管理情報200に変更があると判定し、処理をステップS602に移行する。
一方、上述の判定の結果、変更がないと判定した場合(ステップS601:No)、判断根拠管理部300は、処理をステップS601に戻す。
ステップS602では、判断根拠管理部300は、判断ルールを作成するための重要判断根拠を判断根拠管理情報200から抽出する。例えば、図5に図示する例では、分類200Aが“システムA”のレコードに関して、重要判断根拠として判断根拠200Bから“重要資産”と“管理コンソール”を抽出する。
なお、抽出する重要判断根拠は特に限定されない。例えば、最も重要度の高い判断根拠を抽出しても良いし、あらかじめ設定した数の判断根拠を重要度の高い順に抽出しても良いし、担当者が任意に判断根拠を抽出しても良い。
次に、判断根拠管理部300は、判断ルールを作成するための過去事例学習情報を保存する(ステップS603)。例えば、判断根拠管理部300は、ステップS601で抽出した重要判断根拠“重要資産”と“管理コンソール”と、“要否判断”に関して、過去事例情報3からレコード毎に値を抽出する。
具体的には、判断根拠管理部300は、図3に図示する過去事例情報3から、タイトル3A“JVN#X”のレコードに対し、“重要資産”の値として“該当”、“管理コンソール”の値として“否”、“要否判断”の値として“要”を抽出する。そして、判断根拠管理部300は、抽出した値を過去事例学習情報220に保存する。
次に、判断根拠管理部300は、過去事例の重要判断根拠に関する値を元に、新たな脆弱性情報の推奨要否判断を推定するための判断ルールを作成する(ステップS604)。例えば、判断根拠管理部300は、過去事例学習情報220で保持される値を用いて、k近傍法といった分類アルゴリズムを適用する判断ルールを作成する。
なお、作成する判断ルールは特に限定されるものではない。例えば、ニューラルネットワークといった機械学習手法を用いても良いし、担当者が設定した重要判断根拠とその値の組み合わせによる要否判断の決定ルールでも良いし、判断ルールは複数作成されても良い。また、判断根拠管理部300は、かかる処理を行うと、本フローの処理を終了する。以上、判断ルール作成処理について説明した。
<フロー例7>
図18は、推奨判断算出処理の一例を示したフロー図である。かかる処理は、図8に例示する判断支援処理のステップS203を実行する場合に、判断支援装置100により実行される。
処理が開始されると、判断支援部310は、ステップS601~ステップS604で作成した判断ルールから、推奨要否判断を推定するための判断ルールを選択する(ステップS701)。
例えば、判断支援部310は、“新しい脆弱性情報の重要判断根拠の値に関して、すべての値が合致する過去事例学習情報220のレコードの要否判断を推奨判断とする”という判断ルールを選択する。
なお、選択する判断ルールは特に限定されない。例えば、あらかじめシステム毎に選択する判断ルールを設定しておいても良いし、複数の判断ルールを選択しても良い。
次に、判断支援部310は、新しい脆弱性情報とステップS701で選択した判断ルールとを用いて、推奨される要否判断を判断支援情報として抽出する(ステップS702)。
例えば、新しい脆弱性情報を図2で例示するタイトル2A“JVN#AAA”とし、重要判断根拠を“重要資産”と“管理コンソール”とし、判断ルールを“新しい脆弱性情報の重要判断根拠の値に関して、すべての値が合致する過去事例学習情報220のレコードの要否判断を推奨判断とする”とした場合を考える。
新しい脆弱性情報における重要判断根拠“重要資産”と“管理コンソール”の値は“該当”と“否”であり、図16で例示する過去事例学習情報220のレコード220Dと合致するため、推奨される要否判断をレコード220Dにおける要否判断220Cの値“要”とする。また、判断支援部310は、かかる処理を行うと、本フローを終了する。以上、推奨判断算出処理について説明した。
図19は、図18に示す推奨判断算出処理の後実行されるステップS204で判断支援情報を表示する画面の一例を示す。図示するように、画面例900には、判断支援情報として、ステップS702で算出した推奨判断902が表示されている。
画面例900は、具体的には、判断支援情報として、タイトル、CVSS値、必要な特権レベル、重要資産、ネットワーク環境、管理コンソール、推奨判断902が対応付けられたレコードを有している。
例えばレコード901は、「タイトルが“JVN#AAA”で、CVSS値が“7.2”で、必要な特権レベルが“低”で、重要資産が“該当”で、ネットワーク環境が“インターネット”で、管理コンソールが“否”の新たな脆弱性情報に対し、推奨される判断は“要”」すなわち「対策要」であることを示している。
なお、表示される判断支援情報は特に限定されるものではない。例えば、ステップS702で算出した推奨要否判断の合致度や類似度を表示しても良い。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、新しい脆弱性情報に対し、参考となる可能性が高い判断支援情報を表示することで担当者の迅速な判断を支援することができる。特に、重要判断根拠に基づき、過去事例から想定される推奨の要否判断を表示することができる。これにより担当者は、判断にかかる時間を短縮することが出来る。
すなわち、脆弱性対策の要否判断に好適な参考情報を効率的に提供可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の判断支援装置において、前記演算装置は、前記過去事例が示す情報から所定ルールにより前記判断根拠を抽出し、前記過去事例における出現程度に基づいて当該判断根拠の重要
度を算出する処理を更に実行するものである、としてもよい。
これによれば、判断支援情報の抽出根拠の一つとなる重要度を、効率的かつ精度良く算定可能となる。ひいては、脆弱性対策の要否判断に好適な参考情報をより効率的に提供可能となる。
また、本実施形態の判断支援装置において、前記演算装置は、前記判断支援情報を抽出する処理に際し、前記重要判断根拠のうち前記対象情報に値が含まれていないものを特定し、当該重要判断根拠に関して値の入力を促す通知を所定装置に出力し、当該重要判断根拠の値を前記装置から取得する処理を更に実行するものである、としてもよい。
これによれば、判断支援情報の抽出精度に影響を与える重要判断根拠の値を効率的かつ的確に収集することが可能となる。ひいては、脆弱性対策の要否判断に好適な参考情報をより効率的に提供可能となる。
また、本実施形態の判断支援装置において、前記演算装置は、前記過去事例の分類基準となる所定属性の各間に関して、対応する過去事例間で前記重要判断根拠を照合し、前記各間における前記重要判断根拠の類似度を特定する処理を更に実行し、前記判断支援情報を抽出する処理に際し、前記対象情報における前記属性に関して、前記類似度が所定レベル以上を示す前記過去事例を特定し、当該過去事例を前記判断支援情報として抽出するものである、としてもよい。
これによれば、脆弱性対策の担当者等が対策対象となる自システム等に関して対策要否等を検討する際、その参考となり得る他システム等に関しての過去事例を判断支援情報として提示可能となる。ひいては、脆弱性対策の要否判断に好適な参考情報をより効率的に提供可能となる。
また、本実施形態の判断支援装置において、前記演算装置は、前記過去事例それぞれにおける前記重要判断根拠の値および判断の内容の各情報から、過去事例学習情報を生成し、前記過去事例学習情報を教師データとして機械学習を行うことで判断ルールを生成する処理を更に実行し、前記判断支援情報を抽出する処理に際し、前記対象情報を前記判断ルールに適用して、前記対象情報に関して推奨される判断内容を判断支援情報として特定するものである、としてもよい。
これによれば、例えば膨大な過去事例における要否判断傾向から、今回、脆弱性対策の検討対象とするシステム等に関しての対策要否を、効率的かつ精度よく提示できる。ひいては、脆弱性対策の要否判断に好適な参考情報をより効率的に提供可能となる。
また、本実施形態の判断支援方法において、前記情報処理装置が、前記過去事例が示す情報から所定ルールにより前記判断根拠を抽出し、前記過去事例における出現程度に基づいて当該判断根拠の重要度を算出する処理を更に実行する、としてもよい。
また、本実施形態の判断支援方法において、前記情報処理装置が、前記判断支援情報を抽出する処理に際し、前記重要判断根拠のうち前記対象情報に値が含まれていないものを特定し、当該重要判断根拠に関して値の入力を促す通知を所定装置に出力し、当該重要判断根拠の値を前記装置から取得する処理を更に実行する、としてもよい。
また、本実施形態の判断支援方法において、前記情報処理装置が、前記過去事例の分類基準となる所定属性の各間に関して、対応する過去事例間で前記重要判断根拠を照合し、前記各間における前記重要判断根拠の類似度を特定する処理を更に実行し、前記判断支援
情報を抽出する処理に際し、前記対象情報における前記属性に関して、前記類似度が所定レベル以上を示す前記過去事例を特定し、当該過去事例を前記判断支援情報として抽出する、としてもよい。
また、本実施形態の判断支援方法において、前記情報処理装置が、前記過去事例それぞれにおける前記重要判断根拠の値および判断の内容の各情報から、過去事例学習情報を生成し、前記過去事例学習情報を教師データとして機械学習を行うことで判断ルールを生成する処理を更に実行し、前記判断支援情報を抽出する処理に際し、前記対象情報を前記判断ルールに適用して、前記対象情報に関して推奨される判断内容を判断支援情報として特定する、としてもよい。