【文献】
LEMAY, A., et al.,An isolated virtual cluster for SCADA network security research,Proceedings of 1st International Symposium for ICS & SCADA Cyber Security Research 2013 (ICS-CSR 2013) [online],2013年09月16日,Retrived from the Internet: <URL: https://www.scienceopen.com/hosted-document?doi=10.14236/ewic/ICSCSR2013.10> [Retrieved on 2021-08-31]
【文献】
GREEN, B., et al.,Pains, Gains and PLCs: Ten Lessons from Building an Industrial Control Systems Testbed for Security Research,Proceedings of 10th USENIX Workshop on Cyber Security Experimentation and Test (CSET 17) [online],2017年08月14日,Retrieved from the Internet: <URL: https://www.usenix.org/conference/cset17/workshop-program/presentation/green> [Retrieved on 2021-08-31]
(58)【調査した分野】(Int.Cl.,DB名)
前記複製環境上で、アクティブスキャンとペネトレーションテストとから成るグループから選択された少なくとも1つを含むセキュリティ診断を行うように構成された、診断インターフェースを更に備える、請求項3に記載のセキュリティアセスメントシステム。
前記入力インターフェースは、各物理的コンポーネントの前記重要度と、各物理的コンポーネントの前記モデル化困難性と、各物理的コンポーネントの前記重要度用、セキュリティ診断を詳細にする前記可能性用、および各物理的コンポーネントの前記モデル化困難性用の重み係数と、を更に入力するように構成されている、請求項7に記載のセキュリティアセスメントシステム。
【発明を実施するための形態】
【0014】
次に、本発明の実施形態について説明する。
【0015】
図1は、本発明の実施形態に係るセキュリティアセスメンシステム10の構成例を示すブロック図である。セキュリティアセスメントシステム10は、複数の物理的コンポーネントを備えるアセスメント対象システム(図示せず)を複製する、複製環境200を提供するように構成される。複製環境200は、上述したデジタルツインとして働く。デジタルツインは、一方では、要求されるセキュリティ/ペンテストを実行するのを可能とし、他方では、デジタルツイン上でテストを実行することから得られる結果の全てが、もしそれらが実環境上に実行されるなら、テストの期待される結果を反映する、ことに注意されたい。セキュリティアセスメントシステム
10は、処理ユニット100と、ユーザインターフェース400とを備える。処理ユニット100は、複製環境設計モジュール110と、複製環境構築モジュール120と、脆弱性アセスメントモジュール170と、攻撃グラフ生成モジュール180と、アクティブスキャン/ペンテストモジュール190とを備える。ユーザインターフェース400は、入力インターフェース410と、出力インターフェース420とを備える。
【0016】
図示の例において、複製環境200は、シミュレーションサブモジュール210と、エミュレーションサブモジュール220と、物理的サブモジュール230とから成る。シミュレーションサブモジュール210は、物理的コンポーネントの仕様302または物理的コンポーネントの機能の挙動モデル304である。エミュレーションサブモジュール220は、VM(仮想マシン)を使用して物理的コンポーネントを再現するソフトウェアから成る。物理的サブモジュール230は、アセスメント対象システムにおける物理的コンポートと物理的に類似する、コンポーネントから成る。
【0017】
詳述すると、シミュレーションサブモジュール210において、物理的コンポーネントの仕様302は、ハードウェア/ソフトウェアと物理的コンポーネントが持つ版とのリストから成る。物理的コンポーネントの仕様302は、典型的には、例えば、ベンダによって提供される仕様や、情報がCPE(Common Product Enumeration)に従って統合された仕様であってよい。物理的コンポーネントの仕様302は、脆弱性スキャナによって発見された脆弱性情報を持ってもよい。シミュレーションサブモジュール210は、ソフトウェアおよびハードウェアの各々の詳細仕様を階層的に持ってもよい。
【0018】
シミュレーションサブモジュール210において、挙動モデル304は、挙動が決定される通信プロトコル等に関係し、挙動を記述するモジュールや挙動に関連づけられたドキュメントから成る。特に、挙動モデル304は、RFC(Request for Comments)のような物理的コンポーネントの挙動を定める文書や、上記文書に基づいて記述された入力に対する応答をまとめることによって得られた文書であってよい。挙動モデル304は、挙動の数学的なモデルであってもよい。例えば、通信プロトコルは、状態遷移図やペトリネットによって記述することができる。挙動モデル304は、入力に対する応答のみを再現するソフトウェアであってもよい。しかしながら、物理的コンポーネントにおける内部状態の挙動を再現するソフトウェアは、次に述べるようなエミュレーションサブモジュール220によって扱われる。
【0019】
エミュレーションサブモジュール220において、物理的コンポーネントは、VMによって再現される。すなわち、エミュレーションサブモジュール220は、物理的コンポーネント内の内部状態の挙動を再現するソフトウェアから成る。ソフトウェアに関して、エミュレーションサブモジュール220は、アセスメント対象システムと同一のソフトウェアを利用する。
【0020】
上述したように、物理的サブモジュール230は、アセスメント対象システム内の物理的コンポーネントと物理的に類似するコンポーネントから成る。すなわち、物理的サブモジュール230において、アセスメント対象システム内の同じハードウェアが使用され、アセスメント対象システム内の同じソフトウェアが、その同じ構成で初期的に稼働する。
【0021】
図1に示されるように、複製環境設計モジュール110には、ユーザによって指定された拘束条件310と、システム情報320と、各物理的コンポーネントの重要度340と、各物理的コンポーネントのモデル化困難性350と、(説明が進むにつれて明らかになるだろう)セキュリティ診断を詳細にする可能性と、重み係数360と、が供給される。入力インターフェース410は、複製環境設計モジュール110に、拘束条件310と、システム情報320と、重要度340と、モデル化困難性350と、重み係数360とを供給する。拘束条件310は、要件であってよい。図示の例において、拘束条件310は、予算または待ち時間(許容時間)から成る。他の拘束条件は、デジタルツインを配置するための物理的空間またはデジタルツイン内の同じ要素の多重使用であってよい。拘束条件310は、エミュレーションサブモジュール220または物理的サブモジュール230を作成するための各複製レベル用の要求コスト及び要求時間を更に有する。複製環境設計モジュール110は、各物理的コンポーネントに対して、要求コストの合計または要求時間の最大値を計算する。複製環境設計モジュール110は、要求コストの合計が予算を超えないようにまたは要求時間の最大値が許容時間を超えないように、各物理的コンポーネント用の複製レベルを決定する。
【0022】
各物理的コンポーネントの重要度340、各物理的コンポーネントのモデル化困難性350、セキュリティ診断を詳細にする可能性、および重み係数360については、後で詳述する。
【0023】
複製環境設計モジュール110には、また、説明が進むにつれて明らかになるだろう、物理的コンポーネントに関連付けられた効果が供給される。図示の例において、効果は、各物理的コンポーネントの複製優先度からなり、その複製優先度は、後で説明するように、各物理的コンポーネントの重要度340と、セキュリティ診断を詳細にする可能性と、各物理的コンポーネントのモデル化困難性350とに基づいて決定される。各物理的コンポーネントの複製優先度は、本実施形態では、各物理的コンポーネントの重要度340、セキュリティ診断を詳細にする可能性、および各物理的コンポーネントのモデル化困難性350の全てに基づいて決定されるが、各物理的コンポーネントの複製優先度は、本発明では、各物理的コンポーネントの重要度340、セキュリティ診断を詳細にする可能性、および各物理的コンポーネントのモデル化困難性350から選択された少なくとも1つに基づいて決定されてよい。
【0024】
次に、アセスメント対象システムの複数の物理的コンポーネントにおける有効コンポーネントについて説明する。有効コンポーネントは、以下に説明するように、本実施形態においては、第1乃至第3のグループに分類される。
【0025】
第1のグループの有効コンポーネントは、正確にアクセスするのが高く要求される、1つ以上のコンポーネントから成る。そのようなコンポーネントは、例えば、アセスメント対象システムを維持するために重要な財産や重要な役割を持つ。
【0026】
第2のグループの有効コンポーネントは、正確なアセスメントによるセキュリティアセスメントの結果を効果的に詳細化できる1つ以上のコンポーネントから成る。そのようなコンポーネントは、例えば、潜在的な脆弱性を検出されるノードおよび/または攻撃グラフ上の多くの攻撃が使用されるノードから成る。
【0027】
第3のグループの有効コンポーネントは、エミュレーションサブモジュール220や物理的サブモジュール230無しでアクセスすることが困難な1つ以上のコンポーネントから成る。そのようなコンポーネントは、例えば、その行動(セキュリティソフトウェア)を
モデル化することが困難なノードや、(ウェブアプリケーションのような)アクティブスキャンによって検出することが困難な脆弱性を持つ傾向があるノードから成る。
【0028】
複製環境設計モジュール110は、拘束条件310とシステム情報320と上記効果とに従って、アセスメント対象システム内のどの物理的コンポートが、シミュレーションサブモジュール210、エミュレーションサブモジュール220、または物理的サブモジュール230によって診断されるべきかを判断し、複製環境設計を示す設計結果330を生成する。規定された拘束条件で、最大化されるのが望まれる目的関数が、規定されてよい。この関数は、選択されたデジタルツインから利益を表す。利益は、デジタルツイン上に実行され得る、セキュリティテストの値である。換言すれば、複製環境設計モジュール110は、拘束条件310と、複製環境を設計するために物理的コンポーネントと関連付けられた上記効果とに基づいて、各物理的コンポーネント用の複製レベルを選択して、複製環境設計を表す設計結果330を生成する。出力インターフェース420は設計結果330を出力するように構成される。複製レベルは、複製環境200の物理的コンポーネントを再現するための、シミュレーションサブモジュール210、エミュレーションサブモジュール220、および物理的サブモジュール230のいずれか1つを表す。
【0029】
詳述すると、上述したように、拘束条件310は、予算と許容時間との少なくとも1つから成る。複製環境構築モジュール110は、上記効果として、後述するような各物理的コンポーネントの上記複製優先度に基づいて、要求コストが予算を超えないまたは要求時間が許容時間を超えない条件を満足するように、各物理的コンポーネント用の複製レベルを選択するように構成される。
【0030】
本実施形態において、複製環境200のコストは、アセスメント対象システムウエイの各装置をエミュレートするまたは物理化するために必要なコストばかりでなく、セキュリティ診断が当該装置をエミュレートするまたは物理化する際に実行される場合に要求されるセキュリティ診断コストから成ってよい。セキュリティ診断コストは、診断者の人事経費を含む。何故なら、実際の装置を使用して当該装置の効果的な診断を行うことででき、当該装置が低いコストを持つけれども、それ自身診断のために莫大なコストがかかるため、予算を超える場合に当該装置を物理化することに意味がないからである。この場合、入力インターフェース410は、後述するセキュリティ診断動作の分類に応じる、セキュリティ診断コストを入力する。
【0031】
複製環境構築モジュール120は、設計結果330に基づいて複製環境200を構築する。複製環境200は、他のソフトウェアや
ユーザ(セキュリティ
専門家、ペンテスタ)のための複製環境を提供する。
【0032】
脆弱性アセスメントモジュール170は、複製環境200内の各コンポーネントの脆弱性を抽出して、抽出した脆弱性のリストを生成する。攻撃グラフ生成モジュール180は、攻撃において使用される複製環境200におけるどのコンポーネントが識別され得るかの攻撃グラフを生成する。複製環境設計モジュール110は、リストと攻撃グラフの少なくとも一方に基づいて、複製環境200を設計する。換言すれば、複製環境設計モジュール120は、リストと攻撃グラフの少なくとも一方に基づいて、複製レベルを選択するように構成される。アクティブスキャン/ペンテストモジュール190は、複製環境200内のエミュレーションサブモジュール220の仮想マシンまたは物理的サブモジュール230の物理的マシンに対して、アクティブにスキャンをし、またはペンテストをする。セキュリティアセスメントシステム10内の処理ユニット100は、上記プロセスを繰り返し実行し、セキュリティアセスメントの結果を詳細化する。
【0033】
次に、脆弱性アセスメントモジュール170、攻撃グラフ生成モジュール180、およびアクティブスキャン/ペンテストモジュール190の動作について詳細に説明する。
【0034】
脆弱性アセスメントモジュール170は、複製環境200における各コンポーネントについてどのような脆弱性があるかを調べる。典型的には、そのような調査は、既存の脆弱性情報データベース(図示せず)内の情報とパッシブスキャンで取得したシステム情報とを照らし合わせることで実現できる。情報が不正確な場合、脆弱性アセスメントモジュール170は、本来は存在する脆弱性を見逃したり、存在しない脆弱性を大量に検出することがある。
【0035】
攻撃グラフ生成モジュール180は、攻撃者の攻撃手順をグラフ化した、攻撃グラフを生成する。典型的には、攻撃グラフは、ノードとして、システム状態を示すシステム状態ノードと、攻撃者状態を示す攻撃者状態ノードとを備える。攻撃グラフは、攻撃行動をとるために必要な条件となるシステム状態ノードから、対応する攻撃者状態ノードに、有向辺を備える。また、攻撃グラフは、攻撃者行動状態から、その攻撃者行動によって生み出される状態に、有向辺を備える。攻撃グラフは、どのホストが何通りの攻撃に利用されているか示す情報や、攻撃にどの脆弱性が利用されるかを示す情報を提示する。
【0036】
アクティブスキャン/ペンテストモジュール190は、他のソフトウェアおよび他のユーザのために、複製環境200において再現されたコンポーネントに対し、アクティブスキャンやペネトレーションテストを行える、インターフェースを備える。また、アクティブスキャン/ペンテストモジュール190は、アクティブスキャンおよびペネトレーションテストの結果を入力させ、その結果を、脆弱性アセスメントモジュール170や攻撃グラフ生成モジュール180へ通知するように構成された、インターフェースを備えてもよい。アクティブスキャン/ペンテストモジュール190に、アクティブスキャン機能とペネトレーションテスト機能とを持たせて、自動的字にアクティブスキャンおよびペネトレーションテストを実行させてもよい。例えば、アクティブスキャン/ペンテストモジュール190は、既存のアクティブスキャン
ツールおよび/または既存のペネトレーションテスト
ツールを備えて、予め決められたアクティブスキャンおよび/または予め決められたペネトレーションテストを実行してもよい。既存のアクティブスキャン
ツールは、例えば、「Open VAS」であってよく、既存のペネトレーションテストツールは、例えば、「metasploit」であってよい。アクティブスキャン/ペンテストモジュール190は、公開されている脆弱性攻撃コードを収集して、アセスメント対象コンポーネントに対応する脆弱性攻撃コードを利用してペネトレーションテストを行うようにしてもよい。
【0037】
アクティブスキャン/ペンテストモジュール190、脆弱性アセスメントモジュール170、および攻撃グラフ生成モジュール180の組み合わせは、複製環境200上で、アクティブスキャンおよびペネトレーションテストの少なくとも一方を含むセキュリティ診断を行うように構成された、診断インターフェースとして働く。
【0038】
図2を参照して、複製環境設計モジュール110の構成について詳細に説明する。複製環境設計モジュール110は、条件規定サブモジュール510と、有効性規定サブモジュール520と、複製レベル決定サブモジュール530とを備える。
【0039】
条件規定サブモジュール510は、制約条件310に基づいて条件を規定して、その条件を示す第1の規定結果を生成するように構成されている。図示の例において、第1の規定結果は、要求コストが予算を超えていないまたは要求時間が許容時間を超えていない条件を満たしているか否かを示す。
【0040】
有効性規定サブモジュール520は、上記効果に基づいてアセスメント対象システムにおける物理的コンポーネントのための有効性を規定して、その有効性を示す第2の規定結果を生成するように構成されている。図示の例において、第2の規定結果は、各物理的コンポーネントの上記複製優先度を示す。
【0041】
複製レベル決定サブモジュール530は、第1および第2の規定結果に基づいて、複製レベルを決定するように構成されている。複製レベルは、複製環境構築モジュール120に供給される。
【0042】
図3を参照して、有効性規定サブモジュール520の構成について詳細に説明する。有効性規定サブモジュール520は、詳細化可能性計算サブモジュール522と複製優先度計算サブモジュール524とから成る。
【0043】
詳細化可能性計算サブモジュール522は、脆弱性アセスメントモジュール170と、攻撃グラフ生成モジュール180と、パッシブスキャンを行うパッシブスキャナ(図示せず)とに接続される。詳細化可能性計算モジュール522には、脆弱性アセスメントモジュール170から上記リストが供給される。詳細化可能性計算モジュール522には、攻撃グラフ生成モジュール180から上記攻撃グラフが供給される。詳細化可能性計算モジュール522には、パッシブスキャナによって得られた情報が供給される。すぐに述べるように、詳細化可能性計算モジュール522は、抽出した脆弱性のリストと攻撃グラフとパッシブスキャンによって得られた情報とから成るグループから選択された少なくとも1つに基づいて、上記詳細化可能性を計算して、セキュリティ診断を詳細にする可能性を示す詳細化可能性Prを生成する。
【0044】
最初に、抽出した脆弱性のリストに基づいてセキュリティ診断を詳細にする可能性を計算する場合について説明する。詳細化可能性計算モジュール522は、脆弱性アセスメントモジュール170によって得られた脆弱性数Nvまたは各脆弱性に対して決定されたスコアに基づいて、詳細化可能性Prを計算する。
【0045】
詳述すると、脆弱性アセスメントモジュール170において、各物理的コンポーネントが持つ脆弱性数Nvとなる。アセスメント対象システムが、物理的コンポーネントとして、4つのホストプロセッサ、すなわち、ホストA、ホストB、ホストC、およびホストDを備え、それらが、それぞれ、20、55、5、および30の脆弱性数Nvを持つと仮定する。詳細化可能性計算モジュール522は、脆弱性数Nv用の下限Llと上限Luとを予め規定する。下限Llおよび上限Luが、それぞれ、10および50に等しいと仮定する。
【0046】
詳細化可能性計算モジュール522は、脆弱性数Nvを、例えば、0と10との間の予め定められた範囲に縮尺する。詳細化可能性計算モジュール522は、脆弱性数Nvが下限Ll以下であれば、詳細化可能性Prを0とし、脆弱性数Nvが上限Lu以上でれば、詳細化可能性Prを10とする。脆弱数Nvが下限Llより大きくかつ上限Luより小さいとき、詳細化可能性計算モジュール522は、次の式に従って、詳細化可能性Prを計算する。
Pr=10x{(Nv−Ll)/(Lu−Ll)}
【0047】
図示の例において、詳細化可能性計算モジュール522は、ホストA、B、C、およびD用の詳細化可能性Prとして、それぞれ、2.5、10、0、および5を計算する。
【0048】
第1の例における効果について説明する。脆弱性アセスメントモジュール170は、本来、存在しない脆弱性を誤って検出するかもしれない。このような状況において、物理的サブモジュール230やエミュレーションサブモジュール220を使用することによって多数の脆弱性を持つ物理的コンポーネントを詳細に評価することによって、誤って検出された脆弱性を取り除くことができ、それによって、セキュリティ診断をより正確に行うことができる。
【0049】
詳細化可能性計算モジュール522は、脆弱性数Nvの代わりに、各脆弱性に対して決定されたスコア(たとえば、CVSS(Common Vulnerability Scoring System)等)の総計の値を使用してもよい。
【0050】
第2に、攻撃グラフに基づいてセキュリティ診断を詳細にする可能性を計算する場合における、第2の例について説明する。
【0051】
上述したように、典型的には、攻撃グラフは、ノードとして、システム状態を示すシステム状態ノードと、攻撃者状態を示す攻撃者状態ノードとを備える。攻撃グラフは、攻撃行動をとるために必要な条件となるシステム状態ノードから、対応する攻撃者状態ノードに、有向辺を備える。また、攻撃グラフは、攻撃者行動状態から、その攻撃者行動によって生み出される状態に、有向辺を備える。
【0052】
ユーザは、入力インターフェース410を使用して、複製環境設計モジュール110に、攻撃の開始点(攻撃者の初期状態)と攻撃者の目標(攻撃者の最終状態)とを供給する。ユーザは、複数の開始点と複数の目標とを設定してもよい。
【0053】
図4は、攻撃グラフの一例として仮定される、システム構成の構造例を示すブロック図である。
図4に示されるように、アセスメント対象システムは、物理的コンポーネントとして、ホストA、ホストB、ホストC、およびファイアウォールXを備えていると仮定する。ファイアウォールXは、ホストAと、ホストBと、ホストCとの間に配置されている。すなわち、ファイアウォールXは、ホストAと、ホストBと、ホストCとに接続されている。また、ホストA、B、およびCが、それぞれ、xxxx、yyyy、およびzzzzの脆弱性をもつと仮定する。
【0054】
このような状況において、攻撃グラフは、初期状態Sinと、最終状態Sfnと、初期状態Sinと最終状態Sfnとの間の、第1乃至第3の中間状態Sm1、Sm2、およびSm3とを持つ。初期状態Sinは、例えば、悪意のあるコードがホストAにおいて実行された状態である。初期状態Sinに第1の中間Sm1が続き、それは、例えば、ホストAにおいて特権エスカレーションの脆弱性(ID xxxx)を攻撃することによって、ホストA上に管理特権を持つ任意のコードを実行できる状態である。第1の中間Sm1に第2の中間状態Sm2が続き、それは、例えば、ホストAからアクセスされ得るホストB上のサービスにおいてyyyyの脆弱性を攻撃することによって、ホストB上に管理特権を持つ任意のコードを実行できる状態である。第2の中間状態Sm2に第3の中間状態Sm3が続き、それは、例えば、ホストBによって管理されるファイアウォールXのフィルタリングルールが、ホストAトホストCとの間で通信できるように書き換えられる状態である。第3の中間状態Sm3に最終状態Sfnが続き、それは、例えば、ホストAからアクセスされ得るホストC上のサービスにおいてzzzzの脆弱性を攻撃することによって、ホストC上に管理特権を持つ任意のコードを実行できる状態である。最終状態Sfnに、また、第1の中間Sm1が続く。
【0055】
上記攻撃グラフは、攻撃に使用されるホスト、脆弱性、および攻撃の手順を明らかにする。攻撃グラフに関する説明から明らかなように、一般に、初期状態Sinから最終状態Sfnに到達する、複数の経路がある。
【0056】
詳細化可能性計算サブモジュール522は、多くの経路によって使用される物理的コンポーネントが高い詳細化可能性を持つように、ホストA、B、およびC用の詳細化可能性Prを計算する。具体的に言えば、詳細化可能性計算サブモジュール522は、先ず、各物理的コンポーネントに対して、初期状態Sinと最終状態Sfnとの間の経路に現れるコストを計算し、計算されたコストを予め規定された下限値と予め規定された上限値とに基づいて予め定められた範囲(たとえば、0から10)に縮尺し、そして、ホストA、B、およびCに対する詳細化可能性Prを計算する。
【0057】
第2の例における効果について説明する。物理的サブモジュール230またはエミュレーションサブモジュール220を使用することによって物理的コンポーネントを詳細に評価することによって、物理的コンポーネントが実際に攻撃するために使用されるか否かを正しく決定することができ、それによって、元々攻撃できない任意の経路を取り除くことができる。
【0058】
上記第2の例では、詳細化可能性計算サブモジュール522が、すべての攻撃経路に現れるホストの計数に基づいて、ホストA、B、およびC用の詳細化可能性Prを計算しているが、詳細化可能性計算サブモジュール522は、特定のホストを使用する攻撃経路の計数に基づいて、特定のホスト用の詳細化可能性Prを計算するように変形されてもよい。上記例においては、詳細化可能性計算サブモジュール522は、同じホストが特殊な攻撃経路に多数回現れる場合において、独立に、各ホストの数を計数している。これに対して、変形した例では、詳細化可能性計算サブモジュール522は、特定のホストが同じ攻撃経路に多数回現れるけれども、特定のホストの数を1度だけ計数する。この構成によれば、詳細化可能性計算サブモジュール522が、特殊な攻撃経路が特定のホストを多数回使用する状況において、特定のホストに対して過度の値を計算するのを防止することができる。
【0059】
最後に、パッシブスキャンによって得られる情報に基づいて、セキュリティ診断を詳細にする可能性を計算する場合における、第3の例について説明する。この技術分野において知られているように、パッシブスキャンは、通信チャンネルを介して流れる任意の信号を観察することによって情報を収集する。アクティブスキャンとは異なり、パッシブスキャンにおいては、情報を修正するための信号は送出されない。従って、パッシブスキャンは、アセスメント対象システム上に影響を及ぼさない。詳細化可能性計算サブシステム522は、パッシブスキャンによる情報が少なければすくない程、アセスメント対象システムにおける各物理的コンポーネントに対するセキュリティ診断を詳細にする可能性が高いと、決定する。
【0060】
詳述すると、詳細化可能性計算サブモジュール522は、予め、アセスメントのための情報を必要とする項目のリストを準備する。項目は、例えば、自由ポート、ハードウェア明細(たとえば、メモリ、CPU(中央処理装置)、およびハードディスクなどの共通生産エミュレーション)から成ってよい。
【0061】
詳細化可能性計算サブモジュール522は、パッシブスキャンによって得られた情報のレートRpsが、アセスメントのための情報を必要とする項目において小さいとき、セキュリティ診断を詳細にする可能性を高くするように設定する。詳述すると、詳細化可能性計算サブモジュール522は、先ず、1からパッシブスキャンによって得られた情報のレートRpsを減じて、減算結果(1−Rps)を生成し、減算結果(1−Rps)を、予め規定された下限値と予め規定された上限値とに基づいて、予め定められた範囲(たとえば、0から10)に縮尺し、アセスメント対象システムにおける各物理的コンポーネント用の詳細化可能性Prを計算する。
【0062】
第3の例における効果について説明する。情報を得ることができない物理的コンポーネントに対して多くの情報を得ることができる。何故なら、当該物理的コンポーネントが、複製環境200において物理的サブモジュール230またはエミュレーションサブモジュール220として優先的に複製されるからである。
【0063】
詳細化可能性サブモジュール522は、複製環境200またはその効果の合計に対して実行されてもよい、セキュリティ診断行動の上記分類に基づいて、上記詳細化可能性を計算してもよい。
【0064】
この場合、セキュリティアセスメントシステム10は、装置の分類毎に、実際の装置が当該装置として使用される場合、または、仮想マシンが当該装置として使用される場合に、実行されるセキュリティ診断行動を示す情報を格納するためのデータベースを、更に備えている。その代わりに、入力インターフェース410が、ユーザによって実行され得る、セキュリティ診断行動を示す情報を入力してもよい。
【0065】
同様に、セキュリティアセスメントシステム10は、セキュリティ診断行動毎に、予め設定された効果の程度を示す情報を格納するための他のデータベースを、更に備える。そのような情報は、特定の範囲における数値を含む。その代わりに、入力インターフェース410が、ユーザによって当該情報を入力してもよい。
【0066】
図3に戻って、複製優先度計算サブモジュール524の動作について説明する。複製優先度計算サブモジュール524は、詳細化可能性計算サブモジュール522とユーザインターフェース400(
図1)とに接続されている。複製優先度サブモジュール524には、詳細化可能性計算モジュール522から、セキュリティ診断を詳細にする可能性(詳細化可能性)が供給される。複製優先度サブモジュール524には、ユーザインターフェース400の入力インターフェース410から、各物理的コンポーネントの重要度340と、モデル化困難性350と、重み係数360とが供給される。複製優先度計算サブモジュール524は、各物理的コンポーネントの重要度340、詳細化可能性、各物理的コンポーネントのモデル化困難性350、および重み係数360に基づいて、後述するように、各物理的コンポーネントの複製優先度を計算する。本実施形態では、複製優先度計算サブモジュール524は、各物理的コンポーネントの重要度340、詳細化可能性、各物理的コンポーネントのモデル化困難性360の全てを使用しているが、本発明では、複製優先度計算サブモジュール524は、各物理的コンポーネントの重要度340、詳細化可能性、各物理的コンポーネントのモデル化困難性350から成るグループから選択された少なくとも1つを使用してもよい。
【0067】
入力インターフェース410から供給される各物理的コンポーネントの重要度340について説明する。各物理的コンポーネントの重要度340は、ユーザによって入力インターフェース410を介して入力される値であってよい。この代わりに、各物理的コンポーネントの重要度340は、入力された値を適当な範囲に縮尺することによって得られたものであってよい。
【0068】
各物理的コンポーネントの重要度340は、物理的コンポーネントの各種類に対して予め決定されてよい。具体的に述べると、システム管理者が、各物理的コンポーネントの重要度340として、次の様な値のいずれかを予め設定する。図示の例において、物理的コンポーネントの種類は、PLC(Programmable Logic Controller)、EWS(Engineering Work Station)、Historian、HMI(Human Machin Interface)、およびIT分野のIT(information technology)装置から成るグループから選択された少なくとも1つから成る。
【0069】
システム管理者は、PLCの重要度340として、「9」の値を設定する。その理由は、PLCは、制御装置の挙動に直接影響を与えるからである。システム管理者は、EWSの重要度340として、「8」の値を設定する。その理由は、EWSからのPLCの挙動を決定するためのロジックが、PLCにおいて書き込まれているからである。しかしながら、EWSは、PLCよりも低い重要度340を持つ。何故なら、PLCのロジックを書き込むための処理が、制御装置において影響を及ぼすことが要求されるからである。システム管理者は、Historianの重要度340として、「5」の値を設定する。その理由は、Historianはログを取ることが主な目的であり、Historianは、攻撃に対して比較的小さい影響を及ぼすからである。システム管理者は、HMIの重要度340として、PLCやEWSよりも低い、「7」の値を設定する。その理由は、HMIは、ユーザと制御装置との間のインターフェースとして働くコンポーネントを備え、大きな有効性を持つけれども、HMIは、攻撃に容易に気づき、制御に対してのみ間接的に影響を与えることができるからである。IT装置は、任意の産業制御装置以外の装置から成り、産業制御装置に直接的に接続される装置から成る。システム管理者は、IT装置の重要度340として「4」の値を設定する。その理由は、IT装置は、制御システムに対して小さな影響を及ぼすだけだからである。
【0070】
一般に、PLC、HMLのようなOT装置(産業制御装置)は、オフィスシステム(IT領域)のネットワークから異なるゾーンに区分される。OT装置は、IT装置よりも高い有効性を持つ。
【0071】
入力インターフェース410から供給される、各物理的コンポーネントのモデル化困難性350について説明する。各物理的コンポーネントのモデル化困難性350は、ユーザによって入力インターフェース410から入力される値であってよい。この代わりに、各物理的コンポーネントのモデル化困難性350は、入力された値を適当な範囲に縮尺することによって得られたものであってよい。
【0072】
各物理的コンポーネントのモデル化困難性350は、物理的コンポーネントの各種類に対して予め決定されてよい。具体的に述べると、システム管理者は、各物理的コンポーネントのモデル化困難性350として、次の値の何れかを予め設定する。図示の例において、物理的コンポーネントの種類は、セキュリティ対策ソフトウェア、Webアプリケーション、および一般的なソフトウェアから成るグループから選択された少なくも1つから成る。
【0073】
システム管理者は、セキュリティ対策ソフトウェアの
モデル化困難性350として、「10」の値を設定する。何故なら、セキュリティ対策ソフトウェアの挙動が攻撃行動にもたらせる効果は、モデル化することが困難であり、従って、エミュレーションサブモジュール220において実際のセキュリティ対策ソフトウェアを動作することが望ましいからである。システム管理者は、Webアプリケーションの
モデル化困難性350として、「10」の値を設定する。何故なら、Webアプリケーションは、SQL(Structured Query Language)インジェクションなどのようなパッシブスキャンによって得られる情報のみを使用することによって検出するのは困難な、多数の脆弱性を持つからである。システム管理者は、一般的なソフトウェアの
モデル化困難性350として「5」の値を設定する。何故なら、汎用ソフトウェアは、脆弱性情報を使用してアクセスすることができ、挙動を再現する必要性が低いからである。
【0074】
上述したように、図示の例において、複製優先度計算サブモジュール524は、各物理的コンポーネントの重要度340と、詳細化可能性と、各物理的コンポーネントのモデル化困難性350と、重み係数360とに基づいて、各物理的コンポーネントの複製優先度を計算する。換言すれば、各物理的コンポーネントの複製優先度は、3つの要素、すなわち、各物理的コンポーネントの重要度340、詳細化可能性、および各物理的コンポーネントのモデル化困難性
350に基づいて決定される。
【0075】
詳述すると、複製優先度計算サブモジュール524は、まもなく説明するように、各物理的コンポーネントの複製優先度Pdを計算する。上述したように、各要素の値は、各物理的コンポーネントの複製優先度が高い値を持つとき、各要素が、予め定められた範囲(0と10の間)の高い値を持つように、独立に決定される。複製優先度計算サブモジュール524には、入力インターフェース410から重み係数360として第1乃至第3の重み係数a1、a2、およびa3が供給される。各物理的コンポーネントの重要度340、詳細化困難性、および各物理的コンポーネントのモデル化困難性
350が、それぞれ、Ip、Pr、およびDmによって表されるとする。この場合、複製優先度計算サブモジュール524は、次の方程式に従って、各物理的コンポーネントの複製優先度Pdを計算する。
Pd=(a1×Ip)+(a2×Pr)+(a3×Dm)
【0076】
各物理的コンポーネントの複製優先度Pdを使用する方法の一例について説明する。最初に、複製環境設計モジュール110は、予算内に、複製優先度Pdの降順に、第1のグループの物理的コンポーネントを、物理的サブモジュール230として設計する。もし、当該物理的コンポーネント内の特定の1つが、ソフトウェアであって、ハードウェアとして使用されないなら、複製環境設計モジュール110は、その特定の物理的コンポーネントを、エミュレーションサブモジュール220として設計する。引き続いて、複製環境設計モジュール110は、残りの予算内に、複製優先度Pdの降順に、第2のグループの残りの物理的コンポーネントを、エミュレーションサブモジュール220として設計する。最後に、複製環境設計モジュール110は、残りの物理的コンポーネントの全てを、シミュレーションサブモジュール210として設計する。
【0077】
上記実施形態によれば、アセスメント対象システム内の各物理的コンポーネントの複製レベルを、効果的に決定することができる。
【0078】
セキュリティアセスメントシステム10内の処理ユニット100の各部は、ハードウェアとソフトウェアとの組み合わせを用いて実現すればよい。ハードウェアとソフトウェアとを組み合わせた形態では、RAM(random access memory)にセキュリティアセスメントプログラムが展開され、該セキュリティアセスメントプログラムに基づいて制御部(CPU(central processing unit))等のハードウェアを動作させることによって、各部を各種手段として実現する。セキュリティアセスメントプログラムは、記録媒体に記録されて頒布されても良い。当該記録媒体に記録されたセキュリティアセスメントプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。尚、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
【0079】
上
記実施形態を別の表現で説明すれば、セキュリティアセスメントシステム10の処理ユニット100を、RAMに展開されたセキュリティアセスメントプログラムに基づき、複製環境設計モジュール110、複製環境構築モジュール120、脆弱性アセスメントモジュール170、攻撃グラフ生成モジュール180、およびアクティブスキャン/ペンテストモジュール190として動作するコンピュータとして実現することが可能である。
【0080】
実施形態を参照して本発明を説明したが、本発明はその実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0081】
例えば、複製環境200におけるシミュレーションサブモジュール210、エミュレーションサブモジュール220、および物理的サブモジュール230は、典型的には、各ホスト(物理的装置)において決定されているが、本発明はこれに限定されない。ホストについて、シミュレーションサブモジュール210、エミュレーションサブモジュール220、および物理的サブモジュール230を、ホスト内のコンポーネントの各々が決定する。例えば、特定のソフトウェアのみがエミュレートされてもよい。この代わりに、NIC(Network Interface Card)のみが物理的サブモジュール230として構成されてよく、他が、他のハードウェア(HW)上の仮想マシン(VM)を動作することで実現されてよい。