(1)第1の実施の形態
以下、本発明の一実施の形態を詳述する。本実施の形態では、資産に対する将来的な攻撃に対して事前に対策をとるための技術に関して説明する。ただし、本発明は、実施の形態に限定されるものではない。
本実施の形態に係るリスク評価システムは、サーバ装置とクライアント装置との2つの装置を含んで構成される。本リスク評価システムでは、サーバ装置が外部情報源からセキュリティ情報を収集し、攻撃発生状況を分析した結果である攻撃発生状況情報をクライアント装置に送信する。クライアント装置には、対象システムの資産情報が格納されており、クライアント装置は、サーバ装置から配信された攻撃発生状況情報と資産情報とを突き合わせることにより、資産に対する現在および将来のリスクを評価して出力する。
上記構成により、攻撃発生状況をもとに資産に対する攻撃のリスクを自動的に評価することができ、将来的な攻撃に対して事前に対策を行うことが可能になる。
セキュリティ情報は、インターネット(例えば、ニュースサイト、セキュリティベンダ)等から収集した、セキュリティに関する情報である。セキュリティは、攻撃(脅威)から資産を守ることを意味する。セキュリティの要素については、機密性、完全性、および可用性を例に挙げて説明する。資産は、ハードウェア、ソフトウェア、データ、ネットワークのいずれであってもよい。以下では、主に、ソフトウェアを例に挙げて説明する。
次に、本発明の実施の形態を図面に基づいて説明する。
図1は、リスク評価システム100の一例を示す図である。リスク評価システム100は、サーバ装置110およびクライアント装置120を備える。サーバ装置110は、通信ネットワーク101を介してクライアント装置120と接続されている。また、サーバ装置110は、通信ネットワーク102を介して外部セキュリティ情報源130と接続されている。
サーバ装置110は、セキュリティ情報源設定部111、セキュリティ情報収集部112、セキュリティ情報前処理部113、攻撃発生状況分析部114、および攻撃発生状況予測部115を備える。また、サーバ装置110は、セキュリティ情報源設定情報116、前処理済セキュリティ情報117、および攻撃発生状況情報118を備える。
クライアント装置120は、資産情報入力部121、リスク分析部122、およびリスク分析結果出力部123を備える。また、クライアント装置120は、資産情報124およびリスク分析結果125を備える。
サーバ装置110およびクライアント装置120の構成の詳細、および他の装置との通信の詳細については、後述する。
図2は、サーバ装置110の物理構成の一例を示す図である。サーバ装置110は、装置本体210と入出力装置220とを含んで構成される。装置本体210は、CPU211、メモリ212、外部記憶装置213、インタフェース214、インタフェース215、およびバス216を備えている。
CPU211は、処理を実行するための演算装置である。メモリ212は、CPU211で実行する命令のセットがプログラムとして記述されたデータを含む記憶媒体である。メモリ212には、分析予測プログラム217が読み込まれている。分析予測プログラム217がCPU211で実行されることによって、各機能部が具現化される。分析予測プログラム217の動作については後述する。外部記憶装置213は、HDD(Hard Disk Drive)等の記憶媒体から構成される。外部記憶装置213は、セキュリティ情報源設定情報116、前処理済セキュリティ情報117、および攻撃発生状況情報118等を記憶する。これらの情報の具体的な内容については後述する。
インタフェース214は、サーバ装置110を通信ネットワーク101と接続するための通信装置である。LAN(Local Area Network)カード等の通信機器がこれに対応する。インタフェース214は、IFと記述することがある。インタフェース215は、サーバ装置110を通信ネットワーク102と接続するための通信装置である。LANカード等の通信機器がこれに対応する。バス216は、CPU211、メモリ212、外部記憶装置213、インタフェース214、インタフェース215、および入出力装置220を接続する。入出力装置220は、サーバ装置110に対して、サービス管理者によるデータの入力、およびサーバ装置110内のデータの出力を行うための装置である。入出力装置の一例としては、キーボード、マウス、ディスプレイ、スピーカ等がある。具体的な入出力については後述する。
図3は、サーバ装置110の機能的な構成の一例を示す図である。CPU211は、セキュリティ情報源設定部111、セキュリティ情報収集部112、セキュリティ情報前処理部113、攻撃発生状況分析部114、および攻撃発生状況予測部115に係る処理を行う。これらの機能部の各機能は、CPU211による、分析予測プログラム217の実行によって具現化される。
セキュリティ情報源設定部111は、外部セキュリティ情報源130として用いるウェブサイトのURL(Uniform Resource Locator)の入力を受け付け、セキュリティ情報源設定情報116として記憶する。セキュリティ情報収集部112は、セキュリティ情報源設定情報116に含まれているURLを持つ外部セキュリティ情報源130からセキュリティ情報を取得し、セキュリティ情報前処理部113に送信する。セキュリティ情報前処理部113は、セキュリティ情報収集部112より受信したセキュリティ情報を解析し、攻撃発生日、攻撃対象、脅威分類、セキュリティへの影響の有無を抽出し、前処理済セキュリティ情報117として記憶する。
攻撃発生状況分析部114は、前処理済セキュリティ情報117に含まれている前処理済セキュリティ情報および攻撃発生状況情報118に含まれている過去の攻撃発生状況情報を取得し、現在までの攻撃発生状況を分析し、攻撃発生状況情報118を更新する。攻撃発生状況予測部115は、攻撃発生状況情報118に含まれている現在までの攻撃発生状況情報を取得し、取得した攻撃発生状況情報をもとに将来の攻撃発生状況を予測し、攻撃発生状況情報118に記憶する。
サーバ装置110は、上記の機能に加えて、例えば、OS、デバイスドライバ、ファイルシステム、DBMS(DataBase Management System)等の機能を更に備えていてもよい。なお、サーバ装置110の1つの機能は、複数の機能に分けられていてもよいし、複数の機能は、1つの機能にまとめられていてもよい。また、サーバ装置110の機能の一部は、別の機能として設けられてもよいし、他の機能に含められていてもよい。また、サーバ装置110の機能の一部は、サーバ装置110と通信可能な他のコンピュータにより実現されてもよい。
図4は、クライアント装置120の物理構成の一例を示す図である。クライアント装置120は、装置本体410と入出力装置420とを含んで構成される。装置本体410は、CPU411、メモリ412、外部記憶装置413、インタフェース414、およびバス415を備えている。
CPU411は、処理を実行するための演算装置である。メモリ412は、CPU411で実行する命令のセットがプログラムとして記述されたデータを含む記憶媒体である。メモリ412には、リスク分析プログラム416が読み込まれている。リスク分析プログラム416がCPU411で実行されることによって、各機能部が具現化される。リスク分析プログラム416の動作については後述する。外部記憶装置413は、HDD等の記憶媒体から構成される。外部記憶装置413は、資産情報124、リスク分析結果125を記憶する。これらの情報の具体的な内容については後述する。
インタフェース414は、クライアント装置120を通信ネットワーク101と接続するための通信装置である。LANカード等の通信機器がこれに対応する。バス415は、CPU411、メモリ412、外部記憶装置413、インタフェース414、および入出力装置420を接続する。入出力装置420は、クライアント装置120に対して、クライアントによるデータの入力、およびクライアント装置120内のデータの出力を行うための装置である。入出力装置の一例としては、キーボード、マウス、ディスプレイ、スピーカ等がある。具体的な入出力については後述する。
図5は、クライアント装置120の機能的な構成の一例を示す図である。CPU411は、資産情報入力部121、リスク分析部122、リスク分析結果出力部123に係る処理を行う。これらの機能部の各機能は、CPU411による、リスク分析プログラム416の実行によって具現化される。
資産情報入力部121は、対象システム内の資産の資産情報の入力を受け付け、資産情報124として記憶する。リスク分析部122は、攻撃発生状況情報118に含まれている攻撃発生状況情報および資産情報124に含まれている資産情報を取得し、資産に対するリスクを分析し、リスク値の時間変化として出力し、リスク分析結果125を更新する。リスク分析結果出力部123は、リスク分析結果125に含まれているリスク分析結果を取得し、リスク値およびその時間変化を表すグラフを画面上に表示する。
クライアント装置120は、上記の機能に加えて、例えば、OS、デバイスドライバ、ファイルシステム、DBMS等の機能を更に備えていてもよい。なお、クライアント装置120の1つの機能は、複数の機能に分けられていてもよいし、複数の機能は、1つの機能にまとめられていてもよい。また、クライアント装置120の機能の一部は、別の機能として設けられてもよいし、他の機能に含められていてもよい。また、クライアント装置120の機能の一部は、クライアント装置120と通信可能な他のコンピュータにより実現されてもよい。
図6は、セキュリティ情報源設定画面600の一例を示す図である。セキュリティ情報源URL入力欄601には、サービス管理者は、外部セキュリティ情報源130として利用するウェブサイトのURL(セキュリティ情報源URL)を入力する。サービス管理者が削除ボタン611を押下する場合、対応するセキュリティ情報源URLが削除される。サービス管理者が登録ボタン612を押下する場合、セキュリティ情報源設定部111は、入力されているセキュリティ情報源URLをセキュリティ情報源設定情報116に格納する。
図7は、資産情報入力画面700の一例を示す図である。資産入力欄701には、クライアントは、対象システム内に存在する資産の資産名を入力する。例えば、資産がOS、アプリケーションといったソフトウェアである場合は、ソフトウェア名等、ソフトウェアを特定できる識別情報が入力され、資産がパソコン、産業用のコンピュータといったハードウェアである場合は、ハードウェアのモデル番号等、ハードウェアを特定できる識別情報が入力される。
なりすまし対策状況入力欄702において、クライアントが選択ボタン712を押下する場合、なりすましに対する対策が資産に施されていることを意味する選択肢「○」と、なりすましに対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。改ざん対策状況入力欄703において、クライアントが選択ボタン713を押下する場合、改ざんに対する対策が資産に施されていることを意味する選択肢「○」と、改ざんに対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。
否認対策状況入力欄704において、クライアントが選択ボタン714を押下する場合、否認に対する対策が資産に施されていることを意味する選択肢「○」と、否認に対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。情報漏洩対策状況入力欄705において、クライアントが選択ボタン715を押下する場合、情報漏洩に対する対策が資産に施されていることを意味する選択肢「○」と、情報漏洩に対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。
DoS(Denial of Service)対策状況入力欄706において、クライアントが選択ボタン716を押下する場合、DoSに対する対策が資産に施されていることを意味する選択肢「○」と、DoSに対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。特権昇格対策状況入力欄707において、クライアントが選択ボタン717を押下する場合、特権昇格に対する対策が資産に施されていることを意味する選択肢「○」と、特権昇格に対する対策が資産に施されていないことを意味する選択肢「×」とが画面上に表示される。クライアントが選択肢「○」または選択肢「×」を選択することにより、「○」または「×」が入力される。
C重要度入力欄708において、クライアントは、資産に要求される機密性の度合いを数値で入力する。本実施の形態では、クライアントは、例えば、予め定められている基準に従って、下限を「0」、上限を「1」とした数値をC重要度入力欄708に入力する。I重要度入力欄709において、クライアントは、資産に要求される完全性の度合いを数値で入力する。本実施の形態では、クライアントは、例えば、予め定められている基準に従って、下限を「0」、上限を「1」とした数値をI重要度入力欄709に入力する。A重要度入力欄710において、クライアントは、資産に要求される可用性の度合いを数値で入力する。本実施の形態では、クライアントは、例えば、予め定められている基準に従って、下限を「0」、上限を「1」とした数値をA重要度入力欄710に入力する。
クライアントが登録ボタン718を押下した場合、資産情報入力部121は、入力されている情報を資産情報124として記憶する。
図8は、リスク分析結果出力画面800の一例を示す図である。リスク分析結果出力画面800に表示される表のそれぞれの行は、対象システム内に存在する資産、脅威分類の組に対応する。
資産名表示欄801は、対象システム内に存在する資産の資産名を表示する。クライアントが並び替えボタン811を押下する場合、レコードが資産名順に並び替えられる。脅威分類表示欄802は、なりすまし、改ざん、否認、情報漏洩、DoS、特権昇格のいずれかの脅威分類を表示する。クライアントが並び替えボタン812を押下する場合、レコードが脅威分類順に並び替えられる。前回のリスク値表示欄803は、リスク分析部122が出力した、1つ前の分析期間のリスク値を表示する。クライアントが並び替えボタン813を押下する場合、レコードが1つ前の分析期間のリスク値順に並び替えられる。
今回のリスク値表示欄804は、リスク分析部122が出力した、最新の分析期間のリスク値を表示する。クライアントが並び替えボタン814を押下する場合、レコードが最新の分析期間のリスク値順に並び替えられる。リスク予測値表示欄805は、リスク分析部122が出力した、将来(所定の期間、例えば、最新の分析期間後の1週間)のリスク値の予測値を表示する。クライアントが並び替えボタン815を押下する場合、レコードが将来のリスク値の予測値順に並び替えられる。対策状況表示欄806は、各資産に各脅威分類の脅威に対する対策が施されている場合「○」、施されていない場合「×」を出力する。クライアントが並び替えボタン816を押下する場合、レコードが対策状況に応じて並び替えられる。
前回のリスク値表示欄803、今回のリスク値表示欄804、リスク予測値表示欄805においては、資産が要対策資産に分類されている場合、フィールドをハイライト表示する。要対策資産凡例821は、要対策資産のハイライト表示の凡例である。要対策資産凡例821によれば、クライアントは、対策が必要な資産を容易に認識することができる。
要対策資産とは、脅威に対する対策の必要性がある資産である。要対策資産は、例えば、脅威に対する対策が施されていない資産であって、かつ、今回のリスク値が「70」以上となる資産、前回のリスク値より今回のリスク値が「10」以上高い資産、直近3か月続けてリスク値が「70」以上である資産等である。
例えば、各資産における各脅威についての今回のリスク値が表示されることによって、クライアントは、現時点でリスクが高い資産の脅威から順に対策を行うことができるようになる。また、例えば、各資産における各脅威について、今回のリスク値と前回のリスク値が表示されることによって、クライアントは、今回のリスク値が前回のリスク値から急激に上がっている脅威に対する対策を優先して行うことができるようになる。また、例えば、各資産における各脅威についてのリスク値の予測値が表示されることによって、クライアントは、将来的にリスクが高い資産の脅威から順に対策を行うことができるようになる。
リスク値グラフ831は、リスク分析結果125のデータをもとに、例えば、2か月前から1週間後までのリスク値の変化を、資産、脅威分類ごとに表示する。例えば、脅威に対する対策が施されていない資産であって、今回のリスク値が「70」以上である資産を要対策資産であると判断するルールが設定されている場合、リスク値グラフ831のリスク値が「70」以上の部分に色を付けて要対策資産であることを強調してもよい。付言するならば、リスク値グラフ831では、各分析期間は、全て1週間として示されているが、後述するように、データが所定の件数集まるまでの期間となり、1週間に限られない。
図9は、セキュリティ情報収集部112がセキュリティ情報前処理部113に送信する新規セキュリティ情報(未だ収集されていないセキュリティ情報)の一例を示す図である。
「取得日時」フィールド901には、セキュリティ情報収集部112が外部セキュリティ情報源130よりセキュリティ情報を取得した日時が格納される。「セキュリティ情報源URL」フィールド902には、セキュリティ情報を取得したセキュリティ情報源URLが格納される。「タイトル」フィールド903には、セキュリティ情報のタイトルが格納される。例えば、セキュリティ情報がRSS(Really Simple Syndication / Rich Site Summary)形式で配信されている場合、title要素として含まれている文字列が該当する。「説明」フィールド904には、セキュリティ情報の本文が格納される。例えば、セキュリティ情報がRSS形式で配信されている場合、description要素として含まれている文字列が該当する。
図10は、セキュリティ情報源設定情報116の一例を示す図である。「セキュリティ情報源URL」フィールド1001には、サービス管理者がセキュリティ情報源設定画面600において設定した、利用するセキュリティ情報源URLが格納される。利用する外部セキュリティ情報源130としては、ニュースサイト、セキュリティベンダのサイト等が用いられる。
図11は、前処理済セキュリティ情報117の一例を示す図である。「攻撃発生日」フィールド1101には、セキュリティ情報前処理部113がセキュリティ情報を解析することにより得られた、攻撃の発生日が格納される。「攻撃対象」フィールド1102には、セキュリティ情報前処理部113がセキュリティ情報を解析することにより得られた、攻撃対象が格納される。「脅威分類」フィールド1103には、セキュリティ情報前処理部113がセキュリティ情報を解析することにより得られた、脅威分類が格納される。
「C影響」フィールド1104には、セキュリティ情報前処理部113がセキュリティ情報を解析した結果、機密性へ影響する攻撃であると判断された場合「1」が、影響しない攻撃であると判断された場合「0」が格納される。「I影響」フィールド1105には、セキュリティ情報前処理部113がセキュリティ情報を解析した結果、完全性へ影響する攻撃であると判断された場合「1」が、影響しない攻撃であると判断された場合「0」が格納される。「A影響」フィールド1106には、セキュリティ情報前処理部113がセキュリティ情報を解析した結果、可用性へ影響する攻撃であると判断された場合「1」が、影響しない攻撃であると判断された場合「0」が格納される。「新規」フィールド1107には、攻撃発生状況分析部114が各レコードを未使用である場合「1」が、既に使用した場合「0」が格納される。
図12は、攻撃発生状況情報118の一例を示す図である。攻撃発生状況分析部114は、現在までの攻撃発生状況を分析期間ごとに出力する。攻撃発生状況予測部115は、将来の攻撃発生状況を分析期間ごとに出力する。分析期間の長さは変化し得るものとし、攻撃発生状況分析部114および攻撃発生状況予測部115が分析期間を決定するアルゴリズムについては後述する。
「期間開始日」フィールド1201には、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況の分析期間の開始日が格納される。「期間終了日」フィールド1202には、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況の分析期間の終了日が格納される。
「予測」フィールド1203には、レコードが攻撃発生状況分析部114より出力されたものである場合「0」が、攻撃発生状況予測部115より出力されたものである場合、「1」が格納される。「変更あり」フィールド1204には、レコードが攻撃発生状況分析部114または攻撃発生状況予測部115により変更または追加された場合、「1」が格納される。リスク分析部122がレコードを取得する際、「変更あり」フィールド1204の値は、「0」に変更される。「攻撃対象」フィールド1205には、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況の攻撃対象が格納される。「脅威分類」フィールド1206には、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況の脅威分類が格納される。
「C影響頻度」フィールド1207は、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況のC影響頻度が格納される。「I影響頻度」フィールド1208は、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況のI影響頻度が格納される。「A影響頻度」フィールド1209は、攻撃発生状況分析部114または攻撃発生状況予測部115が出力した攻撃発生状況のA影響頻度が格納される。
図13は、資産情報124の一例を示す図である。各レコードが1つの資産に対応する。「資産」フィールド1301には、クライアントが資産情報入力画面700において入力した資産名が格納される。「なりすまし対策状況」フィールド1302には、クライアントが資産情報入力画面700おいて入力したなりすまし対策状況が格納される。「改ざん対策状況」フィールド1303には、クライアントが資産情報入力画面700において入力した改ざん対策状況が格納される。「否認対策状況」フィールド1304には、クライアントが資産情報入力画面700において入力した否認対策状況が格納される。
「情報漏洩対策状況」フィールド1305には、クライアントが資産情報入力画面700において入力した情報漏洩対策状況が格納される。「DoS対策状況」フィールド1306には、クライアントが資産情報入力画面700において入力したDoS対策状況が格納される。「特権昇格対策状況」フィールド1307には、クライアントが資産情報入力画面700において入力した特権昇格対策状況が格納される。
「C重要度」フィールド1308には、クライアントが資産情報入力画面700において入力したC重要度が格納される。「I重要度」フィールド1309には、クライアントが資産情報入力画面700において入力したI重要度が格納される。「A重要度」フィールド1310には、クライアントが資産情報入力画面700において入力したA重要度が格納される。
図14は、リスク分析結果125の一例を示す図である。リスク分析部122は、分析期間、資産、脅威分類ごとのリスク値を出力する。
「期間開始日」フィールド1401には、リスク分析部122より出力されたリスク分析結果の分析期間の開始日が格納される。「期間終了日」フィールド1402には、リスク分析部122より出力されたリスク分析結果の分析期間の終了日が格納される。「資産」フィールド1403には、リスク分析部122より出力されたリスク分析結果の資産名が格納される。「脅威分類」フィールド1404には、リスク分析部122より出力されたリスク分析結果の脅威分類が格納される。
「リスク値」フィールド1405には、リスク分析部122より出力されたリスク分析結果のリスク値が格納される。「対策状況」フィールド1406には、リスク分析部122より出力されたリスク分析結果において、資産が各脅威分類の脅威に対して対策されている場合「1」、対策されていない場合「0」が格納される。「予測」フィールド1407には、リスク分析部122より出力されたリスク値が予測値である場合「1」、予測値でない場合「0」が格納される。
図15は、セキュリティ情報収集部112およびセキュリティ情報前処理部113の動作の一例の概要を示すシーケンス図である。各部の詳細な処理については後述する。
セキュリティ情報収集部112は、例えば、1時間ごとにセキュリティ情報源設定情報116を参照し、セキュリティ情報源設定情報として、利用するセキュリティ情報源URLを取得する(1501)。次に、セキュリティ情報収集部112は、取得したセキュリティ情報源URLの外部セキュリティ情報源130に新規セキュリティ情報を問い合わせる(1502)。次に、セキュリティ情報収集部112は、外部セキュリティ情報源130から応答された新規セキュリティ情報を受信する(1503)。次に、セキュリティ情報収集部112は、受信した新規セキュリティ情報をセキュリティ情報前処理部113に送信する(1504)。
セキュリティ情報前処理部113は、受信した新規セキュリティ情報を統計処理可能な形式に変換する(1505)。次に、セキュリティ情報前処理部113は、変換した情報を前処理済セキュリティ情報として前処理済セキュリティ情報117に格納する(1506)。
図16は、攻撃発生状況分析部114、攻撃発生状況予測部115、およびリスク分析部122の処理の一例の概要を示すシーケンス図である。各部の詳細な処理については後述する。
攻撃発生状況分析部114は、例えば、1日ごとに前処理済セキュリティ情報117を参照し、前処理済セキュリティ情報を取得する(1601)。次に、攻撃発生状況分析部114は、新規前処理済セキュリティ情報、つまり「新規」フィールド1107が「1」であるような前処理済セキュリティ情報が、予め定められた件数、例えば、100件以上存在するか否かを判定する(1602)。新規前処理済セキュリティ情報が予め定められた件数以上存在しない場合、攻撃発生状況分析部114は、処理を行わない。新規前処理済セキュリティ情報が予め定められた件数以上存在する場合、攻撃発生状況分析部114は、それらの前処理済セキュリティ情報の「新規」フィールド1107を「0」に更新する(1603)。
次に、攻撃発生状況分析部114は、攻撃発生状況情報118にアクセスし、必要な過去の攻撃発生状況を参照する(1604)。次に、攻撃発生状況分析部114は、前処理済セキュリティ情報について、分析期間、脅威分類、攻撃対象ごとに、セキュリティそれぞれに影響を与える攻撃の頻度をカウントする(1605)。次に、攻撃発生状況分析部114は、カウントした情報を攻撃発生状況として攻撃発生状況情報118に格納する(1606)。この際、攻撃発生状況分析部114は、「変更あり」フィールド1204の値を「1」に設定する。また、攻撃発生状況分析部114は、攻撃発生状況情報118において「予測」フィールド1203の値が「1」であるレコードを削除する。次に、攻撃発生状況分析部114は、攻撃発生状況更新通知を攻撃発生状況予測部115に送信する(1607)。
攻撃発生状況予測部115は、攻撃発生状況更新通知を受信すると、攻撃発生状況情報118にアクセスし、現在までの攻撃発生状況を取得する(1608)。次に、攻撃発生状況予測部115は、予め定められたアルゴリズムに従い、現在までの攻撃発生状況をもとに将来の攻撃発生状況を予測する(1609)。攻撃発生状況予測部115は、予測した攻撃発生状況を攻撃発生状況情報118に格納する(1610)。次に、攻撃発生状況予測部115は、攻撃発生状況更新通知をリスク分析部122に送信する(1611)。
リスク分析部122は、攻撃発生状況更新通知を受信すると、資産情報124を参照し資産情報を取得する(1612)。次に、リスク分析部122は、攻撃発生状況情報118を参照し、「変更あり」フィールド1204の値が「1」であるようなレコードを取得する(1613)。次に、リスク分析部122は、攻撃発生状況情報118から取得したレコードの「変更あり」フィールド1204の値を「0」に更新する(1614)。
次に、リスク分析部122は、リスク分析を行う(1615)。より具体的には、リスク分析部122は、攻撃発生状況の「攻撃対象」フィールド1205と資産情報の「資産」フィールド1301とを突き合わせ、予め定義された算出式に従い、分析期間、資産、脅威分類ごとのリスク値を出力する。次に、リスク分析部122は、リスク分析結果125を更新する(1616)。より具体的には、リスク分析部122は、「予測」フィールド1407が「1」であるレコードを削除した上で、分析期間、資産、脅威分類ごとのリスク値をリスク分析結果としてリスク分析結果125に格納する。この際、リスク分析部122は、格納するレコードの「変更あり」フィールド1204の値を「1」に設定する。
図17は、セキュリティ情報源設定部111の処理の一例を示すフローチャートである。セキュリティ情報源設定部111は、サービス管理者がセキュリティ情報源設定画面600にアクセスすると、セキュリティ情報源設定情報116を参照し、現在のセキュリティ情報源設定情報、すなわち全てのレコードの「セキュリティ情報源URL」フィールド1001の値を取得する(1701)。
次に、セキュリティ情報源設定部111は、セキュリティ情報源設定画面600を表示する(1702)。より具体的には、セキュリティ情報源設定部111は、取得したセキュリティ情報源URLの一覧をセキュリティ情報源URL入力欄601に表示する。次に、セキュリティ情報源設定部111は、セキュリティ情報源設定情報を受け付ける(1703)。例えば、サービス管理者がセキュリティ情報源URL入力欄601を更新して登録ボタン612を押下すると、セキュリティ情報源設定部111は、入力されたセキュリティ情報源URLの一覧を取得する。次に、セキュリティ情報源設定部111は、取得したセキュリティ情報源URLの一覧と一致するように、セキュリティ情報源設定情報116の「セキュリティ情報源URL」フィールド1001を更新する(1704)。
図18は、セキュリティ情報収集部112の処理の一例を示すフローチャートである。セキュリティ情報収集部112には、予めセキュリティ情報を収集する頻度(例えば、1時間ごと)が設定されているものとする。セキュリティ情報収集部112は、その設定に従い、一定時間ごとにセキュリティ情報源設定情報116を参照し、全ての「セキュリティ情報源URL」フィールド1001の値を取得する(1801)。
セキュリティ情報収集部112は、取得したそれぞれのセキュリティ情報源URLに対し、処理1802、処理1803、および処理1804の処理を行う。セキュリティ情報収集部112は、セキュリティ情報源URLの外部セキュリティ情報源130に新規セキュリティ情報を問い合わせる(1802)。次に、セキュリティ情報収集部112は、外部セキュリティ情報源130より応答される新規セキュリティ情報を受信する(1803)。
新規セキュリティ情報としては、例えば、ニュースサイト、セキュリティベンダ等から配信されるRSS形式のドキュメント(ニュース記事、セキュリティレポート等)を利用する。この場合、ニュースサイト、セキュリティベンダ等から受信するファイルの中には、title要素としてドキュメントのタイトルが含まれ、description要素としてドキュメントの本文が含まれている。セキュリティ情報収集部112は、図9に示すとおり、「取得日時」フィールド901に新規セキュリティ情報の取得日時、「セキュリティ情報源URL」フィールド902にセキュリティ情報源URL、「タイトル」フィールド903にドキュメントのタイトル、「説明」フィールド904にドキュメントの本文を格納し、セキュリティ情報前処理部113に送信する(1804)。
図19は、セキュリティ情報前処理部113の処理の一例を示すフローチャートである。セキュリティ情報前処理部113は、セキュリティ情報収集部112より新規セキュリティ情報を受信する(1901)。
セキュリティ情報前処理部113は、各新規セキュリティ情報について、「タイトル」フィールド903に含まれているドキュメントのタイトルと、「説明」フィールド904に含まれているドキュメントの本文とに対して自然言語処理を行う。これにより、ドキュメント内で言及されているサイバー攻撃について、攻撃発生日、攻撃対象、脅威分類、セキュリティへの影響の有無を特定する(1902)。ここで、脅威分類としては、なりすまし、改ざん、否認、情報漏洩、DoS、特権昇格からなるSTRIDEを利用することができる。
例えば、セキュリティレポートが、取得日時が「2020/1/6 14:22:42」、タイトルが「X社へのサイバー攻撃が発生」、本文が「1/5にX社へのサイバー攻撃が発生し、顧客情報が流出したことが判明した。この攻撃は、ソフトウェアAの脆弱性を利用したものと見られ・・・」であったとする。当該セキュリティレポートについて、セキュリティ情報前処理部113は、攻撃発生日を「2020/1/5」、攻撃対象を「ソフトウェアA」、脅威分類を「情報漏洩」、機密性への影響を「あり」、完全性への影響を「なし」、可用性への影響を「なし」と判断する。
セキュリティ情報前処理部113は、前処理済セキュリティ情報117を更新する(1903)。より具体的には、セキュリティ情報前処理部113は、このように抽出した攻撃発生日、攻撃対象、脅威分類、セキュリティへの影響を、それぞれ「攻撃発生日」フィールド1101、「攻撃対象」フィールド1102、「脅威分類」フィールド1103、「C影響」フィールド1104、「I影響」フィールド1105、「A影響」フィールド1106に格納する。この際、「C影響」フィールド1104、「I影響」フィールド1105、「A影響」フィールド1106については、セキュリティ情報前処理部113は、「あり」を「1」、「なし」を「0」として格納する。また、セキュリティ情報前処理部113は、「新規」フィールド1107については「1」とする。
図20は、攻撃発生状況分析部114の処理の一例を示すフローチャートである。攻撃発生状況分析部114には、予め動作を行う頻度(例えば、1日ごと)が設定されているものとする。攻撃発生状況分析部114は、その設定に従い、一定時間ごとに前処理済セキュリティ情報117を参照し、前処理済セキュリティ情報を取得する(2001)。
次に、攻撃発生状況分析部114は、新規前処理済セキュリティ情報、つまり「新規」フィールド1107が「1」であるような前処理済セキュリティ情報が、予め設定された件数、例えば100件以上存在するか否かを判定する(2002)。新規前処理済セキュリティ情報が予め定められた件数以上存在しない場合、攻撃発生状況分析部114は、処理を行わない。新規前処理済セキュリティ情報が予め定められた件数以上存在する場合、攻撃発生状況分析部114は、前処理済セキュリティ情報117において、それらの前処理済セキュリティ情報の「新規」フィールド1107の値を「0」に変更する(2003)。
次に、攻撃発生状況分析部114は、攻撃発生状況情報118を参照し、新規前処理済セキュリティ情報の攻撃発生日をもとに、必要なレコードを取得する(2004)。より具体的には、攻撃発生状況分析部114は、ある新規前処理済セキュリティ情報の攻撃発生日が「2019/12/25」であった場合、攻撃発生状況情報118のレコードのうち、「期間開始日」フィールド1201の日付が2019/12/25以前であり、かつ「期間終了日」フィールド1202の日付が2019/12/25以降であるようなものを取得する。この処理を全ての新規前処理済セキュリティ情報について行う。
次に、攻撃発生状況分析部114は、新規前処理済セキュリティ情報および過去の攻撃発生状況をもとに、分析期間、攻撃対象、脅威分類ごとに、セキュリティそれぞれに影響を与える攻撃の頻度をカウントする(2005)。図中およびこれ以降の文章中、セキュリティそれぞれに影響を与える攻撃の頻度をCIA影響頻度と記すことがある。
次に、攻撃発生状況分析部114は、分析期間、攻撃対象、脅威分類ごとのCIA影響頻度を、現在までの攻撃発生状況として攻撃発生状況情報118に格納する(2006)。
例えば、新規前処理済セキュリティ情報の中に以下のレコードが存在した場合を考える。
「攻撃発生日:2019/12/29、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
「攻撃発生日:2019/12/30、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:1、新規:1」
「攻撃発生日:2019/12/30、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
「攻撃発生日:2019/12/31、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:1、新規:1」
また、攻撃発生状況の中に以下のレコードが存在したとする。
「期間開始日:2019/12/25、期間終了日:2019/12/31、予測:0、変更あり:0、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響頻度:3、I影響頻度:0、A影響頻度:1」
この場合、新規前処理済セキュリティ情報のうち、攻撃発生日が2019/12/25以降2019/12/31以前であり、攻撃対象がソフトウェアAであり、かつ脅威分類が特権昇格であるレコードについて、C影響が「1」であるものが4個、I影響が「1」であるものが0個、A影響が「1」であるものが2個存在する。処理2005において、攻撃発生状況分析部114は、これらの値を期間開始日が2019/12/25、期間終了日が2019/12/31、攻撃対象がソフトウェアA、脅威分類が特権昇格である攻撃発生状況のレコードの中の、C影響頻度、I影響頻度、A影響頻度の値に加え、新しいC影響頻度、I影響頻度、A影響頻度とする。この例では、新しいC影響頻度は、3+4=7、新しいI影響頻度は、0+0=0、新しいA影響頻度は、1+2=3と計算される。処理2006において、攻撃発生状況分析部114は、C影響頻度、I影響頻度、A影響頻度をこれらの新しい値に変更し、更に「変更あり」フィールド1204の値を「1」に変更する。
この例において、攻撃発生状況のレコードは、以下のものに変更される。
「期間開始日:2019/12/25、期間終了日:2019/12/31、予測:0、変更あり:1、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響頻度:7、I影響頻度:0、A影響頻度:3」
一方、新規前処理済セキュリティ情報の「攻撃発生日」が、攻撃発生状況情報118の「期間終了日」フィールド1202の中で最新の日付よりも新しい場合、処理2005では新たに分析期間を設定した上でCIA影響頻度をカウントする。
例えば、攻撃発生状況分析部が2020/1/7に動作しており、新規前処理済セキュリティ情報の中に以下のレコードが存在する場合を考える。
「攻撃発生日:2020/1/2、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
「攻撃発生日:2020/1/2、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
「攻撃発生日:2020/1/3、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
「攻撃発生日:2020/1/4、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:1、A影響:0、新規:1」
「攻撃発生日:2020/1/5、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響:1、I影響:0、A影響:0、新規:1」
更に、セキュリティ情報DBの「期間終了日」フィールド1202の中で最新の日付が2019/12/31であるとする。
この場合、攻撃発生状況分析部114は、「期間終了日」フィールド1202の中で最新の日付の1日後、すなわち2020/1/1から、攻撃発生状況分析部114が動作している現在の日付、すなわち2020/1/7までの期間について、CIA影響頻度をカウントする。この例では、新規前処理済セキュリティ情報のうち、期間開始日が2020/1/1以降2020/1/7以前であり、攻撃対象がソフトウェアAであり、かつ脅威分類が特権昇格であるレコードについて、C影響が「1」であるものが5個、I影響が「1」であるものが1個、A影響が「1」であるものが0個存在する。
攻撃発生状況分析部114は、処理2006において、これらの値をそれぞれC影響頻度、I影響頻度、A影響頻度とした以下のレコードを攻撃発生状況情報118に追加する。
「期間開始日:2020/1/1、期間終了日:2020/1/7、予測:0、変更あり:1、攻撃対象:ソフトウェアA、脅威分類:特権昇格、C影響頻度:5、I影響頻度:1、A影響頻度:0」
次に、攻撃発生状況分析部114は、攻撃発生状況情報118において「予測」フィールド1203の値が「1」であるレコードを全て削除する(2007)。次に、攻撃発生状況分析部114は、攻撃発生状況更新通知を攻撃発生状況予測部115に送信する(2008)。
図21は、攻撃発生状況予測部115の処理の一例を示すフローチャートである。まず、攻撃発生状況予測部115は、攻撃発生状況分析部114より攻撃発生状況更新通知を受信する(2101)。次に、攻撃発生状況予測部115は、攻撃発生状況情報118を参照し、必要なレコードを取得する(2102)。必要なレコードは、処理2103の処理により異なるが、以下では、前回のCIA影響頻度と今回のCIA影響頻度とを結んだ直線上の将来の日時の値を将来(予測の期間)のCIA影響頻度とする方式を例に挙げて説明することから、各攻撃対象、各脅威分類について、分析期間が最新のレコードと2番目に新しいレコードとを用いるケースを例示する。
次に、攻撃発生状況予測部115は、予め定められた方式に基づき、攻撃発生状況情報118から取得したレコードをもとに、将来の攻撃発生状況を予測する(2103)。例えば、ある攻撃対象、脅威分類について、分析期間が最新のレコード(期間開始日s、期間終了日e)のC影響頻度をn[C]、分析期間が2番目に新しいレコード(期間開始日s’、期間終了日e’)のC影響頻度をn[C]’とする。このとき、期間開始日がs”=e+1、期間終了日がe”=s”+7であるような分析期間のC影響頻度n[C]”を下記の予測式に従って予測する。なお、ここでは、今後1週間を予測すると仮定しているが、つまり予測の期間を固定としているが、前回の期間、今回の期間等に応じて予測の期間を変更してもよい。
ただし、この予測式に従って算出した値が「0」以下である場合、n[C]”=0とする。I影響頻度、A影響頻度についても同様に予測し、この処理を全ての攻撃対象、全ての脅威分類について繰り返す。なお、C影響頻度、I影響頻度、A影響頻度の予測式は、上記に限定されるものではない。その他の予測式としては、例えば、過去のリスク値の変化のパターンを解析し、リスク値がこのくらい増えているときには、次はこれくらい変化するといったデータを集めて適用した予測式であってもよい。
次に、攻撃発生状況予測部115は、処理2103において予測したCIA影響頻度を、攻撃発生状況情報118に追加する(2104)。この際、攻撃発生状況予測部115は、「予測」フィールド1203の値を「1」、「変更あり」フィールド1204の値を「1」とする。次に、攻撃発生状況予測部115は、攻撃発生状況更新通知をリスク分析部122に送信する(2105)。
図22は、資産情報入力部121の処理の一例を示すフローチャートである。資産情報入力部121は、クライアントが資産情報入力画面700にアクセスすると、資産情報124を参照し、現在の資産情報として全てのレコードを取得する(2201)。次に、資産情報入力部121は、資産情報入力画面700を表示する(2202)。より具体的には、資産情報入力部121は、取得した現在の資産情報を資産入力欄701、なりすまし対策状況入力欄702、改ざん対策状況入力欄703、否認対策状況入力欄704、情報漏洩対策状況入力欄705、DoS対策状況入力欄706、特権昇格対策状況入力欄707、C重要度入力欄708、I重要度入力欄709、A重要度入力欄710に表示する。
次に、資産情報入力部121は、資産情報を受け付ける(2203)。より具体的には、資産情報入力部121は、クライアントが資産入力欄701、なりすまし対策状況入力欄702、改ざん対策状況入力欄703、否認対策状況入力欄704、情報漏洩対策状況入力欄705、DoS対策状況入力欄706、特権昇格対策状況入力欄707、C重要度入力欄708、I重要度入力欄709、A重要度入力欄710を更新して登録ボタン718を押下すると、資産情報入力部121は、入力された資産情報を取得する。次に、資産情報入力部121は、取得した資産情報と一致するように、資産情報124を更新する(2204)。
図23は、リスク分析部122の処理の一例を示すフローチャートである。リスク分析部122は、攻撃発生状況予測部115より攻撃発生状況更新通知を受信する(2301)。次に、リスク分析部122は、資産情報124を参照し、全てのレコードを取得する(2302)。次に、リスク分析部122は、攻撃発生状況情報118を参照し、「変更あり」フィールド1204の値が「1」であるレコードを取得する(2303)。次に、リスク分析部122は、取得したレコードの「変更あり」フィールド1204の値を「0」に変更する(2304)。
次に、リスク分析部122は、取得した攻撃発生状況に含まれる全ての分析期間、攻撃対象、脅威分類の組み合わせについて、予め定義された算出式に従ってリスク値を算出する(2305)。より具体的には、リスク分析部122は、取得した資産情報に含まれるC重要度、I重要度、A重要度の値と、取得した攻撃発生状況に含まれるC影響頻度、I影響頻度、A影響頻度の値とを用いてリスク値を算出する。
まず、リスク分析部122は、攻撃発生状況情報118から取得した各レコードについて、C影響頻度n[C]、I影響頻度n[i]、A影響頻度n[A]を下記の算出式に従ってC影響度i[C]、I影響度i[i]、A影響度i[A]に変換する。
ここでeは、自然対数の底であり、この変換によりi[C]、i[I]、i[A]は、「0」以上「1」未満の値になる。次に、分析期間、攻撃対象、脅威分類の組み合わせについて、攻撃対象である資産のC重要度r[C]、I重要度r[I]、A重要度r[A]を先ほど取得した資産情報から取り出し、リスク値Rを下記の算出式に従って算出する。
上記の算出式によれば、各資産における各脅威のリスクを、同一の基準の下で定量的に評価することができる。なお、リスク値の算出式は、上記に限定されるものではない。評価項目としては、CIAの全てを用いてもよいし、CIといったように任意の2つを用いてもよいし、Cのみといったように任意の1つを用いてもよいし、これらに他の評価項目を組み合わせてもよい。
次に、リスク分析部122は、リスク分析結果125において「予測」フィールド1407の値が「1」であるようなレコードを削除する(2306)。
次に、リスク分析部122は、分析期間、資産、脅威分類ごとのリスク値、対策状況をリスク分析結果としてリスク分析結果125に格納する(2307)。このとき、分析期間、資産、脅威分類が全て一致するレコードがリスク分析結果125に既にある場合、そのレコードを更新する。ここで、「期間開始日」フィールド1401、「期間終了日」フィールド1402、「資産」フィールド1403、「脅威分類」フィールド1404には、取得した攻撃発生状況に含まれる、対応するレコードの期間開始日、期間終了日、攻撃対象、脅威分類を格納する。「リスク値」フィールド1405には、処理2305において算出したリスク値を格納する。「対策状況」フィールド1406には、取得した資産情報に含まれる、当該資産の脅威分類に対する対策状況を格納する。ただし、既にあるリスク分析結果125のレコードを更新する場合、「対策状況」フィールド1406については、元の値のまま変更しないものとする。「予測」フィールド1407には、取得した攻撃発生状況に含まれる、対応するレコードの「予測」フィールドの値を格納する。
処理2307では、リスク分析部122は、リスク分析結果125において、ある分析期間のレコードが一部の資産、脅威分類の組み合わせについてのみ存在する場合、レコードが存在しない資産、脅威分類の組み合わせについてレコードを追加するものとする。このとき、追加しようとするレコードと分析期間が同じレコードの「予測」フィールド1407が「0」である場合、リスク分析部122は、追加するレコードでは「リスク値:0、予測:0」とする。一方、追加しようとするレコードと分析期間が同じレコードの「予測」フィールド1407が「1」である場合、リスク分析部122は、追加するレコードでは「リスク値:None、予測:1」とする。
例えば、リスク分析結果125に「期間開始日:2020/1/1、期間終了日:2020/1/7、資産:ソフトウェアA、脅威分類:なりすまし、予測:0」であるレコードが存在する一方、「期間開始日:2020/1/1、期間終了日:2020/1/7、資産:ソフトウェアB、脅威分類:なりすまし」であるレコードが存在せず、資産情報においてソフトウェアBのなりすまし対策状況が「○」である場合、レコード「期間開始日:2020/1/1、期間終了日:2020/1/7、資産:ソフトウェアB、脅威分類:なりすまし、リスク値:0、対策状況:○、予測:0」を追加する。別の例として、リスク分析結果125に「期間開始日:2020/1/8、期間終了日:2020/1/15、資産:OS C、脅威分類:なりすまし、予測:1」であるレコードが存在する一方、「期間開始日:2020/1/8、期間終了日:2020/1/15、資産:ソフトウェアA、脅威分類:否認」であるレコードが存在せず、資産情報においてソフトウェアAの否認対策状況が「×」である場合、レコード「期間開始日:2020/1/8、期間終了日:2020/1/15、資産:ソフトウェアA、脅威分類:否認、リスク値:None、対策状況:×、予測:1」を追加する。
図24は、リスク分析結果出力部123の処理の一例を示すフローチャートである。クライアントがリスク分析結果出力画面800にアクセスすると、リスク分析結果出力部123は、リスク分析結果125を参照し、リスク分析結果出力画面800に表示する期間のレコードを取得する(2401)。リスク分析結果出力画面800に表示する期間については、リスク分析結果出力部123に事前に設定されているものとする。
次に、リスク分析結果出力部123は、取得した各レコードについて、要対策資産への該当および非該当を判定する(2402)。判定条件(ルール)については、事前に設定されているものとする。判定条件としては、例えば、「リスク値が「70」以上であるものを要対策資産とする」という条件を用いることができる。
次に、リスク分析結果出力部123は、リスク分析結果および要対策資産への該当または非該当をリスク分析結果出力画面800に表示する(2403)。これにより、リスク分析結果出力画面800を閲覧したクライアントが優先して対処すべき資産および脅威が明確になる。
(2)第2の実施の形態
本実施の形態は、攻撃発生状況予測部115において、過去の攻撃発生状況をもとに将来の攻撃発生状況を予測する代わりに、脆弱性情報をもとに将来の攻撃発生状況を予測するものである。脆弱性の種類によって、どのような攻撃に利用され易いかが違ってくるので、本実施の形態に係るリスク評価システム100では、脆弱性の種類を加味してCIA影響頻度を推定し、その推定の結果を用いて将来のリスクを予測する。脆弱性情報は、セキュリティ情報の一例である。脆弱性情報は、例えば、「OSに情報漏洩を発生し得る脆弱性が発見された」といった情報である。
本実施の形態において、第1の実施の形態からの主な変更点を以下に示す。例えば、新たな機能部として脆弱性情報収集部が追加され、新たな情報として脆弱性情報および脆弱性脅威対応関係情報が追加される。なお、第1の実施の形態と同じ構成については同じ符号を用いてその説明を省略する。
脆弱性情報収集部は、予め定められた情報源(例えば、インターネット上)より定期的に脆弱性情報を収集する。収集する脆弱性情報としては、少なくとも脆弱性情報の公表日、脆弱性が存在する製品の名称、脆弱性分類の情報を含むものとする。脆弱性情報収集部は、収集した脆弱性情報を記憶する。
図25は、脆弱性脅威対応関係情報の一例を示す図である。脆弱性脅威対応関係情報は、脆弱性分類と脅威分類との対応関係を記憶している情報である。
「脆弱性分類」フィールド2501には、不適切な認証、SQLインジェクション等の脆弱性分類が格納される。「脅威分類」フィールド2502には、なりすまし、改ざん、否認、情報漏洩等の脅威分類が格納される。「影響するセキュリティ要素」フィールド2503には、影響するセキュリティ要素(本例では、機密性を示す「C」、完全性を示す「I」、可用性を示す「A」の何れか)が格納される。「関連度」フィールド2504には、脆弱性分類と脅威分類と影響するセキュリティ要素との関連度が「0」以上「1」以下の値として格納される。関連度の値は、事前に手動で設定されていてもよく、または、別の機能部によって自動的に設定されてもよい。以下、脆弱性分類v、脅威分類t、セキュリティ要素aの間の関連度をc[v,t,a]と記す。
次に、攻撃発生状況予測部115の処理が図21より以下の通り変更される。まず、処理2102において、攻撃発生状況予測部115は、脆弱性情報を参照し、一定期間(例えば、直近1週間)に公表された脆弱性情報を取得する。次に、処理2103において、攻撃発生状況予測部115は、以下の通り脆弱性情報をもとに将来の攻撃発生状況を予測する。
はじめに、攻撃発生状況予測部115は、取得した脆弱性情報について、製品、脆弱性分類ごとに個数を集計する。ここで、製品pに存在する脆弱性分類vの脆弱性の個数をm[p,v]とする。次に、下記の算出式に従って、製品p、脆弱性分類v、セキュリティ要素aに対する所定の期間(例えば、今後1週間)のCIA影響頻度n[p,t,a]を算出する。
攻撃発生状況予測部115は、このように算出したCIA影響頻度を攻撃発生状況情報118に格納する。この際、攻撃発生状況予測部115は、「期間開始日」フィールド1201には、攻撃発生状況予測が動作している日の翌日の日付、「期間終了日」フィールド1202には、攻撃発生状況予測が動作している日の1週間後の日付、「予測」フィールド1203には、「1」、「変更あり」フィールド1204は「1」を格納する。
(3)付記
上述の実施の形態には、例えば、以下のような内容が含まれる。
上述の実施の形態においては、本発明をリスク評価システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
また、上述の実施の形態において、脅威分類を複数設ける場合について説明したが、本発明は、これに限られない。例えば、脅威分類が1種類(例えば、特定の攻撃)設けられる構成であってもよい。付言するならば、脅威分類は、設けられなくてもよい。
また、上述の実施の形態において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
また、上述の実施の形態において、図示および説明した画面は、一例であり、受け付ける情報が同じであるならば、どのようなデザインであってもよい。
また、上述の実施の形態において、情報の出力は、ディスプレイへの表示に限るものではない。情報の出力は、スピーカによる音声出力であってもよいし、ファイルへの出力であってもよいし、印刷装置による紙媒体等への印刷であってもよいし、プロジェクタによるスクリーン等への投影であってもよいし、記憶装置への記憶であってもよいし、その他の態様であってもよい。
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
リスク評価システム(例えば、リスク評価システム100)は、攻撃(例えば、なりすまし、改ざん、否認、情報漏洩、DoS、特権昇格等)の対象(例えば、攻撃対象)と上記攻撃によるセキュリティへの影響の有無(例えば、機密性へ影響する攻撃の有無、完全性へ影響する攻撃の有無、可用性へ影響する攻撃の有無)とに係る情報を含む1つ以上のセキュリティ情報(例えば、図9参照)から得られる、上記攻撃の対象に対する上記攻撃の発生状況(例えば、CIA影響頻度)を示す攻撃発生状況情報(例えば、攻撃発生状況情報118)と、所定のシステム(例えば、対象システム)における上記攻撃の対象となり得る資産(ソフトウェア、ハードウェア、データ、ネットワーク等)を示す資産情報(例えば、資産情報124)とを対応付け、上記資産に対する上記攻撃のリスクを示すリスク値を算出する算出部(例えば、リスク分析部122、クライアント装置120、回路)と、上記算出部により算出されたリスク値を出力する出力部(例えば、リスク分析結果出力部123、クライアント装置120、回路)と、を備える。
上記構成では、例えば、ニュース記事、セキュリティレポート等のセキュリティ情報から得られた攻撃発生状況情報と資産情報とを対応付けてリスク値を算出することで、資産に対する攻撃のリスクを自動的に評価することができる。上記構成によれば、例えば、クライアントは、現在のリスク値をもとに、資産に対する将来的な攻撃への対策を行うことができるようになる。
上記リスク評価システムは、複数の期間の各々に対応する攻撃発生状況情報(例えば、図12参照)を記憶する記憶部(例えば、外部記憶装置213、サーバ装置110、サーバ装置110とは異なる他のコンピュータ)と、上記複数の期間の任意の期間の攻撃発生状況情報をもとに、所定の期間(例えば、最新の分析期間から1週間)における上記資産に対する上記攻撃の発生状況を予測する予測部(例えば、攻撃発生状況予測部115、サーバ装置110、回路)と、を備え、上記算出部は、上記予測部により予測された上記所定の期間における上記攻撃の発生状況と上記資産情報とを対応付け、上記所定の期間における上記資産に対する上記攻撃のリスクを示す予測値を算出し(例えば、図23参照)、上記出力部は、上記算出部により算出された予測値を出力する(例えば、図8参照)。
上記構成では、現在までの攻撃の発生状況をもとに予測値が出力されるので、クライアントは、例えば、将来のリスクが高い脅威に対する対策を優先して行うことができるようになる。
上記リスク評価システムは、上記算出部により算出されたリスク値を記憶する記憶部(例えば、外部記憶装置413、クライアント装置120、クライアント装置120とは異なる他のコンピュータ)を備え、上記出力部は、上記記憶部に記憶されている最新のリスク値を含む所定の期間のリスク値を表示する(図8参照)。
上記構成では、現在のリスク値と過去のリスク値とが表示されるので、例えば、クライアントは、リスク値の変動をもとに、将来的な攻撃への対策を行うことができるようになる。
上記セキュリティ情報は、自然言語で記述され、上記リスク評価システムは、外部の情報源から上記セキュリティ情報を収集する収集部(例えば、セキュリティ情報収集部112、サーバ装置110、回路)と、上記セキュリティ情報に対して自然言語処理を行って統計処理可能な形式に変換して前処理済セキュリティ情報にする処理を行う処理部(例えば、セキュリティ情報前処理部113、サーバ装置110、回路)と、上記前処理済セキュリティ情報をもとに上記攻撃発生状況情報を生成する生成部(例えば、発生状況分析部114、サーバ装置110、回路)と、を備える(例えば、図18、図19を参照)。
上記セキュリティ情報には、上記攻撃の種類(例えば、脅威分類)に係る情報が含まれ、上記リスク評価システムは、上記セキュリティ情報から、上記攻撃の種類ごとに、上記攻撃の対象への上記攻撃の発生状況を示す攻撃発生状況情報を生成する生成部(例えば、発生状況分析部114、サーバ装置110、回路)を備え、上記算出部は、上記攻撃の種類ごとに、上記攻撃発生状況情報と上記資産情報とを対応付け、上記リスク値を算出する(例えば、図23参照)。
上記構成では、攻撃の種類ごとにリスク値が算出されるので、例えば、クライアントは、攻撃の種類ごとに、資産に対する将来的な攻撃への対策を行うことができるようになる。
上記セキュリティ情報は、上記攻撃の対象の脆弱性の種類(例えば、脆弱性分類)に係る情報を含む脆弱性情報であり、上記脆弱性情報から上記脆弱性の種類ごとに上記脆弱性の個数を集計し、集計した結果と上記脆弱性の種類と上記攻撃との関連度を示す情報(例えば、脆弱性脅威対応関係情報、図25参照)とをもとに、所定の期間における上記資産に対する上記攻撃の発生状況を予測する予測部(例えば、攻撃発生状況予測部115、サーバ装置110、回路)を備える。
上記構成によれば、脆弱性情報をもとに将来の攻撃の発生状況を予測できるようになる。
なお、本発明は、上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換等をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。