(57)【特許請求の範囲】
【請求項１】
技術システムのセキュリティの解析に基づいて前記技術システムを再構成する装置であって、
前記技術システムを特徴付ける技術情報として、通信エンティティ、それらの相互接続を記述し、その通信エンティティ及びその相互接続のセキュリティ特性によって属性が与えられている機械可読フォーマットの技術情報を受信する入力ユニットと、
前記受信した技術情報が示す機械可読フォーマットを解析して、前記技術システムに対する潜在的なアタックの論理式表現として、前記技術システムに関連する属性を有する複数のアタックノードからなる有向グラフに変換するように構成されているグラフ表現ユニットであって、前記有向グラフは、前記複数のアタックノードの各々を、対応するアタックが再使用可能であるかの指示と関連付け、かつ該複数のアタックノード間の辺を重み付けしており、前記複数のアタックノードの内、再使用可能であるアタックノードと後続のアタックノードとの間の各辺の重みは、前記再使用可能であるアタックノードのアタックが前記後続のアタックノードに到達するために再使用される必要がある回数を表している、グラフ表現ユニットと、
前記有向グラフのアタックノードを属性に依存する方程式体系のセットに変換するコンバータであって、前記属性に依存する方程式体系のセットは、前記辺の重みにも依存する、コンバータと、
前記属性に依存する方程式体系のセットにおける第１の属性のサブセットに値を提供する手段と、
前記技術システムのセキュリティを向上することを、選択された対抗策のセットに実行させることを可能にするように、各々が少なくとも１つの対抗策を含む複数の異なる対抗策のセットを格付する格付リストを提供するように構成されている格付ユニットであって、対抗策のセット毎に、前記技術システムに配備される場合の対抗策の動作方法のシミュレーションを実行するために、
前記第１の属性のサブセットの前記値の少なくとも一部に影響を及ぼさせるために、前記有向グラフにおけるアタックノードに前記対抗策のセットの論理式表現を適用することと、
前記第１の属性のサブセットの前記対抗策の影響を受けた値を第２の属性のサブセットに伝播するために前記属性に依存する方程式体系のセットを解くことと、
前記適用された対抗策のセットのランクを計算するために、前記解いた方程式体系から前記第２の属性のサブセットの値を抽出することによって、前記アタックのリスクを軽減することに関する前記適用された対抗策のセットの有効性に基づいて前記適用された対抗策のセットのランクを判定することと
を実行するように構成されている格付ユニットと、
前記判定されたランクに基づいて、最高ランクを有する対抗策のセットを、前記対抗策のセットの中から選択するように構成されている選択器と、
選択された対抗策のセットを前記技術システムに対応する前記有向グラフに適用するように構成されているシステム再構成ユニットと
を備えることを特徴とする装置。
【請求項２】
前記格付ユニットは、対抗策が適用されていない前記第２の属性のセットの対応する値に関連して、前記第２の属性のセットの値が前記適用された対抗策のセットにより影響を受ける程度の比較に基づいて、対抗策のセットの前記有効性を判定するように構成されている
ことを特徴とする請求項１に記載の装置。
【請求項３】
前記提供する手段は、属性値を前記有向グラフにおける複数のリーフノードの各々と関連付けるように構成され、
前記格付ユニットは、前記解いた方程式体系から前記有向グラフにおける少なくとも１つの中間ノード及びルートノードの少なくとも一方から属性値を抽出し、かつ前記抽出した属性値に基づいてランクを計算するように構成されている
ことを特徴とする請求項１に記載の装置。
【請求項４】
対抗策のセットは、前記対抗策のセットが対抗するアタックノードの前記有向グラフにおけるリーフノードのセットとして定義され、
前記格付ユニットは、前記少なくとも１つの中間ノード及びルートノードの少なくとも一方の前記属性値の関数として、対抗策のセットの前記ランクを判定するように構成されている
ことを特徴とする請求項３に記載の装置。
【請求項５】
前記アタックノードの有向グラフは巡回を含み、
前記装置は、周期的に相互接続されるアタックノードのセットを単一の代表的なアタックノードによって置換することによって、前記有向グラフを変更するグラフ変更器を更に備える
ことを特徴とする請求項１に記載の装置。
【請求項６】
リスクは、実現される１つ以上のアタックの予想される損失として定義される
ことを特徴とする請求項１に記載の装置。
【請求項７】
前記有効性は、前記対抗策を適用するためのコストを考慮することを更に含む
ことを特徴とする請求項１に記載の装置。
【請求項８】
前記格付ユニットは、前記対抗策を適用するための前記コストに関連して、適用された対抗策のセットのリスク軽減を評価するように構成されている
ことを特徴とする請求項７に記載の装置。
【請求項９】
前記技術システムは、複数の通信リンクによって相互接続される複数の通信ユニットを有する通信ネットワークであり、
前記複数の通信ユニットの少なくとも一部及び／前記複数の通信リンクの少なくとも一部についての少なくとも一方は、アタックを受け易い
ことを特徴とする請求項１に記載の装置。
【請求項１０】
前記技術システムを特徴付ける前記技術情報の少なくとも一部を取得するように構成されている少なくとも１つのセンサを更に備える
ことを特徴とする請求項１に記載の装置。
【請求項１１】
前記格付ユニットは、対抗策が適用されない基準システムとの比較に基づいて、前記異なる対抗策のセットを格付するように構成されている
ことを特徴とする請求項１に記載の装置。
【請求項１２】
向上されたシステムセキュリティのための技術システムの再構成を可能にするために前記技術システムのセキュリティを解析する技術的意思決定支援システムであって、
前記技術システムを特徴付ける技術情報として、通信エンティティ、それらの相互接続を記述し、その通信エンティティ及びその相互接続のセキュリティ特性によって属性が与えられている機械可読フォーマットの技術情報を受信する手段と、
前記受信した技術情報が示す機械可読フォーマットを解析して、前記技術システムに対する潜在的なアタックの論理式表現として、前記技術システムに関連する属性を有する複数のアタックノードからなる有向グラフに変換する手段であって、前記有向グラフは、前記複数の前記アタックノードの各々を、対応するアタックが再使用可能であるかの指示と関連付け、かつ該複数のアタックノード間の辺を重み付けし、前記複数のアタックノードの内、再使用可能であるアタックノードと後続のアタックノードとの間の各辺の重みは、前記再使用可能であるアタックノードのアタックが前記後続のアタックノードに到達するために再使用される必要がある回数を表している、変換する手段と、
前記有向グラフのアタックノードを属性に依存する方程式体系のセットに変換する手段であって、前記属性に依存する方程式体系のセットは、前記辺の重みにも依存する、変換する手段と、
前記属性に依存する方程式体系のセットにおける第１の属性のサブセットに値を提供する手段と、
前記技術システムのセキュリティを向上することを、選択された対抗策のセットに実行させることを可能にするように、各々が少なくとも１つの対抗策を含む複数の異なる対抗策のセットを格付リストにおいて格付する手段であって、対抗策のセット毎に、前記技術システムに配備される場合の対抗策の動作方法のシミュレーションを実行するために、
前記第１の属性のサブセットの前記値の少なくとも一部に影響を及ぼさせるために、前記有向グラフにおけるアタックノードに前記対抗策のセットの論理式表現を適用することと、
前記第１の属性のサブセットの前記対抗策の影響を受けた値を第２の属性のサブセットに伝播するために前記属性に依存する方程式体系のセットを解くことと、
前記適用された対抗策のセットのランクを計算するために、前記解いた方程式体系から前記第２の属性のサブセットの値を抽出することによって、アタックのリスクを軽減することに関する前記適用された対抗策のセットの有効性に基づいて、前記適用された対抗策のセットのランクを判定することと
を実行するように構成されている格付手段と
を備えることを特徴とする技術的意思決定支援システム。
【請求項１３】
前記格付手段は、対抗策が適用されていない前記第２の属性のセットの対応する値に関連して、前記第２の属性のセットの値が前記適用された対抗策のセットにより影響を受ける程度の比較に基づいて対抗策のセットの前記有効性を判定するように構成されている
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項１４】
前記提供する手段は、属性値を前記有向グラフにおける複数のリーフノードの各々と関連付けるように構成され、
前記格付手段は、前記解いた方程式体系から前記有向グラフにおける少なくとも１つの中間ノード及びルートノードの少なくとも一方から属性値を抽出し、かつ前記抽出した属性値に基づいてランクを計算するように構成されている
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項１５】
対抗策のセットは、前記対抗策のセットが対抗する前記アタックノードの有向グラフにおいてリーフノードのセットとして定義され、
対抗策のセットの前記ランクは、前記少なくとも１つの中間ノード及びルートノードの少なくとも一方の前記属性値の関数である
ことを特徴とする請求項１４に記載の技術的意思決定支援システム。
【請求項１６】
前記アタックノードの有向グラフは巡回を含み、
前記システムは、周期的に相互接続されるアタックノードのセットを単一の代表的なアタックノードによって置換することによって前記有向グラフを変更する手段を更に備える
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項１７】
リスクは、実現される１つ以上のアタックの予想される損失として定義される
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項１８】
前記有効性は、前記対抗策を適用するためのコストを考慮することを更に含む
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項１９】
前記格付手段は、前記対抗策を適用するための前記コストに関連して、適用された対抗策のセットのリスク軽減を評価するように構成されている
ことを特徴とする請求項１８に記載の技術的意思決定支援システム。
【請求項２０】
前記技術システムは、複数の通信リンクによって相互接続される複数の通信ノードを有する通信ネットワークであり、
前記複数の通信ユニットの少なくとも一部及び／前記複数の通信リンクの少なくとも一部についての少なくとも一方は、アタックを受け易い
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項２１】
前記技術システムを特徴付ける前記技術情報の少なくとも一部を取得するように構成されている少なくとも１つのセンサを更に備える
ことを特徴とする請求項１２に記載の技術的意思決定支援システム。
【請求項２２】
コンピュータシステムにおいて実行する場合に、向上されたシステムセキュリティのための技術システムの再構成を可能にするために前記技術システムのセキュリティを解析するための、コンピュータ可読媒体に記憶されたコンピュータプログラムであって、
前記コンピュータシステムを、
前記技術システムを特徴付ける技術情報として、通信エンティティ、それらの相互接続を記述し、その通信エンティティ及びその相互接続のセキュリティ特性によって属性が与えられている機械可読フォーマットの技術情報を受信する手段と
前記受信した技術情報が示す機械可読フォーマットを解析して、前記技術システムに対する潜在的なアタックの論理式表現として、前記技術システムに関連する属性を有する複数のアタックノードからなる有向グラフに変換する手段であって、前記有向グラフは、前記複数のアタックノードの各々を、対応するアタックが再使用可能であるかの指示と関連付け、かつ該複数のアタックノード間の辺を重み付けしており、前記複数のアタックノードの内、再使用可能であるアタックノードと後続のアタックノードとの間の各辺の重みは、前記再使用可能であるアタックノードのアタックが前記後続のアタックノードに到達するために再使用される必要がある回数を表している、変換する手段と、
前記有向グラフのアタックノードを属性に依存する方程式体系のセットに変換する手段であって、前記属性に依存する方程式体系のセットは、前記辺の重みにも依存する、変換する手段と、
前記属性に依存する方程式体系のセットにおける第１の属性のサブセットに値を提供する手段と、
システムセキュリティを向上することを、選択された対抗策のセットに実行させることを可能にするように、各々が少なくとも１つの対抗策を含む複数の異なる対抗策のセットを格付リストにおいて格付する手段であって、対抗策のセット毎に、前記技術システムに配備される場合の対抗策の動作方法のシミュレーションを実行するために、
前記第１の属性のサブセットの前記値の少なくとも一部に影響を及ぼさせるために、前記有向グラフにおけるアタックノードに前記対抗策のセットの論理式表現を適用することと、
前記第１の属性のサブセットの前記対抗策の影響を受けた値を第２の属性のサブセットに伝播するために前記属性に依存する方程式体系のセットを解くことと、
前記適用された対抗策のセットのランクを計算するために、前記解いた方程式体系から前記第２の属性のサブセットの値を抽出することによって、前記アタックのリスクを軽減することに関する前記適用された対抗策のセットの有効性に基づいて前記適用された対抗策のセットのランクを判定することと
を実行するように構成されている、格付する手段と
して機能させることを特徴とするコンピュータプログラム。
【請求項２３】
前記コンピュータプログラムは、前記コンピュータシステムに、更に、前記異なる対抗策のセットの前記判定したランクに基づいて前記コンピュータプログラムにより生成される制御信号を提供する手段として機能させる
ことを特徴とする請求項２２に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、技術システムに対するセキュリティ脅威、セキュリティリスクまたはセキュリティアタック（security attack：セキュリティ攻撃）の解析に基づいて技術システム（technical system）の再構成を行なう装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品に関するものである。
【背景技術】
【０００２】
技術システムまたは対応する技術処理のセキュリティは、本質的に、基礎となるシステムの脆弱性及びセキュリティ脅威を技術的に理解することを含む技術的な性質である。セキュリティの点から興味を引く技術システムの例は、ある程度自動化された製造工程、情報／通信システム及び輸送システム等の産業的な処理システムを含んでいる。そのようなシステムは、有形資産または無形資産を含んでいる。そして、それらの資産は、悪意のある第三者がそれらの資産を制御するためにシステムをアタックしようとする動機を与える。しかしながら、場合によっては、アタッカー（attacker：攻撃者）（群）は資産自体よりシステムを（うまく）アタックすることにより得られる名声に興味がある場合がある。このことは、例えば、「コンピュータハッカー」の間では一般的である。
【０００３】
一般的なセキュリティ解析の分野におけるいくつかの従来の概念を説明することにより開始することは有用だろう。以下に提示される例の一部は基礎となる概念を理解し易くするために簡略化されているが、実際には当該システムは常に技術システムであることが理解されるべきである。多くの場合、技術システムは、技術的関係及び複数レベルへの依存性を有する非常に複雑なシステムである。
【０００４】
アタックツリー（attach tree）の概念の簡単な概論
アタックツリー（ＡＴ：Attack Tree）の概念は、参考文献［１１］においてブルース  シャネイヤ（Bruce Schneier）により紹介されている。以下の概論は、多少の変更はあるがが、この参考文献に基づくものである。
【０００５】
アタックツリーとは？
アタックツリーは、技術システムの脆弱性の知識を表す方法である。その知識は、何らかの方法で取得される必要があり、そのためにＡＴ群は十分とは言えないが有用である。重要な点は、ＡＴ群が、存在するセキュリティ脅威そのものに関する知識を追加するのではなく、その代わりに知識を表す方法を提供して脅威の相対的な重要性を判定する処理を容易にすることである。
【０００６】
アタックツリーの構成
アタックツリーは、理想的には、トップダウン分割統治法（top-down, divide and conquer approach）により構成される。この概念は、アタッカーが金庫を開けようとする（金庫の中身が得られる見通しにより動機付けされる可能性が高い）単純な例により容易に理解することができる。従って、ここでは、当該技術システムは金庫であり、脅かされている資産が金庫の中身である。第１のステップは、解析したいアタックの目的を定義することである。この例において、アタックの目的は金庫を開けること（「金庫を開ける（open safe）」）である。これは、図１Ａに示されるようにアタックツリーのルートノード（root node）として配置される。
【０００７】
次のステップは、これが達成される方法を示すことであり、２つ以上の方法が存在してもよい。技術環境及び全ての他の関連する側面の完全な解析の後、これを行なうことが可能な方法が２つだけ存在することを決定することができる。すなわち、金庫をこじ開けるか（cutting the safe open）または鍵で金庫を開けるかである。これらの２つの動作は、図１Ｂに示されるように、先行ノードとしてルートに追加される。
【０００８】
次に統治ステップが行なわれる。２つの追加されたノードの各々は、それらに到達する全ての可能な方法を確立するために解析される。この場合、金庫をこじ開けることは、更なる絞り込みを必要としない程十分に単純であると決定される。本明細書において、単純とは容易と同一ではない。その代わり、困難性に関係なく実行される方法が明らかである時に動作は単純であると考えられる。更なる絞り込みが必要でないところまで絞り込まれている動作は、アトミックアタック（atomic attack）と呼ばれる。一方、鍵で金庫を開けるという別の方法は、十分な程度まで絞り込まれていない。従って、この動作が実行される方法は更に解析され、この場合、これを行なう３つの異なる方法があることが決定される。すなわち、鍵屋を利用する方法、番号を盗む方法または番号を取得するために盗聴する方法がある。これらの３つの方法は、図１Ｃに示すように、「金庫を鍵で開ける」ノードの先行ノードとして追加される。この例は非常に簡略化されているが、アタックツリーとシステムへの物理的／技術的影響との間には直接関係があることは明らかである。
【０００９】
３つのノードは、上述のように正確に解析される。この例において、番号を盗聴することは、アトミックアタックであると考えられ、一方、鍵屋を利用することは、それを行なうことを説得するかまたはそれを行なうように買収することにより達成されると判定される。
【００１０】
第３の方法である番号を盗聴することは、何らかの方法で提示された番号を取得し、それと同時に会話を聞くことによってのみ達成される。これは、盗聴することが表すサブアタックを達成するために全ての先行ノードが達成される必要があるので、盗聴をいわゆるａｎｄ−ノード（and-node）にする。これは、ｏｒ−ノード（or-node）群、すなわち、直前の先行ノードのうちの１つのみを達成することにより達成されるノードであるこれまでに説明された他の全てのノードと対照的である。図では、図２のように、ａｎｄ−ノードはｏｒ−ノードの場合のような円形ではなくボックスで表され、それに向かう矢印は通常の矢先ではなく小さな円を有する。
【００１１】
この時点において、アタックをそれ以上絞り込む必要はないと判定されてもよい。すなわち、全てのリーフがアトミックアタックとして考えられると判定されてもよい。従って、アタックツリーは完全であると考えられ、脅威に関する全ての知識はツリーに表される。ノードがアトミックアタックであると識別するために十分に単純であると考慮する時期についての判定は、構成者に完全に任せられ、構成されたツリー毎に個別に判定される必要がある。
【００１２】
上記例においては、技術システムに対する単一の脅威／アタックのみを考慮している。一般的に、理解する必要がある脅威は複数ある可能性があり、この一般的な例については後述する。
【００１３】
アタックツリー解析
次に、脅威が定性的観点からアタックツリーとしてモデル化されるため、そのアタックツリーはより定性的な方法で技術システムのセキュリティを評価または「測定」するために使用される。これは、最初に、評価しようとするいくつかの属性に従ってアトミックアタックを「格付（rating）」し、次に、システム全体の属性値を導出することにより行なわれる。すなわち、これは、アタックツリーの構成と同様に一例により最もよく説明される。
【００１４】
一例として、金庫を開ける脅威が実際に実現可能であるか否か、すなわち「ブール（Boolean）」属性への関心があると想定する。
【００１５】
第１のステップは、ツリーのアトミックアタック群が可能であるか否かに関してそれらのアトミックアタック群を格付することである（条件／仮定の所定のセット下で）。その結果を図３に示す。図３において、Ｉは不可能（Impossible）を意味し、Ｐは可能（Possible）を意味する。次に、以下の当然な２つのルールが使用される。
【００１６】
１．ｏｒ−ノードは、少なくとも１つの先行ノードが可能である場合に、可能であると定義される。
【００１７】
２．ａｎｄ−ノードは、全ての先行ノードが可能である場合に、可能であると定義される。
【００１８】
可能性または不可能性は、それらの２つのルール及び各アトミックアタックに対する可能性（不可能性）の割当を使用して、非常に単純な「ボトムアップ」式で、ツリーの非アトミックアタック毎に導出される。所定の例を使用してこれを行なった結果を図４に示す。
【００１９】
図４から分かるように、脅威は実現可能である。また、この脅威の実現方法も明らかである。すなわち、買収された鍵屋を利用して鍵で開けることにより実現されることが明らかである。この例において、これが唯一の方法である。更に一般的な例において、実現可能な脅威は、ルートからのパス（群）に関して見つけられる。ここで、パス（群）中の全てのラベルはＰラベルを有する。可能性／不可能性は、文献［１１］で説明される唯一の属性ではない。提案される他の属性は、最も容易なアタックの困難性（例えば、必要とされる時間／技術）、アタッカーが全てのアタックに対して特別な機器を使用する必要性（例えば、全てのアタックがパワードリルを使用することを必要とする）、最も安価なアタックのコスト（お金／資源に関する）等である。それらの属性の各々に対して、ｏｒ−ノード及びａｎｄ−ノードの値を導出する方法は、適当であると考えられる方法で決定されなければならない。一例として、可能性が説明された時の上記ルールに対応する、最も安価なアタックのコストを計算するための２つのルールは、以下の非常に当然な定義であってもよい。
【００２０】
１．ｏｒ−ノードのコストは、先行ノード群の最小コストに等しい
２．ａｎｄ−ノードのコストは、先行ノード群のコストの合計に等しい
図５に示されるアトミックアタックのコストのセットを仮定し、先のアタックツリーを使用しかつ代わりに最小コスト属性を計算すると、結果として得られるツリーは図５のようになる。
【００２１】
尚、アトミックアタックはそれらの２つの例において初期条件の異なるセットにより格付けされる。一例として、鍵屋を説得するコストは、それが不可能である場合には無関係である。初期条件が事実上同一である場合、他の属性の有意な解析が実行される前に、ツリーは不可能なノードを取り除く必要がある。
【００２２】
特別な機器に対するコスト、困難性及び必要性に関する情報を導出した後、システムの全体のセキュリティは、敵が誰であるかを検討することにより評価される。潜在的に莫大な財源を有しかつ知識を殆ど有さないエンティティである場合、当然、アタックを実現することが技術的に困難であることが重要であるが、高価であるか否かは殆ど重要でない。一方、敵が有能なコンピュータハッカーである場合、入手困難な特別な機器に対する高いコスト及び必要性が重要であるが、ハッカーはコンピュータを使用して実現可能であることのほぼ全てのことを行なえると仮定されるため、侵入する困難性はそれ程重要ではないだろう。対抗策群（countermeasures）に関して適切に決定されるのは、解析結果がアタッカーに関する情報と組み合わされる場合であり、この点に関しては、文献［１１］において強く強調されている。
【００２３】
ＡＴ群が解析の結果を表す時だけでなく脅威を解析する際にも役立つことは、この節の冒頭で説明した。その概念は、システムのアナライザが深さの全ての側面を体系的に包囲する方法を取得することであり、この構造化された方法は、起こる可能性のある脅威を監視するリスクを軽減できる。当然、解析は、常に最終的にはアナライザに依存する。
【００２４】
自動化
上記例は、アタックツリーが使用される方法を説明する目的にのみ対応する「実用的でない」例と考えられる。大規模で複雑な技術システムでは、関連するアタックツリーは非常に大きい可能性がある。しかしながら、当業者には理解されるように、上述したリーフからルートまでアタックツリーを走査する方法は装置により容易に自動化され、それにより「ａｎｄ／ｏｒ」頂点に対する２つのルールに従って上向きに値を伝播する。
【００２５】
この分野及び他の関連分野においては、多くの文献が発表されている。
【００２６】
文献［８］では、アタックツリーの更に形式的な処理が分かる。著者は、アタックツリーに対する数学的に厳密なフレームワーク及び［１１］で説明される伝播及び投影に対するアルゴリズムを提供している。しかしながら、この理論は、全ての可能な種類の（非ツリー）グラフを許容しないので、そのまま使用できない。理論の性質自体が直接的な方法で拡張することを不可能にするため、この理論に対する関心は低くなる。
【００２７】
アタックグラフ
主に、カーネギーメロン大学（Carnegie Mellon University）において研究されるアタックグラフの主題は、アタックツリーに対する名前が類似している。しかしながら、概念がアタックツリーとは完全に異なるため、類似しているのはそこまでである。アタックグラフの目的は、システムのモデルから、システムに対する全ての可能なアタックを導出し、最終的にそれらの可能性を防止する動作のセットを考案することである。使用される主な方法は、所望の特性を満足するネットワークモデルの安全状態のセットＳを指定し（システムにセキュリティ違反がないことを取り込む）、Ｓにない、ある状態に到達するモデルが存在する場合は、そのモデルにおいて実行を行なうために標準的なモデルチェック技術を使用することである。そのような状態に到達することはセキュリティ違反を意味するため、そのような状態に到達しない場合にはシステムはセキュリティで保護されている。換言すると、アタックが行なわれるかを判定することは、グラフ到達可能性の問題を解決することと同一である。アタックグラフは、アタックツリーと比較して利点を有するが欠点も有する。第１に、アタックグラフは、主に、アタックが存在するかを演繹することに関する。アタックグラフは、アタックを阻止する「最適な」対抗策を見つけるために使用される。しかしながら、この最適な対抗策を見つけることは、実質的に実現不可能であり、かつほぼ最適な対抗策を決定する必要があるＮＰ完全グラフ問題を解決することに助けを借りる。更に「最適な」は、システムの抽象的なグラフ表現において必要とされる変更数によってのみ定量化される。実用的には、完全に異なるいくつかの対抗策であり得るうちの、最も実際に実現可能となる対抗策により興味を有する可能性がある。他の定量的な態様は、全く考慮されない。アタックグラフに関する更なる背景については、文献［１２］を参照されたい。
【００２８】
拡張アタックツリー
アタックツリーの概念に対しては種々の拡張が行なわれている。文献［７］、［４］では、ティドウェル（Tidwell）等、パラメータ、変数、サブ目的、事前条件及び事後条件によりアタックツリーの概念を拡張している。また、ティドウェル等は、アタックツリーのノードの階層クラスタリング方法であるＥＮＴ（Elevated Node Topology）の概念を更に紹介している。この拡張は、特に無関係であると考えられるいくつかのアタックから成るアタック群からのアタック検出を行なうシステムの一部として使用される。文献［３］では、階層クラスタリングは、本質的にＥＮＴと同一であるＳＮＴ（Stratified Node Topology）として再定義される。ＳＮＴに導入されている追加の概念は、アタックツリーの黙示的リンク及び明示的リンクの概念である。それらの間の相違点は、黙示的リンクが他のイベントによって自動的に引き起こされるイベントを記述するために使用される一方で、明示的リンクが必ずしも実行されるとは限らない別のアタックを可能にすることを記述することである。文献［５］では、それらのリンクは、システムの記述からアタックツリー連鎖の概念を介してアタックツリーを自動的に生成する方法を完全に説明している。更に、システムに対するアタックの確率を解析するために、生成されたアタックツリーを使用する方法の非常に大まかな構成を提供している。
【００２９】
アタックツリーにより行なわれたシステムに対する脅威をモデリングする別の方法は、単なる通常のグラフの代わりにペトリネット（Petri Nets）を使用することである。ペトリネットは、いくつかの余分な特徴を含むグラフである。非公式には、ペトリネットは、ペトリネットの初期状態を記述する関数及びシステムの可能な遷移を記述するいくつかの追加の制約との関係が付随するグラフである。これを視覚化するための自明な方法は、頂点にトークンを有するグラフ及びトークンが移動する方法を記述するいくつかのルールと同様であり、遷移の開始から完了までにトークン数が変動することを許容する。ペトリネットのより踏み込んだ概要については、文献［６］、［１５］を参照されたい。
【００３０】
上述の研究は、本質的に興味深いが、システムセキュリティを向上する場合には実用的な観点から多用されない。適切でない主な理由は、既存のアタックツリーを解析することではなく、システムの記述からアタックを予測する方法に注目しているからである。ティドウェル等の文献［４］、［５］の概念の一部は興味深く、また、それは、拡張に対する発想、特に、パラメータに関する説明をもたらすものである。
【００３１】
文献［９］のようなアタックネットの使用は、実際には、更なる表現モデルを提供する。特に、単なるＡＮＤ／ＯＲノードより複雑なルールを有する能力は興味深い。しかしながら、モデルがより複雑になると、単純なＡＮＤ／ＯＲツリー構造に固有の直観は失われる。ここでのトレードオフは、手近な特定のアプリケーションにとって大きすぎると考えられる。
【００３２】
既存ツール
アタックツリーの解析を行なうツールが既にいくつか存在する。特に、アメナザテック社（Amenaza Tech Ltd.）のセキュアアイツリー（securITree）と呼ばれる市販のツールがある。このツールは、主に、それ程コンピュータに習熟してない人の操作性を重視していると考えられる。更なる情報については、文献［１］を参照されたい。
【００３３】
更に、アレキサンダー  オペル（Alexander Opel）［１０］により開発されているツールがある。このツールは、ある種の解析及びアタックツリーを構築する基本的な機能性を含んでいるが、より一般的な事例を許容していない。そのレポートにおいては、一般に設計及び実装に関連するいくつかの興味深い点が存在している。
【発明の概要】
【発明が解決しようとする課題】
【００３４】
しかしながら、この技術分野における過度な研究にも関わらず、更に一般的な技術システム（特に、ツリーまたは非常に単純なグラフによりモデル化することができない事例）に対するアタックを解析し、かつこれを考慮して、システムセキュリティを改善するために、当該技術システムの適切な再構成を可能にする、効果的な装置及び／またはツールに対する一般的な要求が依然として存在している。
【００３５】
技術システムに対するアタックの解析に基づく効率的なシステム再構成に対する改善に関する一般的な要求が存在する。
【００３６】
本発明の目的は、改善されたシステムセキュリティを取得するために技術システムのセキュリティの解析に基づいて技術システムを再構成する改善された装置を提供することである。
【００３７】
別の目的は、改善されたシステムセキュリティのための技術システムの再構成を可能にするために技術システムのセキュリティを解析する改善された技術的意思決定支援システムを提供することである。
【００３８】
更に別の特定の目的は、コンピュータシステム上で実行する時に、改善されたシステムセキュリティのための技術システムの再構成を可能にするために技術システムのセキュリティを解析する対応するコンピュータプログラム製品を提供することである。
【００３９】
これらの目的及び他の目的は、添付の請求の範囲により定義される本発明により達成される。
【課題を解決するための手段】
【００４０】
本発明者は、従来技術が個々のシステム構成及び／または動作の独立した解析、あるいは当該技術システムが影響を受け易い可能性がある新しいアタックを見つけることを主に重視することを理解している。
【００４１】
本発明は、技術システムに対する潜在的なアタックのグラフ表現に対して対抗策の異なるセットを体系的に適用することまたはシミュレートすること及びアタックのリスクを軽減することに関する適用された対抗策の有効性に基づく格付リストを提供することに基づいて、技術システムを効率的に再構成する新しい方法を提案する。このように、最高のランクを有する（すなわち、最も効果的な）対抗策のセットの中から選択でき、適切な対抗策のセットを技術システムに適用する。
【００４２】
本発明は、従来技術により提供されているものを越える対抗策の自動化された評価及び効果的な比較を可能にする。
【００４３】
一般に、アタックのリスクは、アタックが実現される場合の予想される損失として定義されるため、通常、リスクの軽減は、予想された損失の減少と関連付けられる。
【００４４】
例示的な一実施形態において、有効性またはリスク軽減が対抗策を適用するコストに関連して評価されるように、格付リストは対抗策のコストを更に考慮することによって補完されてもよい。
【００４５】
また、例えば、対抗策が適用されない技術システムのランクを使用することによって、格付手順において対抗策の異なるセットを比較する場合に共通の基準を使用できる。これは必須ではないが、対抗策の異なるセットに対する向上された技術セキュリティの実際の程度の場合によっては好適であるオプションの指示を与える。
【００４６】
本発明の第１の態様において、向上されたシステムセキュリティを取得するために技術システムのセキュリティの解析に基づいて技術システムを再構成する装置が提供される。基本的に装置は、技術システムを特徴付ける技術情報を受信する入力と、技術システムに対するセキュリティ脅威、リスクまたはアタックを表すグラフ表現ユニットと、対抗策を格付する格付ユニットと、対抗策選択器と、システム再構成ユニットとを含んでいる。グラフ表現ユニットは、受信した技術情報に基づいて、技術システムに関連する属性を有するアタックノードの有向グラフにおいて技術システムに対する潜在的なアタックの表現を提供するように構成されている。格付ユニットは、システムセキュリティを向上するために、選択された対抗策のセットが行なわれるように複数の異なる対抗策のセットを格付するように構成されている。対抗策の各セットは、少なくとも１つの対抗策を含んでいる。更に詳細には、格付ユニットは、対抗策のセット毎に以下の手順を実行するように構成されている。すなわち、ｉ）有向グラフにおいてアタックに対する対抗策のセットを論理的に適用し、ｉｉ）アタックのリスクを軽減することに関して適用された対抗策のセットの有効性に基づいて、適用された対抗策のセットのランクを判定する。選択器は、最高のランクを有する対抗策のセットの中から選択するように構成され、システム再構成ユニットは、選択された対抗策のセットを技術システムに適用するように構成されている。
【００４７】
制御及び／または意思決定結果は、当該技術システムへの物理的／技術的影響に直接対応することが明らかである。
【００４８】
本発明の第２の態様において、技術的意思決定支援システムが提供される。基本的には、技術的意思決定支援システムは、改善されたシステムセキュリティのための技術システムの再構成を可能にするために、技術システムのセキュリティを解析するように構成されている。技術的意思決定支援システムは、技術システムを特徴付ける技術情報を受信する手段と、受信した技術情報に基づいて技術システムに関連する属性を有するアタックノードの有向グラフにおいて技術システムに対する潜在的なアタックの表現を提供する手段とを備えることが好ましい。技術的意思決定支援システムは、システムセキュリティを向上するために選択された対抗策のセットが行なわれるように複数の異なる対抗策のセットを格付する手段を更に含んでいる。対抗策の各セットは、少なくとも１つの対抗策を備え、格付手段は、対抗策のセット毎に以下の手順を実行するように構成されている。すなわち、ｉ）有向グラフにおいてアタックに対する対抗策のセットを論理的に適用し、ｉｉ）アタックのリスクを軽減することに関する適用された対抗策のセットの有効性に基づいて適用された対抗策のセットのランクを判定する。これにより、技術的意思決定支援情報をオペレータまたは自動化システムに提供して、効率的な対抗策の事実に基づいた選択が可能になる。
【００４９】
本発明の第３の態様において、セキュリティ解析のために技術装置または意思決定支援システムにおいて使用される対応するコンピュータプログラム製品。
【図面の簡単な説明】
【００５０】
【図１Ａ】図示する一例に従ってルートノードを示す概略図である。
【図１Ｂ】金庫を開ける２つの方法を表すこの特定の例において２つのアタックノードを示す概略図である。
【図１Ｃ】図１Ｂのアタック「金庫を鍵で開ける」の３つの先行ノードを含む第３のレベルの一例を示す概略図である。
【図２】第４のレベルの一例及び第３のレベルのａｎｄ−ノードの導入を示す概略図である。
【図３】図２の先の例におけるいわゆるアトミックアタックを格付する例示的な方法を示す概略図である。
【図４】伝播後の図３の例に対応する全てのアタックノードに対して導出される値を示す概略図である。
【図５】伝播後の全てのノードに対する導出される値及び図２の先の例におけるいわゆるアトミックアタックを格付する別の例示的な方法を示す概略図である。
【図６】部屋に侵入する最小コストを計算する一例を示す概略的なツリーを示す図である。
【図７Ａ】同一のシステムに対する種々の脅威を記述する２つの単一シンク有向非巡回グラフ（ＳＳＤＡＧ）を概略的に示す図である。
【図７Ｂ】同一のシステムに対する種々の脅威を記述する２つの単一シンク有向非巡回グラフ（ＳＳＤＡＧ）を概略的に示す図である。
【図８】図７Ａ及び図７Ｂの２つのＳＳＤＡＧの結果として得られる組み合わせ有向非巡回グラフ（ＤＡＧ）を概略的に示す図である。
【図９】本発明の可能な例示的な一実施形態を実現する意思決定支援システム／コンピュータプログラム製品を概略的に示すフローチャートである。
【図１０】好適で例示的な一実施形態に従う装置または意思決定支援システムの一般的な一例を概略的に示す図である。
【図１１】本発明の例示的な一実施形態に従って技術システムのセキュリティを解析しかつ技術システムを再構成するための装置を示す概略ブロック図である。
【図１２】本発明の例示的な一実施形態に従って技術システムの再構成を可能にするために技術システムのセキュリティを解析する技術的意思決定支援システムを示す概略ブロック図である。
【図１３】基本的な機能性が本発明の例示的な一実施形態に従ってコンピュータプログラム製品として実現される装置または意思決定支援システムを示す概略ブロック図である。
【図１４】本発明の好適で例示的な一実施形態に従うシステム解析のための装置の一例を示す概略図である。
【図１５】図１４に示される装置の別の実現例を示す概略ブロック図である。
【図１６】単純な通信ネットワークの一例を概略的に示す図である。
【図１７】図１６の通信システムに対する２つの識別されるアタックを示すアタックジャングルの一例を概略的に示す図である。
【図１８】組み合わせ有向非巡回グラフ（ＤＡＧ）の一例を概略的に示す図である。
【図１９Ａ】図１８のＤＡＧに対する２つの異なるコスト結果を概略的に示す図である。
【図１９Ｂ】図１８のＤＡＧに対する２つの異なるコスト結果を概略的に示す図である。
【図２０】鍵管理及びトラフィック保護に対するプロトコルの一例を概略的に示す図である。
【図２１Ａ】巡回を含むアタックジャングルの構成の一例を概略的に示す図である。
【図２１Ｂ】巡回を含むアタックジャングルの構成の一例を概略的に示す図である。
【図２１Ｃ】巡回を含むアタックジャングルの構成の一例を概略的に示す図である。
【図２２Ａ】いくつかのアタックノードが単一の代表的なノードにマージされる方法を概略的に示す図である。
【図２２Ｂ】いくつかのアタックノードが単一の代表的なノードにマージされる方法を概略的に示す図である。
【図２３】双方の種類のノードを含む強連結成分（ＳＣＣ）の一例を概略的に示す図である。
【図２４】再使用可能なアタックを処理できる拡張されたアタックジャングルの例を概略的に示す図である。
【図２５】再使用可能なアタックを処理できる拡張されたアタックジャングルの例を概略的に示す図である。
【図２６】再使用可能なアタックを処理できる拡張されたアタックジャングルの例を概略的に示す図である。
【図２７】タイプ１の再使用不可能なａｎｄ−ノードを含む一例を概略的に示す図である。
【図２８】タイプ２の再使用不可能なａｎｄ−ノードを含む一例を概略的に示す図である。
【図２９】再使用可能なａｎｄ−ノードを含む一例を概略的に示す図である。
【図３０】タイプ１の再使用不可能なｏｒ−ノードを含む一例を概略的に示す図である。
【図３１】タイプ２の再使用不可能なｏｒ−ノードを含む一例を概略的に示す図である。
【図３２】再使用可能なｏｒ−ノードを含む一例を概略的に示す図である。
【図３３】本発明に従うセキュリティ解析／対抗策格付装置が技術システムを解析し及び再構成するために使用される方法の一例を示す図である。
【発明を実施するための形態】
【００５１】
図中、同一の参照文字は対応する要素または類似する要素に対して使用される。
【００５２】
本発明者は、セキュリティ解析の重要な目的は、まず第１に技術システム（群）のセキュリティを解決するために考慮中の当該システム（群）上で技術的に動作可能である方法及び範囲を理解すること、すなわち、存在する脆弱性及び脅威を理解することであると認識している。第２の目的は、妥協のリスクを軽減するために技術システムを（再）構成する方法を理解すること、すなわち、最も効果的な対抗策を理解することである。脅威に関連するリスクは、認識される脅威の予測される損失として定義されることが多い。明らかなことは、リスクの軽減より「高価」である対抗策は絶対的な意味で効率的でなく、２つの異なる対抗策は非常に異なるコスト／リスク軽減比を有することができ、そのような比が小さい程好ましいことである。
【００５３】
本分野の先の作業を調査すると、いくつかの追加の課題が満足に研究されていないことが明らかになる。完全に検査及び解決されていない少なくとも３つの他の態様が存在する。
【００５４】
最小コストの過大評価
文献［１１］では、アタックツリーは、純粋なトップダウン分割統治法で構築される。アタックがツリーにおいて２回以上発生する場合、そのアタックは別個のノードとして２回モデル化される。これは必ずしも問題ではないが、脅威の更に明確な概要を取得するために、サブアタック毎にノードを１つのみ有することがより当然であると考えられるだろう。これは、ツリーを単一シンク有向非巡回グラフ（ＳＳＤＡＧ：Single-Sink Directed Acyclic Graph）と呼ばれるものにする。依然として同一の結果を与えることになることが明らかである一方で、問題になると考えられる上述のような計算を実行する。
【００５５】
目的は、特定の部屋に侵入する人の脅威をモデル化することであると仮定する。それを行なう唯一の方法は、各々がバールを使用して無理やりに通り抜ける２つのドアを通ることである。結果として得られるツリー及び計算された最小コストを、図６に示す。
【００５６】
尚、最小コストは過大評価されるが、モデル化に欠陥はない。しかしながら、これは実際には問題であり、その理由は、最小の困難性、可能性または特性が全てのアタックに必要とされるか否かの問題と比較して、最小コストの問題の性質が異なるからである。
【００５７】
複数のシンク
有効な論点は、シンクを１つのみ有する理由があるか否かである。図７Ａ及び図７Ｂに示されるように、同一のシステムに対する種々の脅威を記述する２つのアタックＳＳＤＡＧ群が存在すると仮定する。
【００５８】
２つのサブ脅威２及びサブ脅威３が実際には同一のサブ脅威であると仮定する。ＳＳＤＡＧ群が意図的に同一の初期状態で構成されるため、２つのサブツリー２及びサブツリー３は等しい必要がある。この場合、図８のように、図７Ａ及び図７Ｂの２つのＳＳＤＡＧを１つの大きなＤＡＧに組み合わせる場合、システムのより適切なまたはより完全なビューを与えることができる場合がある。
【００５９】
本明細書において対処される興味深い論点は、これを行なう場合またはこの方法が新しい問題を導入する場合に、特性の計算が以前と同様に実行されるか否かである。
【００６０】
再使用可能なアタック
図８に示すように、サブ脅威（またはサブアタック）２／３は、脅威１及び脅威２の実現に共通である。サブ脅威２／３を実現する際に費やされる労力が脅威１及び脅威２の双方に対する「足がかり（stepping-stone）」であると仮定する。すなわち、関連するアタックが２回（またはそれ以上）再使用され、最終的に、脅威１及び脅威２の双方を実現すると仮定する。このサブアタックを実行するコスト／時間／複雑さは、アタッカーがそれを実行することによって到達できる全ての究極の目的で「償却（amortized）」される。すなわち、サブアタック自体が実行するためにコストがかかりすぎると最初は考えられる可能性があるが、システム全体のセキュリティを理解するために、再使用可能であることが考慮される必要がある。再使用可能なアタックの概念は、従来技術では適切に対処されない。
【００６１】
巡回
文献［１３］の注釈、文献［９］の注釈及び文献［３］の簡単な注釈において、ＡＴにおける巡回（cycles）の概念が説明されている。巡回に対処する方法の完全な調査はされていない。
【００６２】
本発明の改善されたセキュリティ方法及びシステムは、上述の従来技術の制限を克服し、非常に複雑な技術システムのセキュリティ解析に基づいて効率的な対抗策を提供し、かつ改善されたセキュリティ保護されたシステム動作を可能にする。本発明は、技術システムまたは対応する技術処理に対するセキュリティ脅威に関して、解析及び決定を行なう支援として動作し、再構成することによってシステムに対して技術的に影響を与える。本発明は、基本的には、技術システムを特徴付ける技術情報を受信する入力と、アタックを表すグラフ表現ユニットと、対抗策を格付する格付ユニットとを提供する。
【００６３】
グラフ表現ユニットは、受信した技術情報に基づいて、技術システムに関連する属性を有するアタックノードの有向グラフにおいて技術システムに対する潜在的なアタックの表現を提供するように構成されている。格付ユニットは、複数の種々の対抗策のセットを格付して、システムセキュリティを改善するために、選択された対抗策のセットが行なわれることを可能にするように構成されている。対抗策の各セットは、少なくとも１つの対抗策を含んでいる。更に詳細には、格付ユニットは、対抗策のセット毎に以下の手順を実行するように構成されている。すなわち、ｉ）有向グラフにおいてアタックに対する対抗策のセットを論理的に適用し、ｉｉ）アタックのリスクを軽減することに関して適用された対抗策のセットの有効性に基づいて適用された対抗策のセットのランクを判定する。
【００６４】
第１の態様において、本発明は、最高のランクを有する対抗策のセットの中から選択するように構成されている選択器（セレクタ）及び、選択された対抗策のセットを技術システムに適用するように構成されているシステム再構成ユニットを更に備える、解析及びシステム再構成のための装置として実現される。一般に、最高ランクは、最も有効なまたは最も効率的な対抗策のセットに対応している。
【００６５】
第２の態様において、本発明は、対抗策の格付に基づいて技術システムの適切な再構成を可能にするための技術的意思決定支援システムとして実現される。
【００６６】
本発明の第３の態様において、本発明は、コンピュータ上で実行する場合に、セキュリティ解析に基づいて技術システムの再構成を可能にする技術装置または意思決定支援システムにおいて使用される、コンピュータプログラム製品として実現される。
【００６７】
本発明の上記相関する態様については後で更に詳細に説明する。
【００６８】
技術システムの例は、産業自動化システム、情報／通信システム及び輸送システムを含む種々の技術分野で見つけられる。特に、本発明は、通信リンクによって相互に接続される複数の通信ユニットを有する通信ネットワークに対するアタックを解析するために適用可能である。ここで、少なくともいくつかの通信ユニット及び／またはリンクはアタックを受け易い。通信ネットワークは、例えば、今日の無線通信ネットワーク等の無線ネットワーク、またはインターネットの一部を形成する、サーバベースのネットワークであってもよい。
【００６９】
当然、対抗策は、検討される技術システムに従って変動することになる。当業者には理解されるように、通常、種々の対抗策は、種々の技術システムに適用されることになる。例えば、一方では、産業自動化システム及び他方では移動通信システムは、通常、全く異なる種類のセキュリティ脅威を受け易く、従って、対抗策はシステム毎に異なることになる。これは、脅威及び対抗策が最終的には考慮中の技術システム及びシステムに与えられる特定のセキュリティ脅威に依存するため、それらの脅威及び対抗策の正確な性質に関して多くの詳細を説明しない理由があるからである。しかしながら、アタック及び対抗策のいくつかの図示する例が以下の説明において与えられる。それらの例のいくつかは、データ／電気通信技術分野から得られる。例えば、航空宇宙分野からの他の例は、例えば、文献［１３］で見つけられる。更に他の例は、文献［１８］で見つけられる。
【００７０】
「対抗策（countermeasure）」という用語は、システムのセキュリティに対抗するかまたはシステムセキュリティを向上する技術システムに対する任意の対策として非常に幅広くかつ一般的に解釈されるべきである。
【００７１】
文献においては、対抗策は、例えば、脅威、脆弱性またはアタックを除去するまたは防止することによって、あるいはそれらを最小限にするかまたは少なくとも減少させることによって、その脅威、脆弱性またはアタックを減少させる動作、装置、手順または技術として定義されている。
【００７２】
セキュリティアタック（security attack）という用語は、技術システムの所望のセキュリティを脅かす任意のアタックとして解釈されるべきである。
【００７３】
セキュリティ保護されかつ成功するアタックがない状態にシステムを維持することが望ましい理由は、アタックが望ましくないシステム動作（パフォーマンス、可用性等）の結果を招き、その結果、収益の損失及び「悪意」等の直接的なまたは間接的な結果を有する可能性があるからである。従って、実現された脅威／アタックは、技術システムのオペレータ／所有者に対する関連するコストを有する。一般に、アタックの「深刻さ」を測定するための共通の方法は、関連するアタックのリスクを使用することにより、アタックが発生することによる予想される損失（性能、収益等の）として定義される。従って、この測定は、アタックが実現される可能性、並びにアタックが実際に実現される場合のコストまたは損失を考慮に入れる。例えば、コストは、アタック（群）のためにシステムを修復、再構成または変更するために必要とされる、技術資源の度合または量、及び／または時間に関連付けることができる。
【００７４】
上述のように、本発明は、システムのセキュリティを解析するために、システムに対するアタックのグラフ表現を使用する。しかしながら、アタックツリー及びアタックグラフ等の従来技術において取り込まれない技術システムに対する脅威及びアタックの特定の側面を取り込むために、アタックジャングル（attack jungle）と呼ばれるグラフ表現を使用することにする。アタックジャングルの定義及びこの新しい表現により適切に取り込まれる側面については、後で更に詳細に説明する。
【００７５】
しかしながら、最初に、グラフが結合されてもされなくてもよいことが思い出される。特に、これは、最も一般的な事例においてアタックジャングル群に当てはまることになる。すなわち、グラフの２つのノードｕ及びｖを与えると、グラフが方向づけられていない場合でも、ｕ及びｖを結合する辺のパスがあってもなくてもよい。グラフが結合されない場合、本発明は、各連結成分に個別に適用されてもよい。選択的には、脅威／対抗策を評価する場合、本発明は、例えば、対抗策が適用されるグラフの全ての連結成分にわたる合計として計算される対抗策の全体的な効果（セキュリティ向上）を考慮することによって、対抗策を格付及び評価するために適用されてもよい。アタックジャングルが複雑な技術システムに対応している場合、例えば、技術システムのサブシステムに対応するアタックジャングル全体のサブグラフのみを研究することは同様に興味深いだろう。有向グラフは、一般にグラフ全体の他の部分に直接結合するかまたは結合しないアタックノードのより大きなグラフ全体のサブグラフであってもよい。本発明は、このサブグラフのみに適用される。
【００７６】
このことを考慮すると、当業者は、その説明により最も一般的な例において本発明を適用する方法を理解できるため、結局、アタックジャングル及び関連するグラフが結合するか否かに関わらず、単により大きなシステムの一部及びその関連するアタックジャングルであるかを考慮する必要はない。
【００７７】
要約すると、後述するように、アタックジャングルは、アタックノード群の有向グラフにおいてセキュリティアタックまたは脅威を表す、より柔軟性のある形式である。
【００７８】
例示的な一実施形態において、基本的な手順は、技術システムに関連する属性を有するアタックノードを含む有向グラフにおけるシステム脆弱性またはセキュリティアタックの表現を取得し、グラフのセキュリティアタックにゼロ個以上の対抗策を適用し、グラフを１つ以上の方程式体系に変換して属性値をいわゆるリーフノードと関連付け、関連する方程式体系（群）を解き、適用される対抗策（群）のランクを計算するために属性値を抽出することである。
【００７９】
特定の例示的な一実施形態において、セキュリティ解析は、解析段階において任意の対抗策を適用せずに実行され、単純にセキュリティ及びシステム脆弱性に対するシステムの動作状態に関する情報を取得する。これは、例えば、対抗策の種々のセットまたは組み合わせを格付する場合の基準または「ベンチマーク」として使用される。
【００８０】
本発明の好適で例示的な実施形態において、この概念は、システムに適用される対抗策（群）の種々のセットまたは組み合わせを比較して、技術システムに対するセキュリティ脅威に対抗することであり、それにより、最も「効率的な」対抗策の選択が可能になる。「効率的な」が意味することは、入力属性またはパラメータ（コスト、どの程度対抗策が脅威に対抗するか及びリスク軽減等であってもよい）として選択される。主に、本発明は、アタックのリスクの軽減、いわゆるリスク軽減に対して、適用された対抗策の有効性を考慮する。
【００８１】
グラフ中のノードと関連付けられる属性は、例えば、アタック等の実現性、効率、困難性、コスト等であってもよい。
【００８２】
好ましくは、グラフは、考慮されるアタックノードの「主」アタックが実行可能になるために全てのサブアタックノードが実行されることを必要とするノードであるアタックノードに関する追加の指示を有する。
【００８３】
本発明の例示的な一実施形態を実現する可能な技術的意思決定支援システム及び対応するコンピュータプログラム製品に対するフローチャートを図９に示す。この処理及び処理の種々のステップは、以下に更に説明するように技術装置に当てはめられるが、まずは解析処理について言及する。
【００８４】
いわゆるアタックジャングルを生成するための入力Ｓ１は、エンジニアによって生成され、かつ／またはシステムからの情報及び動作状態／現在の構成を収集するセンサから得られる。特定の一例において、例えば、センサは、システムソフトウェアバージョン、暗号化が可能にされるか否か、現在使用されている暗号鍵、システムに接続している他のネットワーク通信ユニット等の情報を報告できる。この入力は、システムに対するアタックジャングルの表現を構築する、グラフ表現ユニットまたは略して構成器とも呼ばれる「アタックジャングル構成器」Ｓ２に与えられえる。要約すると、アタックジャングルは、セキュリティアタックを表すノードの有向グラフとして考えられる。アタックジャングルの詳細な定義については後で例示する。対抗策選択器は、可能な対抗策の事前定義済みセットからゼロ個以上の対抗策を選択するＳ３。対抗策アプリケータは、例えば、対抗策の適用後に実行不可能であるとして特定のアタックに印を付けることによって、選択された対抗策の表現をアタックジャングルに論理的に適用するＳ４（すなわち、技術システムに配備される場合の対抗策の動作方法のある種のシミュレーション）。例示的な一実施形態において、属性伝播器は、選択された対抗策毎に（及び可能性として、対抗策が適用されなかった例に対して）リーフアタックからの属性値をアタックジャングルの残りのアタックに伝播することが好ましいＳ５。例示的な一実施形態において、典型的には、セットまたは単一の対抗策のランクは、アタックジャングルのシンクの属性値の関数として導出されるＳ６。対抗策のランクは、例えば、全てのシンクの属性値のベクトルであってもよい（一般に、複数のアタック目的に対応する複数のシンクが存在してもよいため）。
【００８５】
対抗策格付器は、リスク軽減に対する対抗策の有効性を定義する順序に従って対抗策を一覧表示し、かつその結果を対抗策アクチュエータに提示する。
【００８６】
対抗策アクチュエータＳ７は、対抗策（群）が適用されたか及びどの対抗策（群）が適用されたかを判定する役割を果たし、また、システムを再構成することによってそれらの対抗策を実際に適用する。例えば、データまたは通信システムにおいて、これは、対抗策アクチュエータがファイアウォールにおけるフィルタリングポリシーを変更してもよく、ウィルスを除去してもよく、新しいソフトウェアパッチを配布してもよく、暗号鍵を無効にしてもよく、ネットワークユニットをシステムから切断（または隔離）してもよいことを意味する。対抗策アクチュエータは、対抗策を適用する代わりに、手動で設定することによって対抗策をシステムに適用するために適切な動作を行なうオペレータ／エンジニアに対してユーザインタフェースを介して対抗策を表示してもよい。
【００８７】
対抗策の有効性は、実現される１つ以上の脅威またはアタックのリスクが軽減されることに関して表される。
【００８８】
１つ以上の脅威またはアタックに関連するリスクは、予想された損失として定義されてもよい。前者の脅威に関連するリスクは、より有益でありかつ対抗策を適用するコストに関して所定の対抗策のセットの効率を評価する機会を与えるため、一般により多用される。従って、アタックのリスクは、一例として、実現されるアタックの可能性及びアタックが実現される場合の損失の積として表されてもよい。
【００８９】
リスク（risk）＝可能性（probability）・損失（loss）
アタックの可能性が所定の技術システムにおける特定の状況下で９０％であり、アタックが正常に実現される場合の損失が１０，０００ドルであると評価される場合、リスクまたは予測される損失は９，０００ドルとして表される。損失／コストは、一般的には、低下したシステムパフォーマンス、システム容量及び低下したシステム可用性等の技術特徴に対応する損失／コストであることが理解されるべきである。要望に応じて、それらの技術損失は、より適切な実際的な感覚のためにお金に換算される、またはお金で評価される。
【００９０】
上記例を再使用すると、対抗策または所定の対抗策の組み合わせがアタックの可能性を５０％に削減する場合、予想される損失は９，０００ドルから５，０００ドルに削減される。すなわち、利得の減少またはリスクの軽減は４，０００ドルである。対抗策（群）を適用するためのコストが４，０００ドルより少ない場合、対抗策（群）を適用する実数値が存在することが分かる。上述のように、対抗策が与えるリスク軽減より「高価」である対抗策は、絶対的な意味でそれ程効率的でなく、また、２つの異なる対抗策は非常に異なるコスト／リスク軽減比を有することができ、一般にそのような比は小さい程好ましい。
【００９１】
本発明の例示的な一実施形態に係る対抗策の複数のセットに対するリスク及びコストパラメータの制限しない例を以下において表Ｉに与える。
【００９２】
【表１】
0005406195.tif 000002
【００９３】
表Ｉ等のリスク及びコストパラメータの表に基づいて、格付リストが提供され、その第１の例を以下の表ＩＩに示す。
【００９４】
【表２】
0005406195.tif 000003
【００９５】
表ＩＩ
表ＩＩにおいて、格付は、対抗策を適用するためのコストを考慮せずに、表Ｉの軽減されたリスクに基づいている。
【００９６】
以下の表ＩＩＩは、表Ｉのコスト／リスク軽減比に基づく格付リストの第２の例である。
【００９７】
【表３】
0005406195.tif 000004
【００９８】
本発明によって提案される格付リストは、技術システムに対する脅威またはアタックを除去する、または少なくともそのようなアタックの影響を低減させるために適用する対抗策に関する非常に有用で実用的な情報を与える。理解されるように、この効率は、例えば、軽減されたリスク、またはコスト／軽減リスク比（軽減されたリスクに基づいている）として異なる方法で表現される。＃１で示される対抗策のセットがアタックのリスクを完全に除去するが、それらの対抗策を適用するコストは予想される利得より大きい可能性があり、格付リストを提供する場合にそのことを考慮に入れることは望ましいだろう。いずれにしても、本発明は、従来技術により提案されているものを越える対抗策の自動化された評価及び効果的な比較を可能にする。
【００９９】
図１０は、好適で例示的な一実施形態に従う装置または意思決定支援システムの一般的な一例を示している。
【０１００】
基本的に、セキュリティ解析の装置は、入力ユニット１０と、アタックジャングル構成器または略して構成器２０と、システム／対抗策解析のためのユニット３０と、出力／制御ユニット４０とを備えている。入力ユニット１０は、解析中の技術システム２に関する知識を有するユーザ／オペレータ（エンジニア）１から情報を受信してもよい。選択的には、または補完するものとして、センサ（群）３は、技術システムに関する情報を抽出するために技術システム２に適用されてもよく、その情報の適切な表現を入力ユニット１０に転送してもよい。この例において、入力はアトミックアタックに関連付けられている属性値、すなわち、アタックジャングル表現のリーフノードと関連付けられる属性値を更に含んでもよい。選択的には、または補完するものとして、多かれ少なかれ自動化されている割当器（図１０では不図示）は、属性の適切なサブセットに値を代入してもよい。一般的には、属性値を提供するいくつかのメカニズムが存在する。構成器２０は、セキュリティアタックのグラフ表現（一般的には、リーフに対する属性割当を含む）を生成し、システム／対抗策解析は、解析ユニット３０によって実行される。グラフ表現に基づいてシステム解析を実行し、技術システムの動作セキュリティ状態に関する情報を取得することが可能である。選択的には、または好ましくは補完するものとして、１つ以上の対抗策のセットをグラフ表現に論理的に適用して、対抗策（群）のリスク軽減の解析を実行することができる（実際に、それらの対抗策を実際の技術システムに適用する前に）。出力／制御ユニット４０は、ユーザ／オペレータ１への出力として技術的意思決定支援情報を提供してもよく、ユーザ／オペレータ１は、対策が必要である場合には、適切な対抗策（群）を決定しかつ実現してもよい。選択的には、または補完するものとして、出力／制御ユニット４０は、セキュリティの観点から技術システム２を制御及び／または再構成するために制御情報を提供する。
【０１０１】
図１１は、本発明の例示的な一実施形態に従って技術システムのセキュリティを解析しかつ技術システムを再構成するための装置５０を示す概略ブロック図である。この特定の例示的な実施形態において、構成器２０は、技術システムに関連する属性を有するアタックノードの有向グラフにおける技術システムに対する潜在的なセキュリティアタックの表現を提供する。本明細書において、システム／対抗策解析ユニット３０は、システムセキュリティを向上するために、選択された対抗策のセットが行なわれるように複数の種々の対抗策のセットまたは組み合わせを格付するように構成される格付ユニット３２を含んでいる。一般に、対抗策の各セットまたは各組み合わせは、少なくとも１つの対抗策を含んでいる。格付ユニット３２は、対抗策のセット毎に、有向グラフにおいてセキュリティアタックに対して対抗策のセットを論理的に適用し、かつ適用された対抗策のセットのリスク軽減に基づいて適用された対抗策のセットのランクを判定するように構成されている。本実施形態において、出力／制御ユニット４０は、選択器４２及び再構成ユニット４４を有する制御ユニットとして実現される。選択器４２は、最高ランクを有する対抗策のセットの中から選択するように構成され、システム再構成ユニット４４は、例えば、適切な制御メカニズムによって、選択された対抗策のセットを技術システム２に適用するように構成されている。図１１の実施形態では、オプションとして、ユーザ／オペレータ１に意思決定支援出力を提供することができ、ここで、ユーザ／オペレータ１は、オプションの制御入力を技術システム２に提供することができる。
【０１０２】
図１２は、本発明の例示的な一実施形態に従って技術システムの再構成を可能にするために技術システムのセキュリティを解析するための技術的意思決定支援システム６０の概略ブロック図である。本実施形態において、出力／制御ユニットは、好ましくは、格付ユニット３２からの格付リストの形式で、選択的には、または補完するものとして種々の対抗策の格付に基づく意思決定支援情報の形式で、意思決定支援情報を提供する出力ユニット４０として実現される。意思決定支援出力は、技術システム２のセキュリティを向上するためにユーザ／オペレータが適切な対抗策または動作を行なうことを可能にする技術情報である。
【０１０３】
図１３は、基本的な機能性が本発明の例示的な一実施形態に従うコンピュータプログラム製品として実現される、装置または意思決定支援システムを示す概略ブロック図である。本実施形態において、入力ユニット１０、構成器２０、システム／対抗策解析ユニット３０、並びに出力及び／または制御ユニット４０はコンピュータプログラム７０として実現され、ここで、コンピュータプログラム７０は、コンピュータプログラム製品を形成するためにコンピュータ可読媒体８０に含まれる。コンピュータプログラム７０は、関連するコンピュータシステム９０にロードされかつ実行される場合、対抗策の種々のセットの格付に基づいて制御情報または意思決定支援情報を提供し、それにより、システムセキュリティを向上するために、選択された対抗策のセットが行なわれることが可能になる。意思決定支援のために、格付リストまたは同等の表現が提供される。システム再構成のために、適切な制御信号がコンピュータプログラム製品から技術システムに提供される。この制御信号は、対抗策の種々のセットの格付に基づいて。コンピュータプログラムによって生成される。コンピュータプログラム７０は、実行されると、各プログラム手段１０、２０、３０、４０を介して、コンピュータシステム９０に技術システムを特徴付ける技術情報を入力として取得させ、受信した技術情報に基づいて、技術システムに関連する属性を有するアタックノードの有向グラフにおいて技術システムに対する潜在的なアタックの表現を提供し、そして、格付リストにおいて複数の種々の対抗策のセットを格付してシステムセキュリティを向上するために、選択された対抗策のセットが行なわれることを可能にする。対抗策の種々のセットを格付する特別なプログラム手段は、対抗策のセット毎に、その有向グラフにおいてアタックに対する対抗策のセットを論理的に適用し、対抗策のセット毎に、アタックのリスクを軽減することに関して、適用される対抗策のセットの有効性に基づいて、適用される対抗策のセットのランクを判定するように構成されている。
【０１０４】
コンピュータプログラムは、後述するオプションのグラフ変更器を更に備えていてもよい。
【０１０５】
上述のように、セキュリティ解析のために使用されるコンピュータプログラム７０は、一般に、ＣＤ、ＤＶＤ、またはオペレータへの配信用（インターネットを介するプログラムのダウンロードも含む）の他のコンピュータメモリ構造等の、コンピュータ可読媒体８０において符号化または保持される。その後、オペレータは、後で実行するためにプログラムをコンピュータシステム９０にロードすることができる。
【０１０６】
図１４は、図９の解析処理の選択されたステップを実現する装置の好適で例示的な一実施形態を示している。選択されたステップのみが図１４の例示的な装置の一部にされる理由は、それらのステップが自動化するために最も適していることを反映するものとして理解されるべきである。
【０１０７】
基本的に装置は、各ステップを実行する複数のブロックを含んでいる。図中の辺は、内部信号パスを示し、また、このパスを介して通信される情報の種類によってラベルが付けられている。次に、それらの構成ブロックを更に詳細に説明し、また、好適で例示的な実施形態において技術的に実現される方法を説明する。
【０１０８】
入力フォーマット
システム記述は、セキュリティ解析／向上装置（ＳＡＩＡ）に入力される。この入力は、オペレータ／エンジニアによって、あるいは、例えば、現在の構成を含むシステムの動作状態を報告するセンサによって、手動で生成される。一般に、この入力のフォーマットは、解析中のシステムの技術的特性及び機能性に依存することになる。簡潔にするために、本明細書において、例として、システムは種々の通信ノードまたはユニット間の通信を提供する通信ネットワークであると仮定する。そのような場合、システム入力は、例えば、通信エンティティ、それらの相互接続を記述し、そのエンティティ及びその相互接続のセキュリティ特性によって属性を与えられる（例えば、相互接続が暗号化されているか否か、使用される鍵等）機械可読ＵＭＬフォーマット（または、他の構造化図形表現）であってもよい。相互接続は、保持される情報の種類／感度に従って分類される（定量的にまたは定性的に）のが好ましい。より適切である可能性のあるシステム記述の符号化は、論理（ロジック）を使用する。例えば、暗号化される相互接続ユニットＡ及びＢを考慮する。以下のような「プロログのような（Prolog-like）」論理記述を使用して、相互接続のセキュリティ特性を記述することができる。
【０１０９】
Eavesdrop(AB) :- GetPhysicalAccess(AB), BreakEncryption(AB)
（盗聴（ＡＢ）：−物理アクセス（ＡＢ），暗号化中断（ＡＢ））
これは、相互接続に物理的にアクセスでき、かつ使用される暗号化アルゴリズムが中断される場合、ＡとＢとの間の相互接続を盗聴できることを記述している。装置の第１のブロックがａｎｄ頂点及びｏｒ頂点を有することができるアタックジャングルを構築することを考慮すると、そのような論理的表現が非常に適切であることは明らかである。
【０１１０】
上述のように、この入力は、アトミックアタック（すなわち、後でアタックジャングルのリーフを形成することになるアタック）と関連付けられる初期属性値を更に含んでいる。これらの値は、上述のように、整数、実数、ブール、間隔を含む異なる種類であってもよく、あるいは一般的に解析される属性（コスト、困難性、確率、．．．）に依存する種類であってもよい。入力がセンサから得られる場合、それらのセンサは、属性値が「普遍的に一致する」と考えられる「周知」のアタックの事前に構成されたデータベースを使用できる。例示的な実施形態において使用される共通に使用されるデータベースは、ＣＶＥ（共通脆弱性識別子）である。例えば、「ソフトウェア障害の可能性」が要求される属性である場合、センサは、システムが現在使用しているソフトウェアバージョンを検出でき、また、所定の動作条件下でソフトウェアが数分内に「クラッシュ」する可能性を見つけるために統計データベースのルックアップを実行できる。自動入力生成に適切な他のそのような例示的な属性は、暗号化アルゴリズム及び暗号鍵と関連付けられる属性、並びに他のシステム構成の形式等である。
【０１１１】
アタックジャングル構成器
このブロック２０は、システム記述をアタックジャングルに変換する。出力フォーマットは（有向）グラフであり、隣接マトリクス、近隣リスト／ポインタ等のグラフの任意の周知の機械可読表現を使用することができる。変換の厳密なステップは、システム記述フォーマットに依存することになる。上述の論理式表現が最も適切な表現の１つであることは明らかであり、この変換を容易にする。このブロックは、属性値をアトミックアタックに割り当てることができる。
【０１１２】
対抗策（入力）選択器
この（オプション）ブロック５の目的は、１つ以上の対抗策を選択し、かつそれらを装置に入力することである。このブロックがオプションである理由は、この機能が手動でオペレータが実行することに最も適していると考えられるからである。この入力のデータフォーマットは、好適な実施形態においてアタックジャングルの１つ以上のサブグラフ及び／またはアタックジャングルにおける１つ以上のリーフに対する変更された属性値の形式である。例えば、対抗策がアトミックアタックを（完全に）除去すると考えられる場合、対応するリーフが入力される（アタックジャングルからそのアトミックアタックを削除することを意図して、以下の対抗策アプリケータの説明を参照）。一方で、対抗策がアタックに関連するある属性のみを削減する場合、入力はその属性値の再割当の形式となる。
【０１１３】
対抗策の説明の一部は、対抗策格付器を後で使用するための対抗策のコストであってもよい。以下を参照されたい。
【０１１４】
この特定の例において、解析ユニット３０全体は、格付ユニット３２を含み、この格付ユニット３２は、対抗策アプリケータ３３、属性伝播器３４及び対抗策格付器３５を含んでもよい。
【０１１５】
対抗策アプリケータ
このブロック３３は、対抗策の表現を利用し、かつそれらの対抗策をアタックジャングル入力に適用する。例えば、対応するサブグラフ（群）を削除し、かつ／または属性値（群）を変更する。
【０１１６】
属性伝播器
このブロック３４は、以下に説明するように、アタックジャングルを関連する方程式体系（群）に変換し、対応する方程式（及び／または不等式）を解き、これによって、属性値を非リーフノード（ルート（群）を含む）にも割り当てる。このブロックは、グラフにおいて属性値の「上向き」の伝播を実行する。
【０１１７】
対抗策の格付器
このブロック３５は、対抗策の有効性をリスク軽減の形式で判定する。好適な実施形態では、これは、基準である元のアタックジャングル（対抗策が全く適用されていない）と比較することによって、頂点と関連付けられる属性が対抗策により影響を受ける（増加／減少する）程度を比較することによって行なわれる。同様に、２つ以上の対抗策が入力される場合、このブロックは、上述のように、対抗策のコストを考慮に入れて、それらの対抗策の有効性を比較する。その出力は、１つ以上の好適な（ある計測値において）対抗策であり、また、ユーザ／オペレータ（エンジニア）に対する意思決定支援情報の形式であってもよい。
【０１１８】
対抗策アクチュエータ
このブロック４５は、多くの場合にオペレータによって実行されることが最適であるため、オプションになっている。このブロックに割り当てられる機能は、出力された対抗策をシステムに実際に適用すること、例えば、いくつかのシステム相互接続において暗号化を可能にすることである。更に、この機能は、対抗策アクチュエータ４５の機械による実装に適する機能の一例である暗号鍵を置換できる。
【０１１９】
上記で示し、後で更に詳細に説明しかつ例示するように、属性値は、属性の第１のサブセットに提供され、また、対抗策のセットは、適用される対抗策のセット毎に、属性の第１のサブセットの値の少なくとも一部に影響を及ぼし、かつこの属性の第１のサブセットのうち、対抗策の影響を受ける値は属性の第２のサブセットに伝播される。格付器は、この属性の第２のサブセットの値を抽出して、適用される対抗策のセットのランクを計算する。
【０１２０】
属性の第１のサブセットは、アトミックアタックノードの有向グラフのリーフノードに関連し、属性の第２のサブセットは、有向グラフの１つ以上の中間ノード及び／またはルートノードに関連するのが好ましい。
【０１２１】
対抗策のセットが対抗するアタックノードの有向グラフのリーフノードのセットとして対抗策のセットを定義でき、格付ユニット３２は、中間ノード及び／またはルートノードの属性値の関数として対抗策のセットのランクを判定するように構成されてもよい。
【０１２２】
上述のように、格付ユニット３２は、対抗策が適用されていない属性の第２のセットの対応するいわゆる基準値に関連して、属性の第２のセットの値が適用される対抗策のセットによって影響を受ける程度の比較に基づいて、対抗策のセットのリスク軽減を判定するように構成されてもよい。
【０１２３】
ある意味では、方程式生成器または解答器（solver：ソルバ）とも呼ばれる属性伝播器３４は、有向グラフを属性に依存する方程式体系のセットに変換する。方程式体系は制約を含んでいてもよく、例えば、いくつかの方程式は、後述するように、例えば、「３ｘ  ＜  ２ｙ」である不等式の形式であってもよい。この変換関数は、場合によっては、コンバータに対する属性伝播器のこの一部を呼び出す理由である。属性の第１のサブセットの属性値は、有効グラフにおいて、すなわち、属性に依存する方程式体系のセットにおいて属性に提供されてもよい。属性伝播器は、属性の第１のサブセットのうち対抗策の影響を受ける値を属性の第２のサブセットに伝播するために、属性に依存する方程式体系のセットを解く。方程式が不等式を含む場合、「解く」は方程式体系の変数への満足する代入を見つけることを意味する。格付ユニット３２は、適用される対抗策のセットのランクを計算するために解かれた方程式体系から、属性の第２のサブセットの値を抽出するように構成されるのが好ましい。
【０１２４】
図１５は、図１４に示される装置の別の実現例を示す概略ブロック図である。図１５の例において、一般に複数のリーフノードと関連付けられる属性の第１のサブセットに属性値を割り当てる割当器２５が存在する。これは、アタックジャングル構成器２０に入力情報として提供される属性値と組み合わせて行なわれる。割当器は、有向グラフにおいて属性値を提供するために構成器２０と共に直接動作してもよく、かつ／または属性に依存する方程式体系のセットにおいて属性値を提供するために属性伝播器３４と共に直接動作してもよい。
【０１２５】
図１６において、通信ネットワークの単純な例が示される。図１６は、基地局１２０及びインターネット１４０に接続されるアクセスルータ１３０から構成される、アクセスネットワークに接続される移動装置１１０を示している。当然、種々の通信ユニットを含む通信ネットワークの他の例が考えられてもよい。
【０１２６】
アタッカーの明らかな目的は、図１７における目的「盗聴」によって表されるように、移動装置１１０とインターネット１４０上のいくつかの通信ユニットとの間のトラフィックを盗聴することである。これが達成される方法は（少なくとも）２つある。移動装置１１０と基地局１２０との間の無線リンクを盗聴すること、または基地局１２０とアクセスルータ１３０との間のリンクを盗聴すること（アタッカーは、アクセスルータから離れるとトラフィックにアクセスできなくなると仮定する）である。それらの２つのアタックは、それぞれ「無線盗聴」及び「有線盗聴」として図１７では示される。
【０１２７】
次に、属性「尤度」は、アタックジャングルの各ノードと関連付けられ、これは、対応するアタックが実現される可能性を表している。この例の場合、１〜５の間の値を有するように尤度を定義する。５は起こる可能性が非常に高く、１は起こる可能性が非常に低いことを意味する。例えば、「無線盗聴」の尤度は４であり、「有線盗聴」の尤度は３であると考えられてもよい。いずれのアタックもアタッカーに目的を達成させるため、目的（ジャングルにおけるシンク）に対する属性値は２つのサブアタック、すなわち、４である可能性が最も高い。
【０１２８】
次に、２つの異なる対抗策が無線リンクの暗号化及び有線リンクの暗号化（基地局とアクセスルータとの間）と考えられると仮定する。第１の対抗策が適用される場合、「無線盗聴」を不可能にすると仮定され、第２の対抗策は「有線盗聴」を不可能にする。これは、第１の対抗策が適用される場合、依然として有線リンクの盗聴が可能であるため、シンクの属性値が３であることを意味する。第２の対抗策が適用される場合、アタッカーが依然として空中／無線リンクを盗聴できるため、シンクの属性値は依然として４である。従って、ランクは第１の対抗策に対しては３であり、第２の対抗策に対しては４であり、２つの対抗策の組み合わせに対してはシンクに到達できないため０である。この場合、対抗策アクチュエータに対するセキュリティ上最も安全な選択は、双方の対抗策を選択すること、すなわち、双方のリンクを暗号化するようにシステムを構成することである。しかしながら、ある理由のために有線リンクを暗号化することは非常に高価であると仮定すると、第１の対抗策を実現することのみを選択することはコスト効率がより大きいだろう。
【０１２９】
更に詳細なレベルでは、解析は、使用する暗号化アルゴリズムを考慮することができる。例えば、アルゴリズムＡは、アルゴリズムＢよりセキュリティ上安全であるが、Ａは、例えば、帯域幅または処理能力等に関してより高い「コスト」により関連付けられる。
【０１３０】
本発明をより理解するために、例示的な実施形態を以下に更に詳細に説明する。
【０１３１】
形式化及び定義の例：
好適で例示的な実施形態において、内部データ表現のためにアタックツリーの一般化が採用される。この表現は「アタックジャングル」と呼ばれる。
【０１３２】
アタックジャングル：アタックジャングルは、（Ｖ，Ｅ）が自己ループを含まない有向有限グラフであり、Ａが、Ａ（ｖ）がｖがａｎｄ−ノードであるということとと同等であるＶ上での単項関係である、トリプレット（Ｖ，Ｅ，Ａ）である。
【０１３３】
この定義により、任意の種類のグラフが可能になり、これについては本節において後述する。これをアタックツリーと呼ばない理由は、単に、グラフ理論的にツリーである必要がないためであり、従って、元の用語を使用することは適切に確立されている専門用語を誤用する可能性がある。技術システムに対するセキュリティアタックの適切な表現を必要とする場合、この定義は、巡回及び複数のシンク（すなわち、ルート）を可能にする。換言すると、アタックジャングルは、セキュリティアタックまたは脅威を表すアタックノードのグラフ表現のより一般的／高度な形式または柔軟性のある形式である。
【０１３４】
当業者には明らかであるように、有向グラフは、結合がｘからｙであるのかまたはｙからｘであるのかを定義するｘとｙとの間等のノード間に方向の指示が存在することを意味する。
【０１３５】
直前の先行ノード：（Ｖ，Ｅ，Ａ）をアタックジャングルとする。Ｖのノードｖの直前の先行ノードのセットは、セット｛ｖ’  ｉｎ  Ｖ：  （ｖ’，ｖ）  ｉｎ  Ｅ｝であり、ＤＰ（ｖ）で示される。簡潔にするために、ｉ＜ｊであり、かつ非負の整数ｎに対して｜ＤＰ（ｖｉ）｜＝０、｜ＤＰ（ｖｎ−１）｜＝０及び｜ＤＰ（ｖｎ）｜が０でないこと、すなわち、グラフのソースがＶにおけるある順序付けの最初のｎ個のノードであることを｜ＤＰ（ｖｊ）｜＝０が示すように、その順序付けを仮定する。
【０１３６】
属性領域：属性領域は構造＜Ｄ，△，▼＞であり、△：Ｄ  Ｘ  Ｄ  −＞  Ｄ及び▼：Ｄ  Ｘ  Ｄ  −＞  Ｄは論理積及び論理和コンバイナ（combiner）と呼ばれる２つの結合的可換関数である。すなわち、２つの関数△及び▼は、Ｄからの入力対を利用し、Ｄに出力を生成する。
【０１３７】
属性領域の概念に関する情報については、文献［８］を参照されたい。
【０１３８】
２つのコンバイナ関数は、非常に明示的で直観的な意味を有する。すなわち、それらの関数は、ノードの先行ノードの属性を組み合わせて、そのノードの属性値を取得する方法を定義するルールである。論理積コンバイナは、名前が示すように、ａｎｄ−ノードに対して使用され、論理和はｏｒ−ノードに対して使用される。それらのコンバイナの２つの例が先に与えられている。すなわち、可能性／不可能性に対するａｎｄ／ｏｒルール及びアタックのコストに対するｍｉｎ／ｓｕｍルールである。
【０１３９】
強連結成分：（Ｖ，Ｅ）を有向グラフとする。強連結成分（ＳＣＣ）は、Ｓの任意の２つのノードｖi、ｖjに対してｖiとｖjとの間にパスが存在するようなＶの極大サブセットＳである。グラフ（Ｖ，Ｅ）のＳＣＣのセットは、ＳＣＣ（（Ｖ，Ｅ））で示される。
【０１４０】
再使用可能なアタック及び最小コストの過大評価
コストの場合、属性領域の単純な定義は、上述のように＜Ｎ，＋，ｍｉｎ＞である。ここでの問題は、論理積コンバイナが構成性の法則を考慮しないことである。すなわち、△＝＋の定義により、モデリング誤差が生じている。アタックツリー構成が分解パラダイムに従って行なわれるため、これは実際には問題である。更に大きな問題は、この問題に対する解決策が全く単純でないことである。
【０１４１】
構成性が存在しない理由は、サブアタックの結果が再使用可能であるためである。一例として図１８を参照されたい。この場合の過大評価の理由は、バールを入手するサブアタックの結果が再使用可能であるためであることが明らかである。バールがアタッカーの所有物になると、それは任意の回数だけ再使用可能である。モデルにおいて、再使用可能なノードと再使用不可能なノードとの間の区別はない。過大評価の問題を解決するために、この余分な情報は、何らかの方法でモデルに組み込まれる必要がある。
【０１４２】
異なるが関連する態様において、最小コストは、他の問題とも異なる。それは、サブアタックのコストは、最終的な目的に依存することである。この一例として、別の先の例、すなわち、図１８を使用する。
【０１４３】
サブアタック３及び５はそれぞれ＄５必要とし、サブアタック４は再使用可能でありかつ＄８必要とすることが想定される。欲張り伝播アルゴリズムは、図１９ＡのＤＡＧとして結果を与え、（アタッカーにとって）即時に明示的に最適であるのは、図１９ＢのＤＡＧのようなコストである。
【０１４４】
図１９Ａ及び図１９Ｂのこれら２つのＤＡＧは、コストが他の上述の属性とは異なり特定の目的を認識して計算される必要があることを示している。最小コスト属性のこの特別な特性の発見により、問題は本発明の設定において非常に困難になったため、今後、コンバイナ関数が容易に定義される属性のみを説明する。
【０１４５】
本発明は、後述するように再使用可能なアタックをモデル化できる。
【０１４６】
複数のシンク
サブアタックの属性が直前の先行ノードの関数（すなわち、構成関数）として容易に定義可能である場合、その属性は検査される最終的な脅威に依存しないことが上述から明らかである。従って、ＤＡＧに複数のシンクを有することに問題はない。
【０１４７】
巡回
上記のようなアタックジャングルの定義により、ジャングルにおいて巡回が可能である。その理由は、巡回が脅威をモデル化する適切な方法である状況が存在するからである。巡回は、ある従来技術においてはアタックグラフにおける動作であると簡潔に言及されている。文献［３］、［９］、［１３］において、発生する巡回の可能性について言及されているが、詳細には説明されていない。特に、アタックグラフの自動処理に対する従来の方法は、巡回に対処できるものとして周知ではないと考えられている。例えば、巡回は、文献［８］で説明される属性伝播メカニズムで明示的に除外される。
【０１４８】
一例として、巡回が発生する方法を理解するために、以下の鍵管理及びデータトラフィック保護に対するプロトコルの仮定の例（図２０に示す）を考慮する。
【０１４９】
アリス（Ａｌｉｃｅ）及びボブ（Ｂｏｂ）は、長期共通鍵ＬＫを共有し、かつセッション鍵を導出すると想定すると、アリスはボブにタイムスタンプ（壁掛け時計の時間とする）を送信する。次に、アリス及びボブの双方は、鍵としてタイムスタンプを使用して長期鍵ＬＫを暗号化することによって、この特定のセッションで使用するためのセッション鍵ＳＫを導出する。これにより、鍵管理プロトコルは完了する。次に、平文トラフィック（ＰＴ）は、暗号鍵としてセッション鍵ＳＫを使用して二者間で暗号文（ＣＴ）として暗号化されて送信される。
【０１５０】
説明されるプロトコルの基本的な問題は、アタッカーが、例えば、トラフィックを保護するために使用される暗号アルゴリズムＥ（，）を破ることによってセッション鍵ＳＫを入手でき、かつ送信されたタイムスタンプを聴取することを行なう場合、長期鍵を復号化することは些細なことであることである。アタックジャングルは、以下のようにこのプロトコルに対する脅威をモデル化するように構成することができる。アタックの目的がセッション鍵ＳＫを取得することであることを示すことによって開始することが有用であろう（図２１Ａを参照）。図２１Ｂの図は、長期鍵を取得すること（何らかの方法で）及び暗号化アルゴリズムを破ることの双方によりセッション鍵は脅かされる（アタックの目的が達成される）ことを示している。図２１Ｃの図は、セッション鍵が与えられると、長期鍵を取得できる（上述したように）ことを示している。
【０１５１】
ここで、グラフには巡回が存在し、これは正規モデリングから発生している。この場合、巡回における全てのノードがｏｒ−ノードである場合、この巡回は、巡回内に含まれる各サブアタックが異なる形式の同一情報を表していると解釈されるべきである。
【０１５２】
巡回は、セッション鍵を取得する１つの方法がまずセッション鍵を取得することによってセッション鍵を長期鍵に変換し、かつその長期鍵をセッション鍵に再度変換することであるという言い方で解釈される。これは意図されるものでないことは明らかである。その代わりに、これは、この場合にある種の糖衣構文と考えられるべきであり、巡回を使用せずに更なるノードを使用してこれを表す別の方法が存在するが、これは、美学的により魅力的な方法であることを意味する。特に、この場合、モデル化されるものは、いずれかの鍵の知識（Ｔが取得されると仮定すると）が他方の鍵の知識を示すことである。
【０１５３】
要約すると、巡回におけるノード、またはより一般的にはＳＣＣのノードは、同一情報を表す異なる方法として考えられるべきである。すなわち、それらのノードは同等の種類のノードとして考えられる。このことを考慮すると、グラフが以下のアルゴリズムを使用することによって、同等の種類毎に１つのノードのみを含むグラフに変更される変換を行なうことが適当であると考えられる。
【０１５４】
Reduce-Equivalence-Classes-In-Jungle((V,E,A))
1  for each S in SCC((V,E)
2    do if all v in S: not A(v)
3      then V = V union {v'}
4        for each (vi, vj) in E
5          do if vj in S
6            then if vi in S
7              then E = E\(vi, vj)}
8                else E = (E\{vi, vj)}) union {(vi, v')}
9        V = V\S
10  return (V,E,A)
図２２Ａ及び図２２Ｂでは、アルゴリズムの結果が示されている。図２２Ａは入力グラフを示し、図２２Ｂは結果として得られるグラフを示している。図２２Ａにおいて「サブアタック１」、「サブアタック２」及び「サブアタック３」で示されるいくつかのアタックノードは、図２２Ｂにおいて「サブアタック１＋２＋３」で示される単一の代表的なノードにマージされる。
【０１５５】
図１３に戻ると、周期的に相互接続されるアタックノードのセットを単一の代表的なノードで置換することによって有向グラフを変更する、いわゆるグラフ変更器２２の一例が示される。図１３のグラフ変更器は、コンピュータハードウェアシステムによって実行するためのコンピュータプログラム製品の一部として実現されるが、任意の方法で実現されてもよく、図１０〜図１２、図１４、図１５に示される任意の実施形態の一部を形成してもよい。
【０１５６】
２つの鍵を含む先の例で強調されたように、グラフのＳＣＣはｏｒ−ノードのみを含んでいた。しかしながら、考慮する例があと２つ存在する。すなわち、ａｎｄ−ノードのみを含むＳＣＣ及び各種類のノードを少なくとも１つ含むＳＣＣである。
【０１５７】
ａｎｄ−ノードのみを含むＳＣＣが存在する場合、モデリングには欠陥があり意味をなさない。これは、ａｎｄ−ノードによって表されるサブアタックを達成する方法を考える時に明らかである。アタックを達成するために、全ての直前の先行ノードが達成される必要がある。先行ノードのうち少なくとも１つがＳＣＣに存在するため、ＳＣＣの少なくとも１つの他のノードはａｎｄ−ノードの前に達成される必要がある。
【０１５８】
ＳＣＣの全てのノードがａｎｄ−ノードであるため、最初に達成されるノードはない。演繹的に達成されるノードが存在しないため、達成されるノードはない。
【０１５９】
各種類の少なくとも１つのノードを含む第３の例は意味をなさず、実際に起こる可能性がある。これは、図２３に示すような一例により最適に示される。この例は、完全に有効であると考えられ、種々の状況下でこの例を評価することで種々の結果が与えられ、それらの全ての結果が適切である。
【０１６０】
上述の例示的な伝播アルゴリズムに対する別の例示的な方法
グラフのＳＣＣにより、上述の伝播アルゴリズムに従う伝播によって属性値の元の導出は動作しない。これは、属性値がそれ以上導出されない状況が存在し、また、巡回依存性のために値がまだ割り当てられていないノードが依然として存在するためである。その代わり、以下の例示的な方法が合理的であると考えられ、本発明の例示的な一実施形態において使用される。
【０１６１】
ｏｒ−ノードのみ及び属性領域Ｄ＝＜Ｄ，△，▼＞を含むＳＣＣを含まないために、上記の提示されたアルゴリズムまたは同様のアルゴリズムを使用して減少されるアタックジャングルＪ＝（Ｖ，Ｅ，Ａ）が存在すると仮定する。Ａ（ｖ）の場合にｆA（ｖ）＝１であり、それ以外の場合にｆA（ｖ）＝０である。Ｄnの属性値ｗの初期割当が与えられると、アトミックアタックに対応しないノードの属性値は、以下が満たされるようにベクトル（ｄ0，ｄ1，．．．，ｄ|V-1|）に対する割当を検出することによって（例えば、方程式を解くことにより）例示的な別の伝播アルゴリズムに従って計算される。
【０１６２】
１．(ｄ0，．．．，ｄn-1)＝ｗ
２．ｎ＜＝ｉ＜＝｜Ｖ｜は、ｄi＝ｆA（ｖi）  ＊  △（｛ｄj：ｖj  ｉｎ  ＤＰ（ｖi）｝）＋（１−ｆA（ｖi））  ＊△（｛ｄj：ｖj  ｉｎ  ＤＰ（ｖi）｝）であることを示す。
【０１６３】
３．ＳＣＣ（（Ｖ，Ｅ））の全てのＳに対して：Ｓにｖiが存在する：ｎｏｔ  Ａ（ｖi）  ａｎｄ  ｄi＝  ▼（｛ｄj：ｖj  ｉｎ  ＤＰ（ｖi)＼Ｓ｝）
本明細書において、表記法は、２個組の代わりに任意のサイズのセットにコンバイナを適用することによって僅かに不正使用される。しかしながら、コンバイナが結合的で可換であることが要求されるため、この拡張を行なうことは些細なことである。
【０１６４】
図２３は、双方の種類のノードを含むＳＣＣの一例を示している。
【０１６５】
これは、ノードｖiによって表されるアタックに対するＤに対応する質問に対する応答がエントリｄiで見つけられるようにベクトルが要求されることを意味する。
【０１６６】
ツリーの条件は、ある程度の説明を必要とするだろう。
【０１６７】
１．ベクトルがｎ個の初期のエントリとしてアトミックアタックに対する初期割当と全く同一値を有する必要があるという明らかな条件を表している。
【０１６８】
２．非アトミックアタックの値が直前の先行ノードの関数であり、使用される関数がａｎｄ−ノードか否かによって判定されることを示している。
【０１６９】
３．全てのＳＣＣにおいて、ＳＣＣに存在しない直前の先行ノードのみを使用して、最初に達成されているノードがいくつか存在する必要があること及びこれが達成されるノードがｏｒ−ノードである必要があることを示している。ｏｒ−ノードである必要がある理由は、上述したように、達成されるａｎｄ−ノードｖに対してＤＰ（ｖ）の全てのノードが最初に達成される必要があり、ｖがＳＣＣにあるために、ＤＰ（ｖ）の少なくとも１つの要素がＳＣＣに更に存在する必要があるからである。
【０１７０】
尚、通常のツリーであるＪにより、第３の条件は消滅する。残されるものは、トップダウン置換により解決可能な方程式体系である。
【０１７１】
本来の問題に対する適用
問題の質問別の部分が属性領域であることは既に示している。属性領域の機能は、ノードの属性値が直前の先行ノードによって判定される方法を定義することである。上述のように、回答される３つの主な質問は以下の通りである。
【０１７２】
１．「任意のアタックが可能であるか？」要求されるのは真理値であるため、Ｄ＝｛０，１｝が使用される。全ての直前の先行ノードが達成される場合にａｎｄ−ノードが達成されるため、ａｎｄ−ノードが達成されるかを記述する論理積コンバイナ（△）はＤ＝ｍｉｎとして利用することが合理的である。直前の先行ノードのうち少なくとも１つが達成される場合にｏｒ−ノードが達成されるため、▼＝ｍａｘを利用することは適切である。当然、問題のあるインスタンスベクトルｗは、アトミックアタックｖiが達成可能である場合にｗi＝１となるように定義される。
【０１７３】
２．「［ある共通特性］が成功した全てのアタックに対して必要であるか？」アタックがアトミックアタックから成り、ツリーの非リーフノードがそれらのアタックの組み合わせ方法として見られるため、全てのアトミックアタックによって必要とされる場合に特性はアタックに対して必要とされる。従って、アトミックアタックｖiが調査のために要求される特性を満たす場合、属性領域＜｛０，１｝，ｍａｘ，ｍｉｎ＞、及び問題のあるインスタンスベクトルの各成分ｗi＝１を使用できる。
【０１７４】
３．「アタックを成功させるために最低限要求される技術レベルは何であるか？」これは、実際には先の質問を一般化したものであり、従って、属性領域である＜Ｎ，ｍａｘ，ｍｉｎ＞及びアトミックアタックｖiを実行するために必要とされる技術レベルとして定義される問題のあるインスタンスベクトルの成分ｗiを有することにより対処される。
【０１７５】
上述の形式化では、解を見つける方法について何も示さないが、単に方程式体系に関する問題を示している。この方程式体系は、何らかの方法により解かれる必要があり、これを行なう方法は多く存在する（例えば、標準的な制約解答器（ソルバ）を使用する）。
【０１７６】
再使用可能なアタックの処理
上述のように、アタックの再使用の概念は解析を複雑にする。ノードが再使用可能であるということは、一旦実行されると、再使用可能なノードの結果が（潜在的に）無制限に使用可能であることを意味する。再使用は、アトミックアタックだけでなくアタックツリーの全てのノードに個々に割り当てられる特性である。再使用の概念は、直観的なレベルでは単純であるが、複数のシンクの設定と組み合わせると、ノードが再使用不可能であることが意味することは即座に明確にはならない。
【０１７７】
再使用不可能なアタックが「ｋユーロ蓄積する」である場合、動作がお金を費やすことを含むため、直後の後続ノードのうちの１つを達成することを可能にすることが合理的である。しかしながら、動作が「［ある重要な］暗号鍵を破る」であった場合、鍵は同一の直後の後続ノードを達成するために再使用可能でなくてもよいが、複数の直後の後続ノードを１度に達成する際に適切には使用することができる。前者の概念は、本発明においてタイプ１の再使用不可能性と呼ばれ、後者はタイプ２の再使用不可能性と呼ばれる。それらの概念に関する直観として、タイプ１のノードにおいては後続ノード間に依存性が存在するが、タイプ２のノードにおいては存在しないことである。
【０１７８】
これまでに説明されるモデルがノードの再使用に関する情報を含まないため、定義の拡張が必要である。
【０１７９】
グラフを簡略化するために、再使用の問題は、アタックが達成される回数も重要であるという質問に固有の別のことも考慮される必要がある。従って、アタックａが先行ノードｂによって達成されるために、ｂがｋ回達成される必要があることを表すために省略表現が採用される。これは、数字ｋを辺（ａ，ｂ）と関連付けることによって行なわれる。
【０１８０】
拡張アタックジャングルは、（Ｖ，Ｅ，Ａ）が通常のアタックジャングルであり、ｒ：Ｖ  −＞  ｛Ｒ，１，２｝がノード毎に再使用可能であるか及び再使用可能である場合に再使用不可能な種類を記述する関数であり、かつＭ：Ｅ  −＞  ｛０，１，２，．．．｝が目標が達成されるためにソースが達成される必要がある回数を各辺に割り当てる関数であるような５個組（Ｖ，Ｅ，Ａ，ｒ，Ｍ）である。
【０１８１】
この拡張されたアタックジャングルは、上述と同様に、ｒ（ｖ）を視覚化するために「Ｒ」、１または２で各頂点ｖにラベルを付けることによって、かつＭ（ｅ）が非ゼロである場合にＭ（ｅ）で各辺ｅにラベルを付けることによって、組み込まれる予備の情報によって視覚化される。
【０１８２】
拡張されたアタックジャングルの一例が、図２４に示される。
【０１８３】
巡回が意味をなすことは、その例から明らかである。アトミックアタックｖ０を実現するコストがｃ0であり、アトミックアタックｖ1を実現するコストがｃ1であると仮定し、不等式ｃ0+ｃ1＜＝ｃ1＊ｋを考慮する。不等式が成り立つ場合、目的を達成する最も安価な方法は、各アトミックアタックを一旦達成し、ｖ１からｖ３を達成し、ｖ３及びｖ０からｖ２を達成することである。その後、ｖ３は、ｖ２の結果をｋ回使用してｋ回達成され、最終的にｖ３からｖ４の達成を可能にする。このことは、図２５から分かる。図２５において、辺のラベルはＭ（ｅ）の記述ではないが、ソースの結果が使用されている回数として解釈される。
【０１８４】
一方、不等式が成り立たない場合、ｖ４を達成する最も安価な方法は、単純にｖ１をｋ回実現し、ｖ３を介してｖ４を達成することである。このことは、図２６に示される。
【０１８５】
アタックを実現する最小コストを見つける問題を解決するために、拡張アタックジャングル（Ｖ，Ｅ，Ａ，ｒ，Ｍ）に加えて２つのことが必要とされる。上述と同様に、当該属性に従ってアトミックアタックを格付する必要がある。この場合、これはコストベクトルｃとして供給され、その結果、アトミックアタックｖｉを実現するコストはｃiとなる。しかし、更に、ここで、アタックの最終的な目的ｇを定義する必要がある。これは、上述したように、サブアタックを達成する最適なコストが対応するノードだけでなく、最終的な目的にも依存するためである。
【０１８６】
ここで、要求されることは、各アトミックアタックｖｉが正確にｍi回達成される場合に、（目的）ノードｇの達成が可能になるようなベクトルｍ＝（ｍ0，ｍ1，．．．，ｍn-1）である。更に、上記のようなｇの達成を可能にする他のベクトルｍ’が存在しないという条件も存在するが、その結果、ｍ’＊ｃ＜ｍ＊ｃとなる。ここで、＊は通常のスカラー積を示している。
【０１８７】
上記の問題に対処する可能な方法は多く存在する。以下において、いくつかの例示的な方法が提示される。表記／植字の問題のために、量における下付き文字を示すのに下線「  ＿  」を使用する場合がある。すなわち、「ｘ＿ｉ」は「ｘｉ」と同一のものを示している。
【０１８８】
最初の問題に対する解決策において、各変数がアタックジャングルのノードに対応する方程式のセットが導出された。パスが最小コストの問題において重要であるため、成功すると証明される同様の異なる方法は、変数がノードではなく辺に対応する方程式のセットを導出することである。
【０１８９】
そのような方程式のセットを導出するために、６つの可能なノードタイプの各々が考慮される必要がある。図２７〜図３２の八角形は、それらのノードが｛１，２，Ｒ｝の任意の種類のｏｒ−ノードまたはａｎｄ−ノードであってもよいことを強調するために使用される。更に、記号ａ(m,n)は、辺毎にＭ（（ｖm，ｖn））を示すために使用され、表記f(v_m,v_n)は、ｖmがｖnを達成するために実際に使用される回数を示すために使用される。値ｆ(v_m,v_n)は、ｖmとv_ｎとの間の「フロー」と呼ばれるが、これが常識的にはフローでないことを示すことが重要である。以下の全ての例において、ＤＰ（ｖj）＝｛vi，  ｖi+1，．．．，ｖj-1}（直前の先行ノード）であり、ｍがセット｛ｊ＋１，  ｊ＋２，  ．．．，  ｋ｝に属する場合にｖjはセットＤＰ（ｖm）に属する。
【０１９０】
再使用不可能なａｎｄ−ノード、タイプ１：タイプ１の再使用不可能なａｎｄ−ノードの場合が図２７に示される。
【０１９１】
ｖjがタイプ１であるため、出力フローの合計は、ｖjに導く円弧に沿って要求される最小数の倍数の数に等しい。形式上、この条件は以下のように書ける。
【０１９２】
【数１】
0005406195.tif 000005
【０１９３】
再使用不可能なａｎｄ−ノード、タイプ２：この場合が図２８に示される。
【０１９４】
ｖjがタイプ２であるため、出力円弧の各々は、ｖjに導く円弧に沿って要求される最小数の倍数の数以下のフローを有する必要がある。形式上、この条件は以下のように書ける。
【０１９５】
【数２】
0005406195.tif 000006
【０１９６】
再使用可能なａｎｄ−ノード：再使用可能なａｎｄ−ノードの場合が図２９に示される。
【０１９７】
尚、最小コストを見つける場合、再使用可能なノードを２回以上達成することは決して望ましくない。これは、入力辺に沿うフローが０または要求される最小数であることを示している。更に、結果が使用される場合にノードを達成することだけが望ましいことに注意されたい。形式上、これは以下の２つの条件として示される。
【０１９８】
【数３】
0005406195.tif 000007
【０１９９】
再使用不可能なｏｒ−ノード、タイプ１：タイプ１の再使用不可能なｏｒ−ノードの場合が図３０に示される。
【０２００】
ｖiがタイプ１であるため、出力フローの合計は、ｖjに導く円弧に沿って要求される最小数の倍数の数の合計に等しい必要がある。形式上、これは以下のように示される。
【０２０１】
【数４】
0005406195.tif 000008
【０２０２】
再使用不可能なｏｒ−ノード、タイプ２：タイプ２の再使用不可能なｏｒ−ノードの場合が図３１に示される。
【０２０３】
ｖiがタイプ２であるため、各出力円弧は、ｖjに導く円弧に沿って要求される最小数の倍数の数の合計以下のフローを有する必要がある。形式上、これは以下のように示される。
【０２０４】
【数５】
0005406195.tif 000009
【０２０５】
再使用可能なｏｒ−ノード：再使用可能なｏｒ−ノードの例が図３２に示される。
【０２０６】
方程式を簡略化するために、ａｎｄ−ノードと同一の推論を使用することができる。すなわち、最小コストを見つける場合、再使用可能なノードを２回以上達成することは決して望ましくない。これは、入力辺に沿うフローが０または要求される最小数であることを意味する。この場合、最大で１つの辺において非ゼロとなる。再使用可能なａｎｄ−ノードの場合と同様に、結果が使用される場合にノードを達成することが望ましい。形式上、これを以下の３つの関係で示すことができる。
【０２０７】
【数６】
0005406195.tif 000010
【０２０８】
上述したように、再使用が重要であることの１つの結果として、サブアタックを達成する最適な方法を判定する場合、目的も重要となる。従って、拡張アタックジャングルは、所定の目的に対して取り除かれる必要があり、方程式が導出される。単純な（かつ有効な）全てゼロの解を得られないという問題が存在する。これらの問題を解決するために、以下の３つのステップが後続する。
【０２０９】
１．目的ｇへの到達可能性により定義される誘導されたサブグラフで（Ｖ，Ｅ）を置換することによって、目的ｇに対して拡張アタックジャングル（Ｖ，Ｅ，Ａ，ｒ，Ｍ）を取り除く。（Ｖ’，Ｅ’，Ａ，ｒ，Ｍ）は、この取り除かれた拡張アタックジャングルを示している。
【０２１０】
２．新しいノードｇ’をＶに追加し、新しい辺（ｇ，ｇ’）をＥに追加し、Ｍ（（ｇ’，ｇ））＝１とする。
【０２１１】
３．方程式を上記のように導出し、ｆ(g,g')＝１という追加の条件下で整数解を解く。
【０２１２】
このサブグラフは、当該目的に対する関連する辺を確実に含むことになり、余分なノードｇ’及びｆ(g,g')に対する条件を追加することにより、ｇの達成が保証される。
【０２１３】
上記方程式体系に対する固有の解は必ずしも存在するとは限らないため、アタックの合計のコストは方程式体系を解く場合に最小にする目的関数として使用されるために定義される必要がある。
【０２１４】
（Ｖ，Ｅ）を有向グラフとする。Ｖのノードｖの直後の後続ノードのセットは、セット｛ｖ’：（ｖ，ｖ’）  ｂｅｌｏｎｇｓ  ｔｏ  Ｅ｝であり、ＤＳ（ｖ）で示される。
【０２１５】
構造化方法で目的関数を示すために、アトミックアタックの順序付けはより厳密に定義される必要がある。ｖ0，ｖ1，．．．，ｖn_1-1は、タイプ１の再使用不可能なアトミックアタックであり、ｖn_1，ｖn_1+1，．．．，ｖn_1+n_2-1はタイプ２の再使用不可能なアトミックアタックであり、ｖn_1+n_2，ｖn_1+n_2+1，．．．，ｖn_1+n_2+n_R-1は再使用可能なアトミックアタックである。
【０２１６】
アタックのコストは、合計として定義される。
【０２１７】
【数７】
0005406195.tif 000011
【０２１８】
再使用に対していくつかの重要な問題を要約すると、再使用が重要である場合、複数のアタックノードの各々は、アタックが再使用可能であるかの指示と関連付けられ、アタックノード間の辺が重み付けされる。再使用可能なアタックノードと後続アタックノードとの間の各辺の重みは、再使用可能なアタックノードのアタックが後続ノードに到達するために再使用される必要がある回数を表している。上述の属性に依存する方程式体系のセットを参照すると、これは、この方程式体系のセットが辺の重みに依存すべきであることを意味している。
【０２１９】
対抗策または対抗策のセットを格付する概念をより理解するために、複数の例示的な例を使用して、この新しい概念について僅かに異なる観点から再度説明する。
【０２２０】
対抗策の格付
対抗策の有効性を互いに比較するために、「有効性」を記述する各対抗策と関連付けられる測定可能な値を有する必要がある。
【０２２１】
特定の一例において、第１に、対抗策が対抗するリーフノードのセットになるように対抗策を定義する。第２に、対抗策が適用されるアタックジャングルのシンクの属性値の関数になるように対抗策のランクを定義する。対抗策のセットのランクは同様に定義されるが、２つ以上の対抗策が適用される。尚、ランクは、対抗策が適用されないアタックジャングルに対しても計算することができる。対抗策の有効性は、ランクが互いに比較される方法（及び任意の追加の対抗策が全く適用されない本来のアタックジャングルのランク）に基づいて判断される。
【０２２２】
これらの定義に基づいて、対抗策は、好ましくは上述の方程式体系を繰り返し解くことにより比較される。以下の例は、対抗策のセットを互いに比較するためにとられるステップを説明する。
【０２２３】
１．研究中のシステムのアタックジャングルを構築する。
【０２２４】
２．上記説明に従って対抗策により不可能にされたリーフアタックを「不可能」としてマークをつけることによって、あるいは対抗策によって影響を受けるリーフノードの属性値を変更することによって、アタックジャングルに対してゼロ個以上の対抗策を適用する。ゼロ個の対抗策は、（対抗策を適用せずに）「基準システム」を生成して、初期システムの動作状態に関する情報と比較する、またはその情報を単純に取得するために使用される。
【０２２５】
３．上述のように、アタックジャングルを１つ以上の方程式体系に変換する。
【０２２６】
４．検証される属性（群）に従って、各リーフノードと属性値とを関連付ける。
【０２２７】
５．前記方程式体系（群）を解く。
【０２２８】
６．前記方程式体系（群）に対する解（群）からのアタックジャングルの中間ノード及びシンクから属性値を抽出する。
【０２２９】
７．対抗策のセットのランクを計算する。
【０２３０】
尚、構築されたアタックジャングルは、ｏｒ−ノードのみを含んでもよく、ａｎｄ−ノードのみを含んでもよく、あるいは双方を混合したものを含んでもよい。例えば、ＸＯＲノードである他の種類のノードが導入されることも可能である。（ＸＯＲ関数の一例は、産業処理において、各々が個々に「破壊的」であるが共に使用される場合に互いに中和する２つの化学成分の使用に対応してもよい。）
これらの他の種類のノードは、特別な方法で対処される必要があるだろう。しかし、他のノードの種類が将来導入されても、ｏｒ−ノード及びａｎｄ−ノードは、本明細書で説明されるように対処できる。
【０２３１】
属性値は、解析されるものに依存して異なる種類であってもよい。属性値は、例えば、アタックが実行可能であるか否かを検出する場合に対するブールであってもよく、浮動小数点値または整数または値の間隔（例えば、不確かさを表す）であってもよい。
【０２３２】
尚、ステップ１のアタックジャングルの構築は、研究中のシステムに関する人間の知識によって行なわれる、あるいはシステムの記述から及び／または現在のシステム構成状態を報告するセンサの入力から、アタックジャングルを導出する装置によって自動的に行なわれる。アトミックアタックに対する属性値の割当に対しても同様のことが当てはまる。すなわち、これは、人間によって、または装置によって行なうことができる。装置は、例えば、システムにおけるセンサまたは事前に収集された統計データからの入力における決定に基づくことができる。
【０２３３】
アタックジャングルの自動生成の一例において、ネットワーク中の各通信ユニットはネットワーク中の管理エンティティに現在インストールされているソフトウェアのリストを提出する。管理エンティティは、ユニットにインストールされているソフトウェアにおける周知の脆弱性のリストを有するまたは検索する（例えば、ＣＶＥを使用して）。管理ユニットは、この情報から、システムに対して実行されるアタックをモデル化するアタックジャングルを構築できる。例えば、アタッカーは、ウェブサーバのソフトウェアにおける脆弱性を利用し（アタックＡ）、ウェブサーバにアクセスし、そこからウェブサーバに接続されるデータベースの別の脆弱性を利用して（アタックＢ）、データベースのデータにアクセスする（アタックの目的）。
【０２３４】
アタックジャングルの自動生成の別の考えられる例は、（視覚）ネットワーク格付方法論（Ｖ）ＮＲＭの文献［１６］、［１７］の説明が、アタックジャングルを構築する装置に入力されることである。ここで、各アタックは権利に違反し、アタックとして識別される。
【０２３５】
第３の例において、例えば、ＴＣＧ（Trusted Computing Group）の仕様に従って実現されることが好ましいトラステッドプラットフォームモジュール（ＴＰＭ）によって実行されるシステム測定に従って、セキュリティ保護されたリモート証明が使用される。
【０２３６】
アタックジャングルが巡回を含んでいる場合、各巡回に含まれるアタックを、巡回における全てのアタックと同等の種類を表す１つのアタックに削減する必要がある。これは、上述のように行なわれる。
【０２３７】
アタックジャングルから導出される方程式は、上述のように、ａｎｄ−ノード及びｏｒ−ノードに対して導出され、値を各ノード（既に値を割り当てられているリーフノード以外、すなわちアトミックアタック以外）と関連付ける。
【０２３８】
この方法は、比較する要求される特性が困難性であっても、アタックが可能であっても不可能であっても、あるいは任意の他の構成特性に関わらず行なうことができる。また、この方法は、要求される特性がコストまたは上述の特性の任意の組み合わせである場合にも行なうことができる。
【０２３９】
対抗策のランクを計算するための上記メカニズムを使用すると、対抗策（または対抗策の組み合わせ）を互いに比較することができる。これは、以下のステップにより行なわれる。
【０２４０】
１．対抗策が適用されない場合、アタックジャングルのランクを計算する。
【０２４１】
２．対抗策の組み合わせの各々がシステムに適用される場合、アタックジャングルのランクを計算する。
【０２４２】
３．対抗策の組み合わせは、それらのランクによって（いくつかの順序付けに従って）順序付けられる。
【０２４３】
潜在的に非常に多くの対抗策の組み合わせが存在するため、全ての組み合わせを比較することは実現可能でない可能性がある。従って、使用する組み合わせを選択する必要があるだろう。尚、全ての考えられる対抗策を適用することによりセキュリティを最も向上させる可能性が最も高いことに注意すべきである。しかしながら、これは最も高価な方法でもある。更に、対抗策の１つ以上の組み合わせが多かれ少なかれ同一の効果を有する可能性があり、この場合、それらの全ての組み合わせを実現することは無駄である。一例として、ランク／コストの比は、最適な対抗策を決定するために使用される。ある形式のコスト効率を推定するために、コストをランク計算に組み込むことが可能であってもよい。
【０２４４】
対抗策の組み合わせに順序が与えられると、最も効果的な対抗策の組み合わせが、この順序に従ってシステムに適用するために選択される。これらの対抗策の適用は、例えば、ユーザがシステムに対する仕様書にそれらの対抗策を組み込むことによって実行され、物理システム（またはプログラムコード）においてそれらの対抗策を実現する、またはシステムにおいて特定の機能性を有効／無効にする。尚、装置は、それらの動作を自動的に実行できてもよい（人間の支援によりまたは人間の支援なしで）ことに注意されたい。管理ユニットにソフトウェアバージョンを報告する通信ユニットを含む上記で与えられる例を使用すると、管理ユニットは、ウェブサーバの検出された脆弱性に対する対抗策として、そのソフトウェアを新しいバージョン（脆弱性が補正されている）に更新するようにウェブサーバに命令してもよいことが分かる。
【０２４５】
図３３は、本発明に従うセキュリティ解析／対抗策格付装置が技術システムを解析及び再構成するために使用される方法の一例を示している。
【０２４６】
この例において、解析中の技術システムは、システムの機能性を実現するために協働する２つのサブモジュールＭ１及びＭ２を有すると想定する。各モジュールは、本発明の解析システムに対してシステム動作特性／パラメータ／構成を断続的に（または要求により）報告するセンサＳを有する（この報告は、セキュリティ保護された方法で転送されることが好ましい）。セキュリティ解析は、上述のように実行され、適切な対抗策が選択される。これらの対抗策は、システムパラメータ／構成を変更する構成モジュールＣに信号伝送される（好ましくは、セキュリティ保護された方法で）。
【０２４７】
以下において、本発明の例示的な実施形態のオプション及び非オプションの特徴の一部を要約する。
【０２４８】
技術システムのセキュリティ保護された動作を向上するために技術システムに作用する情報を生成するように構成されるセキュリティ方法及び対応するシステム／装置の一例：
・アタックジャングルの形式でシステムアタックまたは脆弱性の表現を取得／提供（生成または受信）する。ここで、このアタックジャングルの頂点は関連する属性を有する。
【０２４９】
・このアタックジャングルを、制約を含む可能性が高い複数の方程式体系（群）に変換する。この方程式体系（群）の各々は、上記の属性と関連付けられる変数を含んでいる／備えている。
【０２５０】
・このアタックジャングルのソース頂点と関連付けられる少なくともいくつかの変数に値を割り当てる（または入力として受信する）。
【０２５１】
・この方程式体系（群）を解く。
【０２５２】
・この方程式体系（群）の解（群）から関連する変数値を抽出することによって、少なくとも１つの中間ノード及び／またはシンクの属性の値を判定（または入力として受信）する。
【０２５３】
・技術システムに適用される１つ以上の対抗策のランクとして、または当該システムの動作状態の情報として、少なくとも１つの中間ノード及び／またはシンクの前記判定された属性値の少なくとも１つを出力する。
【０２５４】
例えば、アタックジャングルの少なくとも１つのノードは、論理積ノードであってもよくかつ／またはアタックジャングルの少なくとも１つのノードは論理和ノードであってもよい。
【０２５５】
例示的な実施形態において、アタックジャングルは、システム記述から生成される自動的に生成されるアタックグラフを解析することによって構築されることが好ましい。
【０２５６】
選択的には、アタックジャングルは、人間により構築され、また、本発明のセキュリティシステムまたは技術的意思決定支援システムへの入力として適用される。
【０２５７】
別の例示的な実施形態において、追加の制約を含む１つ以上の方程式体系（群）へのアタックジャングルの変換は、以下のオプションの前処理ステップを含んでいる。
【０２５８】
論理和ノードのみから構成されるアタックジャングルＣiの各巡回は、単一のノードｗiに対して置換される。結果として得られるノードｗiは、ｕがＣiの全てのｖに対してＰｒｅ（ｖ）のメンバであるように全ての（ｕ，ｗi）を入力辺として有し、ｖがＣiの全てのｖに対してＰｒｅ（ｕ）のメンバであるように全ての（ｗi，ｕ）を出力辺として有する。
【０２５９】
例示的な実施形態において、各非ソースノードは、以下のように方程式と関連付けられる：
論理積ノードｖと関連付けられる変数ｘの値は、方程式により判定される。
【０２６０】
ｘ  ＝  ｆ（Ｖ（Ｐｒｅ（ｖ）））
式中、ｆは論理積コンバイナであり、Ｐｒｅ（．）は直前の先行ノードのセットをノードに返す関数であり、Ｖ（．）は関連する変数のセットをＰｒｅ（ｖ）のノードに返す関数である。
【０２６１】
論理和ノードｕと関連付けられる変数ｙの値は、方程式により判定される。
【０２６２】
ｙ  ＝  ｇ（Ｖ（Ｐｒｅ（ｕ）））
式中、ｇは論理和コンバイナであり、Ｐｒｅ（．）は直前の先行ノードのセットをノードに返す関数であり、Ｖ（．）は関連する変数のセットをＰｒｅ（ｖ）のノードに返す関数である。
【０２６３】
一例として、制約は各強連結成分Ｓに対して以下に従って作成されてもよい。
【０２６４】
ｗが論理積ノードでなくかつ関連する変数ｚがｇ（Ｖ（Ｐｒｅ（ｗ）＼Ｓ））と等しくなるように、Ｓにおいてノードｗが存在する必要がある。ここで、ｇは論理和コンバイナであり、Ｐｒｅ（．）は直前の先行ノードのセットをノードに返す関数であり、Ｖ（．）は関連する変数のセットをＰｒｅ（ｖ）のノードに返す関数であり、＼はセットの差である。
【０２６５】
上記例の属性値は、人間により割り当てられてもよく、かつ／または属性値は、装置が技術システムのセンサからの入力を利用することによって割り当てられてもよい。センサの一例は、電話網の特定のセルから到来するパケット数を計測するメカニズムであってもよい。これは、ネットワークから違反セルを切断する形態の対抗策を起動することを決定するために、対抗策アクチュエータによって使用される。他の例は、ソフトウェアバージョン、使用される暗号化アルゴリズム、セキュリティ鍵が使用されている期間等の報告を含んでいる。
【０２６６】
一例において、要求される属性は、困難性、特定のアタックが達成可能であるか、構成挙動及びコストを含む任意の特性のうちの少なくとも１つである。
【０２６７】
要求される属性は、困難性、特定のアタックが達成可能であるか否か、構成挙動及びコストを含む任意の特性の累乗集合（power set）のサブセットであってもよい。
【０２６８】
本発明の好適で例示的な実施形態において、本発明のセキュリティ方法／システムは、対抗策が適用されない場合にアタックジャングルに対する属性値を最初に判定するために上述の手順を使用することによって（この値のセットをＡと呼ぶ）、１つ以上の対抗策が組み合わせて適用されている場合にアタックジャングルに対する属性値を判定するために上記手順を使用することによって（これらの値のセットをＢ１、Ｂ２、Ｂ３、．．．、Ｂｎと呼ぶ）、かつ最後に１＜＝ｉ＜＝ｎの場合にＢｉをＡと比較することによって対抗策を格付することによって、対抗策の格付を提供する。
【０２６９】
１＜＝ｉ＜＝ｎの場合、Ｂｉは所定のアタックジャングルに対する対抗策の全ての可能な組み合わせを記述するのが好ましいが必須ではない。選択的には、事前に選択された対抗策のセットが考慮される。一般に、最も効果的な対抗策がシステムに適用するために選択される。選択された対抗策を技術システムに自動的に適用できることは明らかである。
【０２７０】
上述したように、属性値は、浮動小数点数、整数、ブール値または間隔であってもよい。
【０２７１】
コンピュータプログラム製品に関して、本発明によって提案されるセキュリティ解析手順は、プログラムモジュール、機能または等価物の形態でソフトウェアとして実現されてもよい。このソフトウェアは、Ｃ、Ｃ＋＋または専用言語等の任意の種類のコンピュータ言語で記述されてもよい。実際には、本発明の関連するステップ、機能及び動作は、コンピュータプログラムにマップされ、コンピュータシステムによって実行される場合に適切な入力を使用して、当該技術システムのセキュリティ解析と関連付けられる解析及び計算を実行する。パーソナルコンピュータに基づくシステムの場合、セキュリティ解析に使用されるコンピュータプログラムは、通常、オペレータに配信する（インターネットを介してプログラムをダウンロードすることも含む）ために、ＣＤ、ＤＶＤまたは同様のメモリ構造等のコンピュータ可読媒体上で符号化されるまたは保持される。その後、オペレータは、後で実行するために、適切なコンピュータシステムにプログラムをロードしてもよい。
【０２７２】
本発明の利点の例は、以下の通りである。
【０２７３】
・リスク軽減に対する有効性に関して対抗策の組み合わせを互いに比較する可能性（及びオプションとして適用される対抗策のコストも考慮に入れる）。
【０２７４】
・標準的なアタックツリーと比較して、より複雑な（かつ実世界のような）アタックモデルを解析する可能性（オプション）。
【０２７５】
・再使用可能なアタックに対処する可能性（オプション）。
【０２７６】
・アタックグラフの巡回に対処する可能性（オプション）。
【０２７７】
上述の実施形態は単なる例として与えられ、本発明はそれらに限定されないことが理解されるべきである。本明細書で開示されかつ請求される基礎となる基本原理を保持する更なる変形、変更及び改善は、本発明の範囲内である。
【０２７８】
参考文献
［１］AmenazaのThe securitree burglehouse tutorial、Technical report、 Amenaza Technologies Limited、２００６年８月
［２］T.H. Cormen、 C.E. Leiserson、R.L. Rivest及びC.Steinの Introduction to algorithms、 MIT Press、 Cambridge, MA, USA、２００１年
［３］K. Daley、R. Larson及びJ. DawkinsのA structural framework for modeling multi-stage network attacks、icppw, 00:5、２００２年
［４］J. Dawkins、C. Campbell、R. Larson、K. Fitch、T. Tidwell及びJ. HaleのModeling network attacks: Extending the attack tree paradigm、In Proc. of Third Intl. Systems Security Engineering、２００２年
［５］J. Dawkins及びJ. HaleのA systematic approach to multi-stage network attack analysis、In IWIA '04: Proceedings of the Second IEEE International Information Assurance Workshop (IWIA '04)、４８ページ、Washington, DC, USA、２００４年、IEEE Computer Society
［６］G. Balbo他のIntroductory Tutorial - Petri Nets、２０００年６月２６〜３０日
［７］R. Larson、K. Fitch、T.Tidwell及びJ. HaleのModeling internet attacks、In Proc. of the 2001 IEEE Workshop on Information Assurance and Security、２００１年
［８］S. Mauw及びM. OostdijkのFoundations of attack trees. In D. Won and S. Kim, editors, International conference on information security and cryptology - icisc 2005、LNCS 3935、１８６〜１９８ページ、Seoul, Korea、２００５年、Springer-Verlag, Berllin
［９］J.P. McDermottのAttack net penetration testing. In NSPW '00: Proceedings of the 2000 Workshop on New security paradigms、１５〜２１ページ、New York, NY, USA、２０００年、ACM Press
［１０］A. OpelのDesign and implementation of a support tool for attack trees
［１１］B. SchneierのAttack trees、Dr Dobbs Journal、24(12): 21-22, 24, 26, 28-29、１９９９年１２月
［１２］O. Sheyner及びJ.M. WingのTools for generating and analyzing attack graphs、In F.S. de Boer, M.M. Bonsangue, S. Graf, and W.P. de Roever, editors, FMCO, volume 3188 of Lecture Notes in Computer Science、３４４〜３７２ページ、Springer、２００３年
［１３］W.E. Vesely、J. Dugan、J. Fragola、J. Minarick III及びJ. RailsbackのFault Tree Handbook with Aerospace Applications. National Aeronatics and Space Administration、２００２年８月
［１４］Wikipedia http://en.wikipedia.org/wiki/microprocessor
［１５］P. N. World http://www.informatik.uni-hamburg.de/tgi/petrinets
［１６］http://chacs.nrl.navy.mil/projects/VisualNRM
［１７］A. Moore他のVisual NRM User's Manual、２０００年５月３１日
［１８］W.E. Vesley他のFault Tree Handbook, from U.S. Nuclear Regulatory Commission、１９８１年１月
【図１Ａ】
0005406195.tif 000012
【図１Ｂ】
0005406195.tif 000013
【図１Ｃ】
0005406195.tif 000014
【図２】
0005406195.tif 000015
【図３】
0005406195.tif 000016
【図４】
0005406195.tif 000017
【図５】
0005406195.tif 000018
【図６】
0005406195.tif 000019
【図７Ａ】
0005406195.tif 000020
【図７Ｂ】
0005406195.tif 000021
【図８】
0005406195.tif 000022
【図９】
0005406195.tif 000023
【図１０】
0005406195.tif 000024
【図１１】
0005406195.tif 000025
【図１２】
0005406195.tif 000026
【図１３】
0005406195.tif 000027
【図１４】
0005406195.tif 000028
【図１５】
0005406195.tif 000029
【図１６】
0005406195.tif 000030
【図１７】
0005406195.tif 000031
【図１８】
0005406195.tif 000032
【図１９Ａ】
0005406195.tif 000033
【図１９Ｂ】
0005406195.tif 000034
【図２０】
0005406195.tif 000035
【図２１Ａ】
0005406195.tif 000036
【図２１Ｂ】
0005406195.tif 000037
【図２１Ｃ】
0005406195.tif 000038
【図２２Ａ】
0005406195.tif 000039
【図２２Ｂ】
0005406195.tif 000040
【図２３】
0005406195.tif 000041
【図２４】
0005406195.tif 000042
【図２５】
0005406195.tif 000043
【図２６】
0005406195.tif 000044
【図２７】
0005406195.tif 000045
【図２８】
0005406195.tif 000046
【図２９】
0005406195.tif 000047
【図３０】
0005406195.tif 000048
【図３１】
0005406195.tif 000049
【図３２】
0005406195.tif 000050
【図３３】
0005406195.tif 000051