(57)【要約】      （修正有）【課題】セキュリティの専門家でなくても、セキュリティの因果関係のモデルを構築し、適切なセキュリティ対策支援をするこができるようにしたセキュリティ対策支援システムを提供する。【解決手段】セキュリティ対処をする対象のシステムにおける機能コンポーネント情報と、機能コンポーネントが実装されるホスト情報と、ホストが保有するソフトウェア情報と、ソフトウェアに含まれる脆弱性情報と、脆弱性を利用する攻撃情報と、攻撃により発生するリスク情報と、脆弱性に対する対策情報とに基づいてリスク評価モデルを作成し、リスク評価モデルに基づいてシステムのリスク評価をするリスク評価部と、を含む。【選択図】図１
2015191390.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ対処をする対象のシステムにおける機能コンポーネント情報と、前記機能コンポーネントが実装されるホスト情報と、前記ホストが保有するソフトウェア情報と、前記ソフトウェアに含まれる脆弱性情報と、脆弱性を利用する攻撃情報と、攻撃により発生するリスク情報と、脆弱性に対する対策情報とを関連付けて記憶する対策情報記憶部と、
前記機能コンポーネント情報、前記ホスト情報、前記ソフトウェア情報、前記脆弱性情報、前記攻撃情報、前記リスク情報及び前記対策情報に基づいてリスク評価モデルを作成し、前記リスク評価モデルに基づいて前記システムのリスク評価をするリスク評価部と、を備える、
ことを特徴とするセキュリティ対処支援システム。
【請求項２】
請求項１に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、リスク評価モデルとして、ペトリネットを構築する
ことを特徴とするセキュリティ対処支援システム。
【請求項３】
請求項２に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記脆弱性を示す脆弱性プレースと、前記攻撃を示す攻撃トランジションと、前記リスクを示すリスクトランジションと、システムへの影響度を表すリスクプレースとを有するペトリネットを構築する
ことを特徴とするセキュリティ対処支援システム。
【請求項４】
請求項３に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記攻撃の攻撃発生確率を前記攻撃トランジションの発火確率とし、前記攻撃により発生するリスクの大きさをリスクトランジションの発火確率として、確率ペトリネットを構築する処理を実施する、
ことを特徴とするセキュリティ対処支援システム。
【請求項５】
請求項４に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記脆弱性に対する攻撃の累積発生確率を前記攻撃発生確率とし、過去の前記脆弱性に対する攻撃の累積発生件数から累積確率分布を計算し、前記累積確率分布から任意時刻における前記累積発生確率を計算し、前記累積発生確率に基づいて、任意時刻におけるリスク評価する
ことを特徴とするセキュリティ対処支援システム。
【請求項６】
請求項５に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記任意の時刻におけるリスク評価に基づいて、前記リスク評価の結果が一定値を越える許容限界時刻を探索し、前記許容限界時刻と現在時刻の差分を猶予期間として算出する
ことを特徴とするセキュリティ対処支援システム。
【請求項７】
請求項６に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記脆弱性情報と、前記脆弱性に対する対策情報とを関連付け、前記脆弱性に対する対策手段を示す対策トランジションを有するペトリネットを構築し、前記対策手段がシステムに与える影響度を前記対策トランジションの発火確率として、確率ペトリネットを構築し、前記対策トランジションに基づいてリスク評価をする
ことを特徴とするセキュリティ対処支援システム。
【請求項８】
請求項７に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記機能コンポーネントの機密性、完全性、可用性に分けてリスク評価をする
ことを特徴とするセキュリティ対処支援システム。
【請求項９】
請求項８に記載のセキュリティ対処支援システムであって、
前記リスク評価部は、
前記システムが関連する業務情報と、前記機能コンポーネント情報とを関連付け、前記リスク評価の結果を前記業務に対するリスク評価値へと変換する
ことを特徴とするセキュリティ対処支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報通信技術を利用したＩＴシステムにおけるセキュリティインシデントの対処やリスクの事前対処を支援するシステムに関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１に記載の技術がある。特許文献１には、リスク管理の対象となるシステムから、脆弱性の有無を調べ、資産情報を調べ、収集した脆弱性情報と資産情報と、脆弱性と資産と脅威との関係を示すリスクモデルとに基づいて、リスク評価値を算出し、脅威と対策と各種コスト（制約）との関係を示す対策モデルに基づいて、リスク評価値を許容範囲内に抑える対策案を複数生成し、コストの評価方法を定めた対策順位決定方針に従って対策案を優先順位づけて提示する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開２００８−００４４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、脆弱性間の関係について，関係演算子を用いてモデル化する必要がある。しかしながら、システムを運用しているエンジニアや業務システムを開発したエンジニア（ＳＥ）は、脆弱性とリスクと対策などのセキュリティの因果関係を理解することは難しく、脆弱性と脅威と資産などのセキュリティの因果関係のモデルを事前にシステム毎に構築することは困難であった。
【課題を解決するための手段】
【０００５】
開示するセキュリティ対処支援システムは、セキュリティ対処をする対象のシステムにおける機能コンポーネント情報と、機能コンポーネントが実装されるホスト情報と、ホストが保有するソフトウェア情報と、ソフトウェアに含まれる脆弱性情報と、脆弱性を利用する攻撃情報と、攻撃により発生するリスク情報と、脆弱性に対する対策情報とを関連付けて記憶する対策情報記憶部と、機能コンポーネント情報、ホスト情報、ソフトウェア情報、脆弱性情報、攻撃情報、リスク情報及び対策情報に基づいてリスク評価モデルを作成し、リスク評価モデルに基づいてシステムのリスク評価をするリスク評価部と、を備える。
【発明の効果】
【０００６】
本発明によれば、セキュリティの専門家でなくても、セキュリティの因果関係のモデルを構築し、適切なセキュリティ対策支援をするこが出来る。
【図面の簡単な説明】
【０００７】
【図１】セキュリティ対策支援システムの構成図の例である。
【図２】統合管理者用クライアント１０１の機能構成図の例である。
【図３】リスク管理サーバ１０２の機能構成図の例である。
【図４】ＳＥ用クライアント１０６の機能構成図の例である。
【図５】データベース１０３上のテーブル構成図の例である。
【図６】業務情報管理テーブル５０１（１）の例である。
【図７】業務情報管理テーブル５０１（２）の例である。
【図８】管理対象システム情報管理テーブル５０２（１）の例である。
【図９】管理対象システム情報管理テーブル５０２（２）の例である。
【図１０】管理対象システム情報管理テーブル５０２（３）の例である。
【図１１】脆弱性情報ナレッジテーブル５０３の例である。
【図１２】攻撃確率１１０９の例である。
【図１３】攻撃情報（脅威情報）ナレッジテーブル５０４の例である。
【図１４】本システム全体の処理を説明するフローチャートの例である。
【図１５】解析処理１４０６を説明するフローチャートの例である。
【図１６】リスク評価処理１５０５を説明するフローチャートの例である。
【図１７】ペトリネット構成処理１６０２を説明するフローチャートの例である。
【図１８】リスク算出処理１６０３を説明するフローチャートの例である。
【図１９】ペトリネット構成処理１６０２により構成されるペトリネットの一例である。
【図２０】猶予期間処理１５０６を説明するフローチャートの例である。
【図２１】間接対策評価処理１５０７を説明するフローチャートの例である。
【図２２】データ処理１４０７を説明するフローチャートの例である。
【図２３】セキュリティナレッジ収集・管理処理１４０４を説明するフローチャートの例である。
【図２４】統合管理者用クライアント１０１において表示される画面の例である。
【図２５】ＳＥ用クライアント１０６において業務情報入力処理以外で表示される画面の例である。
【図２６】ＳＥ用クライアント１０６において業務情報入力処理時に表示される画面の例である。
【発明を実施するための形態】
【０００８】
以下、図面を用いて本発明を実施するための形態について説明する。なお、これにより本発明が限定されるものではない。
【実施例１】
【０００９】
本実施例では、業務関連情報、システム関連情報、脆弱性情報、攻撃情報（脅威情報）、脆弱性対策情報を対応付けて管理し、動的に確率ペトリネットを構築することで、業務へのリスクを評価するセキュリティ対策支援システムの例を説明する。
【００１０】
（システム構成）
セキュリティ対策支援システムの全体構成について説明する。
【００１１】
図１は、システムの全体構成図の例である。
【００１２】
図１において、本実施例のシステムは、統合管理者用クライアント１０１、リスク管理サーバ１０２、データベース１０３、ネットワーク１０４、管理対象システム１０５、ＳＥ用クライアント１０６から構成される。統合管理者用クライアント１０１、およびＳＥ用クライアント１０６は本システムの機能を呼び出すためのクライアント装置である。本実施例では、利用するクライアント装置によりユーザが管理者であるか、またはＳＥであるかを区別するが、管理者とＳＥを区別するために認証装置とアクセス権限管理装置を利用するなど別の実施形態も考えられる。リスク管理サーバ１０２は、確率ペトリネットの構築やリスク評価などを行う装置である。データベース１０３は、業務関連情報、システム関連情報、脆弱性情報、攻撃情報（脅威情報）、脆弱性対策情報を記憶する。本実施例では、ネットワーク１０４により統合管理者用クライアント１０１、リスク管理サーバ１０２、管理対象システム１０５、ＳＥ用クライアント１０６が接続されており、統合管理者用クライアント１０１とデータベース１０３は相互に接続されている。ネットワーク１０４は公開ネットワークか非公開ネットワークかは限定せず、接続インタフェースも限定しない。また、データベース１０３はネットワーク１０４と接続しても良い。本実施例を構成する符号を付された構成要素は実施形態によって複数の場合もある。
【００１３】
（機能構成）
本システムは、情報を管理する機能や確率ペトリネットによりリスクを評価する機能、ユーザの要求を受け付ける機能などを有している。図２〜図４を用いて、本システムの機能構成について説明する。
【００１４】
図２は、統合管理者用クライアント１０１の機能構成図の例である。
【００１５】
図２において、統合管理者用クライアント１０１は要求入力部２０１、表示部２０２、送受信部２０３、制御部２０４から構成されている。要求入力部２０１は、キーボード等のインタフェース機器を介してユーザからの入力を制御する処理部である。表示部２０２はモニタ等のインタフェース機器を介してユーザへの出力を制御する処理部である。送受信部２０３は、ネットワーク１０４を介して情報の送受信を行う処理部である。
【００１６】
制御部２０４は、リスク表示要求部２１１、原因脆弱性情報要求部２１２、対策情報要求部２１３、猶予期間要求部２１４、間接対策評価要求部２１５から構成されている。リスク表示要求部２１１は、要求入力部２０１を介して管理者から要求を受け付け、送受信部２０３を介してリスク管理サーバ１０２のリスク表示処理のリクエストを送信し、送受信部２０３を介してリスク管理サーバ１０２からリスク表示処理のレスポンスを受信し、表示部２０２を介して結果を管理者に提示する処理部である。原因脆弱性情報要求部２１２、対策情報要求部２１３、猶予期間要求部２１４、間接対策評価要求部２１５は既に説明したリスク表示要求部２１１と同一の手順によりリスク管理サーバ１０２の機能を呼び出すため、説明を省略する。
【００１７】
図３は、リスク管理サーバ１０２の機能構成図の例である。
【００１８】
図３において、リスク管理サーバ１０２は要求入力部３０１、表示部３０２、送受信部３０３、統合管理者向け制御部３０４、ＳＥ向け制御部３０５、バックグラウンド用制御部３０６から構成される。要求入力部３０１、表示部３０２、送受信部３０３は、統合管理者用クライアント１０１と同一の機能を有するため、説明を省略する。
【００１９】
統合管理者向け制御部３０４は、リスク評価処理部３１１、原因脆弱性情報処理部３１２、対策情報処理部３１３、猶予期間処理部３１４、間接対策評価処理部３１５から構成されている。リスク評価処理部３１１は送受信部２０３を介して統合管理者用クライアント１０１からリスク表示処理のリクエストを受信し、リスク算出処理を実行し、送受信部２０３を介して統合管理者用クライアント１０１にリスク表示処理のレスポンスを送信する処理部である。原因脆弱性情報処理部３１２、対策情報処理部３１３、猶予期間処理部３１４、間接対策評価処理部３１５は、既に説明したリスク評価処理部３１１と同一の手順により処理を実行するため、説明を省略する。リスク評価処理部３１１、原因脆弱性情報処理部３１２、対策情報処理部３１３、猶予期間処理部３１４、間接対策評価処理部３１５は、それぞれ統合管理者用クライアント１０１のリスク表示要求部２１１、原因脆弱性情報要求部２１２、対策情報要求部２１３、猶予期間要求部２１４、間接対策評価要求部２１５から呼び出される。
【００２０】
ＳＥ向け制御部３０５は、リスク評価処理部３２１、原因脆弱性情報処理部３２２、対策情報処理部３２３、猶予期間処理部３２４、間接対策評価処理部３２５、業務情報入力処理部３２６から構成されている。リスク評価処理部３２１は送受信部２０３を介してＳＥ用クライアント１０６からリスク表示処理のリクエストを受信し、リスク算出処理を実行し、送受信部２０３を介してＳＥ用クライアント１０６にリスク表示処理のレスポンスを送信する処理部である。原因脆弱性情報処理部３２２、対策情報処理部３２３、猶予期間処理部３２４、間接対策評価処理部３２５、業務情報入力処理部３２６は、既に説明したリスク評価処理部３２１と同一の手順により処理を実行するため、説明を省略する。リスク評価処理部３２１、原因脆弱性情報処理部３２２、対策情報処理部３２３、猶予期間処理部３２４、間接対策評価処理部３２５、業務情報入力処理部３２６は、それぞれＳＥ用クライアント１０６のリスク表示要求部４１１、原因脆弱性情報要求部４１２、対策情報要求部４１３、猶予期間要求部４１４、間接対策評価要求部４１５、業務情報入力要求部４１６から呼び出される。
【００２１】
バックグラウンド用制御部３０６は、セキュリティナレッジ収集・管理処理部３３１から構成されている。セキュリティナレッジ収集・管理処理部３３１は、セキュリティナレッジ収集・管理処理を自動実行する処理部である。本処理は、一定期間毎に実行しても良いし、ＣＰＵの利用率が少ない期間に実行するなどの制御を行っても良い。
【００２２】
図４は、ＳＥ用クライアント１０６の機能構成図の例である。
【００２３】
図４において、ＳＥ用クライアント１０６は要求入力部４０１、表示部４０２、送受信部４０３、制御部４０４から構成される。要求入力部４０１、表示部４０２、送受信部４０３は、統合管理者用クライアント１０１と同一の機能を有するため、説明を省略する。
【００２４】
制御部４０４は、リスク表示要求部４１１、原因脆弱性情報要求部４１２、対策情報要求部４１３、猶予期間要求部４１４、間接対策評価要求部４１５、業務情報入力要求部４１６から構成されている。リスク表示要求部４１１は、要求入力部４０１を介してＳＥから要求を受け付け、送受信部４０３を介してリスク管理サーバ１０２のリスク表示処理のリクエストを送信し、送受信部４０３を介してリスク管理サーバ１０２からリスク表示処理のレスポンスを受信し、表示部４０２を介して結果をユーザに提示する処理部である。原因脆弱性情報要求部４１２、対策情報要求部４１３、猶予期間要求部４１４、間接対策評価要求部４１５、業務情報入力要求部４１６は既に説明したリスク表示要求部４１１と同一の手順によりリスク管理サーバ１０２の機能を呼び出すため、説明を省略する。
【００２５】
（データ構成）
本システムは、リスク評価を行うため、業務関連情報、システム関連情報、脆弱性情報、攻撃情報（脅威情報）、脆弱性対策情報をデータベース１０３上で管理する。図５〜図１３を用いて、本システムのデータ構成について説明する。
【００２６】
図５は、データベース１０３上のテーブル構成図の例である。
【００２７】
図５において、データベース１０３は、業務情報管理テーブル５０１、管理対象システム情報管理テーブル５０２、脆弱性情報ナレッジテーブル５０３、攻撃情報（脅威情報）ナレッジテーブル５０４から構成されている。
【００２８】
業務情報管理テーブル５０１の例は図６、図７に示す。
【００２９】
図６において、業務情報管理テーブル５０１＿１は、機能コンポーネントＩＤ６０１、機能コンポーネント名称６０２、業務情報一覧６０３、ホストＩＤ一覧６０４、機密性要件６０５、完全性要件６０６、可用性要件６０７の項目を有している。機能コンポーネントＩＤ６０１は、業務の一部の処理を担う機能コンポーネントを識別するＩＤである。機能コンポーネント名称６０２は、機能コンポーネントの名称である。業務情報一覧６０３は業務を識別する業務ＩＤと業務名称の一覧である。業務システムでは、業務処理を複数の機能コンポーネントに分割して、システムを設計することがあるため、機能コンポーネント６０１に対して複数の業務ＩＤが対応付いて良い。ホストＩＤ一覧６０４は、機能コンポーネントが実装されたホストを識別するＩＤ一覧である。機能コンポーネントは冗長性などの理由で複数のホスト上で実装される可能性があるため、機能コンポーネント６０１に対して複数のホストＩＤが対応付いて良い。また、機密性要件６０５、完全性要件６０６、可用性要件６０７は、機能コンポーネントＩＤで識別された機能に求められるセキュリティ要件を機密性、完全性、可用性の観点で、要求度を設定したものである。本実施例では、０以上１以下の数値とする。
【００３０】
図７において、業務情報管理テーブル５０１＿２は、データフローＩＤ７０１、発信元機能コンポーネントＩＤ７０２、発信先機能コンポーネントＩＤ７０３、プロトコル情報７０４の項目を有している。データフローＩＤ７０１は、機能コンポーネント間のデータフローを識別するＩＤである。発信元機能コンポーネントＩＤ７０２は、データの発信元となる機能コンポーネントのＩＤである。発信先機能コンポーネントＩＤ７０３は、データの発信先となる機能コンポーネントのＩＤである。発信元機能コンポーネントＩＤ７０２、発信先機能コンポーネントＩＤ７０３は業務情報管理テーブル５０１＿１上の機能コンポーネントＩＤ６０１でなければならない。プロトコル情報７０４は、データフローで利用する通信プロトコルの情報である。
【００３１】
管理対象システム情報管理テーブル５０２の例は図８、図９、図１０に示す。
【００３２】
図８において、管理対象システム情報管理テーブル５０２＿１は、システムＩＤ８０１、システム名称８０２、管理者情報８０３の項目を有している。システムＩＤ８０１は、管理対象のシステムを識別するＩＤである。システム名称８０２は、顧客や業務など人間が識別しやすい管理対象システムの名称である。管理者情報８０３は、システムを管理する責任者やＳＥ等の情報（ユーザＩＤや氏名、連絡先（メールアドレス、電話番号等）など）である。
【００３３】
図９において、管理対象システム情報管理テーブル５０２＿２は、ホストＩＤ９０１、ホスト名称９０２、所属システムＩＤ９０３、ソフトウェアＩＤ一覧９０４、接続ネットワークセグメント情報９０５、セキュリティ設定一覧９０６の項目を有している。ホストＩＤ９０１は、ホスト・マシンを識別するＩＤである。ホスト名称９０２は、ホスト・マシンの名称である。所属システムＩＤ９０３は、ホストが所属するシステムのＩＤである。ソフトウェアＩＤ一覧９０４は、ホストにインストールされているソフトウェアを識別するＩＤの一覧である。本実施例では、ソフトウェアＩＤとして、国際的に標準化された共通プラットフォーム一覧（ＣＰＥ：Ｃｏｍｍｏｎ Ｐｌａｔｆｏｒｍ Ｅｎｕｍｅｒａｔｉｏｎ）のＩＤを利用する。接続ネットワークセグメント情報９０５は、ホストに接続するネットワークセグメント情報（ホストが接続するセグメントセグメントのＩＤ一覧、セグメントに接続しているネットワークアダプタ情報など）である。セキュリティ設定一覧９０６は、ネットワークサービス（プロトコル）とそのアクセス権限や、ホストのセキュリティ設定の一覧である。
【００３４】
図１０において、管理対象システム情報管理テーブル５０２＿３は、ネットワークセグメントＩＤ１００１、ネットワークセグメント名称１００２、接続ホストＩＤ一覧１００３、許可プロトコル一覧１００４、アクセス権限一覧１００５の項目を有している。ネットワークセグメントＩＤ１００１は、ネットワークセグメントを識別するＩＤである。ネットワークセグメント名称１００２は、ネットワークセグメントの名称である。接続ホストＩＤ一覧１００３は、セグメントに存在するホストの一覧である。許可プロトコル一覧１００４は、ネットワークセグメント上で許可されているプロトコルの一覧である。アクセス権限一覧１００５はネットワークセグメント上で利用できるアクセス権限の一覧である。
【００３５】
脆弱性情報ナレッジテーブル５０３の例は図１１、図１２に示す。
【００３６】
図１１において、脆弱性情報ナレッジテーブル５０３は、公開元脆弱性情報ＩＤ１１０１、脆弱性情報ＩＤ１１０２、脆弱性種別ＩＤ１１０３、ソフトウェアＩＤ一覧１１０４、ＣＩＡ影響度１１０５、脆弱性到達範囲１１０６、直接対策情報１１０７、間接対策情報１１０８、攻撃発生確率１１０９の項目を有している。公開元脆弱性情報ＩＤ１１０１は、脆弱性を公開した機関が採番する脆弱性情報のＩＤである。一般的に脆弱性情報は、公的機関や開発元ベンダなどで公開されており、公開された脆弱性情報には脆弱性を公開した機関独自のＩＤが割り当てられている。本実施例では、公開元脆弱性情報ＩＤ１１０１として、ＭＩＴＲＥ社が採番し、国際的に利用されている共通脆弱性識別子（ＣＶＥ：Ｃｏｍｍｏｎ Ｖｕｌｎｅｒａｂｉｌｉｔｉｅｓ ａｎｄ Ｅｘｐｏｓｕｒｅｓ）や日本国内で利用されているＪＶＮ番号（ＪＶＮ：Ｊａｐａｎ Ｖｕｌｎｅｒａｂｉｌｉｔｙ Ｎｏｔｅｓ）、ベンダが独自に採番した脆弱性ＩＤを利用する。脆弱性情報ＩＤ１１０２は、本システムにおいて、脆弱性を識別するＩＤである。本実施例では、ＭＩＴＲＥ社が採番し、国際的に利用されている共通脆弱性タイプ一覧（ＣＷＥ：Ｃｏｍｍｏｎ Ｗｅａｋｎｅｓｓ Ｅｎｕｍｅｒａｔｉｏｎ）を利用する。脆弱性種別ＩＤ１１０３は、脆弱性種別を識別するＩＤである。ソフトウェアＩＤ一覧１１０４は、この脆弱性の対象となるソフトウェアＩＤの一覧（ＣＰＥなどの一覧）である。ＣＩＡ影響度１１０５は、脆弱性を突いた攻撃が発生した場合の機密性（Ｃ：Ｃｏｎｆｉｄｅｎｔｉａｌ）、完全性（Ｉ：Ｉｎｔｅｇｒｉｔｙ）、可用性（Ａ：Ａｖａｉｌａｂｉｌｉｔｙ）に対する影響度である。本実施例では、０以上１以下の数値とする。脆弱性到達範囲１１０６は、この脆弱性を利用することで利用可能になるプロトコルやアクセス権限などである。一般的に、脆弱性を突いた攻撃では単一の攻撃のみで目的を達成することが少なく、連続的に脆弱性攻撃を繰り返す中で権限昇格や非公開ネットワークへの侵入などステップを踏んで攻撃を行う。直接対策情報１１０７は、パッチによるアップデートなど、脆弱性を根本的に解決するような直接対策方法、対策による機能コンポーネントへの影響、（標準的な）対策時間などの情報である。間接対策情報１１０８は、ネットワーク遮断など、脆弱性そのものを除去せずに解決する間接対策方法、対策による機能コンポーネントへの影響、（標準的な）対策時間などの情報である。攻撃発生確率１１０９は、脆弱性を利用した攻撃やインシデントの発生確率情報である。図１２では、攻撃発生確率１１０８の例について示す。
【００３７】
図１２において、攻撃発生確率１１０８はシグモイド関数の近似式である。本実施例では、同一の脆弱性種別ＩＤ１１０３が割り当てられた脆弱性は類似した累積攻撃発生確率を有していると想定し、脆弱性種別ＩＤ１１０３毎に攻撃発生確率１１０８を算出する。シグモイド関数の近似では、脆弱性公開機関が公開する累積的な攻撃発生件数の時系列データ１２０１を利用し、同一の脆弱性種別ＩＤ１１０３が割り当てられた脆弱性に対して、ある一定スレショルド１２０２に至るまでの累積的な攻撃発生件数と脆弱性発見後の経過時間をパラメータとして、最小二乗法を解くことにより攻撃発生確率１１０９を近似する。攻撃発生確率１１０８をシグモイド関数で近似することで、任意の時刻における攻撃発生確率を推定することが可能になる。
【００３８】
攻撃情報ナレッジテーブル５０４の例は図１３に示す。
【００３９】
図１３において、攻撃情報ナレッジテーブル５０４は、公開元攻撃情報ＩＤ１３０１、攻撃情報ＩＤ１３０２、攻撃方法１３０３、攻撃対象脆弱性情報１３０３、攻撃目的１３０４、攻撃前提条件１３０５の項目を有している。公開元攻撃情報ＩＤ１３０１は、攻撃情報を公開した機関が採番する攻撃情報のＩＤである。本実施例では、公開元攻撃情報ＩＤ１３０１として、ＭＩＴＲＥ社が採番し、国際的に有名な攻撃パターンのデータベース（ＣＡＰＥＣ：Ｃｏｍｍｏｎ  Ａｔｔａｃｋ Ｐａｔｔｅｒｎ Ｅｎｕｍｅｒａｔｉｏｎ ａｎｄ Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）のＩＤを利用する。攻撃情報ＩＤ１３０２は、攻撃情報を識別するＩＤである。攻撃対象脆弱性情報１３０３は、攻撃対象となる脆弱性情報ＩＤである。攻撃目的１３０４は、機密性（Ｃ）、完全性（Ｉ）、可用性（Ａ）のいずれの毀損を狙った攻撃であるかを示す。攻撃前提条件１３０５は、攻撃の前提となるプロトコルやアクセス権限である。
【００４０】
なお、本実施例では、データベース１０３の各テーブルをＲＤＢ（Ｒｅｒａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）のテーブルとして表現しているが、ＲＤＦ（Ｒｅｓｏｕｒｃｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｆｒａｍｅｗｏｒｋ）で構築する方法も考えられる。ＲＤＦは、主語と述語、目的語という関係でデータ構造を記述する枠組みであり、主語と目的語にあたるデータ項目の関係性を明示的に記述する枠組みである。データベース１０３の構築方法については図２２、図２３において後程説明するが、本実施例では、ＳＥの入力情報や複数の公的機関の公開情報などからデータを収集する必要があり、多様なデータ項目のリンク関係が必要となる。例えば、図６のホストＩＤ一覧６０４と図９のホストＩＤ９０１のようにデータベース１０３上には、データ項目のリンク関係を表す情報が多く含まれている。ＲＤＦはデータ項目間の関係が記述されるため、データ項目から関連するデータ項目を辿ることが容易であり、ＲＤＦを利用することで複雑なデータ項目関係を有するデータベース１０３の構築が容易になる。
【００４１】
（システム全体の処理フロー）
本システムは、統合管理者用クライアント１０１または、ＳＥ用クライアント１０６の要求に従い、リスク管理サーバ１０２が確率ペトリネットの構築やリスク評価処理を実行する。本システムが行う処理について図１４から図２３を用いて説明する。
【００４２】
図１４は、本システム全体の処理を説明するフローチャートの例である。
【００４３】
図１４において、統合管理者用クライアント１０１またはＳＥ用クライアント１０６は、起動後、ユーザに対して要求入力１４０１の入力を求める。要求入力１４０１には、呼び出したクライアントの情報（ユーザ情報など）や、処理部に与えるパラメータなどが含まれている。
【００４４】
次に、リスク管理サーバ１０２は、起動後、統合管理者用クライアント１０１またはＳＥ用クライアント１０６から要求入力１４０１を受け付ける。要求入力１４０１を受け付ける画面については、図２４、図２５、図２６で後程説明する。一方、リスク管理サーバ１０２は、起動後、統合管理者用クライアント１０１またはＳＥ用クライアント１０６から要求入力１４０１を待ち受ける。管理者またはＳＥから要求入力がなされなかった場合（Ｓ１４０２）、リスク管理サーバ１０２はバックグラウンド用制御部３０６の処理を実行する。リスク管理サーバ１０２はバックグラウンド処理がスケジューリングされているかどうか確認し、スケジューリングされている場合（Ｓ１４０３）、バックグラウンド用制御部３０６のセキュリティナレッジ収集・管理処理部３３１がセキュリティナレッジ収集・管理処理１４０４をバックグラウンドで実行し、再度要求入力１４０１を待ち受ける。セキュリティナレッジ収集・管理処理１４０４に関しては図２２で後程説明する。
【００４５】
次に、リスク管理サーバ１０２が要求入力１４０１を受け付けた場合（Ｓ１４０２）、要求入力１４０１がリスク表示要求・猶予期間要求・間接対策評価要求であるか判定する。要求入力１４０１がリスク表示要求・猶予期間要求・間接対策評価要求であった場合（Ｓ１４０５）、リスク管理サーバ１０２は解析処理１４０６を実行し、その結果を統合管理者用クライアント１０１またはＳＥ用クライアント１０６に返す。解析処理１４０６に関しては、図１５で後程説明する。
【００４６】
次に、要求入力１４０１がリスク表示要求・猶予期間要求・間接対策評価要求でなかった場合（Ｓ１４０５）、リスク管理サーバ１０２はデータ処理１４０７を実行し、その結果を統合管理者用クライアント１０１またはＳＥ用クライアント１０６に返す。データ処理１４０７に関しては、図２２で後程説明する。
【００４７】
統合管理者用クライアント１０１またはＳＥ用クライアント１０６が受け取った結果の結果表示１４０８については、図２４、図２５、図２６で後程説明する。
【００４８】
（解析処理フロー）
リスク管理サーバ１０２がリスク表示要求・猶予期間要求・間接対策評価要求を受け付けた場合の解析処理１４０６について図１５を用いて説明する。
【００４９】
図１５は、解析処理１４０６を説明するフローチャートの例である。
【００５０】
図１５において、解析処理１４０６では、評価対象システムの列挙１５０２を実行する。評価対象システムの列挙１５０２では、要求入力１４０１を統合管理者用クライアント１０１から受信した時とＳＥ用クライアント１０６から受信した時とで列挙するシステムが異なる。統合管理者用クライアント１０１からの要求入力１４０１である場合、管理対象システム情報管理テーブル５０２＿１から全てのシステムＩＤ８０２を列挙する。ＳＥ用クライアント１０６からの要求入力１４０１である場合、管理対象システム情報管理テーブル５０２＿１から要求入力１４０１に含まれるユーザ情報と管理者情報８０３が一致するシステムＩＤ８０２を列挙する。図１５は、Ｎ個のシステムが列挙された例である。
【００５１】
次に、評価対象システムの列挙１５０２で列挙された全てのシステムに対して反復処理１５０３〜１５０７を実行する。反復処理１５０３〜１５０７では、要求入力１４０１がリスク表示要求である場合、リスク評価処理部３１１、またはリスク評価処理部３２１がリスク評価処理１５０５を実行する。リスク評価処理１５０５に関しては、図１６で後程説明する。要求入力１４０１が猶予期間要求である場合、猶予期間処理部３１４、または猶予期間処理部３２４が猶予期間処理１５０６を実行する。リスク評価処理部３１１が猶予期間処理１５０６に関しては、図２０で後程説明する。要求入力１４０１が間接対策評価要求である場合、間接対策評価処理部３１５、または間接対策評価処理部３２５が間接対策評価処理１５０７を実行する。間接対策評価処理１５０７に関しては、図２１で後程説明する。
【００５２】
（リスク評価処理フロー）
リスク管理サーバ１０２がリスク表示要求を受け付けた場合のリスク評価処理１５０５について図１６を用いて説明する。
【００５３】
図１６は、リスク評価処理１５０５を説明するフローチャートの例である。
【００５４】
図１６において、リスク評価処理部３１１、またはリスク評価処理部３２１では、ペトリネット構成処理１６０２を実行する。ペトリネットとは、物事の状態を“プレース”、発生する事象を“トランジション”、状態と事象の接続関係を“アーク”、事象発生した場合にアークで接続された状態に遷移する確率を“発火確率”と定義し、システムをモデル化したものである。本実施例では、システムが保有する脆弱性を“脆弱状態プレース”、脆弱性に対して発生し得る攻撃事象を“攻撃トランジション”、脆弱性を攻撃されることによりリスクが引き起こされる事象を“リスクトランジション”、ホスト・マシンの機密性（Ｃ）、完全性（Ｉ）、可用性（Ａ）が毀損された状態を それぞれ“機密性リスクプレース”、“完全性リスクプレース”、“可用性リスクプレース”と定義することで、リスク評価モデルを構成する。ペトリネット構成処理１６０２のフローチャートの例は図１７に示し、ペトリネット構成処理１６０２により構成されるペトリネットの一例は図１９に示す。ペトリネット構成処理１６０２については後程説明する。
【００５５】
次に、リスク評価処理部３１１では、リスク評価モデルに基づいてリスク算出処理１６０３を実行する。リスク算出処理１６０３については、図１８で後程説明する。
【００５６】
（ペトリネット構成処理フロー）
一般的に、ペトリネットを構築するためには、“プレース”の配置、“トランジション”の配置、“プレース”と“トランジション”間のアークの接続、“発火確率”の設定、の４種類の処理が必要となる。本実施例では、４種類の処理を組み合わせ、図１９に示すペトリネットを構築する処理の例について図１７、図１９を用いて説明する。
【００５７】
図１７は、ペトリネット構成処理１６０２のフローチャートの例である。
図１７において、ペトリネット構成処理１６０２では、構築処理１７０２において、システム全体が正常である状態として正常状態プレース１９０１を１個配置する。また、解析処理１４０６から与えられたシステムＩＤ８０１をキーとして、管理対象システム情報管理テーブル５０２＿２上のホストＩＤ９０１を参照し、それぞれのホストＩＤ９０１に対して、ペトリネット上でホスト空間１９０２を定義する。
【００５８】
次に、構築処理１７０４では、それぞれのホストＩＤ９０１をキーとして、管理対象システム情報管理テーブル５０２＿２上のソフトウェアＩＤ一覧９０４を参照し、それぞれのソフトウェアＩＤをキーとして、脆弱性情報ナレッジテーブル５０３上の脆弱性情報ＩＤ１１０２を参照する。そして、それぞれの脆弱性情報ＩＤ１１０２に対して、ホスト空間１９０１上に脆弱状態プレース１９０３を配置する。図１９の例では、ホスト空間１９０１に対して、１個の脆弱状態プレース１９０３が配置されているが、１対１に対応する必要はなく、複数の脆弱状態プレース１９０３が配置される可能性がある。
【００５９】
次に、構築処理１７０３では、ホスト空間１９０２上に脆弱状態プレース１個に対してリスクトランジション１９０４を１個配置する。また、ホストＩＤ９０１をキーとして、業務情報管理テーブル５０１＿１上の機能コンポーネントＩＤ６０１を参照し、それぞれの機能コンポーネントＩＤ６０１に対して、ホスト空間１９０１上で機能コンポーネント空間１９０５を構成し、機能コンポーネント空間１９０５上に機密性リスクプレース１９０６＿１、完全性リスクプレース１９０６＿２、可用性リスクプレース１９０６＿３を配置する。図１９の例では、ホスト空間１９０１に対して、１個の機能コンポーネント空間１９０５が配置されているが、１対１に対応する必要はなく、複数の機能コンポーネント空間１９０５が配置される可能性がある。
【００６０】
次に、構築処理１７０５では、配置された脆弱性プレース１９０３に対応する脆弱性情報ＩＤ１１０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上の攻撃情報ＩＤ１３０２を参照する。そして、それぞれの攻撃情報ＩＤ１３０２に対して、ホスト空間１９０１上に攻撃トランジション１９０７を配置し、攻撃トランジション１９０７からキーとして利用した脆弱性情報ＩＤ１１０２に対応する脆弱状態プレース１９０３へアーク１９０８を接続する。
【００６１】
次に、構築処理１７０６では、配置された攻撃トランジション１９０７に対応する攻撃情報ＩＤ１３０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上の攻撃前提条件１３０５を参照する。また、ホストＩＤ９０１をキーとして、管理対象システム情報管理テーブル５０２＿３上の許可プロトコル一覧１００３とアクセス権限一覧１００５を参照する。そして、ホストＩＤ９０１が接続するネットワークセグメントの許可プロトコル一覧１００３とアクセス権限一覧１００５に攻撃前提条件１３０５に含まれるプロトコルとアクセス権限が存在し、同プロトコルと同アクセス権限を外部にいる攻撃者が利用できる場合、正常状態プレース１９０１から攻撃トランジション１９０７へアーク１９０９を接続する。例えば、ホストが非武装地帯（ＤＭＺ：ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）と呼ばれるネットワークセグメントに接続しており、ホストがｈｔｔｐプロトコルを前提とするような攻撃トランジションを有していた場合、一般的にＤＭＺではｈｔｔｐプロトコルが任意のユーザに対して許可されているため、正常プレースから同攻撃トランジションにアークが接続される。即ち、正常状態プレース１９０１から攻撃トランジション１９０７へアーク１９０９はシステムが正常な状態において攻撃可能な脆弱性を示しており、構築処理１７０６のアーク１９０９により、正常状態から単一の脆弱性攻撃により発生するリスク評価が可能となる。
【００６２】
次に、構築処理１７０７では、構築処理１７０６と同様に接続ホストＩＤ一覧１００３、許可プロトコル一覧１００３、アクセス権限一覧１００５、攻撃前提条件１３０５を参照する。また、脆弱性情報ＩＤ１１０２をキーとして、脆弱性情報ナレッジテーブル５０３上の脆弱性到達範囲１１０６を参照する。そして、接続ホストＩＤ一覧１００３から脆弱状態プレース１９０３と攻撃トランジション１９０７が同一のネットワークセグメントに存在し、その攻撃トランジション１９０７の攻撃前提条件１３０５のプロトコルとアクセス権限が脆弱性到達範囲１１０６に含まれており、許可プロトコル一覧１００３、アクセス権限一覧１００５から攻撃前提条件１３０５のプロトコルとアクセス権限が許可されている場合、脆弱状態プレース１９０３から攻撃トランジション１９０７へアーク１９１０を接続する。例えば、データベースネットワークセグメント上にＷＥＢサーバとデータベースサーバに接続しており、ＷＥＢサーバがＤＢサーバにアクセス可能（脆弱性到達範囲１１０６）になる脆弱性を有し、ＤＢサーバがアクセス権限を前提条件（攻撃前提条件１３０５）とする脆弱性を有していた場合、ＷＥＢサーバ上の同脆弱性を表す脆弱状態プレースからＤＢサーバ上の同攻撃を表す攻撃トランジションへアークを接続する。構築処理１７０７のアーク１９１０は、複数の脆弱性を連続的に突いた複雑な攻撃のリスク評価するために必要不可欠であり、本実施例では、脆弱性により到達可能になる範囲（脆弱性到達範囲１１０６）と攻撃の前提条件（攻撃前提条件１３０５）をデータベースにおいて管理することによりアーク１９１０の接続を可能としている。
【００６３】
次に、構築処理１７０８では、各ホスト内で脆弱状態プレース１９０３からリスクトランジション１９０４へアーク１９１１を接続する。脆弱状態プレース１９０３とリスクトランジション１９０４は１対１に対応している。
【００６４】
次に、構築処理１７０９では、脆弱性情報ＩＤ１１０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上の攻撃確率１１０９を参照する。本実施例では、攻撃確率１１０９は時刻を引数としてとるシグモイド関数であるため、現在時刻を引数として与え、現在時刻における攻撃確率を算出し、現在時刻における攻撃確率を攻撃トランジション１９０７の攻撃発火確率１９１２として重み付けする。
【００６５】
次に、構築処理１７１０では、脆弱性情報ＩＤ１１０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上のＣＩＡ影響度１１０５を参照し、ＣＩＡ影響度１１０５をリスクトランジション１９０４のリスク発火確率１９１３として重み付けする。
【００６６】
すなわち、対策情報記憶部は、セキュリティ対処をする対象のシステムにおける機能コンポーネント情報と、機能コンポーネントが実装されるホスト情報と、ホストが保有するソフトウェア情報と、ソフトウェアに含まれる脆弱性情報と、脆弱性を利用する攻撃情報と、攻撃により発生するリスク情報と、脆弱性に対する対策情報とを関連付けて記憶し、リスク評価部は、機能コンポーネント情報、ホスト情報、ソフトウェア情報、脆弱性情報、攻撃情報、リスク情報及び対策情報に基づいてリスク評価モデル（ペトリネット）を作成し、リスク評価モデルに基づいてシステムのリスク評価をする。
【００６７】
また、ペトリネットは、脆弱性を示す脆弱性プレースと、攻撃を示す攻撃トランジションと、リスクを示すリスクトランジションと、システムへの影響度を表すリスクプレースとを有しても良い。
【００６８】
また、リスク評価部は、攻撃の攻撃発生確率を攻撃トランジションの発火確率とし、攻撃により発生するリスクの大きさをリスクトランジションの発火確率として、確率ペトリネットを構築しても良い。
【００６９】
また、リスク評価部は、脆弱性に対する攻撃の累積発生確率を攻撃発生確率とし、過去の脆弱性に対する攻撃の累積発生件数から累積確率分布を計算し、累積確率分布から任意時刻における前記累積発生確率を計算し、累積発生確率に基づいて、任意時刻におけるリスク評価しても良い。
【００７０】
また、リスク評価部は、任意の時刻におけるリスク評価に基づいて、リスク評価の結果が一定値を越える許容限界時刻を探索し、許容限界時刻と現在時刻の差分を猶予期間として算出しても良い。
【００７１】
また、リスク評価部は、脆弱性情報と、脆弱性に対する対策情報とを関連付け、脆弱性に対する対策手段を示す対策トランジションを有するペトリネットを構築し、対策手段がシステムに与える影響度を前記対策トランジションの発火確率として、確率ペトリネットを構築し、対策トランジションに基づいてリスク評価をしても良い。
【００７２】
また、リスク評価部は、システムが関連する業務情報と、機能コンポーネント情報とを関連付け、リスク評価の結果を業務に対するリスク評価値へと変換しても良い。
【００７３】
以上のように、本実施例は、業務情報管理テーブル５０１、管理対象システム情報管理テーブル５０２、脆弱性情報ナレッジテーブル５０３、攻撃情報（脅威情報）ナレッジテーブル５０４を事前に構築しておくことにより、管理対象システムに応じたペトリネットの自動構成を可能にする。
【００７４】
（リスク算出処理フロー）
図１６に戻って、ペトリネットを用いたリスク算出処理１６０３について図１８を用いて説明する。
【００７５】
図１８は、リスク算出処理１６０３のフローチャートの例である。
【００７６】
図１８において、リスク算出処理１６０３では、算出処理１８０２において、確率ペトリネット法に基づき、正常状態プレース１９０１を開始店として攻撃発火確率１９１２、リスク発火確率１９１３に応じて各トランジションが発火した場合にリスクプレースに陥る確率を算出する。
【００７７】
次に、算出処理１８０３では、それぞれの機能コンポーネントＩＤ６０１をキーとして、業務情報管理テーブル５０１＿１上の業務情報一覧６０３、機密性要件６０５、完全性要件６０６、可用性要件６０７を参照する。機密性要件６０５、完全性要件６０６、可用性要件６０７それぞれと機密性リスクプレース、完全性リスクプレース、可用性リスクプレースに陥る確率を乗算することで、機能コンポーネントに対する機密性リスク、完全性リスク、可用性リスクとなる。そして、同一の業務に対応する複数の機能コンポーネントの機密性リスク、完全性リスク、可用性リスクの合算値が業務に対する機密性リスク、完全性リスク、可用性リスクとなる。
【００７８】
（猶予期間処理フロー）
図１５に戻って、リスク管理サーバ１０２が猶予期間要求を受け付けた場合の猶予期間処理１５０６について図２０を用いて説明する。
【００７９】
図２０は、猶予期間処理１５０６を説明するフローチャートの例である。
【００８０】
図２０において、猶予期間処理１５０６では、ペトリネット構成処理２００２を実行する。ペトリネット構成処理２００２は既に説明したペトリネット構成処理１６０２と同一であるため、説明を省略する。
【００８１】
次に、処理２００３では、脆弱性情報ＩＤ１１０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上の攻撃確率１１０９を参照する。本実施例では、攻撃確率１１０９は時刻を引数としてとるシグモイド関数であるため、指定時刻を引数として与え、指定時刻における攻撃確率を算出し、指定時刻における攻撃確率を攻撃トランジション１９０７の攻撃発火確率１９１２として再設定する。
【００８２】
次に、リスク算出処理２００４を実行する。ペトリネット構成処理２００２は既に説明したリスク算出処理１６０３と同一であるため、説明を省略する。そして指定時刻を変化させ、反復的にリスク評価を実行することで、リスク評価値が一定のスレショルド以上になる許容限界時刻を探索し許容限界時刻と現在時刻の差分を取ることで、猶予期間を算出する。
【００８３】
以上のように、本実施例では、統計的な分析により時刻を引数としてとるシグモイド関数として攻撃確率１１０９を算出しておくことで、未来におけるリスク評価を可能とする。猶予期間により、ＳＥは評価結果から次回のシステム定期メンテナンス日時の対応で間に合うかどうかなど判断を下すことが可能になる。
【００８４】
（間接対策評価処理フロー）
図１５に戻って、リスク管理サーバ１０２が間接対策要求を受け付けた場合の間接対策処理１５０７について図２１を用いて説明する。
【００８５】
図２１は、間接対策処理部における間接対策評価処理１５０７を説明するフローチャートの例である。
【００８６】
図２１において、間接対策評価処理１５０７では、ペトリネット構成処理２１０２を実行する。ペトリネット構成処理２１０２は既に説明したペトリネット構成処理１６０２と同一であるため、説明を省略する。
【００８７】
次に、処理２１０３では、脆弱性情報ＩＤ１１０２をキーとして、攻撃情報（脅威情報）ナレッジテーブル５０４上の直接対策情報１１０７、間接対策情報１１０８を参照する。それぞれの直接対策情報１１０７、間接対策情報１１０８に対して、ホスト空間１９０１上に対策トランジションを配置し、脆弱性情報ＩＤ１１０２に対応する脆弱状態プレース１９０３から対策トランジションへアークを接続する。また、直接対策情報１１０７、間接対策情報１１０８に含まれる対策による機能コンポーネントへの影響情報に基づき、対策トランジションから影響を与える機能コンポーネント空間１９０５上のリスクプレース１９０６へアークを接続する。
【００８８】
次に、リスク算出処理２００４を実行する。ペトリネット構成処理２００２は既に説明したリスク算出処理１６０３と同一であるため、説明を省略する。
【００８９】
以上のように、本実施例では、脆弱性に対する対策手段を対策トランジションとして定義し、対策トランジションと関連する脆弱性プレースと接続させることで、脆弱性に対する対策の効果を表現する。さらに対策トランジションを関連する機能コンポーネントのリスクプレースと接続させることで、対策手段の影響を評価し、対策の有効性を総合的に評価することを可能にする。複数の対策手段候補が存在する場合、ＳＥは間接対策評価処理１５０７によりそれぞれの対策手段を評価することで、最適な対策候補を判断することが可能になる。
【００９０】
（データ処理フロー）
図１４に戻って、リスク管理サーバ１０２が原因脆弱性情報要求・対策情報要求・業務情報入力要求を受け付けた場合のデータ処理１４０７について図２２を用いて説明する。
【００９１】
図２２は、データ処理１４０７を説明するフローチャートの例である。
図２２において、データ処理１４０７では、要求入力１４０１がＳＥ用クライアント１０６からの入力か判定する。ＳＥ用クライアント１０６からの要求入力１４０１である場合（条件分岐２２０２）、要求入力１４０１が業務情報入力要求か判定する。要求入力１４０１が業務情報入力要求である場合（条件分岐２２０３）、業務情報入力クエリ生成２２０４を実行する。
業務情報入力クエリ生成２２０４では、要求入力１４０１に含まれるシステム名称８０２、機能コンポーネント名称６０２、ホスト名称９０２、業務名称、ネットワークセグメント名称１００２、それぞれに対して、システムＩＤ８０１、機能コンポーネントＩＤ６０１、ホストＩＤ９０１、業務ＩＤ、ネットワークセグメントＩＤ１００１を自動的に採番する。該ＩＤは、乱数で生成し、データベースを確認することで唯一無二性を保障しても良いし、システム内でインクリメントしていくことで保障しても良い。次に、機能コンポーネントＩＤ６０１、機能コンポーネント名称６０２、業務情報一覧６０３、ホストＩＤ一覧６０４、機密性要件６０５、完全性要件６０６、可用性要件６０７を含む、業務情報管理テーブル５０１＿１に向けた追加クエリを生成する。次に、データフローＩＤ７０１、発信元機能コンポーネントＩＤ７０２、発信先機能コンポーネントＩＤ７０３、プロトコル情報７０４を含む、業務情報管理テーブル５０１＿２に向けた追加クエリを生成する。次に、システムＩＤ８０１、システム名称８０２、管理者情報８０３を含む、管理対象システム情報管理テーブル５０２＿１に向けた追加クエリを生成する。次に、ホストＩＤ９０１、ホスト名称９０２、所属システムＩＤ９０３、ソフトウェアＩＤ一覧９０４、接続ネットワークセグメント情報９０５、セキュリティ設定一覧９０６を含む、管理対象システム情報管理テーブル５０２＿２に向けた追加クエリを生成する。次に、ネットワークセグメントＩＤ１００１、ネットワークセグメント名称１００２、接続ホストＩＤ一覧１００３、許可プロトコル一覧１００４、アクセス権限一覧１００５を含む、管理対象システム情報管理テーブル５０２＿３に向けた追加クエリを生成する。
【００９２】
ＳＥ用クライアント１０６からの要求入力１４０１でない場合（条件分岐２２０２）、あるいは要求入力１４０１が業務情報入力要求でない場合（条件分岐２２０３）、要求入力１４０１が対策情報要求か判定する。要求入力１４０１が対策情報要求である場合（条件分岐２２０５）、対策情報参照クエリ生成２２０６を実行する。
【００９３】
対策情報参照クエリ生成２２０６では、脆弱性情報ＩＤ１１０２を検索キーとして直接対策情報１１０７、間接対策情報１１０８を参照する、脆弱性情報ナレッジテーブル５０３に向けた参照クエリを生成する。
【００９４】
要求入力１４０１が対策情報要求でない場合（条件分岐２２０５）、原因脆弱性情報参照クエリ生成２２０６を実行する。原因脆弱性情報参照クエリ生成２２０６では、原因脆弱性情報を取得するため、システムＩＤ８０２を検索キーとしてホストＩＤ９０１と参照する管理対象システム情報管理テーブル５０２＿１に向けた参照クエリと、取得したホストＩＤ９０１を検索キーとしてソフトウェアＩＤ一覧９０４を参照する管理対象システム情報管理テーブル５０２＿２に向けた参照クエリと、取得したソフトウェアＩＤ一覧９０４を検索キーとして脆弱性情報ＩＤ１１０２を参照する脆弱性情報ナレッジテーブル５０３に向けた参照クエリを生成する。
【００９５】
次に、データ処理１４０７では、データベースクエリ送信２２０８を実行する。データベースクエリ送信２２０８では、生成したデータベースクエリをデータベース１０３に送信する。
【００９６】
次に、データ処理１４０７では、データベースクエリ結果受信２２０９を実行する。データベースクエリ結果受信２２０９では、データベース１０３から結果を受信する。
【００９７】
（セキュリティナレッジ収集・管理処理フロー）
図２３は、セキュリティナレッジ収集・管理処理１４０４を説明するフローチャートの例である。
【００９８】
図２３において、セキュリティナレッジ収集・管理処理１４０４では、まず情報収集エージェントの起動処理２３０２を実行する。情報収集エージェントの起動処理２３０２では、スケジューリングされている情報収集対象となる機関を特定し、対象機関に合わせて設計された情報収集エージェントを起動する。一般的に、情報公開機関は、それぞれ異なったインタフェースを提供しており、それぞれに合わせて設計された情報収集エージェントが必要となる。
【００９９】
次に、情報収集処理２３０３を実行する。情報収集処理２３０３では、情報公開機関が用意したインタフェースを利用して、情報収集エージェントが公開情報を取得する。本実施例では、脆弱性情報は、ＪＶＮとＮＶＤ（Ｎａｔｉｏｎａｌ Ｖｕｌｎｅｒａｂｉｌｉｔｙ Ｄａｔａｂａｓｅ）からｈｔｔｐプロトコルによりＸＭＬ形式で脆弱性情報を取得し、また、一般ベンダからｈｔｔｐプロトコルによりＨＴＭＬ形式で取得する。攻撃情報は、ＣＡＰＥＣ（Ｃｏｍｍｏｎ Ａｔｔａｃｋ Ｐａｔｔｅｒｎ Ｅｎｕｍｅｒａｔｉｏｎ ａｎｄ Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）からｈｔｔｐプロトコルによりＸＭＬ形式で脆弱性情報を取得する。
【０１００】
次に、攻撃確率算出処理２３０４を実行する。攻撃確率算出処理２３０６では、情報収集エージェントが取得した公開情報からパースした脆弱性種別ＩＤ１１０３や攻撃件数の時系列データから攻撃確率を算出する。攻撃確率の算出方法については、既に図１２で説明しているため、説明を省略する。
【０１０１】
次に、データベース登録処理２３０５を実行する。データベース登録処理２３０５では、情報収集エージェントが取得した公開情報をパースする。脆弱性情報に関する公開情報からは、公開元脆弱性情報ＩＤ１１０１、脆弱性種別ＩＤ１１０３、ソフトウェアＩＤ一覧１１０４、ＣＩＡ影響度１１０５、脆弱性到達範囲１１０６、直接対策情報１１０７、間接対策情報１１０８を取得する。攻撃情報に関する公開情報からは、公開元攻撃情報ＩＤ１３０１、攻撃方法１３０３、攻撃対象脆弱性情報１３０３、攻撃目的１３０４、攻撃前提条件１３０５を取得する。次に、新しくデータベースに登録される脆弱性情報および攻撃情報それぞれに対して、本システム固有の脆弱性情報ＩＤ１１０２、攻撃情報ＩＤ１３０２を採番する。ＩＤの採番方法は、既に説明したデータ処理１４０７におけるＩＤの採番方法と同一であるため、説明を省略する。また、データベース登録処理２３０５では、公開元脆弱性情報ＩＤ１１０１、脆弱性情報ＩＤ１１０２、脆弱性種別ＩＤ１１０３、ソフトウェアＩＤ一覧１１０４、ＣＩＡ影響度１１０５、脆弱性到達範囲１１０６、直接対策情報１１０７、間接対策情報１１０８、攻撃発生確率１１０９を含む脆弱性情報ナレッジテーブル５０３に向けた更新クエリを生成し、データベース１０３に送信する。次に、公開元攻撃情報ＩＤ１３０１、攻撃情報ＩＤ１３０２、攻撃方法１３０３、攻撃対象脆弱性情報１３０３、攻撃目的１３０４、攻撃前提条件１３０５を含む攻撃情報（脅威情報）ナレッジテーブル５０４に向けた更新クエリを生成し、データベース１０３に送信する。
【０１０２】
（画面表示）
図１４に戻って、統合管理者用クライアント１０１、またはＳＥ用クライアント１０６が要求入力１４０１および結果表示１４０８で表示される画面について図２４、図２５、図２６を用いて説明する。
【０１０３】
図２４は、統合管理者用クライアント１０１において表示される画面の例である。
【０１０４】
図２４の例では、統合管理者用クライアント１０１において、リスト２４０１上にシステム名称８０２、リスク評価値、管理者情報８０３が表示される。ここで表示されるリスク評価値はシステムが関係する業務のリスク評価値の合算である。統合管理者用クライアント１０１では、管理対象システム情報管理テーブル５０２＿１で管理されるシステムのうち入力フォーム２４０２に入力されたリスク評価値の下限より大きいものがリスク評価値の高い順に表示される。リスト２４０１が表示される際に、統合管理者用クライアント１０１からリスク評価要求が実行される。リスト２４０１を参照することで、統合管理者はリスクが高いシステムの管理者に対して、効率よく是正を通知することが可能になる。
【０１０５】
次に、本実施例では、システム名称８０２をクリックすることで、リスト２４０３を表示する。リスト２４０３上には、システム名称８０２に関連するホスト名称９０２、機能コンポーネント名称６０２、機能コンポーネントのリスク評価値、脆弱性情報ＩＤ１１０２、猶予時間である。統合管理者用クライアント１０１では、管理対象システム情報管理テーブル５０２＿２で管理されるホストのうち入力フォーム２４０４に入力されたリスク評価値と猶予時間下限を設定し、表示するホストを制限できる。リスト２４０３が表示される際に、統合管理者用クライアント１０１から猶予期間要求が実行される。リスト２４０３を参照することで、統合管理者は管理者に対して、優先的に対策しなければならない脆弱性を通知することが可能になる。
【０１０６】
なお、本実施例では、システム名称８０２、リスク評価値を表示し、システム名称８０２をクリックすることで、システム名称８０２に関連する情報を表示しているが、実施形態によっては情報を表示する順番は異なっていても良い。本実施例では、データベース１０３により業務関連情報、システム関連情報、脆弱性情報、攻撃情報（脅威情報）、脆弱性対策情報を対応付けて管理することで、これら情報とリスク評価値をリスト化して表示するだけでなく、リスト上の情報を指定することによって、関連する情報を容易にリスト化して再表示可能にする。リスト上で関連する情報を辿れるようにすることで、例えば、ＳＥが業務情報とリスク評価値からリスクが大きい脆弱性を知り、脆弱性情報、対策情報と辿ることで対策を立案するなど、ＳＥは容易に実行すべき対策を判断することが可能になる。
【０１０７】
次に、本実施例では、脆弱性情報ＩＤ１１０２をクリックすることで、リスト２４０５を表示する。リスト２４０５上には、直接対策情報１１０７または間接対策情報１１０８、対策後のリスク評価値が表示される。リスト２４０５が表示される際に、統合管理者用クライアント１０１から間接対策評価要求が実行される。リスト２４０１を参照することで、管理者に対して、推奨対策を知ることが可能になる。
【０１０８】
図２５は、ＳＥ用クライアント１０６において業務情報入力処理以外で表示される画面の例である。
【０１０９】
図２５の例では、ＳＥ用クライアント１０６において、リスト２５０１上にシステム名称８０２、リスク評価値、影響される業務名称８０３、機能コンポーネント名称６０２、ＣＩＡ要件に関してリスク評価値が最も高い要件が表示される。リスト２５０１が表示される際に、ＳＥ用クライアント１０６からリスク評価要求が実行される。リスト２５０１を参照することで、ＳＥは、ＳＥ自身が関連するシステムに脆弱性があることを知り、脆弱性がもたらすリスクの大きさを正確に把握することが可能となり、優先的に対策しなければならない脆弱性かどうか判断することが可能になる。
【０１１０】
次に、本実施例では、システム名称８０２をクリックすることで、リスト２５０２を表示する。リスト２５０２は、既に説明したリスト２４０２と同一であるため、説明は省略する。
【０１１１】
次に、本実施例では、脆弱性情報ＩＤ１１０２をクリックすることで、リスト２５０３を表示する。リスト２５０２は、既に説明したリスト２４０５と同一であるため、説明は省略する。
【０１１２】
本実施例では、業務情報入力画面ボタン２５０４をクリックすることで、図２６の画面に遷移する。
【０１１３】
図２６は、ＳＥ用クライアント１０６において業務情報入力処理時に表示される画面の例である。
【０１１４】
図２６の例では、ＳＥ用クライアント１０６が、入力フォーム２６０１においてシステム名称８０２、管理者情報８０３の入力を求める。次に、入力フォーム２６０２において、機能コンポーネント名称６０２、業務名称、機能コンポーネントが実装されるホスト名称６０４、機密性要件６０５、完全性要件６０６、可用性要件６０７の入力を求める。次に、入力フォーム２６０３において、機能コンポーネント名称６０２、業務名称、機能コンポーネントが実装されるホスト名称６０４、機密性要件６０５、完全性要件６０６、可用性要件６０７の入力を求める。次に、入力フォーム２６０３において、発信元機能コンポーネント名称、発信先機能コンポーネント名称、プロトコル情報７０４の入力を求める。次に、入力フォーム２６０４において、ホスト名称９０２、ソフトウェアＩＤ一覧９０４、接続ネットワークセグメント情報９０５、セキュリティ設定一覧９０６の入力を求める。次に、入力フォーム２６０５において、ネットワークセグメント名称１００２、許可プロトコル一覧１００４、アクセス権限一覧１００５の入力を求める。
【０１１５】
本実施例では、登録ボタン２６０６をクリックすることで、業務情報入力要求を実行する。入力要求１４０１には、入力フォーム２６０１〜２６０５で入力したデータが含まれる。
【０１１６】
本実施例では、戻るボタン２６０７をクリックすることで、図２５の画面に遷移する。
【０１１７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０１２０】
本発明によれば、システムを運用しているエンジニアや業務システムを開発したエンジニア（ＳＥ）に対して、脆弱性とリスクと対策などのセキュリティの因果関係を理解しやすく表示できる。また、セキュリティの専門家（インシデントレスポンスチームなど）に対して、対象のシステムの算出されたリスクが業務に及ぼす影響を表示し、対策の必要性や重要性を判断することを支援することができる。また、指摘されたリスクがいつ発生し、業務システムのどこに影響するのか、特定することができる。また、多くの運用中のシステムの停止は業務に影響するため、対策までの猶予時間や、対策完了までに時間がかかる場合の対策計画を立てることを支援することができる。
【符号の説明】
【０１２１】
１０１  統合管理者用クライアント
１０２  リスク管理サーバ
１０３  データベース
１０６  ＳＥ用クライアント
５０１  業務情報管理テーブル
５０２  管理対象システム情報管理テーブル
５０３  脆弱性情報ナレッジテーブル
５０４  攻撃情報（脅威情報）ナレッジテーブル
１１０９  攻撃発生確率
１６０２  ペトリネット構築処理
１６０３  リスク算出処理
１９０３  脆弱状態プレース
１９０４  リスクトランジション
１９０６  リスクプレース
１９０７  攻撃トランジション
【図１】
2015191390.tif 000003
【図２】
2015191390.tif 000004
【図３】
2015191390.tif 000005
【図４】
2015191390.tif 000006
【図５】
2015191390.tif 000007
【図６】
2015191390.tif 000008
【図７】
2015191390.tif 000009
【図８】
2015191390.tif 000010
【図９】
2015191390.tif 000011
【図１０】
2015191390.tif 000012
【図１１】
2015191390.tif 000013
【図１２】
2015191390.tif 000014
【図１３】
2015191390.tif 000015
【図１４】
2015191390.tif 000016
【図１５】
2015191390.tif 000017
【図１６】
2015191390.tif 000018
【図１７】
2015191390.tif 000019
【図１８】
2015191390.tif 000020
【図１９】
2015191390.tif 000021
【図２０】
2015191390.tif 000022
【図２１】
2015191390.tif 000023
【図２２】
2015191390.tif 000024
【図２３】
2015191390.tif 000025
【図２４】
2015191390.tif 000026
【図２５】
2015191390.tif 000027
【図２６】
2015191390.tif 000028