(57)【特許請求の範囲】
【請求項１】
所定のビジネスに関する情報処理を実行する情報処理システムの脆弱性に関するリスクを評価する脆弱性リスク評価システムであって、
前記情報処理システムは少なくとも一つの機器を含んでおり、
前記情報処理システムの構成に関するシステム構成情報と、情報セキュリティに関するセキュリティ情報とに基づいて、前記機器の脆弱性を検出する脆弱性検出部と、
前記検出された脆弱性を示す脆弱性ノードと前記機器を示す機器ノードとを対応付けて配置することで、前記検出された脆弱性が前記機器に生じさせうるリスクを評価するための機器リスク評価モデルを生成する機器リスク評価モデル生成部と、
前記所定のビジネスに関する情報処理に含まれるビジネス処理に関するビジネス関連ノードを前記機器リスク評価モデルに追加配置し、前記ビジネス関連ノードと前記機器ノードとを対応付けることで、前記検出された脆弱性が前記所定のビジネス処理に生じさせうるリスクを評価するためのビジネス関連リスク評価モデルを生成するビジネス関連リスク評価モデル生成部と、
前記ビジネス関連リスク評価モデルを外部装置へ提供する提供部と、
前記検出された脆弱性が前記ビジネス関連ノードに影響を与える可能性をリスク値として計算するリスク値計算部と
を備え、
前記提供部は、前記リスク値を前記ビジネス関連リスク評価モデルに対応付けて提供し、
前記ビジネス関連ノードには、
前記ビジネス処理を構成する少なくとも一つのビジネスプロセスを示すビジネスプロセスノードと、
前記ビジネス処理を評価するビジネス指標を示すビジネス指標ノードと
が含まれており、
前記ビジネス指標ノードは、前記ビジネスプロセスノードまたは前記機器ノードのいずれかに対応付けられ、
前記提供部は、
前記所定のビジネス処理を構成する各ビジネスプロセス間の関係を表示するビジネスプロセス表示部と、
前記ビジネス関連リスク評価モデルを表示するリスク評価モデル表示部と、
を備え、
前記リスク値が所定の閾値を越えた場合、前記リスク値を持つ問題ビジネスプロセスノードについて、前記ビジネスプロセス表示部と前記リスク評価モデル表示部とで共通の注意喚起用の表示要素を表示させる
脆弱性リスク評価システム。
【請求項２】
前記提供部は、前記問題ビジネスプロセスノードが選択されると、前記問題ビジネスプロセスノードが影響するビジネス指標と、前記リスク値が前記所定の閾値を越えた原因とを含む詳細情報を表示する、
請求項１に記載の脆弱性リスク評価システム。
【請求項３】
所定のビジネスに関する情報処理を実行する情報処理システムの脆弱性に関するリスクを評価する脆弱性リスク評価システムであって、
前記情報処理システムは少なくとも一つの機器を含んでおり、
前記情報処理システムの構成に関するシステム構成情報と、情報セキュリティに関するセキュリティ情報とに基づいて、前記機器の脆弱性を検出する脆弱性検出部と、
前記検出された脆弱性を示す脆弱性ノードと前記機器を示す機器ノードとを対応付けて配置することで、前記検出された脆弱性が前記機器に生じさせうるリスクを評価するための機器リスク評価モデルを生成する機器リスク評価モデル生成部と、
前記所定のビジネスに関する情報処理に含まれるビジネス処理に関するビジネス関連ノードを前記機器リスク評価モデルに追加配置し、前記ビジネス関連ノードと前記機器ノードとを対応付けることで、前記検出された脆弱性が前記所定のビジネス処理に生じさせうるリスクを評価するためのビジネス関連リスク評価モデルを生成するビジネス関連リスク評価モデル生成部と、
前記ビジネス関連リスク評価モデルを外部装置へ提供する提供部と、
前記検出された脆弱性が前記ビジネス関連ノードに影響を与える可能性をリスク値として計算するリスク値計算部と
を備え、
前記提供部は、前記リスク値を前記ビジネス関連リスク評価モデルに対応付けて提供し、
前記ビジネス関連リスク評価モデルは、ベイジアンネットワークの推論アルゴリズムが適用された有向非循環グラフ構造を持つモデルとして生成され、
前記セキュリティ情報は、前記脆弱性に対する攻撃順序を想定した攻撃シナリオ情報を少なくとも一つ含んでおり、
前記攻撃シナリオ情報に基づいて得られる学習データを用いることで、前記ベイジアンネットワークで用いる確率を修正する学習部をさらに備え、
前記学習部は、
前記攻撃シナリオ情報に含まれている機器と前記ビジネス関連リスク評価モデルに含まれる機器ノードとが同一種別である場合は、同一の機器であるとみなし、
前記攻撃シナリオ情報に含まれている脆弱性と前記ビジネス関連リスク評価モデルに含まれる脆弱性ノードとが同一種別である場合は、同一の脆弱性であるとみなし、
前記攻撃シナリオ情報に含まれている前記ビジネス処理と前記ビジネス関連リスク評価モデルに含まれるビジネス関連ノードに対応するビジネス処理とが同一種別である場合は、同一のビジネス処理であるとみなすものとして、
前記攻撃シナリオ情報に基づいて前記ビジネス関連リスク評価モデルを最上位ノードから走査することで、攻撃されうる侵害ノードと侵害経路とを判定し、前記侵害ノードを前記学習データとして使用する
脆弱性リスク評価システム。
【請求項４】
前記学習部は、前記攻撃シナリオ情報に基づいて、前記ビジネス関連リスク評価モデルを最上位ノードから走査する際に、予め指定された数のノードを飛ばして走査することで、前記侵害ノードと前記侵害経路とを判定し、前記侵害ノードを前記学習データとして使用する、
請求項３に記載の脆弱性リスク評価システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脆弱性リスク評価システムおよび脆弱性リスク評価方法に関する。
【背景技術】
【０００２】
現在、多種多様なソフトウェアが利用されているが、ソフトウェアはコンピュータプログラム上の不具合や仕様上の問題点など、ソフトウェア脆弱性（以下、脆弱性）と呼ばれる欠陥を有していることがある。
【０００３】
公的なセキュリティ団体は、脆弱性の情報をデータベース化して管理しており、多数の脆弱性を毎年公開して、注意を喚起している。一方で、脆弱性情報の公開直後から、悪意のある攻撃者がその脆弱性を利用して攻撃する傾向が高いことも知られている。そのため、情報処理システムのシステム管理者は、脆弱性に関する公開情報に敏感に反応し、迅速に対応することが求められる。
【０００４】
しかし、稼働中の情報処理システムについて脆弱性を対処する場合、テスト環境での動作確認や、システム停止に伴う業務およびサービスへの影響分析や、管理者による意思決定など、多くの工数と時間が必要となる。
【０００５】
そのため、システム管理者が、管理対象の情報処理システムに関する脆弱性情報を常に収集して、全ての脆弱性に対処することは、時間および手間の観点から難しい。さらに、脆弱性が情報処理システムにもたらすリスクは、情報処理システムの構成に依存するため、システム管理者が脆弱性のリスクを正しく評価するためには、システム構成に関する知識だけでは足りず、情報セキュリティについての高度な知識や経験が必要となる。そこで、脆弱性が情報処理システムにもたらすリスクを評価する技術が必要である。情報処理システムの脆弱性を管理し、評価する従来技術として、特許文献１が知られている。特許文献１では、製品ＤＢおよび脆弱性キーワードＤＢに脆弱性の特性を示すキーワードを記憶させておき、収集した脆弱性情報から、製品ＤＢおよび脆弱性キーワードＤＢに蓄積されているキーワードに合致するキーワードを抽出し、キーワード抽出結果に基づいて脆弱性情報の優先度を判定し、優先度の判定結果を出力する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−０５８５１４公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術では、脆弱性情報と製品情報とを対応付けることで、膨大な脆弱性情報の中から管理対象の情報処理システムに関係する脆弱性情報を選別し、選別した脆弱性情報が示す脆弱性の技術的な特性に基づいて、その脆弱性が情報処理システムにもたらすリスクを評価できる。
【０００８】
しかし実際の脆弱性対処は、技術的な観点だけでなく、経営の観点からも判断する必要がある。脆弱性に対処するために情報処理システムを停止させると、業務の円滑な処理に支障を生じたり、売上が低下したりするなどの悪影響を生じるおそれがある。そこで、経営者視点での判断基準に基づいて、脆弱性に対処すべきか否かや、いつ対処すべきかを判断する必要がある。
【０００９】
技術的にリスクの高い脆弱性が発見された場合でも、稼働中の情報処理システムを止めると、売上に著しい悪影響があると見込まれることがある。この場合、監視の強化などの一時的な対処を施してその場をしのぎ、脆弱性への本格的な対処は、定期保守のタイミングまで延期すべきかもしれない。このように、脆弱性のリスクを評価する場合は、情報処理システムにおける技術的な影響を評価するだけでなく、ビジネスへの影響も評価できることが望まれる。
【００１０】
そこで本発明の目的は、技術的観点だけではなくビジネスの観点からも、脆弱性が情報処理システムにもたらすリスクを評価できるようにした脆弱性リスク評価システムおよび脆弱性リスク評価方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明に従う脆弱性リスク評価システムは、所定のビジネスに関する情報処理を実行する情報処理システムの脆弱性に関するリスクを評価するシステムであって、情報処理システムは少なくとも一つの機器を含んでおり、情報処理システムの構成に関するシステム構成情報と、情報セキュリティに関するセキュリティ情報とに基づいて、機器の脆弱性を検出する脆弱性検出部と、検出された脆弱性を示す脆弱性ノードと機器を示す機器ノードとを対応付けて配置することで、検出された脆弱性が機器に生じさせうるリスクを評価するための機器リスク評価モデルを生成する機器リスク評価モデル生成部と、所定のビジネスに関する情報処理に含まれるビジネス処理に関するビジネス関連ノードを機器リスク評価モデルに追加配置し、ビジネス関連ノードと機器ノードとを対応付けることで、検出された脆弱性が所定のビジネス処理に生じさせうるリスクを評価するためのビジネス関連リスク評価モデルを生成するビジネス関連リスク評価モデル生成部と、を備える。
【発明の効果】
【００１２】
本発明によれば、ビジネス関連ノードと機器ノードとを対応付けることで、検出された脆弱性が所定のビジネス処理に生じさせうるリスクを評価するためのビジネス関連リスク評価モデルを生成することができる。したがって、ビジネス関連リスク評価モデルを用いることで、ビジネスの観点から脆弱性が情報処理システムにもたらすリスクを評価することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の全体概要を示す説明図である。
【図２】評価対象の情報処理システムとリスク評価システムを含む全体システムのネットワーク構成図である。
【図３】管理対象機器の機能構成図である。
【図４】情報収集サーバの機能構成図である。
【図５】セキュリティナレッジ公開機関サーバの機能構成図である。
【図６】クライアント端末の機能構成図である。
【図７】リスク評価サーバの機能構成図である。
【図８】コンピュータ装置のハードウェア構成図である。
【図９】データベースに記憶されるデータテーブルを示す説明図である。
【図１０】ユーザ情報テーブルの例である。
【図１１】ネットワーク情報テーブルの例である。
【図１２】機器情報テーブルの例である。
【図１３】脆弱性情報テーブルの例である。
【図１４】ビジネスプロセス情報テーブルの例である。
【図１５】ビジネス指標情報テーブルの例である。
【図１６】攻撃シナリオ情報テーブルの例である。
【図１７】システム構成情報を取得する処理のフローチャートである。
【図１８】セキュリティナレッジ公開機関サーバからセキュリティ情報等を取得する処理のフローチャートである。
【図１９】リスク評価の画面を提供する処理のフローチャートである。
【図２０】リスク評価システムの初期画面の例である。
【図２１】ビジネスプロセス情報を取得する処理のフローチャートである。
【図２２】リスク評価処理のフローチャートである。
【図２３】機器リスク評価モデルを構築する処理のフローチャートである。
【図２４】ビジネス指標リスク評価モデルを構築する処理のフローチャートである。
【図２５】学習データを生成する処理のフローチャートである。
【図２６】ビジネス指標リスク評価モデルの例である。
【図２７】機器ノードの条件付き確率表の例である。
【図２８】脆弱性ノードの条件付き確率表の例である。
【図２９】ビジネスプロセスノードの条件付き確率表の例である。
【図３０】ビジネス指標ノードの条件付き確率表の例である。
【図３１】攻撃シナリオ情報の例を示す。
【図３２】学習データの例を示す。
【図３３】リスク評価システムのビジネスリスク表示画面の例である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施の形態を説明する。以下に述べるように、本実施形態は、脆弱性リスク評価システムおよびリスク評価方法に関するものであり、脆弱性がもたらす機器への影響に加えて、ビジネス指標への影響を評価し、経営的視点での判断を容易化する。
【００１５】
本実施形態の脆弱性リスク評価システム１は、後述の実施例との関係では、データベース５０を利用する制御部１２０を有する。データベース５０は、リスク評価対象ビジネスのビジネスプロセスの情報、ビジネス指標の情報、ビジネスプロセスを実現する機能が実装されている機器２０の情報、ネットワークの情報、および機器２に関する脆弱性の情報を、互いに関連付けて保持する。制御部１２０は、ビジネスプロセスの情報、ビジネス指標の情報、機器の情報、ネットワークの情報、および脆弱性の情報を、グラフ理論に基づく所定アルゴリズムに適用することで、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定するリスク評価モデルＭ１を作成する。さらに、制御部１２０は、リスク評価モデルＭ１を、当該リスク評価モデルに対応する所定の推論アルゴリズムに適用して、評価対象の情報処理システムにおける脆弱性がビジネスにもたらすリスクを評価し、その評価結果を所定装置６０に出力する。
【００１６】
本実施形態の脆弱性リスク評価システムによれば、脆弱性情報やシステム構成情報などのシステムレベルの情報に加えて、ビジネス設計やビジネスの評価指標に基づいてリスクを評価することができる。したがって、ビジネスの展開状況に対応した有効性の高いリスク評価が可能となる。
【００１７】
図１は、本実施形態の一つの例の概要を示す説明図である。図１は、本発明の理解および実施に必要な程度で実施形態の概要を示しており、本発明の範囲は図１に示す構成に限定されない。
【００１８】
脆弱性リスク評価システム１は、ソフトウェアの脆弱性が情報処理システムに引きおこす技術的リスクだけでなく、その技術的リスクに関連するビジネス上のリスクも可視化することのできるモデルを生成する。
【００１９】
脆弱性リスク評価システム１は、管理対象機器２と端末３とに接続されている。管理対象機器２は、リスク評価対象の情報処理システムに含まれている機器であり、例えば、ウェブサーバ、ファイルサーバ、メールサーバ、アプリケーションサーバ、スイッチ、バーコードリーダ、無線タグリーダ、プリンタ、ストレージ装置などがある。管理対象機器２は、後述する実施例における管理対象機器２０に対応する。以下の説明では、機器２と略記する場合がある。
【００２０】
端末３は、「外部装置」の例である。端末３は、実施例におけるクライアント６０に対応する。情報処理システムのシステム管理者や情報処理システムの運用責任者などは、端末３を用いて脆弱性リスク評価システム１にアクセスすることで、ビジネス上のリスクの評価を確認できる。
【００２１】
脆弱性リスク評価システム１は、少なくとも一つのコンピュータから構成される。脆弱性リスク評価システム１は、複数のコンピュータを用いて構成してもよい。
【００２２】
脆弱性リスク評価システム１は、例えば、脆弱性検出部Ｆ１０、機器リスク評価モデル生成部Ｆ１１、ビジネス指標リスク評価モデルＦ１２、学習部Ｆ１３、リスク値計算部Ｆ１４、リスク評価提供部Ｆ１５、脆弱性情報記憶部Ｆ１６、システム構成情報記憶部Ｆ１７、攻撃シナリオ情報記憶部Ｆ１８、ビジネス情報記憶部Ｆ１９、条件付き確率表記憶部Ｆ２０を有する。
【００２３】
脆弱性検出部Ｆ１０は、脆弱性情報記憶部Ｆ１６に記憶された脆弱性情報と、システム構成情報記憶部Ｆ１７に記憶されたシステム構成情報とに基づいて、管理対象機器２の持つ脆弱性を検出する。
【００２４】
脆弱性情報とは、ソフトウェアの持つ情報セキュリティ上の欠陥に関する情報であり、セキュリティホールとも呼ばれる。脆弱性情報は、実施例で後述するように、例えばセキュリティナレッジを公開する機関のサーバ４０が配信する。脆弱性情報の配信元は、問わない。脆弱性情報は、ソフトウェアのセキュリティに関する情報の一部であるから、セキュリティ情報と呼ぶこともできる。後述する攻撃シナリオ情報も、セキュリティ情報の一部である。
【００２５】
システム構成情報とは、情報処理システムの構成に関する情報である。システム構成情報は、例えば、各機器２についての情報である機器情報と、各機器２の接続関係の情報であるネットワーク情報とを含むことができる。機器情報は、例えば、機器２を特定する情報や、機器のネットワーク上の位置を示す情報、機器２にインストールされているソフトウェアのリストなどを含む。ネットワーク情報は、例えば、ネットワークセグメントを特定する情報、メッセージが到達可能である隣接ネットワークセグメントの情報、外部ネットワークとの接続が可能か否かを示す情報などを含む。
【００２６】
機器リスク評価モデル生成部Ｆ１１は、脆弱性検出部Ｆ１０で検出された脆弱性と、システム構成情報と、攻撃シナリオ情報記憶部Ｆ１８から読み出す攻撃シナリオ情報とを用いて、機器リスク評価モデルを生成する。
【００２７】
機器リスク評価モデルとは、機器２にインストールされたソフトウェアの脆弱性がもたらすリスクを評価するためのモデルである。機器リスク評価モデルは、有向非循環グラフ構造をもって構成される。機器リスク評価モデルは、例えば、外部ネットワークに接続可能な機器２のノード（機器ノード）を最上位ノードとし、その最上位ノードに隣接する機器ノードを配置することで構成される。機器リスク評価モデルには、ベイジアンネットワークの推論アルゴリズムが適用される。これにより、ノード間の関係は、条件付き確率で表される。
【００２８】
攻撃シナリオ情報とは、コンピュータウィルスなどの悪意あるソフトウェアが脆弱性を利用して攻撃する方法を含む情報である。攻撃シナリオ情報も、セキュリティナレッジを公開する機関のサーバから取得することができる。攻撃シナリオ情報は、セキュリティ情報の一種である。本実施形態では、攻撃シナリオ情報と脆弱性情報とを区別して説明するが、両方を合わせてセキュリティ情報と呼ぶことがある。
【００２９】
ビジネス指標リスク評価モデル生成部Ｆ１２は、「ビジネス関連リスク評価モデル生成部」の例である。ビジネス関連リスク評価モデル生成部Ｆ１２は、攻撃シナリオ情報と、ビジネス関連情報記憶部Ｆ１９から読み出すビジネス関連情報とに基づいて、ビジネス関連リスク評価モデルを生成する。
【００３０】
ビジネス関連情報とは、各機器２を含む情報処理システムが実行するビジネス処理に関する情報である。ビジネス関連情報には、例えば、ビジネスプロセスに関する情報と、ビジネス指標に関する情報が含まれている。ビジネスプロセスに関する情報とは、ビジネス処理を構成する各ビジネスプロセス（例えば、受注、在庫確認、発注、入荷確認、請求書発行、入金確認等）を特定する情報や、プロセスの内容を示す情報である。ビジネス指標に関する情報とは、ビジネス上の評価基準、判断基準となる情報である。ビジネス指標としては、例えば、”収益性への影響”、”情報漏洩の懸念”、”社会的影響に係る費用”などがある。
【００３１】
ビジネス関連リスク評価モデルは、機器リスク評価モデルに対して、ビジネス上の観点に基づくノード（後述するビジネスプロセスノード、ビジネス指標ノード）が追加されたモデルである。ビジネス関連リスク評価モデルは、機器リスク評価モデルを拡張したものであり、有向非循環グラフ構造を備える。
【００３２】
ビジネス関連リスク評価モデルには、ベイジアンネットワークの推論アルゴリズムが適用され、ノード間の関係は確率で表される。条件付き確率表記憶部Ｆ２０に記憶された条件付き確率表を用いることで、ノード間の関係を条件付き確率で表すことができる。
【００３３】
学習部Ｆ１３は、攻撃シナリオ情報に基づいて学習データを生成し、その学習データを用いて、条件付き確率表の値を修正する。
【００３４】
リスク値計算部Ｆ１４は、ビジネス関連リスク評価モデルと条件付き確率表に基づいて、ビジネス上の観点（ビジネス指標）からリスク値を算出する。リスク値には、条件付き確率の値をそのまま使用してもよいし、あるいは加工して使用してもよい。リスク値は、数字で表現してもよいし、あるいは”警戒”、”要注意”、”早急に対応”のようにランク分けして表現してもよい。
【００３５】
リスク評価提供部Ｆ１５は、ビジネス関連リスク評価モデルとリスク値とを対応付けて、端末３へ提供する。
【実施例１】
【００３６】
図２〜図３３を用いて第１実施例を説明する。図２は、脆弱性リスク評価システム１のネットワーク構成を示し、図３は管理対象機器２０の機能構成を示し、図４は情報収集サーバ３０の機能構成を示す。図５はセキュリティナレッジ公開機関サーバの機能構成を示し、図６はクライアント６０の機能構成を示し、図７はリスク評価サーバ１０の機能構成を示す。図７は、リスク評価サーバ１０の物理的構成の例を示す。
【００３７】
（システム構成）
【００３８】
図２は、リスク評価システム１を含む全体システムのネットワーク構成例である。図２では、システム全体を脆弱性リスク評価システムとしているが、リスク評価サーバ１０のみで脆弱性リスク評価システム１を構成することもできる。
【００３９】
本実施例のリスク評価システム１は、脆弱性情報やシステム構成情報などのシステムレベルの情報と、ビジネス設計やビジネスの評価指標とに基づいて、評価対象である情報処理システムのリスクを評価する。リスク評価システム１は、ビジネスの展開状況に対応した有効性の高いリスク評価を行う。
【００４０】
リスク評価システム１が含まれる通信ネットワークＣＮには、評価対象の情報処理システムを構成する管理対象機器２０、情報収集サーバ３０、セキュリティナレッジ公開機関サーバ４０、データベース５０、クライアント６０、およびリスク評価サーバ１０が接続されている。
【００４１】
これら装置１０〜６０は、それぞれ少なくとも一つ存在すればよい。ただし、リスク評価サーバ１０に情報収集サーバ３０の機能とデータベース５０の機能を設ける場合は、情報収集サーバ３０とデータベース５０を図２の構成から取り除くこともできる。リスク評価システム１は、少なくともリスク評価サーバ１０から構成することができる。リスク評価サーバ１０は、データベース５０にアクセスすることで、情報処理システムの脆弱性の持つリスクをビジネス観点で評価できる。リスク評価システム１は、リスク評価サーバ１０以外の装置を適宜含んで構成されてもよい。
【００４２】
管理対象機器２０は、システム管理者がリスク評価対象として管理するビジネス、すなわち対象ビジネスの各プロセスを実現する機能が実装された機器である。図２では、複数の管理対象機器２０＿１〜２０＿ｎを例示する。特に区別しない場合、管理対象機器２０＿１〜２０＿ｎを管理対象機器２０と呼ぶ。また、管理対象機器２０を機器２０と略記する場合がある。本実施例の評価対象は、これら管理対象機器２０の保有する脆弱性がビジネス処理にもたらすリスクである。
【００４３】
情報収集サーバ３０は、各機器２０の有する脆弱性が情報処理システムで実行されるビジネス処理にもたらすリスクを評価するために必要な情報を収集し、収集した情報をデータベース５０に記憶する。情報収集サーバ３０は、「情報取得部」「情報収集部」と呼ぶこともできる。
【００４４】
情報収集サーバ３０の収集する情報としては、システム構成情報、セキュリティ情報、ビジネス関連情報がある。システム構成情報とは、例えば、各機器２０の識別情報、所属するネットワークに関する情報、トポロジに関する情報などの、情報処理システムの構成に関する情報である。
【００４５】
セキュリティ情報とは、インターネットＣＮ２上でセキュリティナレッジ公開機関サーバ４０が公開した情報セキュリティに関する情報である。セキュリティ情報には、各機器２０の持つ脆弱性についての情報と、攻撃シナリオ情報とが含まれる。
【００４６】
ビジネス関連情報とは、情報処理システムで実行するビジネス処理に関する情報であり、ビジネスプロセス情報と、ビジネス指標情報とを含む。ビジネスプロセス情報は、例えば、ビジネスプロセスの識別情報、そのビジネスプロセスの種別、そのビジネスプロセスの重要度、そのビジネスプロセスの実行に必要な機能を特定する情報、その必要機能を有する機器２０の情報などを含む。ビジネス指標情報は、例えば、ビジネス指標の識別情報、そのビジネス指標の種別、そのビジネス指標の重要度、そのビジネス指標に関連するビジネスプロセスを特定する情報などを含む。
【００４７】
ビジネスプロセス情報は、システム管理者等のユーザがクライアント６０からデータベース５０へ入力してもよい。情報収集サーバ３０は、ビジネス指標情報だけを収集してデータベース５０へ格納すればよい。情報収集サーバ３０がビジネスプロセス情報とビジネス指標情報の両方を収集して、データベース５０へ記憶させる構成でもよい。
【００４８】
セキュリティナレッジ公開機関サーバ４０は、インターネットＣＮ２上でセキュリティナレッジを公開する機関が運営するサーバ装置である。セキュリティナレッジ公開機関サーバ４０の運営機関としては、例えば、コンピュータセキュリティを提供する企業、オペレーティングシステムやウェブブラウザを提供する企業、コンピュータセキュリティについて研究するコミュニティなどがある。これら機関は、脆弱性情報をネットワークＣＮ２に公開する。脆弱性情報としては、情報処理機器の持つ脆弱性情報、ＯＳ（Operation System）の脆弱性情報、ソフトウェアの脆弱性情報がある。
【００４９】
各機器２０と情報収集サーバ３０とは、ネットワークＣＮ１で接続されている。情報収集サーバ３０とセキュリティナレッジ公開機関サーバ４０とは、インターネットＣＮ２で接続されている。
【００５０】
データベース５０は、情報収集サーバ３０が収集したシステム構成情報とセキュリティ情報およびビジネス関連情報等を格納する記憶装置である。データベース５０は、ネットワークＣＮ３を介して、リスク評価サーバ１０と通信可能に結ばれている。データベース５０は、リスク評価サーバ１０の外部記憶装置７３（図８参照）に設けてもよい。
【００５１】
クライアント６０は、システム管理者等のユーザが直接操作するコンピュータ端末であり、「外部装置」に対応する。リスク評価サーバ１０による処理結果、すなわちリスク評価結果は、クライアント６０に出力される。
【００５２】
リスク評価サーバ１０は、データベース５０上の情報と、クライアント６０を介して受けたシステム管理者等のユーザからの要求とに基づいて、リスク評価方法に対応する各手順を実行するサーバ装置である。
【００５３】
リスク評価サーバ１０は、情報収集サーバ３０の機能やデータベース５０の機能を備えて構成されてもよい。リスク評価サーバ１０は、複数の異なるコンピュータ（物理計算機または仮想計算機）を連携させることで構成してもよい。
【００５４】
通信ネットワークＣＮ１，ＣＮ２，ＣＮ３はそれぞれ異なるネットワークとして構成してもよいし、それらのうち２つ以上のネットワークを同一ネットワークとして構成してもよい。ネットワークＣＮ１，ＣＮ２は必須ではなく、情報収集サーバ３０は、例えばＵＳＢ（Universal Serial Bus）メモリなどの記録媒体を介して、システム構成情報、セキュリティ情報、ビジネス関連情報を取得してもよい。あるいは、システム管理者等のユーザがキーボードなどの情報入力装置を用いて、情報収集サーバ３０へシステム構成情報、セキュリティ情報、ビジネス関連情報を入力する構成でもよい。
【００５５】
（機能構成）
【００５６】
リスク評価システム１の機能について説明する。図２に示す各装置１０〜６０は、図８で述べるコンピュータ装置の構成を備えており、メモリ７２または外部記憶装置７３に記憶されたコンピュータプログラムをＣＰＵ（Central Processing Unit）７１が実行することで、所定の機能を実現するものとする。
【００５７】
図３は、管理対象機器２０の機能構成例を示す。機器２０は、通信部２１０および制御部２２０を備える。通信部２１０は、ネットワークＣＮ１を介して、情報収集サーバ３０との間で情報を送受信する処理部である。
【００５８】
制御部２２０は、機器２０を制御する。制御部２２０は、システム構成情報を出力するシステム構成情報出力部２２１を備える。システム構成情報出力部２２１は、機器２０からシステム構成情報を収集し、収集したシステム構成情報を通信部２１０から情報収集サーバ３０へ送信する処理部である。システム構成情報には、例えば、機器２０の識別情報（ＩＤ）、機器名、製品ＩＤ、ネットワークセグメント、および利用する中継機器といった情報が含まれる。
【００５９】
システム構成情報出力部２２１は、機器２０のＯＳが持つ標準的な機能を利用して、システム構成情報を収集することができる。これに限らず、セキュリティ検査言語（ＯＶＡＬ：Open Vulnerability and Assessment Language）で定義された検査仕様に基づく情報収集ツール等を利用しても良い。情報収集の方法や形態は限定しない。
【００６０】
図４は、情報収集サーバ３０の機能構成例を示す。情報収集サーバ３０は、通信部３１０および制御部３２０を備える。通信部３１０は、ネットワークＣＮ１，ＣＮ２，ＣＮ３を介して、情報を送受信する処理部である。
【００６１】
制御部３２０は、情報収集サーバ３０を制御する処理部である。制御部３２０は、例えば、システム構成情報収集部３２１、脆弱性情報収集部３２２、攻撃シナリオ情報収集部３２３、およびビジネス指標情報収集部３２４を含む。
【００６２】
システム構成情報収集部３２１は、通信部３１０を介して、機器２０からシステム構成情報を受信し、受信したシステム構成情報をデータベース５０に送信して記憶させる処理部である。
【００６３】
脆弱性情報収集部３２２は、通信部３１０を介して、セキュリティナレッジ公開機関サーバ４０から脆弱性情報を受信し、受信した脆弱性情報をデータベース５０に送信して記憶させる処理部である。
【００６４】
攻撃シナリオ情報収集部３２３は、通信部３１０を介して、セキュリティナレッジ公開機関サーバ４０から攻撃シナリオ情報を受信し、受信した攻撃シナリオ情報をデータベース５０へ送信して記憶させる処理部である。ここでは、脆弱性情報と攻撃シナリオ情報とを区別して説明するが、攻撃シナリオ情報と脆弱性情報の両方をセキュリティ情報として扱うこともできる。
【００６５】
ビジネス指標情報収集部３２４は、通信部３１０を介して、セキュリティナレッジ公開機関サーバ４０からビジネス指標情報を受信し、受信したビジネス指標情報をデータベース５０へ格納する処理部である。本実施例では、ビジネス関連情報のうちビジネスプロセス情報は、システム管理者がクライアント６０から情報収集サーバ３０へ入力する。ビジネス関連情報のうちビジネス指標情報は、情報収集サーバ３０がセキュリティナレッジ公開機関サーバ４０から収集してデータベース５０へ登録する。
【００６６】
これに代えて、システム管理者がクライアント６０を介して、ビジネスプロセス情報およびビジネス指標情報を情報収集サーバ３０へ手動で入力してもよいし、あるいは、情報収集サーバ３０がビジネスプロセス情報およびビジネス指標情報を自動的に収集して、データベース５０へ登録してもよい。
【００６７】
情報収集サーバ３０は、同一のセキュリティナレッジ公開機関サーバ４０から、脆弱性情報、攻撃シナリオ情報、およびビジネス指標情報を収集してもよいし、異なる複数のセキュリティナレッジ公開機関サーバ４０から各情報をそれぞれ収集してもよい。
【００６８】
図５は、セキュリティナレッジ公開機関サーバ４０の機能構成例を示す。セキュリティナレッジ公開機関サーバ４０は、通信部４１０および制御部４２０を含む。通信部４１０は、ネットワークＣＮ２を介して情報収集サーバ３０との間で情報を送受信する処理部である。
【００６９】
制御部４２０は、セキュリティナレッジ公開機関サーバ４０を制御する。制御部４２０は、例えば、脆弱性情報出力部４２１、攻撃シナリオ情報出力部４２２、およびビジネス指標情報出力部４２３を含む。
【００７０】
脆弱性情報出力部４２１は、通信部４１０を介して、情報収集サーバ３０へ脆弱性情報を送信する。攻撃シナリオ情報出力部４２２は、通信部４１０を介して、情報収集サーバ３０へ攻撃シナリオ情報を送信する。ビジネス指標情報出力部４２３は、通信部４１０を介して、情報収集サーバ３０へビジネス指標情報を送信する。
【００７１】
セキュリティナレッジ公開機関サーバ４０における、情報の収集および管理の手法は、サーバ４０の仕様や運営企業により異なるため、ここでは特に限定しない。
【００７２】
図６は、クライアント６０の機能構成例を示す。クライアント６０は、通信部６１０、制御部６２０、および入出力部６３０を含む。通信部６１０は、ネットワークＣＮ３を介して情報を送受信する処理部である。入出力部６３０は、システム管理者等のユーザと情報を交換する処理部である。入出力部６３０は、例えばキーボード、タッチパネル、音声指示装置等の情報入力部と、例えばディスプレイ、プリンタ、音声合成装置等の情報出力部とを備える。クライアント６０は、情報入力部から入力された指示や設定値等をリスク評価サーバ１０へ伝える。クライアント６０は、リスク評価サーバ１０から受信した情報を情報出力部を介してユーザへ提示する。
【００７３】
制御部６２０は、クライアント６０を制御する。制御部６２０は、例えば、画面表示処理部６２１、初期画面表示要求部６２２、ビジネスプロセス情報保存要求部６２３、およびビジネスリスク表示要求部６２４を含む。図６では、画面表示処理部６２１を画面表示部６２１と略記する。
【００７４】
画面表示処理部６２１は、入出力部６３０を介して、ユーザへ画面を表示する処理部である。画面表示処理部６２１は、初期画面表示要求部６２２で取得した画面およびビジネスリスク表示要求部６２４で取得した画面をディスプレイへ表示する。
【００７５】
初期画面表示要求部６２２は、通信部６１０を介して、リスク評価サーバ１０へ初期画面の送信を要求する処理部である。初期画面とは、クライアント６０がリスク評価サーバ１０へ接続したときに、リスク評価サーバ１０がユーザへ提示する画面である。
【００７６】
ビジネスプロセス情報保存要求部６２３は、ユーザが入力したビジネスプロセス情報を、通信部６１０からリスク評価サーバ１０へ送信し、保存させる処理部である。
【００７７】
ビジネスリスク表示要求部６２４は、リスク評価サーバ１０からビジネスリスクの評価結果を取得してディスプレイへ表示する処理部である。ビジネスリスク表示要求部６２４は、ビジネスリスクの評価結果に対する表示リクエストを、通信部６１０を介してリスク評価サーバ１０へ送信する。ビジネスリスク表示要求部６２４は、リスク評価サーバ１０からビジネスリスク評価結果の画面データを受信し、ディスプレイへ表示させる。
【００７８】
図７は、リスク評価サーバ１０の機能構成例を示す。リスク評価サーバ１０は、通信部１１０および制御部１２０を含む。通信部１１０は、ネットワークＣＮ３を介して情報を送受信する処理部である。
【００７９】
制御部１２０ば、リスク評価サーバ１０を制御する。制御部１２０は、例えば、初期画面表示処理部１２１、ビジネスプロセス情報保存処理部１２２、ビジネスリスク表示処理部１２３、脆弱性検出処理部１２４、機器リスク評価モデル構築処理部１２５、ビジネス指標リスク評価モデル構築処理部１２６、条件付き確率表設定処理部１２７、学習データ生成処理部１２８、条件付き確率表学習部１２９、およびリスク値計算処理部１３０を含んでいる。図７では、「処理部」を「部」と略記する。
【００８０】
初期画面表示処理部１２１は、クライアント６０からの要求に応じて、リスク評価の初期画面（図２０の画面Ｇ１）をクライアント６０へ送信する処理部である。初期画面表示処理部１２１は、通信部１１０を介してクライアント６０から初期画面表示リクエストを受信すると、初期画面の表示に必要となる画面データを、例えばデータベース５０から読み出して、クライアント６０へ返信する。この場合、データベース５０は、クライアント６０で表示させる各画面データを予め保持しているものとする。画面データを、リスク評価サーバ１０の外部記憶装置７３に格納しておく構成でもよい。
【００８１】
ビジネスプロセス情報保存処理部１２２は、クライアント６０から受信したビジネスプロセス情報をデータベース５０に保存する処理部である。ビジネスプロセス情報保存処理部１２２は、通信部１１０を介してクライアント６０からビジネスプロセス情報の保存リクエストを受信すると、そのビジネスプロセス情報をデータベース５０に送信して保存させる。
【００８２】
ビジネスリスク表示処理部１２３は、クライアント６０からの要求に応じて、ビジネスリスクの評価結果を示す画面（図３３の画面Ｇ２）をクライアント６０へ送信する処理部である。ビジネスリスク表示処理部１２３は、通信部１１０を介してクライアント６０からビジネスリスク表示リクエストを受信すると、ビジネスリスク評価結果の画面データをクライアント６０へ返信する。
【００８３】
ビジネスリスク評価結果は、脆弱性検出処理部１２４、機器リスク評価モデル構築処理部１２５、ビジネス指標リスク評価モデル構築処理部１２６、条件付き確率表設定処理部１２７、学習データ生成処理部１２８、条件付き確率表学習処理部１２９、およびリスク値計算処理部１３０を用いることで得られる。
【００８４】
脆弱性検出処理部１２４は、システム構成情報と脆弱性情報とを照合して、機器２０に存在する情報セキュリティ上のリスク（脆弱性）を検出する処理部である。脆弱性検出処理部１２４は、システム構成情報に含まれる機器情報テーブル５１２（図１２で後述）と、脆弱性情報に含まれる脆弱性情報テーブル５１３（図１３で後述）を照合することで、機器２０に関連する脆弱性を検出する。
【００８５】
機器リスク評価モデル構築処理部１２５は、データベース５０に記憶された情報に基づいて、脆弱性が機器２０にもたらすリスクを評価するための機器リスク評価モデルを構築する処理部である。
【００８６】
ビジネス指標リスク評価モデル構築処理部１２６は、機器リスク評価モデルとデータベース５０に記憶された情報とに基づいて、脆弱性がビジネスにもたらすリスクを評価するためのビジネス指標リスク評価モデルＭ１を構築する処理部である。ビジネス指標リスク評価モデルＭ１については、後述する。
【００８７】
条件付き確率表設定処理部１２７は、ビジネス指標リスク評価モデルに基づいてリスク評価するために使用する確率値（図２７〜図３０参照）を設定する処理部である。
【００８８】
学習データ生成処理部１２８は、攻撃シナリオ情報をビジネス指標リスク評価モデルに適用可能であるか判定し、有向非循環グラフの経路を、機械学習のための学習データとして生成する処理部である。
【００８９】
条件付き確率表学習処理部１２９は、学習データに基づいて機械学習し、条件付き確率表の値を更新する処理部である。
【００９０】
リスク値計算処理部１３０は、ビジネス指標リスク評価モデルに基づいてリスク値を計算する処理部である。上述した各機能部１２１〜１３０の処理の詳細は、後述する。
【００９１】
（ハードウェア構成）
【００９２】
図８は、サーバ１０，３０，４０、機器２０、端末６０を実現するために使用可能なコンピュータ装置７０のハードウェア構成例を示す。図８に示すコンピュータ装置７０を用い、外部記憶装置７３に所定のコンピュータプログラムを格納することで、サーバ１０，３０，４０、機器２０、端末６０を実現することができる。
【００９３】
コンピュータ装置７０は、例えば、ＣＰＵ７１、メモリ７２、外部記憶装置７３、入力装置７４、出力装置７５、通信装置７６を有する。
【００９４】
メモリ７２は、ＲＡＭ（Random Access Memory）等の揮発性記憶素子で構成される。外部記憶装置７３は、ＳＳＤ（Solid State Drive）やハードディスクドライブ等の不揮発性記憶素子で構成される。通信装置７６は、例えばネットワークインターフェイスカード（ＮＩＣ：Network Interface Card）である。入力装置７４は、例えばキーボード、タッチパネル、マウス、音声合成装置等である。出力装置７５は、例えば、ディスプレイ、音声指示装置、プリンタ等である。
【００９５】
入力装置７４および出力装置７５は、クライアント６０のみが備えていればよく、管理対象機器２０、セキュリティナレッジ公開機関サーバ４０、情報収集サーバ３０、およびリスク評価サーバ１０では必ずしも要しない。
【００９６】
図３〜図７で例示した各装置２０，３０，４０，６０，１０の制御部２２０，３２０，４２０，６２０，１２０は、ＣＰＵ７１が外部記憶装置７３に記憶された所定のコンピュータプログラムをメモリ７２にロードして実行することで実装される。図３〜図７で例示した各装置２０，３０，４０，６０，１０の通信部２１０，３１０，４１０，６１０，１１０は、通信装置７６により実装される。図６で例示したクライアント６０における入出力部６３０は、出力装置７５および入力装置７４により実装される。
【００９７】
（データ構成）
【００９８】
リスク評価サーバ１０が利用するデータの構成例について説明する。リスク評価システム１にて利用するデータには、例えば、ユーザ情報５１０、管理対象の情報処理システムのネットワーク情報５１１と機器情報５１２、ユーザにより入力されるビジネスプロセス情報５１４、セキュリティナレッジとして公開されている脆弱性情報５１３、攻撃シナリオ情報５１６、ビジネス指標情報５１５がある。
【００９９】
図９は、データベース５０に格納されるデータテーブルの一覧を示す。データベース５０は、例えば、ユーザ情報テーブル５１０、ネットワーク情報テーブル５１１、機器情報テーブル５１２、脆弱性情報テーブル５１２、ビジネスプロセス情報テーブル５１４、ビジネス指標情報テーブル５１５、および攻撃シナリオ情報テーブル５１６を格納する。これら各テーブル間は、互いのレコードが含む所定のＩＤ等によって、相互に関連付けられている。
【０１００】
図１０を用いて、ユーザ情報テーブル５１０の例を説明する。ユーザ情報テーブル５１０は、例えば、ユーザＩＤ（identification）５１０１、ユーザ情報５１０２、ビジネスリスト５１０３をデータ項目として有する。
【０１０１】
ユーザＩＤ５１０１は、ユーザに対してユニークに割り当てられたＩＤである。ユーザ情報５１０２は、ユーザＩＤ５１０１に対応するユーザの名前や連絡先など、ユーザに関連する情報である。ビジネスリスト５１０３は、ユーザが管理するビジネスのＩＤと名前、および関連するビジネスプロセスＩＤをマップしたものである。ビジネスリスト５１０３には、例えば、ユーザが“＊＊ビジネス”を管理している場合、そのビジネスＩＤと、“＊＊ビジネス”という名前と、“＊＊ビジネス”に関連するビジネスプロセスＩＤを持つ構造体のリストとを、格納する。
【０１０２】
図１１を用いて、ネットワーク情報テーブル５１１の構成例を説明する。ネットワーク情報テーブル５１１は、例えば、ネットワークセグメントＩＤ５１１１、ネットワークセグメント情報５１１２、可達セグメントＩＤリスト５１１３、および外部接続性５１１４をデータ項目としたレコードを有する。
【０１０３】
ネットワークセグメントＩＤ５１１１は、ネットワークセグメントに対してユニークに割り当てられたＩＤである。ネットワークセグメント情報５１１２は、ＩＰアドレスやネットマスクなど、ネットワークセグメントに関連する情報である。
【０１０４】
可達セグメントＩＤリスト５１１３は、ネットワークセグメントＩＤ５１１１が示すネットワークセグメントからメッセージが到達可能な、隣接するセグメントのＩＤリストである。例えば、ネットワークセグメントＩＤ５１１１が“１１１”のネットワークセグメントからネットワークセグメントＩＤ５１１１が“２２２”のネットワークセグメントにメッセージが到達する場合、ネットワークセグメントＩＤ５１１１が“１１１”のレコードの可達セグメントＩＤリスト１１０３には、ネットワークセグメントＩＤ５１１１の“２２２”が格納される。
【０１０５】
外部接続性５１１４は、外部ネットワークへの接続の有無を表した真理値である。このネットワーク情報テーブル５１１は、リスク評価システム１の管理者等が予め生成してデータベース５０に格納してあるものとする。
【０１０６】
図１２を用いて、機器情報テーブル５１２の例を説明する。機器情報テーブル５１２は、例えば、機器ＩＤ５１２１、機器情報５１２２、ネットワークセグメントＩＤリスト５１２３、種別５１２４、ソフトウェアリスト５１２５をデータ項目として有する。
【０１０７】
機器ＩＤ５１２１は、機器２０に対してユニークに割り当てられたＩＤである。機器情報５１２２は、マシン名など機器２０に関連する情報である。ネットワークセグメントＩＤリスト５１２３は、機器ＩＤ５１２１で特定される機器２０が所属しているネットワークセグメントのＩＤリストである。種別５１２４は、例えば、“ＷＥＢサーバ”や“ＤＢサーバ”などの、機器２０の種別である。ソフトウェアリスト５１２５は、機器２０にインストールされているソフトウェアを特定するリストである。
【０１０８】
図１３に、脆弱性情報テーブル５１２の例を示す。脆弱性情報テーブル５１２は、例えば、脆弱性ＩＤ５１３１、関連ソフトウェアリスト５１３２、脆弱性攻撃確率５１３３、機器影響確率５１３４、種別５１３５をデータ項目として有する。
【０１０９】
脆弱性ＩＤ５１３１は、脆弱性に対してユニークに割り当てられたＩＤである。脆弱性ＩＤ５１３１として、例えば、共通脆弱性識別子（ＣＶＥ：Common Vulnerabilities and Exposures）、ＪＶＮ番号（ＪＶＮ：Japan Vulnerability Notes）、ベンダが独自に採番した脆弱性ＩＤ、を使用することができる。ＣＶＥとは、米国の非営利団体であるＭＩＴＲＥ社が採番しており、国際的に利用されている脆弱性識別子である。ＪＶＮ番号は、日本国内で使用されている。
【０１１０】
関連ソフトウェアリスト５１３２は、脆弱性ＩＤ５１３１で特定される脆弱性を抱えるソフトウェアのリストである。脆弱性攻撃確率５１３３は、脆弱性単体を突いた攻撃の発生確率、あるいはスコアである。脆弱性攻撃確率５１３３は、脆弱性の技術的な特性に基づいたスコアである。機器影響確率５１３４は、脆弱性への攻撃が機器２０に影響を与える確率であり、脆弱性の技術的な特性に基づいたスコアである。
【０１１１】
一般に、セキュリティナレッジ公開機関では、ＣＶＳＳ（Common Vulnerability Scoring System）等の標準的なセキュリティ規格に基づき、個々のソフトウェア脆弱性に対して、技術特性の観点から攻撃容易性や機器への影響度などのスコアを付与する。セキュリティナレッジ公開機関は、脆弱性に対するスコアを含む脆弱性情報を公開する。したがって、セキュリティナレッジ公開機関サーバ４０が付与するスコアを、脆弱性攻撃確率５１３３や機器影響確率５１３４として利用することができる。
【０１１２】
種別５１３５は、脆弱性の種別である。一般的にセキュリティナレッジ公開機関では、ＣＷＥ（Common Weakness Enumeration）等の標準的なセキュリティ規格に基づき、個々のソフトウェア脆弱性に対して、種別を付与して、脆弱性情報を公開する。したがって、セキュリティナレッジ公開機関サーバ４０が付与する種別を、種別５１３５として利用することができる。
【０１１３】
図１４を用いて、ビジネスプロセス情報テーブル５１４の構成例を説明する。ビジネスプロセス情報テーブル５１４は、例えば、ビジネスプロセスＩＤ５１４１、必要機能を実装した機器ＩＤ５１４２、重要度５１４３、種別５１４４、およびビジネスプロセス図示情報５１４５、その他情報５１４６をデータ項目としたレコードを有する。
【０１１４】
ビジネスプロセスＩＤ５１４１は、ビジネスプロセスに対してユニークに割り当てられたＩＤである。必要機能を実装した機器ＩＤ５１４２は、ビジネスプロセスＩＤ５１４１で特定されるビジネスプロセスを実現するために必要な機能が実装されている機器２０のＩＤである。重要度５１４３は、ビジネスプロセスの重要度のスコアである。種別５１４４は、ビジネスプロセスの種別である。
【０１１５】
ビジネスプロセス図示情報５１４５は、ビジネスプロセスを図示するのに必要な情報である。ビジネスプロセスの図示に必要な情報としては、例えば、ビジネスプロセスを実施するアクタ、ビジネスプロセス間の関係等の情報がある。その他情報５１４６は、ビジネスプロセス名などのビジネスプロセスに関連する情報である。
【０１１６】
本実施例では、システム管理者等のユーザがクライアント６０からビジネスプロセス情報を入力する。ユーザは、例えば、ＵＭＬ（Unified Modeling Language）のアクティビティ図等のツールを利用して、ビジネスプロセスを設計することができる。ビジネスプロセスの設計方法は限定しない。
【０１１７】
図１５を用いて、ビジネス指標情報テーブル５１５の構成例を説明する。ビジネス指標情報テーブル５１５は、例えば、ビジネス指標ＩＤ５１５１、重要度５１５２、種別５１５３、関連プロセス種別５１５４、および関連機器種別５１５５をデータ項目としたレコードを有する。
【０１１８】
ビジネス指標ＩＤ５１５１は、ビジネス指標に対してユニークに割り当てられたＩＤである。重要度５１５２は、ビジネス指標ＩＤ５１５１で特定されるビジネス指標の重要度を示すスコアである。種別５１５３は、ビジネス指標の種別である。
【０１１９】
関連プロセス種別５１５４は、ビジネス指標ＩＤ５１５１で特定されるビジネス指標に関連するビジネスプロセスの種別である。関連機器種別５１５５は、そのビジネス指標に関連する機器２０の種別である。一般に、いわゆるサイバー保険を運用する企業では、発生し得るリスクに対して“収益への悪影響”や“情報漏洩の懸念”、“社会的影響に係る費用”等、リスクを評価するための指標を所持している。本実施例では、サイバー保険等で使用する指標をそのままで、あるいは変化させて、使用する。リスク評価システム１で独自に定義した指標を用いることもできる。
【０１２０】
図１６を用いて、攻撃シナリオ情報テーブル５１６の構成例を説明する。攻撃シナリオ情報テーブル５１６は、例えば、攻撃シナリオＩＤ５１６１、攻撃手順５１６２、および種別５１６３をデータ項目としたレコードを有する。
【０１２１】
攻撃シナリオＩＤ５１６１は、いわゆるサイバー攻撃の一連のシナリオに対してユニークに割り当てられたＩＤである。攻撃手順５１６２は、攻撃シナリオＩＤ５１６１で特定されるサイバー攻撃の一連の流れの中で、各工程において標的となる脆弱性のＩＤ、または、攻撃により影響を受けるビジネス指標のＩＤのリストである。例えば、脆弱性を狙う攻撃工程の場合、攻撃手順５１６２を構成するＩＤの１つとして、共通脆弱性識別子等の脆弱性ＩＤ５１３１が格納される。“システムの可用性”を阻害する攻撃工程の場合、“システムの可用性指標”に対応したビジネス指標ＩＤが格納される。種別５１６３は、攻撃シナリオの種別である。
【０１２２】
なお、本実施例では、データベース５０が、ユーザ情報テーブル５１０、ネットワーク情報テーブル５１１、機器情報テーブル５１２、脆弱性情報テーブル５１３、ビジネスプロセス情報テーブル５１４、ビジネス指標情報テーブル５１５、攻撃シナリオ情報テーブル５１６を持つ場合を説明する。これに代えて、リスク評価サーバ１０が、上述のテーブル５１１，５１２，５１３，５１４，５１５，５１６を保持してもよい。上述の各テーブルのうち少なくともいずれか複数のテーブルを１つのテーブルとして結合させてもよいし、より正規化されたテーブルであっても良い。
【０１２３】
（情報収集、登録のフロー例）
【０１２４】
以下、脆弱性リスクを評価する方法について説明する。以下で説明するリスク評価方法に対応する各種動作は、例えば、リスク評価サーバ１０のＣＰＵが所定のコンピュータプログラムを実行することで実現される。このコンピュータプログラムは、以下に説明する各処理を行うためのコードから構成されている。以下の説明においては、リスク評価サーバ１０が実行する処理のみならず、他の装置が実行する処理についても適宜説明するものとする。
【０１２５】
図１７は、情報収集サーバ３０が各機器２０からシステム構成情報を収集して、データベース５０に保存する処理を示す。情報収集サーバ３０による管理対象機器２０のシステム構成情報の取得と、システム構成情報をデータベース５０へ保存する処理とは、リスク評価サーバ１０におけるリスク評価処理の実行前に予め実行しておく必要がある。
【０１２６】
システム構成情報と、セキュリティ情報としての脆弱性情報および攻撃シナリオ情報と、ビジネス指標情報とは、機器２０やセキュリティナレッジ公開機関サーバ４０にて随時、追加されたり更新されたりする。そこで、リスク評価のために使用する情報の取得処理と保存処理とは、バックグラウンド処理として実行するのが好ましい。
【０１２７】
機器２０は、例えば所定時間が到来すると、自身のＯＳが備えるスケジューラを呼出して、システム構成情報出力部２２１を起動する（Ｓ１０，Ｓ１３）。
【０１２８】
システム構成情報出力部２２１は、当該機器２０のシステム構成情報を取得し、これを情報収集サーバ３０へ送信する（Ｓ１１，Ｓ１４）。システム構成情報出力部２２１が取得するシステム構成情報は、ネットワーク情報テーブル５１１の情報や機器情報テーブル５１２の情報等である。
【０１２９】
情報収集サーバ３０は、機器２０からシステム構成情報を受信すると、データの新規追加またはデータ更新のリクエストをデータベース５０へ送信する（Ｓ１２，Ｓ１５）。データベース５０は、このリクエストを受けて、テーブルにレコードを追加したり、既存レコードを更新したりする。
【０１３０】
機器情報テーブル５１２を例に挙げて説明する。データベース５０は、リクエストが含むシステム構成情報のうち、例えば機器ＩＤをキーに機器情報テーブル５１２を検索し、該当機器ＩＤに関するレコードがなければ新規にレコードを生成する。データベース５０は、新規に生成したレコードに、リクエストに含まれるシステム構成情報の内容をセットする。
【０１３１】
データベース５０は、リクエスト内のシステム構成情報に含まれている機器ＩＤが機器情報テーブル５１２に既に存在する場合、既存レコードに格納された情報を、リクエストに含まれるシステム構成情報の内容に更新する。以上述べた、データを新規に追加する処理や既存データを更新する処理は、ネットワーク情報テーブル５１１についても同様に行われる。
【０１３２】
ステップＳ１０〜ステップＳ１５の処理は、機器２０毎に実行され、機器２０の数だけ反復される。本実施例では、各機器２０と情報収集サーバ３０との間でクライアントサーバ構成を取っているため、システム構成情報等の取得処理および保存処理を自動化して、効率的な運用を実現する。
【０１３３】
システム構成情報等の自動的な収集処理に代えて、システム管理者等のユーザが、システム構成情報等をクライアント６０を介して情報収集サーバ３０へ入力してもよい。例えば、ユーザは、データファイル形式で機器２０のシステム構成情報を用意し、これを情報収集サーバ３０に入力してもよい。ユーザが手動でシステム構成情報を情報収集サーバ３０へ入力することで、機器２０をエージェントレスで動作させることができる。
【０１３４】
なお、本実施例では、各機器２０は、定期的にシステム構成情報等を情報収集サーバ３０へ送信する場合を述べた。これに代えて、各機器２０のシステム構成情報出力部２２１は、システム構成情報等の変化を自動的に検知し、システム構成情報等が変化したときに情報収集サーバ３０へ送信しても良い。
【０１３５】
図１８を用いて、情報収集サーバ３０が、セキュリティナレッジ公開機関サーバ４０からセキュリティ情報やビジネス指標を収集して、データベース５０に格納する処理を説明する。図１８では、セキュリティナレッジ公開機関サーバをセキュリティナレッジサーバと略記する。本処理は、情報収集サーバ３０がバックグラウンド処理として行う。
【０１３６】
情報収集サーバ３０が、セキュリティナレッジ公開機関サーバ４０から脆弱性情報を収集し、データベース５０へ格納する場合を先に説明する。これと同様に、情報収集サーバ３０は、セキュリティナレッジ公開機関サーバ４０から攻撃シナリオ情報およびビジネス指標情報を収集して、データベース５０へ格納することもできる。
【０１３７】
情報収集サーバ３０は、ＯＳのスケジューラ機能等により、所定時間が到来すると、脆弱性情報収集部３２２を起動する（Ｓ２０）。脆弱性情報収集部３２２は、脆弱性情報の送信要求を、セキュリティナレッジ公開機関サーバ４０に送信する（Ｓ２１）。
【０１３８】
セキュリティナレッジ公開機関サーバ４０は、脆弱性情報の送信要求を受領すると、脆弱性情報出力部４２１から情報収集サーバ３０に脆弱性情報を返信する（Ｓ２２）。
【０１３９】
情報収集サーバ３０は、セキュリティナレッジ公開機関サーバ４０から脆弱性情報を受信すると、脆弱性情報の新規追加または更新のリクエストをデータベース５０へ要求する（Ｓ２３）。
【０１４０】
データベース５０は、このリクエストを受けて、リクエストが含む脆弱性ＩＤをキーに脆弱性情報テーブル５１３を検索し、該当脆弱性ＩＤ等に関するレコードがなければ新規にレコードを生成する。データベース５０は、リクエストに含まれる脆弱性情報のうち、該当項目の値を脆弱性情報テーブル５１３にセットする。
【０１４１】
これに対し、データベース５０は、リクエストに含まれる脆弱性ＩＤが脆弱性情報テーブル５１３に既に存在する場合、その既存レコードに記憶されたデータを、リクエストに含まれている脆弱性情報のうち該当項目のデータで更新する。
【０１４２】
情報収集サーバ３０がセキュリティナレッジ公開機関サーバ４０からビジネス指標情報を収集する場合を説明する。処理内容は同一のため、同じステップ番号を使用する。
【０１４３】
情報収集サーバ３０は、例えば所定時間が到来すると、ビジネス指標情報収集部３２４を起動する（Ｓ２０）。ビジネス指標情報収集部３２４は、ビジネス指標情報の送信要求を、セキュリティナレッジ公開機関サーバ４０に送信する（Ｓ２１）。
【０１４４】
セキュリティナレッジ公開機関サーバ４０は、ビジネス指標情報の送信要求を受領すると、ビジネス指標情報出力部４２３から情報収集サーバ３０に向けて、ビジネス指標情報を返信する（Ｓ２２）。
【０１４５】
情報収集サーバ３０は、セキュリティナレッジ公開機関サーバ４０からビジネス指標情報を受信すると、ビジネス指標情報の新規追加または更新のリクエストをデータベース５０へ要求する（Ｓ２３）。
【０１４６】
データベース５０は、リクエストが含むビジネス指標ＩＤをキーにビジネス指標情報テーブル５１５を検索し、そのビジネス指標ＩＤ等に関するレコードがなければ新規にレコードを生成する。データベース５０は、リクエストが含むビジネス指標情報のうち該当項目の値を、新規に生成したレコードへセットする。
【０１４７】
これに対し、データベース５０は、ビジネス指標情報テーブル５１５において該当ビジネス指標ＩＤ等に関するレコードが既に存在する場合、その既存レコードに記憶されたデータを、リクエストが含むビジネス指標情報のうち該当項目のデータで更新する。
【０１４８】
情報収集サーバ３０がセキュリティナレッジ公開機関サーバ４０から攻撃シナリオ情報を収集する場合を説明する。処理内容は同一のため、同じステップ番号を使用する。
【０１４９】
情報収集サーバ３０は、例えば所定時間が到来すると、攻撃シナリオ情報収集部３２３を起動する（Ｓ２０）。攻撃シナリオ情報収集部３２３は、攻撃シナリオ情報の送信要求を、セキュリティナレッジ公開機関サーバ４０に送信する（Ｓ２１）。
【０１５０】
セキュリティナレッジ公開機関サーバ４０は、攻撃シナリオ情報の送信要求を受領すると、攻撃シナリオ情報出力部４２２から情報収集サーバ３０に、攻撃シナリオ情報を返信する（Ｓ２２）。
【０１５１】
情報収集サーバ３０は、セキュリティナレッジ公開機関サーバ４０から攻撃シナリオ情報を受信すると、攻撃シナリオ情報の新規追加または更新のリクエストをデータベース５０へ要求する（Ｓ２３）。
【０１５２】
データベース５０は、リクエストが含むビジネス指標ＩＤをキーに攻撃シナリオ情報テーブル５１６を検索し、そのビジネス指標ＩＤ等に関するレコードがなければ新規にレコードを生成する。データベース５０は、リクエストが含む攻撃シナリオ情報のうち該当項目の値を、新規に生成したレコードへセットする。
【０１５３】
これに対し、データベース５０は、攻撃シナリオ情報テーブル５１６において該当ビジネス指標ＩＤ等に関するレコードが既に存在する場合、その既存レコードに記憶されたデータを、リクエストが含む攻撃シナリオ情報のうち該当項目のデータで更新する。
【０１５４】
上述のように、情報収集サーバ３０は、セキュリティナレッジ公開機関サーバ４０から、脆弱性情報、ビジネス指標情報および攻撃シナリオ情報を自動的に取得して、データベース５０へ保存する。このため、情報収集処理および情報保存処理を効率的に運用することができる。但し、セキュリティナレッジ公開機関サーバ４０と情報収集サーバ３０との間での情報授受の手法は、セキュリティナレッジ公開機関サーバ４０の仕様に基づくものとする。
【０１５５】
情報収集サーバ３０は、脆弱性情報収集部３２２、攻撃シナリオ情報収集部３２３、ビジネス指標情報収集部３２４を略同時に起動させて、脆弱性情報、攻撃シナリオ情報およびビジネス指標情報をセキュリティナレッジ公開機関サーバ４０から収集してもよいし、あるいは、脆弱性情報収集部３２２，攻撃シナリオ情報収集部３２３，ビジネス指標情報収集部３２４をそれぞれ別のタイミングで起動させて各情報を収集してもよい。
【０１５６】
（初期画面表示処理のフロー例）
【０１５７】
図１９のフローチャートを用いて、脆弱性リスクによるビジネスへの影響を評価するための初期画面の表示処理を説明する。
【０１５８】
クライアント６０は、ユーザからの指示を入出力部６３０から受け付けると、初期画面表示要求部６２２により、リスク評価サーバ１０へ接続リクエストを送信する（Ｓ３０）。リスク評価サーバ１０の初期画面表示処理部１２１は、クライアント６０へ出力すべき初期画面の表示データを、例えばデータベース５０に要求して取得する（Ｓ３１）。
【０１５９】
ここで、リスク評価サーバ１０の外部記憶装置７３には、例えば、リスク評価方法の各手順に対応する所定画面の雛形データが予め格納されているものとする。リスク評価サーバ１０は、クライアント６０からの要求に応じて、該当手順に対応する画面の雛形データを外部記憶装置７３から読み出し、読み出した雛形データにデータベース５０から取得したデータを設定して、クライアント６０へ出力するものとする。
【０１６０】
リスク評価サーバ１０が、ステップＳ３１にてデータベース５０から取得するデータ、すなわち画面の雛形データに設定するデータは、例えば、接続リクエスト（Ｓ３０）が含むユーザＩＤ５１０１をキーにユーザ情報テーブル５１０、ビジネスプロセス情報テーブル５１４のそれぞれから得られるデータである。具体的には、そのデータとは、ユーザＩＤ５１０１に関連付けられたユーザ情報５１０２、ビジネスリスト５１０３、および、このビジネスリスト５１０３が含むビジネスプロセスＩＤに関連付けられたビジネスプロセスＩＤ５１４１、機能実装機器ＩＤ５１４２、重要度５１４３、種別５１４４、ビジネスプロセス図示情報５１４５、その他情報５１４６等である。
【０１６１】
本実施例では、クライアント６０からの接続リクエストにユーザＩＤ５１０１が含まれている例を説明した。このほかの例として、リスク評価サーバ１０は接続リクエストに対して一般的なユーザ認証処理等を実行し、その認証処理等を通じてユーザＩＤ５１０１を特定してもよい。一般的なユーザ認証処理等とは、例えば、ＩＤおよびパスワードの組の真正性を検証する本人認証等である。ユーザ認証処理等の形態は限定しない。
【０１６２】
図２０は、リスク評価の初期画面Ｇ１の例を示す。リスク評価サーバ１０の初期画面表示処理部１２１は、上述のように、データベース５０のユーザ情報テーブル５１０およびビジネスプロセス情報テーブル５１４から得たデータを、初期画面の雛形データにセットして画面データを生成する。初期画面表示処理部１２１が画面データをクライアント６０へに返信すると、クライアント６０の入出力部６３０に図２０に示す初期画面Ｇ１が表示される。
【０１６３】
初期画面Ｇ１は、例えば、ユーザ名の情報を表示するユーザ情報領域ＧＰ１０と、ビジネスリストの情報を表示するビジネスリスト表示領域ＧＰ１１と、設計保存ボタンＧＰ１２と、リスク評価ボタンＧＰ１３を含む。
【０１６４】
ビジネスリスト表示領域ＧＰ１１は、ビジネスプロセス図表示領域ＧＰ１５と、ビジネスプロセステーブル表示領域ＧＰ１６を含む。ビジネスプロセス図表示領域ＧＰ１５は、画面Ｇ１の左側に表示されたビジネスリストのうち、チェックボックスＧＰ１４でチェックがされたビジネスについて、ビジネスプロセス図表示領域ＧＰ１５およびビジネスプロセステーブル表示領域ＧＰ１６を表示する。
【０１６５】
ビジネスプロセス図表示領域ＧＰ１５は、ビジネスプロセス図示情報５１４５に基づいて、アクティビティ図等のビジネスプロセス図を表示する領域である。ビジネスプロセステーブル表示領域ＧＰ１６は、機能実装機器ＩＤ５１４２、重要度５１４３、種別５１４４、ビジネスプロセス図示情報５１４５、その他情報５１４６を、テーブルとして表示する領域である。
【０１６６】
詳細は後述するが、ユーザにより設計保存ボタンＧＰ１２が押下されると、ビジネスプロセス情報は保存される。ユーザによりリスク評価ボタンＧＰ１３が押下されると、その時点でチェックボックスＧＰ１４にチェックが入っているビジネスに関して、リスク評価を開始する。
（ビジネスプロセス情報保存処理のフロー例）
【０１６７】
図２１を用いて、ビジネスプロセス情報を保存する処理を説明する。初期画面Ｇ１において、ユーザが設計保存ボタンＧＰ１２を押下すると、リスク評価サーバ１０はビジネスプロセス情報を保存する。
【０１６８】
まず、クライアント６０は、ユーザが入出力部６３０を介して入力した、ＸＭＬ（Extensible Markup Language）等のファイル形式のビジネスプロセス情報を受け付けると、リスク評価サーバ１０へビジネスプロセス情報の保存を要求する（Ｓ８０）。
【０１６９】
リスク評価サーバ１０は、クライアント６０からビジネスプロセス情報を受信すると、データベース５０に対し、データの新規追加またはデータ更新のリクエストを送信する（Ｓ８１）。
【０１７０】
データベース５０は、リスク評価サーバ１０からのリクエストを受けると、そのリクエストが含むビジネスプロセス情報のうち、例えばビジネスプロセスＩＤをキーにビジネスプロセス情報テーブル５１４を検索する。データベース５０は、そのビジネスプロセスＩＤに対応するレコードが見つからない場合、新規レコードを生成し、リクエストが含むビジネスプロセス情報のうち該当項目の値をセットする。
【０１７１】
データベース５０は、ビジネスプロセス情報テーブル５１４において該当ビジネスプロセスＩＤに対応するレコードが既に存在する場合、その既存レコードにおいて、リクエストが含むビジネスプロセス情報のうち該当項目の値でデータを更新する。
【０１７２】
データベース５０は、接続リクエストが含むユーザＩＤ５１０２をキーにユーザ情報テーブル５１０を検索し、該当ユーザＩＤに対応するレコードのビジネスリスト５１０３に、クライアント６０から提供されたビジネスプロセス情報に含まれるビジネスプロセスＩＤを追加する。
（リスク評価処理のフロー例（メインフロー））
【０１７３】
図２２を用いて、ビジネスリスクを評価する処理を説明する。ユーザが初期画面Ｇ１のリスク評価ボタンＧＰ１３を押下すると、リスク評価サーバ１０はビジネスリスク評価処理を実行する。
【０１７４】
クライアント６０は、ユーザが入出力部６３０を介して指定した、リスク評価の対象ビジネスを受け付ける（Ｓ９０）。本実施例では、クライアント６０が対象ビジネスの選択をユーザから受け付けるインタフェースとして、図２０の初期画面Ｇ１におけるチェックボックスＧＰ１４を使用する。
【０１７５】
クライアント６０は、リスク評価サーバ１０に対し、ビジネスリスク表示要求を送信する（Ｓ９１）。この送信処理は、例えば初期画面Ｇ１のリスク評価ボタンＧＰ１３がユーザによりクリックされたことをトリガーとして実行される。送信されるビジネスリスク表示要求には、初期画面Ｇ１のチェックボックスＧＰ１４で選択されたビジネスを特定するビジネスＩＤが含まれる。以下、リスク評価の対象のビジネスを、対象ビジネスと呼ぶ場合がある。
【０１７６】
リスク評価サーバ１０は、ビジネスリスク表示要求を受信すると、データベース５０に格納された各テーブル５１１〜５１６から情報をそれぞれ取得する。具体的には、リスク評価サーバ１０は、ビジネスリスク表示要求に含まれる情報をキーにして、ネットワーク情報テーブル５１１、機器情報テーブル５１２、脆弱性情報テーブル５１３、ビジネスプロセス情報テーブル５１４、ビジネス指標情報テーブル５１５、および攻撃シナリオ情報テーブル５１６を参照し、それぞれの情報を取得する（Ｓ９２）。
【０１７７】
本実施例では、リスク評価サーバ１０が、ステップＳ９２にて、脆弱性リスクの評価と表示に必要な情報をデータベース５０から一括取得して、メモリ７２に展開する場合を説明する。これに限らず、脆弱性リスクの表示処理や評価処理で必要となったタイミングで、必要な情報をデータベース５０から読み出してもよい。
【０１７８】
リスク評価サーバ１０の脆弱性検出処理部１２４は、ステップＳ９２で得た情報に基づいて、情報処理システムを構成する各機器２０が持つ脆弱性を検出する（Ｓ９３）。例えば、脆弱性検出処理部１２４は、機器情報テーブル５１２のソフトウェアリスト５１２５と、脆弱性情報テーブル５１３の関連ソフトウェアリスト５１３２とを照合することで、機器２０に関連する脆弱性を検索する。
【０１７９】
リスク評価サーバ１０の機器リスク評価モデル構築処理部１２５は、脆弱性検出処理（Ｓ９３）の結果とステップＳ９２で得た情報とに基づいて、機器リスク評価モデルを構築する（Ｓ９４）。
【０１８０】
機器リスク評価モデル構築処理（Ｓ９４）では、評価対象の情報処理システムの構成やネットワークトポロジに基づいてリスクを評価するために、各機器２０と各機器２０の脆弱性との関係性を表した有向非循環グラフを、対応する所定のグラフ理論に基づくアルゴリズムを用いることで、機器リスク評価モデルとして生成する。
【０１８１】
そのアルゴリズムは、後述の図２３に示すフローチャートに対応するコンピュータプログラムが実現する。そのコンピュータプログラムは、リスク評価サーバ１０の機器リスク評価モデル構築処理部１２５が保持する。
【０１８２】
上述の有向非循環グラフとは、任意のオブジェクトをノードとし、これらノード間をアークと呼ばれる一方向性の矢印で接続したグラフである。有向非循環グラフでは、ノードの間に親ノードと子ノードの関係がある。子ノードから、親ノードを含む先祖のノードに向けてアークを接続することは許容されない。一般的に、子ノードから親ノードに向けたアークの接続関係がないことを“ループがない”と表現する。
【０１８３】
機器リスク評価モデル構築処理部１２５は、対象ビジネスを実現する情報処理システムを構成する各機器２０と、各機器２０が保有する脆弱性とを、それぞれをノードとしたグラフモデルを構築する。脆弱性を保有する機器２０とその脆弱性との関係性を、アークとして接続する。
【０１８４】
機器リスク評価モデル構築処理部１２５は、ネットワークトポロジから、機器間での攻撃メッセージの到達性を判断する。機器リスク評価モデル構築処理部１２５は、或る機器２０Ａから他の機器２０Ｂへネットワークを介して攻撃メッセージが到達する可能性がある場合、機器２０Ａを表すノードから機器２０Ｂが保有する脆弱性を表すノードへ向けてアークを接続する。機器リスク評価モデル構築処理部１２５は、前述のようにノード間を接続することで、機器間の攻撃経路を表すグラフモデル、すなわち機器リスク評価モデルを構築することができる。ここで、機器間の関係を説明するために、一つの機器に符号２０Ａを付し、他の一つの機器に符号２０Ｂを付す。図２６に示す有向非循環グラフ上で各機器を区別する場合は、機器ノードに付与されたＮ１，Ｎ２などの符号を用いる。
【０１８５】
有向非循環グラフとして機器リスク評価モデルを構築することにより、ベイジアンネットワーク（Bayesian Network）と呼ばれる確率推論手法を用いて定量的に、脆弱性リスクを評価することができる。
【０１８６】
ベイジアンネットワークは、詳細は後述するが、ある事象に関する原因と結果との関係を複数組み合わせることにより、原因と結果が互いに影響を及ぼしながら発生する現象をネットワーク図と確率という形で可視化する推論技術である。ベイジアンネットワークは、過去に発生した原因と結果との積み重ねを統計的に処理する。これにより、ベイジアンネットワークは、所定の結果に繋がる原因や、或る原因から発生する結果を、確率をもって予測することができる。
【０１８７】
ベイジアンネットワークでは、実際に発生した事例のデータセットを学習データとすることで、確率推論に関わるパラメータを最適化することができる。リスク評価サーバ１０は、メモリ７２ないし外部記憶装置７３において、このベイジアンネットワークに対応する推論プログラムと学習プログラムとを予め保持しており、必要に応じて実行可能であるものとする。
【０１８８】
図２３を用いて、機器リスク評価モデル構築処理（Ｓ９４）の詳細を説明する。図２３の説明では、図２６に例示する、有向非循環グラフとして構成されるビジネス指標リスク評価モデルＭ１を適宜参照する。このビジネス指標リスク評価モデルＭ１は、ビジネス指標リスク評価モデル構築処理（Ｓ９５）で生成される。ビジネス指標リスク評価モデル構築処理は、機器リスク評価モデルを拡張する処理であり、詳細は後述する。
【０１８９】
リスク評価サーバ１０の機器リスク評価モデル構築処理部１２５は、攻撃起点を表すノードを１つ配置する（Ｓ１１０）。ここで、機器リスク評価モデルの描画要素（アイコン、アーク等の表示要素）を画面に配置する処理は、リスク評価サーバ１０が予め備える有向非循環グラフの描画プログラムによって実現される。有向非循環グラフの描画プログラムは、所定の描画平面内にて、ノードやアークに対応した描画要素（例：アイコンや線分等）を配置する。ビジネス指標リスク評価モデルＭ１を画面に描画する場合も、上述の描画プログラムにより実現される。なお、以下の説明では、機器リスク評価モデル構築処理部１２５を「モデル構築処理部１２５」と略記する場合がある。
【０１９０】
ステップＳ１１０を実行した時点では、有向非循環グラフにおいて、攻撃起点ノードＭＰ１０のみが配置される。
【０１９１】
以下では、脆弱性についてのノードを脆弱性ノードと、機器についてのノードを機器ノードと、ビジネスプロセスについてのノードをビジネスプロセスノードと、ビジネス指標についてのノードをビジネス指標ノードと、呼ぶ。したがって、脆弱性Ｖａ１のノードを脆弱性ノードＶａ１と、機器Ｎ１のノードを機器ノードＮ１と、ビジネスプロセスＢＰ１のノードをビジネスプロセスノードＢＰ１と、ビジネス指標ＢＩａのノードをビジネス指標ノードＢＩａと呼ぶ。
【０１９２】
モデル構築処理部１２５は、対象ビジネスを構成する機器２０を機器ノードＮ１〜Ｎ５として画面上に配置する（Ｓ１１１）。モデル構築処理部１２５は、ユーザ情報テーブル５１０のビジネスリスト５１０３から評価対象のビジネスＩＤに関連するビジネスプロセスＩＤを特定し、このビジネスプロセスＩＤをキーとして、ビジネスプロセス情報テーブル５１４の機能実装機器ＩＤ５１４２を検索する。これにより、モデル構築処理部１２５は、対象ビジネスに関連する機器２０を特定することができ、画面上に配置できる。
【０１９３】
ステップＳ１１１を実行した結果、図２６の有向非循環グラフにおいて、全ての機器ノードＮ１〜Ｎ５等が配置される。
【０１９４】
モデル構築処理部１２５は、対象ビジネスを構成する機器２０に関連する脆弱性を脆弱性ノードＶａ１，Ｖａ２，Ｖｂ１，Ｖｂ２，Ｖｃ１，Ｖｄ１として画面上に配置する（Ｓ１１２）。モデル構築処理部１２５は、図２２で述べた脆弱性検出処理（Ｓ９３）の結果から、各機器２０に関連する脆弱性を特定する。ステップＳ１１２が実行されると、図２６の有向非循環グラフにおいて、全ての脆弱性ノードＶａ１，Ｖａ２，Ｖｂ１，Ｖｂ２，Ｖｃ１，Ｖｄ１が画面上に配置される。
【０１９５】
評価モデル構築処理部１２５は、脆弱性ノードからその脆弱性を保有する機器２０へ向けてアークを接続する（Ｓ１１３）。ステップＳ１１３が実行されると、図２６の有向非循環グラフにおいて、脆弱性ノードから機器ノードへ向かうアークＭＰ１３等が全て配置される。
【０１９６】
モデル構築処理部１２５は、機器ノードから他の機器が保有する脆弱性のノードへ向かうアークを接続する（Ｓ１１４）。モデル構築処理部１２５は、ネットワーク情報テーブル５１１のネットワーク関連情報に基づき、攻撃メッセージの到達性を判断する。モデル構築処理部１２５は、ある機器２０Ａから他の機器２０Ｂへネットワークを介して攻撃メッセージが到達する可能性がある場合、機器２０Ａを表すノードから機器２０Ｂが保有する脆弱性を表すノードへ向けてアークを接続する。ステップＳ１１４が実行されると、図２６の有向非循環グラフにおいて、機器ノードから脆弱性ノードへ向かうアークＭＰ１４等が全て配置される。
【０１９７】
モデル構築処理部１２５は、攻撃起点ノードから脆弱性ノードへ向けてアークを接続する（Ｓ１１５）。モデル構築処理部１２５は、ネットワーク情報テーブル５１１の外部接続性５１１４と、機器２０の所属しているネットワークセグメントリスト１１０３（機器情報テーブル５１２）とに基づいて、外部からの攻撃メッセージが到達しうる機器２０を特定する。モデル構築処理部１２５は、攻撃起点ノードから、特定した機器２０の保持する脆弱性のノードへ向けてアークを接続する。ステップＳ１１５が実行されると、図２６の有向非循環グラフにおいて、攻撃起点ノードから脆弱性ノードへ向かうアークＭＰ１５等が全て配置される。
【０１９８】
モデル構築処理部１２５は、攻撃起点ノードから各ノードへのホップ数をそれぞれ計算する（Ｓ１１６）。本実施例では、アークの方向性に従い、攻撃起点ノードから各ノードに至る最短経路において、その過程で中継したノード数をホップ数としている。図２６の例では、機器ノードＮ４のホップ数は”１”である。機器ノードＮ５のホップ数は”３”である。
【０１９９】
モデル構築処理部１２５は、ステップＳ１１６で計算したホップ数に基づき、任意のノードから所定のホップ数以下であるノードへのアークを切断する（Ｓ１１７）。ステップＳ１１７を実行することで、上述した“ループがない”グラフモデルへ近似することができる。
【０２００】
モデル構築処理部１２５は、上述のステップＳ１１０〜Ｓ１１７を実行することで、機器リスク評価モデルとして有向非循環グラフを構築する。図２６は、機器リスク評価モデルをビジネス上の観点で拡張したビジネス指標リスク評価モデルＭ１を示す。基本構造は共通するので、機器リスク評価モデルに符号Ｍ１を使用することもできる。
【０２０１】
図２２に戻る。機器リスク評価モデル構築処理（Ｓ９４）の終了後、リスク評価サーバ１０のビジネス指標リスク評価モデル構築処理部１２６は、機器リスク評価モデルとステップＳ９２で得た情報とに基づいて、ビジネス指標リスク評価モデルＭ１を構築する処理を実行する（Ｓ９５）。
【０２０２】
ビジネス指標リスク評価モデル構築処理（Ｓ９５）では、評価対象のビジネス設計に基づいてリスクを評価するため、各機器２０、各ビジネスプロセス、各ビジネス指標の関係性を示す描画要素（表示要素）を機器リスク評価モデルへ追加する。これにより、ビジネス指標リスク評価モデル構築処理部１２６は、有向非循環グラフの構造を持つビジネス指標評価モデルを生成する。
【０２０３】
図２４のフローチャートを用いて、ビジネス指標リスク評価モデル構築処理（Ｓ９５）の詳細を説明する。説明の必要上、図２６に例示する、ビジネス指標リスク評価モデルＭ１を適宜参照する。
【０２０４】
リスク評価サーバ１０のビジネス指標リスク評価モデル構築処理部１２６は、ユーザ情報テーブル５１０のビジネスリスト５１０３を用いて、評価対象ビジネスのビジネスプロセスＩＤを特定し、特定されたビジネスプロセスＩＤに対応するビジネスプロセスノードを画面へ配置する（Ｓ１２０）。
【０２０５】
ステップＳ１２０が実行されると、図２６の有向非循環グラフにおいて、ビジネスプロセスノードＭＰ１６（ＢＰ１，ＢＰ２）が配置された状態となる。図中では、ビジネスプロセスを「ＢＰ」と略記している。なお、以下では、ビジネス指標リスク評価モデル構築処理部１２６を、評価モデル構築処理部１２６と略記する場合がある。
【０２０６】
評価モデル構築処理部１２６は、ビジネスプロセス情報テーブル５１４の機能実装機器ＩＤ５１４２からビジネスプロセスに関連する機器２０を特定し、特定した機器のノードから関連するビジネスプロセスノードへアークを接続する（Ｓ１２１）。ステップＳ１２１が実行されると、図２６の有向非循環グラフにおいて、機器ノードからビジネスプロセスノードへ向かうアークＭＰ１７等が全て配置される。
【０２０７】
次に、評価モデル構築処理部１２６は、ビジネス指標ノードを画面上に配置する（Ｓ１２２）。評価モデル構築処理部１２６は、対象ビジネスを実現する情報処理システムに関係するビジネス指標を特定し、画面に配置する。具体的には、評価モデル構築処理部１２６は、機器情報テーブル５１２の種別５１２４とビジネスプロセス情報テーブル５１４の種別５１４４とをキーとして、ビジネス指標情報テーブル５１５を検索することで、対象ビジネスに関連するビジネス指標を特定する。ステップＳ１２２が実行されると、図２６の有向非循環グラフにおいて、ビジネス指標ノードＭＰ１８（ＢＩａ，ＢＩｂ，ＢＩｃ１，ＢＩｃ２）が配置される。図中では、ビジネス指標を「ＢＩ」と表記している。
【０２０８】
評価モデル構築処理部１２６は、機器情報テーブル５１２の種別５１２４とビジネス指標情報テーブル５１５の関連機器種別５１５５とに基づいて、機器ノードから関連するビジネス指標ノードへアークを接続する（Ｓ１２３）。ステップＳ１２３が実行されると、図２６の有向非循環グラフにおいて、機器ノードからビジネス指標ノードへ向かうアークＭＰ１９等が全て配置される。
【０２０９】
評価モデル構築処理部１２６は、ビジネスプロセス情報テーブル５１４の種別５１４４とビジネス指標情報テーブル５１５の関連プロセス種別５１５４とに基づいて、ビジネスプロセスノードから関連するビジネス指標ノードへアークを接続する（Ｓ１２４）。ステップＳ１２４が実行されると、図２６の有向非循環グラフにおいて、ビジネスプロセスノードからビジネス指標ノードへ向かうアークＭＰ２０等が全て配置される。
【０２１０】
以上のステップＳ１２０〜Ｓ１２４の処理により、ビジネス指標リスク評価モデルＭ１が有向非循環グラフ構造を持って構築される。
【０２１１】
図２２に戻る。ビジネス指標リスク評価モデル構築処理（Ｓ９５）の終了後、リスク評価サーバ１０の条件付き確率表設定処理部１２７は、ステップＳ９２で得た情報に基づいて、ビジネス指標リスク評価モデルの各ノードに条件付き確率表を設定する処理を実行する（Ｓ９６）。条件付き確率表設定処理（Ｓ９６）では、図２７〜図３０に例示する条件付き確率表を設定する。
【０２１２】
図２７を用いて、条件付き確率表設定処理（Ｓ９６）において、機器ノードに設定する条件付き確率表１３０の例を説明する。一般的に、ベイジアンネットワークによる確率推論を実施するためには、各ノードに対して、親ノードがとり得る状態すべての組み合わせに対して、条件付確率を設定する必要がある。
【０２１３】
本実施例では、各ノードがとり得る状態を”侵害された”、あるいは”侵害されていない”の２値としている。例えば図２７の機器ノードＮ２の場合、親ノードは、脆弱性ノードＶｃ１と脆弱性ノードＶｄ１の２つである。したがって、２つの親ノードの取り得る状態の組み合わせは、４パターンとなる。条件付き確率表設定処理部１２７は、それら４パターンについて条件付き確率を設定する。もしも親ノードの数が３つの場合、それら親ノードの取り得る状態の組合せパターンの数は、”８”となる。
【０２１４】
図２７では、列名１３０１に親ノードがとり得る状態の組み合わせを記載し、行名１３０２に対象ノードのとり得る状態を記載する。取り得る状態には、”ＴＲＵＥ”と”ＦＡＬＳＥ”がある。”ＴＲＵＥ”は、その親ノードが攻撃された状態を示す。”ＦＡＬＳＥ”は、その親ノードが攻撃されていない状態を示す。
【０２１５】
図２７の要素１３０３＿１〜１３０３＿３，１３０４には、条件付確率を記載する。図２８〜図３０の条件付き確率表でも同様に、列名には親ノードのとり得る状態の組合せを記載し、行名には対象ノードのとり得る状態を、条件付き確率の値で示す。
【０２１６】
機器ノードの条件付き確率表１３０の要素１３０３＿１〜１３０３＿３の値は、脆弱性情報テーブル５１３の機器影響確率５１３４に基づいて設定される。
【０２１７】
要素１３０３＿１では、親ノードである脆弱性ノードＶｃ１，Ｖｄ１がいずれも”ＴＲＵＥ”であるため、脆弱性ノードＶｃ１の機器影響確率５１３４と脆弱性ノードＶｄ１の機器影響確率５１３４のうち、いずれか大きい方の値が設定される。
【０２１８】
要素１３０３＿２では、親ノードである脆弱性ノードＶｃ１のみが”ＴＲＵＥ”であるため、脆弱性ノードＶｃ１の機器影響確率５１３４が設定される。同様に、要素１３０３＿３では、脆弱性ノードＶｄ１の機器影響確率５１３４が設定される。
【０２１９】
要素１３０４では、親ノードである脆弱性ノードＶｃ１，Ｖｄ１のいずれもが”ＦＡＬＳＥ”であるため、対象ノードが必ず”ＦＡＬＳＥ”の状態をとるように、最大値（ここでは”１”。以下同様）を設定する。
【０２２０】
図２８を用いて、条件付き確率表設定処理（Ｓ９６）における、脆弱性ノードに設定する条件付き確率表１３１の例を説明する。
【０２２１】
脆弱性ノードの条件付き確率表１３１の要素１３１１の値は、脆弱性情報テーブル５１３の脆弱性攻撃確率５１３３に基づいて設定される。要素１３１１＿１〜１３１１＿３は、親ノードである機器のいずれかが”ＴＲＵＥ”である場合、対象の脆弱性に脆弱性攻撃確率５１３３が設定される。要素１３１２は、親ノードの全てが”ＦＡＬＳＥ”であるため、対象ノードが必ず”ＦＡＬＳＥ”の状態をとるように最大値が設定される。
【０２２２】
図２９を用いて、条件付き確率表設定処理（Ｓ９６）における、ビジネスプロセスノードに設定する条件付き確率表１３２の例を説明する。
【０２２３】
ビジネスプロセスノードの条件付き確率表１３２の要素１３２１の値は、ビジネスプロセス情報テーブル５１４の重要度５１４３の値を”０”以上、かつ”１”未満の値に正規化して、設定される。
【０２２４】
要素１３２１は、親ノードのいずれかが”ＴＲＵＥ”である場合、対象のビジネスプロセスの重要度５１４３に基づいた値が設定される。要素１３２２は、親ノード全てが”ＦＡＬＳＥ”であるため、対象ノードが必ず”ＦＡＬＳＥ”の状態をとるように最大値が設定される。
【０２２５】
図３０を用いて、条件付き確率表設定処理（Ｓ９６）における、ビジネス指標ノードに設定する条件付き確率表１３３の例を説明する。ビジネス指標ノードの条件付き確率表１３３の要素１３３１の値は、ビジネス指標情報テーブル５１５のビジネス指標の重要度５１５２の値を”０”以上、かつ”１”未満の値に正規化して、設定される。
【０２２６】
要素１３３１は、親ノードのいずれかが”ＴＲＵＥ”である場合、対象のビジネス指標の重要度５１５２に基づいた値が設定される。要素１３３２は、親ノード全てが”ＦＡＬＳＥ”であるため、対象ノードが必ず”ＦＡＬＳＥ”の状態をとるように最大値が設定される。
【０２２７】
図２２に戻る。条件付き確率表設定処理（Ｓ９６）の終了後、リスク評価サーバ１０の学習データ生成処理部１２８は、ビジネス指標リスク評価モデルとステップＳ９２で得た情報とに基づいて、攻撃シナリオ情報から機械学習のための学習データを生成する処理を実行する（Ｓ９７）。
【０２２８】
学習データ生成処理（Ｓ９７）では、セキュリティナレッジ公開機関サーバ４０等で配信する抽象化された攻撃シナリオ情報に沿った攻撃が、評価対象の情報処理システムに適用可能であるか判定し、攻撃の可能性のあるノードを侵害ノードとして抽出する。すなわち、学習データ生成処理部１２８は、攻撃シナリオ情報に基づく攻撃を、対象ビジネスを実現する情報処理システムに含まれる機器２０に対して、実施できないか判定するために、ビジネス指標リスク評価モデルの最上位ノードから順に走査する。これにより、学習データ生成処理部１２８は、攻撃手順に沿って侵害され得るるノードを侵害ノードとして洗い出し、そのリストを学習データとする。
【０２２９】
図２５を用いて、学習データ生成処理（Ｓ９７）を説明する。図２６に例示する、ビジネス指標リスク評価モデルＭ１と、図３１に例示する、侵害ノードのリストとを適宜参照する。
【０２３０】
リスク評価サーバ１０の学習データ生成処理部１２８は、攻撃シナリオ情報テーブル５１６から攻撃シナリオ情報を処理対象として１つ選択する（Ｓ１３０）。学習データ生成処理部１２８は、対象の攻撃シナリオ情報の攻撃手順５１６２に沿った攻撃経路がビジネス指標リスク評価モデルＭ１に存在するか探索するため、開始地点として探索位置ｐに攻撃起点を設定する（Ｓ１３１）。以下、学習データ生成処理部１２８を、学習処理部１２８と略記する場合がある。
【０２３１】
学習データ生成処理部１２８は、攻撃手順５１６２の最初の攻撃に対してステップＳ１３３〜Ｓ１３７の処理を実行し、攻撃手順５１６２の各工程が実行可能か判定する（Ｓ１３２）。図３１の攻撃手順５１６２では、最初の工程である“脆弱性Ｖａ（の攻撃）”５１７１＿１について判定する。
【０２３２】
学習データ生成処理部１２８は、探索位置ｐのノードを起点として、調査対象となるノードを特定する（Ｓ１３３）。探索対象を特定する処理Ｓ１３３では、探索位置ｐからのホップ数が”３”以下であるノードを探索対象とする。
【０２３３】
図２６のビジネス指標リスク評価モデルＭ１では、探索位置ｐが攻撃起点ノードの場合、“脆弱性ノードＶａ１” 、“脆弱性ノードＶａ２” 、“脆弱性ノードＶｃ１” 、“脆弱性ノードＶｄ１”、“脆弱性ノードＶｂ２”、“機器ノードＮ１”、“機器ノードＮ２”、“機器ノードＮ４”、“機器ノードＮ５”、“ビジネスプロセスノードＢＰ１”、“ビジネス指標ノードＢＩａ”が探索対象となる。
【０２３４】
学習データ生成処理部１２８は、探索位置ｐから直接攻撃できるノードだけでなく、間接的に攻撃可能なノードも探索対象としている。すなわち、学習データ生成処理部１２８は、ホップ数に基づいて探索対象となるノードを特定することで、間接的に攻撃できるノードも探索対象としている。
【０２３５】
セキュリティナレッジ公開機関サーバ４０等で公開されている攻撃シナリオ情報は、個々の情報処理システムに則したものではなく、抽象化されている。したがって、公開されている攻撃シナリオ情報に示された攻撃手順通りでは、攻撃が成功しないケースが多い。このため、攻撃シナリオ情報そのままでは、学習データとして利用できないものが多くなってしまう。
【０２３６】
本実施例では、間接的に攻撃できるノードも探索対象に含めるため（Ｓ１３３）、攻撃手順通りでは学習できない攻撃シナリオであっても、学習データとして利用できる可能性が増す。
【０２３７】
学習データ生成処理部１２８は、探索対象のノードに攻撃標的となるものが存在するか探索する（Ｓ１３４）。図３１の攻撃手順５１６２の最初の工程５１７１＿１では、標的が“脆弱性Ｖａ１”となっている。そこで、学習データ生成処理部１２８は、探索対象ノードに脆弱性Ｖａ１を表すノードが存在するか探索する。これにより、学習データ生成処理部１２８は、“脆弱性ノードＶａ１”を発見する。
【０２３８】
続いて、学習データ生成処理部１２８は、探索対象のノードに攻撃標的となるものと同種のノードが存在するか探索する（Ｓ１３５）。ステップＳ１３５は、機器情報テーブル５１２の種別５１２４と、脆弱性情報テーブル５１３の種別５１３５と、ビジネスプロセス情報テーブル５１４の種別５１４４と、ビジネス指標情報テーブル５１５の種別５１５３とに基づいて実行される。
【０２３９】
図３１の例で説明する。攻撃手順５１６２の最初の工程５１７１＿１では、標的が“脆弱性Ｖａ”となっているため、学習データ生成処理部１２８は、探索対象ノードに脆弱性Ｖａと同種のノードがあるか探索する。これにより、“脆弱性ノードＶａ２”が発見される。なお、本実施例では、脆弱性Ｖａ１と脆弱性Ｖａ２とは同種の脆弱性である。
【０２４０】
本実施例の学習データ生成処理部１２８は、攻撃手順では標的となる脆弱性の種別と同一の種別である他の脆弱性や、攻撃手順では標的となるビジネス指標の種別と同一の種別である他のビジネス指標も、攻撃対象として扱う。
【０２４１】
セキュリティナレッジ公開機関サーバ４０等で公開される脆弱性には、類似した特性を持つものが多く、ほぼ同様の攻撃手順でありながら異なる脆弱性を攻撃するケースが存在する。本実施例では、ステップＳ１３５を実行するため、１つの攻撃シナリオから派生する応用攻撃についても学習することができる。
【０２４２】
学習データ生成処理部１２８は、探索位置ｐのノードからステップＳ１３３とステップＳ１３４で発見されたノードに至る経路上のノードを、侵害ノードとしてリストアップする（Ｓ１３６）。複数の経路が存在する場合は、それぞれ異なるリストとする。
【０２４３】
図３１の攻撃手順５１６２の最初の工程５１７１＿１では、“攻撃起点ノード”から“脆弱性ノードＶａ１”へ至る経路上のノードと、”攻撃起点ノード”から“脆弱性ノードＶａ２”へ至る経路上のノードとが、それぞれリストアップされる。前者の経路からは、“脆弱性ノードＶａ１”（５１７１＿１）、後者の経路からは、“脆弱性ノードＶａ２”（５１７１＿２）が侵害ノードとして、それぞれ別のリストが生成される。
【０２４４】
このように、本実施例における学習データ生成処理部１２８は、侵入経路によって異なる侵害ノードリストを作成する（Ｓ１３６）。これは、後述する学習データ構造への変換処理（Ｓ１４０）において、それぞれの侵入経路を異なる学習データとするためである。これにより、後述する条件付き確率表学習処理Ｓ９８において、全ての経路を学習することが可能になる。
【０２４５】
学習データ生成処理部１２８は、ステップＳ１３３とステップＳ１３４で発見されたノードのうち、脆弱性ノードが有る場合、その脆弱性を保有する機器２０のノード全てを、次回の探索位置ｐ’として格納する（Ｓ１３７）。
【０２４６】
図２６の例では、ステップＳ１３３とステップＳ１３４でそれぞれ、脆弱性ノードＶａ１と脆弱性ノードＶａ２が発見されるため、その脆弱性を保有する機器ノードＮ１と機器ノードＮ４とが次回の探索位置ｐ’として格納される。このようにステップＳ１３７では、次の攻撃工程の探索開始位置を更新する。
【０２４７】
以上、ステップＳ１３３〜ステップＳ１３７の処理により、図３１の例では、攻撃手順５１６２の最初の攻撃工程、“脆弱性Ｖａ（の攻撃）”５１７１＿１について実施可能か判定が完了した。
【０２４８】
次は、ステップＳ１３７で生成した次回の探索位置ｐ’を探索位置ｐとし、次の攻撃(図３１の例では、脆弱性Ｖｂの攻撃５１６２２)について、ステップＳ１３３〜ステップＳ１３７を実施し、判定を続ける。
【０２４９】
ステップＳ１３２の処理では、攻撃手順５１６２を構成する各攻撃工程に対して、順番にステップＳ１３３〜ステップＳ１３７を反復的に適用することで、順次攻撃が適用可能であるか判定していく。
【０２５０】
学習データ生成処理部１２８は、未処理ノードが有るか判定する（Ｓ１３８）。未処理ノードが有る場合（Ｓ１３８：ＹＥＳ）、ステップＳ１３２に戻る。未処理ノードが無い場合（Ｓ１３８：ＮＯ）、ステップＳ１３９へ移る。
【０２５１】
ステップＳ１３２の反復処理は、次回の探索位置ｐ’が存在しない場合、あるいは、攻撃手順５１６２を構成する全ての攻撃工程に対して、処理を完了した場合に終了する（Ｓ１３８：ＮＯ）。
【０２５２】
学習データ生成処理部１２８は、攻撃シナリオが学習データとして利用可能であるか判定する（Ｓ１３９）。本実施例では、攻撃手順５１６２を構成する全ての攻撃工程に対して、ステップＳ１３３、またはステップＳ１３４の処理により１つ以上発見できた場合に、学習データとして利用可能と判断する。
【０２５３】
学習データ生成処理部１２８は、学習データとして利用可能な攻撃シナリオに関して、学習データ用の構造に変換する（Ｓ１４０）。図３１の攻撃シナリオを学習データとした例を図３２に示す。ベイジアンネットワークの学習データとしては、全ノードの状態を”ＴＲＵＥ”、”ＦＡＬＳＥ”、または”不明”の３値のいずれかで表す必要がある。本実施例では、ステップＳ１３６でリストアップした侵害ノードの状態の全てを”ＴＲＵＥ”とし、それ以外のノードの状態は不明とする。
【０２５４】
例えば、図３１の侵害ノードリスト５１７＿１から、図３２のデータセット７００１が生成される。図３１の侵害ノードリスト５１７＿２から、図３２のデータセット７００２が生成される。なお、図３２の例では、学習データ生成処理部１２８は、侵害ノード以外のノードの状態を”不明”としたが、これに代えて”ＦＡＬＳＥ”としても良い。
【０２５５】
以上、ステップＳ１３１〜ステップＳ１４０の処理により、１つの攻撃シナリオから学習データを生成する処理を完了する。
【０２５６】
続いて、攻撃シナリオ情報テーブル５１６の中から、次の攻撃シナリオ情報を１つ選択し、ステップＳ１３１〜ステップＳ１４０を実施する（Ｓ１３０）。学習データ生成処理部１２８は、攻撃シナリオ情報テーブル５１６の全ての攻撃シナリオに対して、反復的にステップＳ１３０を実施する。実施の結果は、図３２の学習データ７００のレコードとして順次追加されていく。
【０２５７】
図２２に戻る。学習データ生成処理（Ｓ９７）の終了後、リスク評価サーバ１０の条件付き確率表学習処理部１２９は、ビジネス指標リスク評価モデルとステップＳ９７で得た学習データとに基づいて、条件付き確率表の値を学習により更新する処理を実行する（Ｓ９８）。条件付き確率表学習処理（Ｓ９８）は、ベイジアンネットワークに対応した所定の学習アルゴリズムを用いることで、各ノードの条件付き確率表の値を更新する。
【０２５８】
なお、学習データ生成処理（Ｓ９７）では、全ての攻撃シナリオを区別せずに学習データとして利用している。これに代えて、攻撃シナリオの種別５１６３（攻撃シナリオ情報テーブル５１６由来）に基いて学習データを分類し、それぞれの種別毎に条件付き確率表を学習しても良い。この場合、攻撃シナリオの種別毎に対して、後述するリスク値計算処理Ｓ９９を実行する。これにより、攻撃シナリオの種別５１６３毎の傾向を強く反映したリスク評価が可能となる。
【０２５９】
リスク評価サーバ１０のリスク値計算部１３０は、ビジネス指標リスク評価モデルＭ１とステップＳ９８で得た条件付き確率表とに基づいて、リスク値を計算する処理を実行する（Ｓ９９）。リスク値計算処理（Ｓ９９）では、ベイジアンネットワークにより計算された各ノードの周辺確率をリスク値としている。
【０２６０】
リスク値は、所定のアルゴリズムにより上述の周辺確率を変換し、確率以外の量的な形式で表示しても良い。あるいは、 閾値を基準として上述の周辺確率をランク分けし、“高”、“低”等の質的な形式で表示しても良い。
【０２６１】
リスク評価サーバ１０のビジネスリスク表示処理部１２３は、上述した一連の処理の結果であるビジネスリスク評価モデルＭ１、すなわち有向非循環グラフ構造を持つモデルＭ１を描画する画面データを生成し、この画面データと初期画面Ｇ１のビジネスプロセス図表示領域ＧＰ１５に表示したビジネスプロセス図とをクライアント６０へ送信する。
【０２６２】
図３３を用いて、クライアント６０で表示されるビジネスリスク表示画面Ｇ２の例を説明する。
【０２６３】
ビジネスリスク表示画面Ｇ２は、例えば、ビジネス情報領域ＧＰ２０と、ビジネスプロセス図表示領域ＧＰ２１と、ビジネス指標リスク評価モデル表示領域ＧＰ２２と、戻るボタンＧＰ２３を含む。
【０２６４】
ビジネス情報領域ＧＰ２０は、ビジネス名の情報を表示する。ビジネスプロセス図表示領域ＧＰ２１は、アクティビティ図等のビジネスプロセスを表す図を表示する。ビジネス指標リスク評価モデル表示領域ＧＰ２２は、有向非循環グラフ構造のビジネス指標リスク評価モデルＭ１を表示する。
【０２６５】
ビジネスプロセス図表示領域ＧＰ２１とビジネス指標リスク評価モデル表示領域ＧＰ２２とでは、リスク値計算部１３０により計算したリスク値の結果を閾値で判定する。所定値の閾値以上のリスク値を持つビジネスプロセスに関しては、図中の対応するオブジェクトを点滅させる等の表示方法で、ユーザへ注意を喚起する（ＧＰ２４，ＧＰ２５）。領域ＧＰ２１に表示されるオブジェクト（Ｓ５１）と、領域ＧＰ２２に表示されるオブジェクト（ＢＰ１）とは対応しており、所定の閾値以上のリスク値を持つ。対応するオブジェクト同士が点滅等で強調表示されることで、ユーザは、ビジネスプロセス図表示領域とリスク評価モデル表示領域との対応関係を容易に把握でき、リスクの存在を確認することができる。なお、注意喚起の方法については限定しない。
【０２６６】
ビジネスプロセス図表示領域ＧＰ２１とビジネス指標リスク評価モデル表示領域ＧＰ２２では、表示されたビジネスプロセスに関係するオブジェクトがユーザにより押下されると、詳細情報ＧＰ２６をポップアップにより表示する。
【０２６７】
詳細情報ＧＰ２６では、ユーザの選択したビジネスプロセスからアークが接続されているビジネス指標ノードの情報と、ユーザの選択したビジネスプロセスに向けてアークが接続されている機器ノードの情報とを表示することができる。
【０２６８】
ここで、ビジネスプロセス図表示領域ＧＰ２１中の符号Ｓ５０〜Ｓ６１の例を以下に記載する。
【０２６９】
Ｓ５０：注文依頼、Ｓ５１：受注、Ｓ５２：在庫確認、Ｓ５３：在庫有無の判定、Ｓ５４：注文確定、Ｓ５５：支払、Ｓ５６：売上計上、Ｓ５７：ピッキング、Ｓ５８：入金、Ｓ５９：集荷、Ｓ６０：配達、Ｓ６１：荷受
【０２７０】
詳細情報ＧＰ２６の表示例を以下に記載する。
【０２７１】
「影響のある指標：収益への悪影響・・・０．７５」「原因：脆弱性ＣＶＥ−２０１５−０４８１  機器：Ｅコマース用ウェブサーバ」
【０２７２】
このように構成される本実施例によれば、脆弱性がもたらす機器への影響に加えて、ビジネス指標への影響をも評価することができる。本実施例では、例えばビジネスリスク表示画面Ｇ２をシステム管理者や経営陣に提示することで、セキュリティの脆弱性への対応または未対応がビジネスに与える影響を容易に理解することができ、経営的視点での判断を支援できる。
【０２７３】
詳しくは、本実施例では、脆弱性、ビジネスプロセス、ビジネス指標の間の関係性を有向非循環グラフとして構築することで、脆弱性がビジネスに与える影響をリスク値として計算することが可能となる。
【０２７４】
本実施例では、リスク評価サーバ１０が、ビジネスリスク表示画面Ｇ２をクライアント６０に表示することにより、その画面Ｇ２を閲覧するユーザ等は、脆弱性が重要なビジネスプロセスに影響を与えているかどうかを例えばビジネス指標リスク評価モデル表示領域ＧＰ２２から素早く把握し、対策すべき脆弱性の優先度を容易に把握することができ、効率的に脆弱性対策を行うことができる。
【０２７５】
本実施例では、攻撃シナリオ情報に記載された攻撃手順だけでなく、その攻撃手順に類似する攻撃手順まで考慮して学習データを生成することができる。したがって、本実施例では、現実の情報処理システムの実態に近い実践的な条件付き確率表を得ることができ、脆弱性がビジネスに与える影響をより正確に解析できる。
【０２７６】
本実施例によれば、脆弱性情報やシステム構成情報等のシステムレベルの情報に加え、ビジネス設計やビジネスの評価指標に基づいてリスクを評価し、ビジネスの展開状況に対応した有効性の高いリスク評価が可能となる。
【０２７７】
したがって、情報処理システムを運用している企業の経営者やシステム管理者や業務システムを開発したエンジニア（ＳＥ）に対して、脆弱性とビジネスの因果関係を、ビジネス設計やビジネスの評価指標を踏まえつつ、脆弱性対策の優先度を理解しやすく提示することができる。これにより、本実施例では、ユーザによる脆弱性対策の必要性や重要性の判断を支援できる。
【０２７８】
なお、本発明は上述の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０２７９】
実施例の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２８０】
制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０２８１】
本発明は、例えば以下のように表現することもできる。
【０２８２】
表現１．
リスク評価の対象ビジネスのビジネスプロセス、ビジネス指標、前記ビジネスプロセスを実現する機能が実装されている機器、ネットワーク、および前記機器に関する脆弱性の各情報を互いに関連付けたデータベースを保持する記憶装置と、
前記ビジネスプロセス、前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性の各情報を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定するリスク評価モデルを作成し、前記リスク評価モデルを、当該リスク評価モデルに対応する所定の推論アルゴリズムに適用して、前記対象ビジネスにおける脆弱性がビジネスにもたらすリスクを評価し、当該評価結果を所定装置に出力する演算装置と、
を備えることを特徴とするリスク評価システム。
【０２８３】
表現２．
前記演算装置は、
前記ビジネスプロセス、前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現１に記載のリスク評価システム。
【０２８４】
表現３．
前記演算装置は、
前記ビジネスプロセス、前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、前記ビジネスプロセス、前記ビジネス指標、前記機器、前記脆弱性をノードとし、前記ネットワーク情報が示す前記対象システムのネットワーク構成に基づいて、前記機器と前記脆弱性との間をアークで接続し、前記ビジネスプロセス情報が示す前記ビジネスプロセスと前記機器の関係に基づいて、前記機器と前記ビジネスプロセスとの間をアークで接続した有向非循環グラフを、前記リスク評価モデルとして作成し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現１に記載のリスク評価システム。
【０２８５】
表現４．
前記記憶装置は、
前記データベースにおいて、攻撃シナリオに関する情報を更に記憶するものであり、
前記演算装置は、
前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、
前記攻撃シナリオを所定のアルゴリズムに適用して、学習データとし、前記学習データと前記有向非循環グラフをベイジアンネットワークの学習アルゴリズムに適用して、ベイジアンネットワークの条件付き確率表を更新し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現２に記載のリスク評価システム。
【０２８６】
表現５．
前記演算装置は、
前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、
前記攻撃シナリオに沿って前記有向非循環グラフの最上位ノードから走査することで前記対象ビジネスにおいて攻撃され得る侵害ノードと侵害経路を判定し、前記侵害ノードを学習データとし、
前記学習データと前記有向非循環グラフをベイジアンネットワークの学習アルゴリズムに適用して、ベイジアンネットワークの条件付き確率表を更新し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現４に記載のリスク評価システム。
【０２８７】
表現６．
前記演算装置は、
前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、
前記機器の種別が同じ前記機器は同一とみなす条件と、前記脆弱性の種別が同じ前記脆弱性は同一とみなす条件と、前記ビジネスプロセスの種別が同じ前記ビジネスプロセスは同一とみなす条件と、前記ビジネス指標の種別が同じ前記ビジネス指標は同一とみなす条件とを満たすように、前記攻撃シナリオに沿って前記有向非循環グラフの最上位ノードから走査することで前記対象ビジネスにおいて攻撃され得る侵害ノードと侵害経路を判定し、前記侵害ノードを学習データとし、
前記学習データと前記有向非循環グラフをベイジアンネットワークの学習アルゴリズムに適用して、ベイジアンネットワークの条件付き確率表を更新し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現５に記載のリスク評価システム。
【０２８８】
表現７．
前記演算装置は、
前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、
前記攻撃シナリオに沿って前記有向非循環グラフの最上位ノードから走査する際に指定された回数だけノードを飛ばしても良いこととする条件を満たすように、前記攻撃シナリオに沿って前記有向非循環グラフの最上位ノードから走査することで前記対象ビジネスにおいて攻撃され得る侵害ノードと侵害経路を判定し、前記侵害ノードを学習データとし、
前記学習データと前記有向非循環グラフをベイジアンネットワークの学習アルゴリズムに適用して、ベイジアンネットワークの条件付き確率表を更新し、前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現５に記載のリスク評価システム。
【０２８９】
表現８．
前記演算装置は、
前記ビジネス指標、前記機器、前記ネットワーク、および前記脆弱性を、グラフ理論に基づく所定アルゴリズムに適用して、機器とビジネスプロセスの関連に応じた脆弱性の影響関係について規定する有向非循環グラフを、前記リスク評価モデルとして作成し、
前記攻撃シナリオを前記攻撃シナリオの種別毎に所定のアルゴリズムに適用して、学習データとし、前記攻撃シナリオの種別毎に前記学習データと前記有向非循環グラフをベイジアンネットワークの学習アルゴリズムに適用して、前記攻撃シナリオの種別毎にベイジアンネットワークの条件付き確率表を更新し、前記攻撃シナリオの種別毎に前記有向非循環グラフをベイジアンネットワークの推論アルゴリズムに適用して、前記攻撃シナリオの種別毎に前記対象ビジネスの脆弱性がもたらすリスクを評価し、当該評価結果を所定装置に出力するものである、
ことを特徴とする表現４に記載のリスク評価システム。
【０２９０】
表現９．
コンピュータを、所定のビジネスに関する情報処理を実行する情報処理システムの脆弱性に関するリスクを評価する脆弱性リスク評価装置として機能させるコンピュータプログラムであって、
前記情報処理システムは少なくとも一つの機器を含んでおり、
前記コンピュータに、
前記情報処理システムの構成に関するシステム構成情報と、情報セキュリティに関する脆弱性情報とに基づいて、前記機器の脆弱性を検出する脆弱性検出部と、
前記検出された脆弱性を示す脆弱性ノードと前記機器を示す機器ノードとを対応付けて配置することで、前記検出された脆弱性が前記機器に生じさせうるリスクを評価するための機器リスク評価モデルを生成する機器リスク評価モデル生成部と、
前記所定のビジネスに関する情報処理に含まれるビジネス処理に関するビジネス関連ノードを前記機器リスク評価モデルに追加配置し、前記ビジネス関連ノードと前記機器ノードとを対応付けることで、前記検出された脆弱性が前記所定のビジネス処理に生じさせうるリスクを評価するためのビジネス関連リスク評価モデルを生成するビジネス関連リスク評価モデル生成部と、
を実現させるコンピュータプログラム。
【符号の説明】
【０２９１】
１：脆弱性リスク評価システム、２，２０：管理対象機器、３，６０：クライアント端末、１０：リスク評価サーバ、３０：情報収集サーバ、４０：セキュリティナレッジ公開機関サーバ、５０：データベース
【図１】
0006676480.tif 000002
【図２】
0006676480.tif 000003
【図３】
0006676480.tif 000004
【図４】
0006676480.tif 000005
【図５】
0006676480.tif 000006
【図６】
0006676480.tif 000007
【図７】
0006676480.tif 000008
【図８】
0006676480.tif 000009
【図９】
0006676480.tif 000010
【図１０】
0006676480.tif 000011
【図１１】
0006676480.tif 000012
【図１２】
0006676480.tif 000013
【図１３】
0006676480.tif 000014
【図１４】
0006676480.tif 000015
【図１５】
0006676480.tif 000016
【図１６】
0006676480.tif 000017
【図１７】
0006676480.tif 000018
【図１８】
0006676480.tif 000019
【図１９】
0006676480.tif 000020
【図２０】
0006676480.tif 000021
【図２１】
0006676480.tif 000022
【図２２】
0006676480.tif 000023
【図２３】
0006676480.tif 000024
【図２４】
0006676480.tif 000025
【図２５】
0006676480.tif 000026
【図２６】
0006676480.tif 000027
【図２７】
0006676480.tif 000028
【図２８】
0006676480.tif 000029
【図２９】
0006676480.tif 000030
【図３０】
0006676480.tif 000031
【図３１】
0006676480.tif 000032
【図３２】
0006676480.tif 000033
【図３３】
0006676480.tif 000034