WO2018134909A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- WO2018134909A1 WO2018134909A1 PCT/JP2017/001531 JP2017001531W WO2018134909A1 WO 2018134909 A1 WO2018134909 A1 WO 2018134909A1 JP 2017001531 W JP2017001531 W JP 2017001531W WO 2018134909 A1 WO2018134909 A1 WO 2018134909A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attack
- combination
- countermeasure
- candidates
- candidate
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Definitions
- the weight calculation unit 202 refers to the comparison value output from the comparison value acquisition unit 114 and the attack route reference list output from the attack route reference list acquisition unit 116 when calculating the weight of the attack route.
- the weight calculation unit 202 notifies the objective function deriving unit 204 of the weight of the attack goal and the weight of each attack path. Further, the weight calculation unit 202 acquires an evaluation value for each combination of countermeasure points from the objective function calculation unit 205. Then, the weight calculation unit 202 sets priorities among the combinations of countermeasure points based on the evaluation value acquired from the objective function calculation unit 205 and the countermeasure reference list output from the attack path reference list acquisition unit 116. .
- the countermeasure location extraction unit 203 acquires an attack tree from the attack tree acquisition unit 111. Next, the countermeasure location extraction unit 203 extracts a combination of countermeasure locations from the attack tree. The countermeasure location extraction unit 203 extracts a combination of a plurality of countermeasure locations. The countermeasure location extraction unit 203 corresponds to a combination extraction unit. Further, the operation performed by the countermeasure location extraction unit 203 corresponds to a combination extraction process.
- the attack path in the attack tree is the node number of FIG.
- the attack path in the attack tree is the node number of FIG.
- it is extracted as follows. (2, 2.1.1, 2.1.1.1.1, 2.1.1.1.1.1.2, 2.1.1.1.2, 2.1.1.1 2.1.1) (2, 2.1.1, 2.1.1.1.1, 2.1.1.1.1.1.2, 2.1.1.1.2, 2.1.1.1 .2.1.2)
- AHP will be outlined.
- AHP is a problem-solving decision-making technique.
- AHP is a technique for making a decision from both a human subjective judgment and a system approach in analyzing a problem in decision making. More specifically, AHP determines “relative importance between multiple candidates under multiple evaluation criteria”, “select one from multiple candidates under multiple evaluation criteria” Used for purposes such as “selection” or “prioritization”.
- FIG. 11 shows a procedure for prioritizing attack goals by AHP.
- step S004 the weight calculation unit 202 sets a weight (priority order) for each attack path extracted in step S002 for each attack tree.
- the weight setting of the attack path is based on, for example, AHP.
- the procedure for setting the weight of the attack path by AHP is the same as that shown in steps S031 to S034. Therefore, the description of the procedure for setting the weight of the attack path by AHP is omitted.
- the weight calculation unit 202 uses the attack route reference list that the user has input to the attack route reference list acquisition unit 116 for prioritizing attack routes.
- the attack path reference list is information shown in FIG. 21B as described above. As shown in FIG.
- step S003, step S004, and step S005 have been described in this order. However, since there is no input / output dependency between step S003, step S004, and step S005, step S003, step S004, and step S005 are included. May be performed in any order.
- the countermeasure candidate corresponding to the attack category of the attack activity included in the term in the logical expression is set to the variable x, and the detection rate of the countermeasure candidate set to the variable x is set to the variable rx.
- the variable x is multiplied by the variable rx, and the multiplied value is added to the multiplied value of the variable x and the variable rx of other countermeasure candidates.
- the objective function calculation unit 205 selects the first term from the node DI. It is determined whether or not there is a node that can be added. In this case, no matter which node DI is added to the first term, it does not match the combination of the attack activities of the other terms, so the objective function calculation unit 205 determines in step S008 that it can be added.
- the objective function calculation unit 205 measures candidates other than the measure candidates selected in step S006 with respect to any of the attack activities included in the term for which the evaluation value of the measure candidate combination is determined to be equal to or less than the threshold value. Determine if can be added. For example, if the evaluation value of the combination of countermeasure candidates (c1 and b1) in the first term in (d) of FIG. 17 is less than the threshold, the objective function calculation unit 205 includes other countermeasure candidates (c2, c3, b2, It is determined whether any of b2) can be added to the combination of countermeasure candidates (c1 and b1) in the first term.
- the countermeasure location extraction unit 203 has obtained the logical expression of FIG. 17D for the attack tree of FIG.
- an initial cost is defined for each countermeasure candidate.
- the initial cost shown in FIG. 23 is defined for each countermeasure candidate included in the logical expression of (d) of FIG.
- cc1 is defined as the initial cost for the countermeasure candidate c1.
- cc2 is defined as the initial cost for the countermeasure candidate c2.
- cc3 is defined as the initial cost for the countermeasure candidate c3. Assume that the initial cost shown in FIG.
- the storage device 102 also stores an OS (Operating System). At least a part of the OS is executed by the processor 101. While executing at least part of the OS, the processor 101 executes the reference acquisition unit 10, the countermeasure calculation unit 20, the attack tree acquisition unit 111, the countermeasure candidate list acquisition unit 112, the attack category list acquisition unit 113, the comparison value acquisition unit 114, and the output A program for realizing the function of the unit 401 is executed. When the processor 101 executes the OS, task management, memory management, file management, communication control, and the like are performed.
- OS Operating System
- the security measure selection apparatus 1 may be realized by an electronic circuit such as a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
対策箇所抽出部(203)は、脅威と、それぞれに1つ以上の攻撃活動が含まれる、脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出する。目的関数導出部(204)は、複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得する。目的関数導出部(204)及び目的関数計算部(205)は、攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する。
Description
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
非特許文献1の技術では、フォルトツリー(FT)を用いて脅威の発生原因(以下、基本事象という)が複数抽出される。そして、非特許文献1の技術では、抽出された複数の基本事象の各々に対して一対比較が行われ、複数の基本事象に優先順位が付けられる。また、非特許文献1の技術では、優先順位の高い基本事象に対してセキュリティ対策(以下、単に対策ともいう)が選択される。通常、候補となるセキュリティ対策は複数存在するため、非特許文献1では、AHP(Analytic Hierarchy Process)により、複数のセキュリティ対策の中から1つのセキュリティ対策が選択される。
大村博敏、佐藤直、"階層分析によるセキュリティ対策評価法"、情報処理学会第68回全国大会.4,pp593-594(2006)
非特許文献1の技術では、脅威Aの複数の基本事象のうち優先的に対処すべき基本事象(以下、基本事象aという)に対して対策Xが選択される。対策Xにより基本事象aに対処できたとしても、他の基本事象により脅威Aが発生する可能性がある。このため、他の基本事象に対しても対策を施す必要がある。基本事象と対策は1対1で対応するものではなく、1つの対策が複数の基本事象にも適用可能な場合がある。一方で、1つの対策を全ての基本事象に適用できるケースは少ない。このため、複数の基本事象に対して複数の対策を適用することが必要である。
しかしながら、非特許文献1の技術では、基本事象の単位で対策が選択されるため、基本事象の組合せ、つまり、脅威の発生原因となる攻撃活動の組合せに対して、対策を選択することができないという課題がある。
また、非特許文献1の技術では、脅威に至るまでの手順である攻撃経路が考慮されずに対策が選択される。このため、非特許文献1の技術では、攻撃者により選択される可能性の高い攻撃経路に重点的に対策を講じるといった、攻撃の実態に対応させた機動的な対策の選択を行うことができないという課題がある。
しかしながら、非特許文献1の技術では、基本事象の単位で対策が選択されるため、基本事象の組合せ、つまり、脅威の発生原因となる攻撃活動の組合せに対して、対策を選択することができないという課題がある。
また、非特許文献1の技術では、脅威に至るまでの手順である攻撃経路が考慮されずに対策が選択される。このため、非特許文献1の技術では、攻撃者により選択される可能性の高い攻撃経路に重点的に対策を講じるといった、攻撃の実態に対応させた機動的な対策の選択を行うことができないという課題がある。
本発明は、このような課題を解決することを主な目的とする。つまり、本発明は、攻撃の実態に対応させて、対処すべき攻撃活動の組合せごとに、最適な対策候補の組合せを選択できるようにする。
本発明に係る情報処理装置は、
脅威と、それぞれに1つ以上の攻撃活動が含まれる、前記脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、前記脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出する組合せ抽出部と、
抽出された複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得する取得部と、
攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する指定部とを有する。
脅威と、それぞれに1つ以上の攻撃活動が含まれる、前記脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、前記脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出する組合せ抽出部と、
抽出された複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得する取得部と、
攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する指定部とを有する。
本発明によれば、攻撃の実態に対応させて、対処すべき攻撃活動の組合せごとに、最適な対策候補の組合せを選択することができる。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係るセキュリティ対策選択装置1のハードウェア構成例を示す。
また、図2は、セキュリティ対策選択装置1の機能構成例を示す。
なお、セキュリティ対策選択装置1は、情報処理装置に相当する。また、セキュリティ対策選択装置1で行われる動作は情報処理方法及び情報処理プログラムに相当する。
***構成の説明***
図1は、本実施の形態に係るセキュリティ対策選択装置1のハードウェア構成例を示す。
また、図2は、セキュリティ対策選択装置1の機能構成例を示す。
なお、セキュリティ対策選択装置1は、情報処理装置に相当する。また、セキュリティ対策選択装置1で行われる動作は情報処理方法及び情報処理プログラムに相当する。
セキュリティ対策選択装置1は、コンピュータである。
セキュリティ対策選択装置1は、図1に示すように、ハードウェア構成として、プロセッサ101、記憶装置102、データインタフェース103、入力インタフェース104及び表示器インタフェース105を備える。
記憶装置102には、図2に示す基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムが記憶されている。
そして、プロセッサ101がこれらプログラムを実行して、後述する基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の動作を行う。
図2では、プロセッサ101が基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムを実行している状態を模式的に表している。
データインタフェース103は、後述するアタックツリー等のデータを取得するためのインタフェースである。
入力インタフェース104は、セキュリティ対策選択装置1のユーザから各種指示を取得するためのインタフェースである。
表示器インタフェース105は、表示器(不図示)に表示情報を出力するためのインタフェースである。
セキュリティ対策選択装置1は、図1に示すように、ハードウェア構成として、プロセッサ101、記憶装置102、データインタフェース103、入力インタフェース104及び表示器インタフェース105を備える。
記憶装置102には、図2に示す基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムが記憶されている。
そして、プロセッサ101がこれらプログラムを実行して、後述する基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の動作を行う。
図2では、プロセッサ101が基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムを実行している状態を模式的に表している。
データインタフェース103は、後述するアタックツリー等のデータを取得するためのインタフェースである。
入力インタフェース104は、セキュリティ対策選択装置1のユーザから各種指示を取得するためのインタフェースである。
表示器インタフェース105は、表示器(不図示)に表示情報を出力するためのインタフェースである。
セキュリティ対策選択装置1は、図2に示すように、機能構成として、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401を備える。
アタックツリー取得部111は、データインタフェース103から、アタックツリーを取得する。アタックツリー取得部111は、取得したアタックツリーを攻撃経路抽出部201、重み計算部202及び対策箇所抽出部203に出力する。
図6は、アタックツリーの例を示す。
アタックツリーには、攻撃の目的である脅威がアタックゴールとして記述される。図6の例では、ルートノードである「コントローラへの制御プログラム/制御パラメータを改ざんする」がアタックゴールである。また、アタックツリーには、複数の攻撃経路が記述される。攻撃経路は、アタックゴールたる脅威を発生させるための手順である。その手順における一つ一つのステップが攻撃活動であり、そのため攻撃経路のそれぞれには、1つ以上の攻撃活動が含まれる。図6の例では、アタックゴール(ルートノード)以外の全てのノードが攻撃活動である。そして、最下層のノードからルートノードに向かうノードの連鎖が攻撃経路である。例えば、図6の左端の「保守装置へ不正ログイン」→「保守装置ツールを不正操作する」→「制御プログラム/制御パラメータを保守装置で改ざんする」→「コントローラへの制御プログラム/制御パラメータを改ざんする」というノードの連鎖は、1つの攻撃経路である。
なお、アタックツリーは攻撃経路情報に相当する。また、アタックツリーの詳細は図6-図10を用いて後述する。
アタックツリーには、攻撃の目的である脅威がアタックゴールとして記述される。図6の例では、ルートノードである「コントローラへの制御プログラム/制御パラメータを改ざんする」がアタックゴールである。また、アタックツリーには、複数の攻撃経路が記述される。攻撃経路は、アタックゴールたる脅威を発生させるための手順である。その手順における一つ一つのステップが攻撃活動であり、そのため攻撃経路のそれぞれには、1つ以上の攻撃活動が含まれる。図6の例では、アタックゴール(ルートノード)以外の全てのノードが攻撃活動である。そして、最下層のノードからルートノードに向かうノードの連鎖が攻撃経路である。例えば、図6の左端の「保守装置へ不正ログイン」→「保守装置ツールを不正操作する」→「制御プログラム/制御パラメータを保守装置で改ざんする」→「コントローラへの制御プログラム/制御パラメータを改ざんする」というノードの連鎖は、1つの攻撃経路である。
なお、アタックツリーは攻撃経路情報に相当する。また、アタックツリーの詳細は図6-図10を用いて後述する。
攻撃カテゴリリスト取得部113は、データインタフェース103から、攻撃カテゴリリスト301を取得する。そして、攻撃カテゴリリスト取得部113は、取得した攻撃カテゴリリスト301を情報記憶部30に格納する。
図20は、攻撃カテゴリリスト301の例を示す。攻撃カテゴリリスト301は、図20に示すように、攻撃活動と攻撃カテゴリとを対応付ける情報である。
図20は、攻撃カテゴリリスト301の例を示す。攻撃カテゴリリスト301は、図20に示すように、攻撃活動と攻撃カテゴリとを対応付ける情報である。
対策候補リスト取得部112は、データインタフェース103から、対策候補リスト302を取得し、取得した対策候補リスト302を情報記憶部30に格納する。
図19の(d)は、対策候補リスト302の例を示す。対策候補リスト302は、図19の(d)に示すように、攻撃カテゴリとセキュリティ対策の候補(以下、単に対策候補という)と対策候補の検出率とを対応付ける情報である。検出率とは、対策候補が攻撃活動を検出できる確率である。つまり、図19の(d)の製品1は、不正操作の攻撃活動を60%の確率で検出する。検出率は、対策候補の有用度を示す指標である。
図19の(d)は、対策候補リスト302の例を示す。対策候補リスト302は、図19の(d)に示すように、攻撃カテゴリとセキュリティ対策の候補(以下、単に対策候補という)と対策候補の検出率とを対応付ける情報である。検出率とは、対策候補が攻撃活動を検出できる確率である。つまり、図19の(d)の製品1は、不正操作の攻撃活動を60%の確率で検出する。検出率は、対策候補の有用度を示す指標である。
比較値取得部114は、データインタフェース103から、重み計算部202の重み計算において用いられる比較値を取得する。比較値取得部114は、取得した比較値を重み計算部202に出力する。
基準取得部10は、データインタフェース103から、重み計算部202の重み計算において用いられる基準を取得する。基準取得部10は、アタックゴール基準リスト取得部115、攻撃経路基準リスト取得部116及び対策基準リスト取得部117で構成される。
アタックゴール基準リスト取得部115は、データインタフェース103から、アタックゴール基準リストを取得する。そして、アタックゴール基準リスト取得部115は、取得したアタックゴール基準リストを重み計算部202に出力する。
アタックゴール基準リストは、重み計算部202がアタックゴールの重みを計算する際に参照する基準が示される情報である。図21の(a)は、アタックゴール基準リストの例を示す。
アタックゴール基準リストは、重み計算部202がアタックゴールの重みを計算する際に参照する基準が示される情報である。図21の(a)は、アタックゴール基準リストの例を示す。
攻撃経路基準リスト取得部116は、データインタフェース103から、攻撃経路基準リストを取得する。そして、攻撃経路基準リスト取得部116は、取得した攻撃経路基準リストを重み計算部202に出力する。
攻撃経路基準リストは、重み計算部202が攻撃経路の重みを計算する際に参照する基準が示される情報である。図21の(b)は、攻撃経路基準リストの例を示す。
攻撃経路基準リストは、重み計算部202が攻撃経路の重みを計算する際に参照する基準が示される情報である。図21の(b)は、攻撃経路基準リストの例を示す。
対策基準リスト取得部117は、データインタフェース103から、対策基準リストを取得する。そして、対策基準リスト取得部117は、取得した対策基準リストを重み計算部202に出力する。
対策基準リストは、重み計算部202が対策箇所の優先順位を決定する際に参照する基準が示される情報である。図21の(c)は、対策基準リストの例を示す。
対策基準リストは、重み計算部202が対策箇所の優先順位を決定する際に参照する基準が示される情報である。図21の(c)は、対策基準リストの例を示す。
対策算出部20は、攻撃経路抽出部201、重み計算部202、対策箇所抽出部203、目的関数導出部204及び目的関数計算部205で構成される。
攻撃経路抽出部201は、アタックツリー取得部111からアタックツリーを取得する。次に、攻撃経路抽出部201は、アタックツリーを解析して、アタックツリーから複数の攻撃経路を抽出する。そして、攻撃経路抽出部201は、抽出した複数の攻撃経路を重み計算部202に通知する。
重み計算部202は、アタックツリー取得部111からアタックツリーを取得する。次に、重み計算部202は、アタックツリーを解析して、アタックゴールの重みを計算し、アタックゴールに重みを設定する。つまり、重み計算部202は脅威に重みを設定する。重み計算部202は、アタックゴールの重みを計算する際に、比較値取得部114から出力された比較値と、アタックゴール基準リスト取得部115から出力されたアタックゴール基準リストを参照する。
また、重み計算部202は、攻撃経路抽出部201から複数の攻撃経路を通知される。次に、重み計算部202は、攻撃経路の重要度を示す指標として、攻撃経路ごとに重みを計算し、各攻撃経路に重みを設定する。重み計算部202は、攻撃経路の重みを計算する際に、比較値取得部114から出力された比較値と、攻撃経路基準リスト取得部116から出力された攻撃経路基準リストを参照する。
また、重み計算部202は、アタックゴールの重みと各攻撃経路の重みを目的関数導出部204に通知する。
更に、重み計算部202は、目的関数計算部205から対策箇所の組合せごとに評価値を取得する。そして、重み計算部202は、目的関数計算部205から取得した評価値と、攻撃経路基準リスト取得部116から出力された対策基準リストとに基づき、対策箇所の組合せの間で優先順位を設定する。そして、重み計算部202は、優先順位が高い対策箇所の組合せから順に、適用する対策候補の組合せを出力部401を介して出力する。
対策箇所の組合せとは、アタックゴールの達成、つまり、脅威の発生を阻止するために対処すべき攻撃活動の組合せである。
重み計算部202は、重み設定部及び優先順位設定部に相当する。
また、重み計算部202は、攻撃経路抽出部201から複数の攻撃経路を通知される。次に、重み計算部202は、攻撃経路の重要度を示す指標として、攻撃経路ごとに重みを計算し、各攻撃経路に重みを設定する。重み計算部202は、攻撃経路の重みを計算する際に、比較値取得部114から出力された比較値と、攻撃経路基準リスト取得部116から出力された攻撃経路基準リストを参照する。
また、重み計算部202は、アタックゴールの重みと各攻撃経路の重みを目的関数導出部204に通知する。
更に、重み計算部202は、目的関数計算部205から対策箇所の組合せごとに評価値を取得する。そして、重み計算部202は、目的関数計算部205から取得した評価値と、攻撃経路基準リスト取得部116から出力された対策基準リストとに基づき、対策箇所の組合せの間で優先順位を設定する。そして、重み計算部202は、優先順位が高い対策箇所の組合せから順に、適用する対策候補の組合せを出力部401を介して出力する。
対策箇所の組合せとは、アタックゴールの達成、つまり、脅威の発生を阻止するために対処すべき攻撃活動の組合せである。
重み計算部202は、重み設定部及び優先順位設定部に相当する。
対策箇所抽出部203は、アタックツリー取得部111からアタックツリーを取得する。次に、対策箇所抽出部203は、アタックツリーから、対策箇所の組合せを抽出する。対策箇所抽出部203は、複数の対策箇所の組合せを抽出する。
対策箇所抽出部203は、組合せ抽出部に相当する。また、対策箇所抽出部203で行われる動作は、組合せ抽出処理に相当する。
対策箇所抽出部203は、組合せ抽出部に相当する。また、対策箇所抽出部203で行われる動作は、組合せ抽出処理に相当する。
目的関数導出部204は、評価値を算出するための算出式を生成する。
より具体的には、目的関数導出部204は、重み計算部202から、アタックゴールの重み及び攻撃経路の重みを通知され、対策箇所抽出部203から対策箇所の組合せを通知される。また、目的関数導出部204は、情報記憶部30から攻撃カテゴリリスト301及び対策候補リスト302を取得する。また、目的関数導出部204は、攻撃カテゴリリスト301と、対策箇所の組合せに含まれる攻撃活動とを比較して、対策箇所の組合せに含まれる攻撃活動の攻撃カテゴリを特定する。更に、目的関数導出部204は、対策箇所の組合せに含まれる攻撃活動ごとに、攻撃カテゴリに対応する1つ以上の対策候補と対策候補の検出率を対策候補リスト302から抽出する。そして、目的関数導出部204は、アタックゴールの重み、攻撃経路の重み及び対策候補の検出率とを用いて、評価値の算出式を生成する。目的関数導出部204は、生成した算出式を目的関数計算部205に通知する。
目的関数導出部204は、取得部に相当する。また、目的関数導出部204は、目的関数計算部205とともに指定部に相当する。また、目的関数導出部204で行われる動作は、取得処理及び指定処理に相当する。
より具体的には、目的関数導出部204は、重み計算部202から、アタックゴールの重み及び攻撃経路の重みを通知され、対策箇所抽出部203から対策箇所の組合せを通知される。また、目的関数導出部204は、情報記憶部30から攻撃カテゴリリスト301及び対策候補リスト302を取得する。また、目的関数導出部204は、攻撃カテゴリリスト301と、対策箇所の組合せに含まれる攻撃活動とを比較して、対策箇所の組合せに含まれる攻撃活動の攻撃カテゴリを特定する。更に、目的関数導出部204は、対策箇所の組合せに含まれる攻撃活動ごとに、攻撃カテゴリに対応する1つ以上の対策候補と対策候補の検出率を対策候補リスト302から抽出する。そして、目的関数導出部204は、アタックゴールの重み、攻撃経路の重み及び対策候補の検出率とを用いて、評価値の算出式を生成する。目的関数導出部204は、生成した算出式を目的関数計算部205に通知する。
目的関数導出部204は、取得部に相当する。また、目的関数導出部204は、目的関数計算部205とともに指定部に相当する。また、目的関数導出部204で行われる動作は、取得処理及び指定処理に相当する。
目的関数計算部205は、目的関数導出部204から通知された算出式を用いて、評価値を算出する。
より具体的には、目的関数計算部205は、対策箇所の組合せごとに、対策箇所の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成する。そして、目的関数計算部205は、対策候補の組合せごとに評価値を算出する。より具体的には、目的関数計算部205は、アタックゴールの重みと対策候補の組合せに含まれる各対策候補の検出率と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重みとに基づき、評価値を算出する。そして、目的関数計算部205は、算出した評価値に基づき、対策箇所の組合せごとに、適用する対策候補の組合せを指定する。例えば、目的関数計算部205は、対策箇所の組合せごとに、最大の評価値が得られた対策候補の組合せを、適用する対策候補の組合せに指定する。
目的関数計算部205は、対策箇所の組合せごとに、適用する対策候補の組合せを重み計算部202に通知する。
重み計算部202は、前述したように、評価値と対策基準リストとに基づき、対策箇所の組合せの間で優先順位を設定する。
目的関数計算部205は、目的関数導出部204とともに指定部に相当する。また、目的関数計算部205で行われる動作は、指定処理に相当する。
より具体的には、目的関数計算部205は、対策箇所の組合せごとに、対策箇所の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成する。そして、目的関数計算部205は、対策候補の組合せごとに評価値を算出する。より具体的には、目的関数計算部205は、アタックゴールの重みと対策候補の組合せに含まれる各対策候補の検出率と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重みとに基づき、評価値を算出する。そして、目的関数計算部205は、算出した評価値に基づき、対策箇所の組合せごとに、適用する対策候補の組合せを指定する。例えば、目的関数計算部205は、対策箇所の組合せごとに、最大の評価値が得られた対策候補の組合せを、適用する対策候補の組合せに指定する。
目的関数計算部205は、対策箇所の組合せごとに、適用する対策候補の組合せを重み計算部202に通知する。
重み計算部202は、前述したように、評価値と対策基準リストとに基づき、対策箇所の組合せの間で優先順位を設定する。
目的関数計算部205は、目的関数導出部204とともに指定部に相当する。また、目的関数計算部205で行われる動作は、指定処理に相当する。
出力部401は、対策候補の組合せ501を出力する。
対策候補組合せ501では、重み計算部202により決定された順に、対策箇所の組合せごとに、適用する対策候補の組合せが示される。
対策候補組合せ501では、重み計算部202により決定された順に、対策箇所の組合せごとに、適用する対策候補の組合せが示される。
情報記憶部30は、攻撃カテゴリリスト301及び対策候補リスト302を記憶する。
情報記憶部30は、記憶装置102により実現される。
情報記憶部30は、記憶装置102により実現される。
***動作の説明***
次に、本実施の形態に係るセキュリティ対策選択装置1の動作を説明する。
図3は、セキュリティ対策選択装置1の動作例を示すフローチャートである。
以下、図3を参照して、セキュリティ対策選択装置1の動作を説明する。
次に、本実施の形態に係るセキュリティ対策選択装置1の動作を説明する。
図3は、セキュリティ対策選択装置1の動作例を示すフローチャートである。
以下、図3を参照して、セキュリティ対策選択装置1の動作を説明する。
(ステップS001)
ステップS001では、アタックツリー取得部111がアタックツリーを取得する。
例えば、セキュリティ対策選択装置1のユーザがアタックツリーを生成し、アタックツリー取得部111にアタックツリーを入力する。アタックツリーのテータ形式は問わないが、ユーザは、例えば、図4のデータ構造にてアタックツリーを生成することが可能である。図4の例では、ノードの識別子である「ノードNo.」に「ノード種類」、「ノード詳細」及び「攻撃カテゴリ」が対応付けられている。「ノード種類」が「アタックゴール」となっているノードは、攻撃により発生する脅威を表すノードである。「ノード種類」が「アタックメソッド」となっているノードには、脅威につながる攻撃活動を表すノードである。「ノード詳細」は、脅威の詳細又は攻撃活動の詳細である。「攻撃カテゴリ」は「アタックメソッド」のノードにのみ定義されており、攻撃活動の攻撃形態を表わす。また、図4の「攻撃カテゴリNo.」の各値は、攻撃カテゴリリスト301の「攻撃カテゴリNo.」に含まれている。
なお、ユーザは、図4のデータ形式の他に、XML(Extensible Markup Language)データにてアタックツリーを生成してもよい。
ステップS001では、アタックツリー取得部111がアタックツリーを取得する。
例えば、セキュリティ対策選択装置1のユーザがアタックツリーを生成し、アタックツリー取得部111にアタックツリーを入力する。アタックツリーのテータ形式は問わないが、ユーザは、例えば、図4のデータ構造にてアタックツリーを生成することが可能である。図4の例では、ノードの識別子である「ノードNo.」に「ノード種類」、「ノード詳細」及び「攻撃カテゴリ」が対応付けられている。「ノード種類」が「アタックゴール」となっているノードは、攻撃により発生する脅威を表すノードである。「ノード種類」が「アタックメソッド」となっているノードには、脅威につながる攻撃活動を表すノードである。「ノード詳細」は、脅威の詳細又は攻撃活動の詳細である。「攻撃カテゴリ」は「アタックメソッド」のノードにのみ定義されており、攻撃活動の攻撃形態を表わす。また、図4の「攻撃カテゴリNo.」の各値は、攻撃カテゴリリスト301の「攻撃カテゴリNo.」に含まれている。
なお、ユーザは、図4のデータ形式の他に、XML(Extensible Markup Language)データにてアタックツリーを生成してもよい。
図5は、制御システムの構成例を示す。本実施の形態では、セキュリティ対策選択装置1が図5に例示する制御システムのセキュリティ対策を選択する例を説明する。なお、セキュリティ対策選択装置1が対象とするシステムは制御システムに限らない。
図5において、FWはFirewallを意味し、HMIはHuman Machine Interfaceを意味する。
図6は、図5の制御システムのアタックツリーの例を示す。つまり、図5の制御システムには、図6に示す脅威と攻撃経路が想定されている。
図7及び図8は、図6のアタックツリーのデータ構造を示す。つまり、セキュリティ対策選択装置1のユーザは、図7及び図8のデータ構造にて図6のアタックツリーをアタックツリー取得部111に入力することができる。また、セキュリティ対策選択装置1のユーザは、ステップS001において図6のアタックツリーを入力する際に、各ノードの攻撃カテゴリに対応する攻撃No.を攻撃カテゴリリスト301を参照して特定する。そして、ユーザは、図7及び図8に示すように、特定した攻撃カテゴリNo.を各ノードに設定する。
図9は、図5の制御システムに対して、図6の脅威とは異なる脅威及び攻撃経路が定義されたアタックツリーの例を示す。図6のアタックツリーでは、「コントローラへの制御プログラム/制御パラメータを改ざんする」という脅威が定義されている。一方、図9のアタックツリーでは、「HMIの情報を漏えい」という脅威が定義されている。
図10は、図9のアタックツリーのデータ構造を示す。つまり、セキュリティ対策選択装置1のユーザは、図10のデータ構造にて図9のアタックツリーをアタックツリー取得部111に入力することができる。
図5において、FWはFirewallを意味し、HMIはHuman Machine Interfaceを意味する。
図6は、図5の制御システムのアタックツリーの例を示す。つまり、図5の制御システムには、図6に示す脅威と攻撃経路が想定されている。
図7及び図8は、図6のアタックツリーのデータ構造を示す。つまり、セキュリティ対策選択装置1のユーザは、図7及び図8のデータ構造にて図6のアタックツリーをアタックツリー取得部111に入力することができる。また、セキュリティ対策選択装置1のユーザは、ステップS001において図6のアタックツリーを入力する際に、各ノードの攻撃カテゴリに対応する攻撃No.を攻撃カテゴリリスト301を参照して特定する。そして、ユーザは、図7及び図8に示すように、特定した攻撃カテゴリNo.を各ノードに設定する。
図9は、図5の制御システムに対して、図6の脅威とは異なる脅威及び攻撃経路が定義されたアタックツリーの例を示す。図6のアタックツリーでは、「コントローラへの制御プログラム/制御パラメータを改ざんする」という脅威が定義されている。一方、図9のアタックツリーでは、「HMIの情報を漏えい」という脅威が定義されている。
図10は、図9のアタックツリーのデータ構造を示す。つまり、セキュリティ対策選択装置1のユーザは、図10のデータ構造にて図9のアタックツリーをアタックツリー取得部111に入力することができる。
なお、ユーザは、ステップS001の前に、攻撃カテゴリリスト301を攻撃カテゴリリスト取得部113に入力しておいてもよい。または、ユーザは、ステップS001において、アタックツリーのアタックツリー取得部111への入力とともに、攻撃カテゴリリスト301を攻撃カテゴリリスト取得部113に入力してもよい。攻撃カテゴリリスト301は、前述したように、図20に例示する情報である。
(ステップS002)
ステップS002では、攻撃経路抽出部201が、アタックツリー取得部111により取得されたアタックツリーから攻撃経路を抽出する。アタックツリー取得部111が図6のアタックツリー及び図9のアタックツリーを取得している場合は、攻撃経路抽出部201は図6のアタックツリーから複数の攻撃経路を抽出し、また、図9のアタックツリーから複数の攻撃経路を抽出する。
ステップS002では、攻撃経路抽出部201が、アタックツリー取得部111により取得されたアタックツリーから攻撃経路を抽出する。アタックツリー取得部111が図6のアタックツリー及び図9のアタックツリーを取得している場合は、攻撃経路抽出部201は図6のアタックツリーから複数の攻撃経路を抽出し、また、図9のアタックツリーから複数の攻撃経路を抽出する。
攻撃経路は、アタックゴールであるルートノードから出発し、下位の各ノードを辿りリーフノードまで達した際に通過した全てのアタックメソッドのノードの集合である。攻撃経路抽出部201は、上述のように上位ノードから下位ノードへノードを辿ることで攻撃経路を抽出する。また、攻撃経路抽出部201は、上位ノードから下位ノードへ辿る途中で、ORゲート又はANDゲートを通過する際には、攻撃経路を次のように扱う。
ORゲートを通過する場合:ORゲートに直接接続される下位の全てのアタックメソッドを異なる攻撃経路として扱う。
ANDゲートを通過する場合:ANDゲートに直接接続される下位の全てのアタックメソッドをまとめて同一の攻撃経路として扱う。
ORゲートを通過する場合:ORゲートに直接接続される下位の全てのアタックメソッドを異なる攻撃経路として扱う。
ANDゲートを通過する場合:ANDゲートに直接接続される下位の全てのアタックメソッドをまとめて同一の攻撃経路として扱う。
図6をアタックツリー内の攻撃経路は、図7及び図8のノードNo.を使用して例えば以下のように抽出される。
(1,1.1,1.1.1.1,1.1.1.1.1.1)
(1,1.1,1.1.1.1,1.1.1.1.1.2)
図9をアタックツリー内の攻撃経路は、図10のノードNo.を使用して例えば以下のように抽出される。
(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.1)
(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.2)
(1,1.1,1.1.1.1,1.1.1.1.1.1)
(1,1.1,1.1.1.1,1.1.1.1.1.2)
図9をアタックツリー内の攻撃経路は、図10のノードNo.を使用して例えば以下のように抽出される。
(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.1)
(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.2)
(ステップS003)
ステップS003では、重み計算部202にて、アタックツリーのアタックゴールに重み(優先順位)を設定する。本実施の形態では、重み計算部202は、AHPによって重みを設定するものとするが、重みの設定方法はAHPに限定されない。アタックツリー取得部111が図6のアタックツリー及び図8のアタックツリーを取得している場合は、重み計算部202は図6のアタックツリーのアタックゴールに重みを設定し、また、図9のアタックツリーのアタックゴールに重みを設定する。
ステップS003では、重み計算部202にて、アタックツリーのアタックゴールに重み(優先順位)を設定する。本実施の形態では、重み計算部202は、AHPによって重みを設定するものとするが、重みの設定方法はAHPに限定されない。アタックツリー取得部111が図6のアタックツリー及び図8のアタックツリーを取得している場合は、重み計算部202は図6のアタックツリーのアタックゴールに重みを設定し、また、図9のアタックツリーのアタックゴールに重みを設定する。
ここで、AHPについて概説する。
AHPは、問題解決型の意思決定手法である。つまり、AHPは、意思決定における問題の分析において、人間の主観的判断とシステムアプローチとの両面から意思決定を行う手法である。より具体的には、AHPは、「複数の評価基準の下で複数の候補の中から1つを選択する」、「複数の評価基準の下で複数の候補間の相対的な重要度を決定する」などのように、「選択」又は「優先順位付け」などの目的において用いられる。
AHPによるアタックゴールの優先順位付けの手順を図11に示す。
AHPは、問題解決型の意思決定手法である。つまり、AHPは、意思決定における問題の分析において、人間の主観的判断とシステムアプローチとの両面から意思決定を行う手法である。より具体的には、AHPは、「複数の評価基準の下で複数の候補の中から1つを選択する」、「複数の評価基準の下で複数の候補間の相対的な重要度を決定する」などのように、「選択」又は「優先順位付け」などの目的において用いられる。
AHPによるアタックゴールの優先順位付けの手順を図11に示す。
(ステップS031)
ステップS031では、重み計算部202が、問題に関する要素(目的、基準、候補)を抽出する。
図3のステップS003はアタックゴールの優先順位付けを行うステップであるので、目的は「対策すべきアタックゴールの優先順位付け」、候補はステップS001で取得された全てのアタックツリーのアタックゴールである。基準はユーザがアタックゴール基準リスト取得部115に入力したアタックゴール基準リストのアタックゴール基準が使用される。アタックゴール基準リストは、前述したように、図21の(a)に示す情報である。図21の(a)にあるように、アタックゴール基準は、例えば、「脅威が発生した際の被害金額」又は「脅威が発生してから復旧にかかる時間」等である。アタックゴール基準の「脅威」は、アタックゴールに示される脅威である。
ステップS031では、重み計算部202が、問題に関する要素(目的、基準、候補)を抽出する。
図3のステップS003はアタックゴールの優先順位付けを行うステップであるので、目的は「対策すべきアタックゴールの優先順位付け」、候補はステップS001で取得された全てのアタックツリーのアタックゴールである。基準はユーザがアタックゴール基準リスト取得部115に入力したアタックゴール基準リストのアタックゴール基準が使用される。アタックゴール基準リストは、前述したように、図21の(a)に示す情報である。図21の(a)にあるように、アタックゴール基準は、例えば、「脅威が発生した際の被害金額」又は「脅威が発生してから復旧にかかる時間」等である。アタックゴール基準の「脅威」は、アタックゴールに示される脅威である。
(ステップS032)
ステップS032では、重み計算部202が、要素を階層構造化する。つまり、重み計算部202が、ステップS031で抽出した要素の階層構造を生成する。重み計算部202は、目的-基準-候補の並びで階層構造を生成する。ステップS031で抽出された要素を階層構造にした例を図12に示す。なお、図12に示す「脅威が発生した際の被害金額」及び「脅威が発生してから復旧にかかる時間」は、両者とも目的に直接接続され同一のレベルであるが、ユーザの指定により基準を階層化することも可能である。
ステップS032では、重み計算部202が、要素を階層構造化する。つまり、重み計算部202が、ステップS031で抽出した要素の階層構造を生成する。重み計算部202は、目的-基準-候補の並びで階層構造を生成する。ステップS031で抽出された要素を階層構造にした例を図12に示す。なお、図12に示す「脅威が発生した際の被害金額」及び「脅威が発生してから復旧にかかる時間」は、両者とも目的に直接接続され同一のレベルであるが、ユーザの指定により基準を階層化することも可能である。
(ステップS033)
ステップS033では、重み計算部202が、ステップS032で生成した階層構造において、1つ上のレベルの要素の下で、同一レベルの要素間の一対比較を全てのペアに対して行う。例えば、基準「脅威が発生した際の被害金額」と「脅威が発生してから復旧にかかる時間」の一対比較を行うには、重み計算部202は、目的「対策すべきアタックゴールの優先順位付け」の下で、どちらが重要かを決定する。図13は、重要性の度合いと値との対応関係を示す。ユーザは、図13に示す情報を比較値取得部114に入力する。「脅威が発生した際の被害金額」と「脅威が発生してから復旧にかかる時間」との一対比較では、要素としての基準が2つなので比較は1回のみである。しかしながら、要素数がn個ある場合は、一般に、比較はn(n-1)/2回行われる。
重み計算部202が全ての一対比較を完了すると図14に示すような一対比較マトリクスができあがる。重み計算部202は、この一対比較マトリクスの最大固有値とその固有ベクトルを計算する。そして、重み計算部202は、固有ベクトルの各値を、比較を行った要素の重みとする。また、重み計算部202は、(最大固有値-n)/(n-1)を計算して整合度指数C.I.を得る。C.I.が事前に設定した閾値より低い場合は、重み計算部202は、ユーザが入力した一連の値が首尾一貫していると判断する。逆にC.I.が閾値を超えている場合は、重み計算部202は、ユーザが入力した一連の値は首尾一貫していないと判断し、再びユーザに、比較値取得部114に値を入力させる。
図15に、目的に対する各基準、各基準に対する各候補の一対比較マトリクス、及び、一対比較マトリクスから得られる各要素の重みを示す。
ステップS033では、重み計算部202が、ステップS032で生成した階層構造において、1つ上のレベルの要素の下で、同一レベルの要素間の一対比較を全てのペアに対して行う。例えば、基準「脅威が発生した際の被害金額」と「脅威が発生してから復旧にかかる時間」の一対比較を行うには、重み計算部202は、目的「対策すべきアタックゴールの優先順位付け」の下で、どちらが重要かを決定する。図13は、重要性の度合いと値との対応関係を示す。ユーザは、図13に示す情報を比較値取得部114に入力する。「脅威が発生した際の被害金額」と「脅威が発生してから復旧にかかる時間」との一対比較では、要素としての基準が2つなので比較は1回のみである。しかしながら、要素数がn個ある場合は、一般に、比較はn(n-1)/2回行われる。
重み計算部202が全ての一対比較を完了すると図14に示すような一対比較マトリクスができあがる。重み計算部202は、この一対比較マトリクスの最大固有値とその固有ベクトルを計算する。そして、重み計算部202は、固有ベクトルの各値を、比較を行った要素の重みとする。また、重み計算部202は、(最大固有値-n)/(n-1)を計算して整合度指数C.I.を得る。C.I.が事前に設定した閾値より低い場合は、重み計算部202は、ユーザが入力した一連の値が首尾一貫していると判断する。逆にC.I.が閾値を超えている場合は、重み計算部202は、ユーザが入力した一連の値は首尾一貫していないと判断し、再びユーザに、比較値取得部114に値を入力させる。
図15に、目的に対する各基準、各基準に対する各候補の一対比較マトリクス、及び、一対比較マトリクスから得られる各要素の重みを示す。
(ステップS034)
ステップS304では、重み計算部202が、ステップS032で計算した重みを用いて、目的に対する各候補の重みを計算する。重み計算部202は、目的に対するある基準の重みに、その基準に対するある候補の重みを乗じ、全ての基準に関して総和を取ることで、目的に対する各候補の重みを得られる。図16に、目的に対するアタックゴールの重みを示す。
ステップS304では、重み計算部202が、ステップS032で計算した重みを用いて、目的に対する各候補の重みを計算する。重み計算部202は、目的に対するある基準の重みに、その基準に対するある候補の重みを乗じ、全ての基準に関して総和を取ることで、目的に対する各候補の重みを得られる。図16に、目的に対するアタックゴールの重みを示す。
(ステップS004)
図3に戻り、ステップS004では、重み計算部202が、アタックツリーごとに、ステップS002で抽出されたそれぞれの攻撃経路に重み(優先順位)を設定する。攻撃経路の重み設定は、例えば、AHPによる。AHPによる攻撃経路の重み設定の手順は、ステップS031~S034に示したものと同じである。このため、AHPによる攻撃経路の重み設定の手順の説明を省略する。
なお、重み計算部202は、攻撃経路の優先順位付けに、ユーザが攻撃経路基準リスト取得部116に入力した攻撃経路基準リストを使用する。攻撃経路基準リストは、前述したように、図21の(b)に示す情報である。図21の(b)にあるように、攻撃経路基準は、例えば、「攻撃活動の実施の容易性」、「攻撃プログラムの開発費」又は「攻撃活動の痕跡の偽装又は消去の容易性」である。攻撃経路基準に記載した「攻撃活動」は、重みの設定対象の攻撃経路に含まれる攻撃活動(アタックメソッドのノード)である。また、「攻撃プログラム」は攻撃経路に含まれる攻撃活動を実現するために必要な攻撃ツール又はマルウェア等である。
攻撃経路基準は、攻撃者が攻撃経路を選択する際に検討すると想定される基準である。つまり、攻撃経路に含まれる攻撃活動の実施が容易であれば、攻撃者は当該攻撃経路を選択しやすい。また、攻撃経路に含まれる攻撃活動の実施に必要な攻撃プログラムの開発費が低い場合は、攻撃者は当該攻撃経路を選択しやすい。また、攻撃経路に含まれる攻撃活動の痕跡の偽装又は消去が容易に行える場合は、攻撃者は当該攻撃経路を選択しやすい。
重み計算部202は、このような攻撃者の観点からの攻撃経路の選択基準である攻撃経路基準を用いて、攻撃経路の重みを計算する。このため、ステップS004で得られた攻撃経路の重みを、後述するステップS006において活用することで、攻撃者に選択されやすい攻撃経路に含まれる攻撃活動に有効な対策候補が含まれる対策候補の組合せに高い評価値が与えられる。そして、攻撃者に選択されやすい攻撃経路に含まれる攻撃活動に有効な対策候補が含まれる対策候補の組合せが優先的にユーザに提示される。
図3に戻り、ステップS004では、重み計算部202が、アタックツリーごとに、ステップS002で抽出されたそれぞれの攻撃経路に重み(優先順位)を設定する。攻撃経路の重み設定は、例えば、AHPによる。AHPによる攻撃経路の重み設定の手順は、ステップS031~S034に示したものと同じである。このため、AHPによる攻撃経路の重み設定の手順の説明を省略する。
なお、重み計算部202は、攻撃経路の優先順位付けに、ユーザが攻撃経路基準リスト取得部116に入力した攻撃経路基準リストを使用する。攻撃経路基準リストは、前述したように、図21の(b)に示す情報である。図21の(b)にあるように、攻撃経路基準は、例えば、「攻撃活動の実施の容易性」、「攻撃プログラムの開発費」又は「攻撃活動の痕跡の偽装又は消去の容易性」である。攻撃経路基準に記載した「攻撃活動」は、重みの設定対象の攻撃経路に含まれる攻撃活動(アタックメソッドのノード)である。また、「攻撃プログラム」は攻撃経路に含まれる攻撃活動を実現するために必要な攻撃ツール又はマルウェア等である。
攻撃経路基準は、攻撃者が攻撃経路を選択する際に検討すると想定される基準である。つまり、攻撃経路に含まれる攻撃活動の実施が容易であれば、攻撃者は当該攻撃経路を選択しやすい。また、攻撃経路に含まれる攻撃活動の実施に必要な攻撃プログラムの開発費が低い場合は、攻撃者は当該攻撃経路を選択しやすい。また、攻撃経路に含まれる攻撃活動の痕跡の偽装又は消去が容易に行える場合は、攻撃者は当該攻撃経路を選択しやすい。
重み計算部202は、このような攻撃者の観点からの攻撃経路の選択基準である攻撃経路基準を用いて、攻撃経路の重みを計算する。このため、ステップS004で得られた攻撃経路の重みを、後述するステップS006において活用することで、攻撃者に選択されやすい攻撃経路に含まれる攻撃活動に有効な対策候補が含まれる対策候補の組合せに高い評価値が与えられる。そして、攻撃者に選択されやすい攻撃経路に含まれる攻撃活動に有効な対策候補が含まれる対策候補の組合せが優先的にユーザに提示される。
図6及び図9に示すアタックツリーにおける攻撃経路と、各攻撃経路に対する重みの例を以下に記す。
**図6のアタックツリー**
No.:攻撃経路:重み
(1):(1,1.1,1.1.1.1,1.1.1.1.1.1):0.126
(2):(1,1.1,1.1.1.1,1.1.1.1.1.2):0.098
(3):(1,1.1,1.1.1.2,1.1.1.2.1,1.1.1.2.1.1.1):0.064
(4):(1,1.1,1.1.1.2,1.1.1.2.1,1.1.1.2.1.1.2):0.049
(5):(1,1.1,1.1.1.3,1.1.1.3.1,1.1.1.3.1.1.1):0.083
(6):(1,1.1,1.1.1.3,1.1.1.3.1,1.1.1.3.1.1.2):0.064
(7):(1,1.1,1.1.1.4,1.1.1.4.1,1.1.1.4.1.1.1):0.290
(8):(1,1.1,1.1.1.4,1.1.1.4.1,1.1.1.4.1.1.2):0.226
No.:攻撃経路:重み
(1):(1,1.1,1.1.1.1,1.1.1.1.1.1):0.126
(2):(1,1.1,1.1.1.1,1.1.1.1.1.2):0.098
(3):(1,1.1,1.1.1.2,1.1.1.2.1,1.1.1.2.1.1.1):0.064
(4):(1,1.1,1.1.1.2,1.1.1.2.1,1.1.1.2.1.1.2):0.049
(5):(1,1.1,1.1.1.3,1.1.1.3.1,1.1.1.3.1.1.1):0.083
(6):(1,1.1,1.1.1.3,1.1.1.3.1,1.1.1.3.1.1.2):0.064
(7):(1,1.1,1.1.1.4,1.1.1.4.1,1.1.1.4.1.1.1):0.290
(8):(1,1.1,1.1.1.4,1.1.1.4.1,1.1.1.4.1.1.2):0.226
**図9のアタックツリー**
No.:攻撃経路:重み
(1):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.1,2.1.1.1.2,2.1.1.1.2.1.1):0.160
(2):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.1,2.1.1.1.2,2.1.1.1.2.1.2):0.171
(3):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.1):0.166
(4):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.2):0.173
(5):(2,2.1.2,2.1.2.1.1,2.1.2.1.1.1,2.1.2.1.1.1.1):0.155
(6):(2,2.1.2,2.1.2.1.2,2.1.2.1.2.1,2.1.2.1.2.1.1):0.175
No.:攻撃経路:重み
(1):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.1,2.1.1.1.2,2.1.1.1.2.1.1):0.160
(2):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.1,2.1.1.1.2,2.1.1.1.2.1.2):0.171
(3):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.1):0.166
(4):(2,2.1.1,2.1.1.1.1,2.1.1.1.1.1.2,2.1.1.1.2,2.1.1.1.2.1.2):0.173
(5):(2,2.1.2,2.1.2.1.1,2.1.2.1.1.1,2.1.2.1.1.1.1):0.155
(6):(2,2.1.2,2.1.2.1.2,2.1.2.1.2.1,2.1.2.1.2.1.1):0.175
(ステップS005)
ステップS005では、対策箇所抽出部203が、ステップS002で複数のアタックツリーから抽出された攻撃経路の集合から、セキュリティ対策を実施する攻撃活動の組合せを対策箇所の組合せとして抽出する。
具体的には、対策箇所抽出部203は、アタックツリーごとに、アタックゴールより下のノードを論理式で表現する。その際、重み計算部202は、アタックツリー内のANDゲートで接続された攻撃活動及びORゲートで接続された攻撃活動は以下のように取り扱う。ANDゲートで接続された同一階層の攻撃活動は、論理式において「・演算」で接続する。また、ORゲートで接続された同一階層の攻撃活動は、論理式において「+演算」で接続する。縦の接続関係にある異なる階層に属する攻撃活動には、論理式において「・演算」を新たに挿入する必要がある。その理由は、アタックツリーでは、上位のノードと下位のノードは等価ではなく、上位ノードが目的、下位ノードが目的を達成するための手段を示すためである。攻撃者は、アタックゴールを達成するためには、上位ノードの攻撃活動及び下位ノードの攻撃活動を両方実施する必要がある。このため、対策箇所抽出部203は、上位ノードの攻撃活動及び下位ノードの攻撃活動を論理式において「・演算」で接続する必要がある。
次に、対策箇所抽出部203は、上記で得た論理式の否定形の論理式を生成し、否定形の論理式を加法標準形の論理式に変形する。このようにして得られた加法標準形の論理式の各項は、それぞれに対応する攻撃活動を阻むことを意味する。また、全ての項がアタックゴールに達する全ての攻撃経路内のいずれかの攻撃活動の否定を必ず途中に含んでいる。このため、加法標準形の論理式のいずれかの項を選択し、選択した項に対応する攻撃活動にセキュリティ対策を施せば、アタックゴールで定義されている脅威は発生しない。このため、対策箇所抽出部203は、アタックゴールの成立を阻む項の組合せ、つまり、アタックゴールで定義されている脅威を発生させないために対処すべき攻撃行為の組合せを抽出する。
ステップS005では、対策箇所抽出部203が、ステップS002で複数のアタックツリーから抽出された攻撃経路の集合から、セキュリティ対策を実施する攻撃活動の組合せを対策箇所の組合せとして抽出する。
具体的には、対策箇所抽出部203は、アタックツリーごとに、アタックゴールより下のノードを論理式で表現する。その際、重み計算部202は、アタックツリー内のANDゲートで接続された攻撃活動及びORゲートで接続された攻撃活動は以下のように取り扱う。ANDゲートで接続された同一階層の攻撃活動は、論理式において「・演算」で接続する。また、ORゲートで接続された同一階層の攻撃活動は、論理式において「+演算」で接続する。縦の接続関係にある異なる階層に属する攻撃活動には、論理式において「・演算」を新たに挿入する必要がある。その理由は、アタックツリーでは、上位のノードと下位のノードは等価ではなく、上位ノードが目的、下位ノードが目的を達成するための手段を示すためである。攻撃者は、アタックゴールを達成するためには、上位ノードの攻撃活動及び下位ノードの攻撃活動を両方実施する必要がある。このため、対策箇所抽出部203は、上位ノードの攻撃活動及び下位ノードの攻撃活動を論理式において「・演算」で接続する必要がある。
次に、対策箇所抽出部203は、上記で得た論理式の否定形の論理式を生成し、否定形の論理式を加法標準形の論理式に変形する。このようにして得られた加法標準形の論理式の各項は、それぞれに対応する攻撃活動を阻むことを意味する。また、全ての項がアタックゴールに達する全ての攻撃経路内のいずれかの攻撃活動の否定を必ず途中に含んでいる。このため、加法標準形の論理式のいずれかの項を選択し、選択した項に対応する攻撃活動にセキュリティ対策を施せば、アタックゴールで定義されている脅威は発生しない。このため、対策箇所抽出部203は、アタックゴールの成立を阻む項の組合せ、つまり、アタックゴールで定義されている脅威を発生させないために対処すべき攻撃行為の組合せを抽出する。
図17は、対策箇所抽出部203の動作の概要を示す。
ここでは、図17の(a)に示すアタックツリーを想定する。図17の(a)のアタックツリーでは、ノードAがアタックゴールであり、ノードB-Iが攻撃活動を示す。
図17の(a)のアタックツリーは、図17の(b)の論理式で表現される。そして、図17の(b)の論理式から図17の(c)の否定形の論理式を生成し、否定形の論理式を加法標準形の論理式に変形すると、図17の(d)の論理式が得られる。
図17の(d)の論理式では、項が9個あるので、図17の(a)のアタックツリーには、対策箇所の組合せ、すなわち、脅威を発生させないために対処すべき攻撃活動の組合せが9つある。
ここでは、図17の(a)に示すアタックツリーを想定する。図17の(a)のアタックツリーでは、ノードAがアタックゴールであり、ノードB-Iが攻撃活動を示す。
図17の(a)のアタックツリーは、図17の(b)の論理式で表現される。そして、図17の(b)の論理式から図17の(c)の否定形の論理式を生成し、否定形の論理式を加法標準形の論理式に変形すると、図17の(d)の論理式が得られる。
図17の(d)の論理式では、項が9個あるので、図17の(a)のアタックツリーには、対策箇所の組合せ、すなわち、脅威を発生させないために対処すべき攻撃活動の組合せが9つある。
なお、上記では、ステップS003、ステップS004、ステップS005の順に説明を行ったが、ステップS003、ステップS004、ステップS005の間には入出力に依存関係が無いため、ステップS003、ステップS004、ステップS005はどのような順番で実施してもよい。
(ステップS006)
ステップS006では、目的関数導出部204が、対策箇所の組合せの評価値を算出するための式を生成し、目的関数計算部205が当該式を用いて対策箇所の組合せごとに評価値を算出する。
ステップS006では、目的関数導出部204が、対策箇所の組合せの評価値を算出するための式を生成し、目的関数計算部205が当該式を用いて対策箇所の組合せごとに評価値を算出する。
より具体的には、目的関数導出部204は、ステップS005で得られた対策箇所の組み合わせに含まれる対策箇所(攻撃活動)の攻撃カテゴリを特定する。目的関数導出部204は、例えば、図7、図8及び図10の攻撃カテゴリNo.と攻撃カテゴリリスト301から対策箇所の攻撃カテゴリを特定する。ここでは、攻撃活動B、C、Dは、図19の(c)に示す攻撃カテゴリであったと仮定する。また、目的関数導出部204は、情報記憶部30から対策候補リスト302を読み出し、対策候補リスト302を参照して、対策箇所の攻撃カテゴリに対応する対策候補を抽出する。例えば、図17の(d)の論理式の第1項については、ノードCの攻撃カテゴリは「不正通信」であるため、目的関数導出部204は、図19の(d)の対策候補リスト302を参照して「不正通信」に対応する対策候補である、製品4(c1)、製品5(c2)及び製品6(c3)を抽出する。また、目的関数導出部204は、これらの対策候補の検出率である、70%、60%及び50%を抽出する。更に、ノードBの攻撃カテゴリは「不正操作」であるため、目的関数導出部204は、「不正操作」に対応する対策候補である、製品1(b1)、製品2(b2)、製品3(b3)を抽出する。また、目的関数導出部204は、これらの対策候補の検出率である、60%、50%及び40%を抽出する。
次に、目的関数導出部204は、ステップS003で得られたアタックゴールの重み、ステップS004で得られた各アタックツリーの攻撃経路ごとの重み、ステップS005で得られた対策箇所の組合せ、及び、各対策箇所の対策候補とその検出率とから、対策候補の組合せの価値を評価値として求める式を生成する。より具体的には、目的関数導出部204は、以下のように式を生成する。つまり、目的関数導出部204は、以下のように演算が行われる式を生成する。
(1)論理式内の項に含まれる攻撃活動の攻撃カテゴリに対応する対策候補を変数xに設定し、変数xに設定した対策候補の検出率を変数rxに設定する。変数xと変数rxとの乗算を行い、乗算値を他の対策候補の変数xと変数rxとの乗算値に加算する。
(2)論理式内の項に含まれる攻撃活動が属する攻撃経路の重みの和と、上記(1)の加算値とを乗算する。
(3)論理式内の項に含まれる攻撃活動のアタックゴールの重みの和と、上記(2)乗算値とを乗算する。
(4)論理式内の項に含まれる全ての攻撃活動に対し(1)から(3)を繰り返し和を取る。
次に、目的関数導出部204は、ステップS003で得られたアタックゴールの重み、ステップS004で得られた各アタックツリーの攻撃経路ごとの重み、ステップS005で得られた対策箇所の組合せ、及び、各対策箇所の対策候補とその検出率とから、対策候補の組合せの価値を評価値として求める式を生成する。より具体的には、目的関数導出部204は、以下のように式を生成する。つまり、目的関数導出部204は、以下のように演算が行われる式を生成する。
(1)論理式内の項に含まれる攻撃活動の攻撃カテゴリに対応する対策候補を変数xに設定し、変数xに設定した対策候補の検出率を変数rxに設定する。変数xと変数rxとの乗算を行い、乗算値を他の対策候補の変数xと変数rxとの乗算値に加算する。
(2)論理式内の項に含まれる攻撃活動が属する攻撃経路の重みの和と、上記(1)の加算値とを乗算する。
(3)論理式内の項に含まれる攻撃活動のアタックゴールの重みの和と、上記(2)乗算値とを乗算する。
(4)論理式内の項に含まれる全ての攻撃活動に対し(1)から(3)を繰り返し和を取る。
図17の(d)の論理式に対して目的関数導出部204が生成した式の例を図18に示す。
図18の式1は、図17の(d)の論理式の第1項についての式である。
つまり、式1では、ノードCの候補対策であるc1、c2、c3と、それぞれの検出率であるrc1、rc2、rc3とが乗算され、得られた3つの乗算値(c1・rc1、c2・rc2、c3・rc3)が加算される。また、式1では、加算値(c1・rc1+c2・rc2+c3・rc3)に攻撃経路の重みの和(γ)とアタックゴールの重みの和(A)が乗算される。更に、式1では、ノードBのb1、b2、b3と、それぞれの検出率であるrb1、rb2、rb3とが乗算され、得られた3つの乗算値(b1・rb1、b2・rb2、b3・rb3)が加算される。また、式1では、加算値(b1・rb1+b2・rb2+b3・rb3)に攻撃経路の重みの和(α+β+θ)とアタックゴールの重みの和(A)が乗算される。そして、「Aγ(c1・rc1+c2・rc2+c3・rc3)」と「A((α+β+θ)b1・rb1+b2・rb2+b3・rb3)」とが足される。なお、図17の(a)のアタックツリーにおいて、ノードCは、ノードH及びノードIとANDゲートで接続されているため、ノードCが属する攻撃経路は1つである。このため、ノードCが属する攻撃経路の重みの和として「γ」のみが用いられる。一方、ノードBは、ノードD-GとORゲートで接続している。また、ノードBは、ノードF及びノードGとANDゲートを介して接続している。このため、ノードBが属する攻撃経路は、3つある(ノードDとの経路、ノードEとの経路、ノードF及びノードGとの経路)。従って、ノードBが属する攻撃経路の重みの和として「α」、「β」及び「θ」の和が用いられる。また、ノードC及びノードBは、ともに1つのアタックツリーにのみ含まれているので、アタックゴールの重みの和として「A」のみが用いられる。ノードが複数のアタックツリーに含まれている場合は、当該複数のアタックツリーのアタックゴールの重みの総和が用いられる。
図18の式2は、図17の(d)の論理式の第2項についての式である。式2も式1と同様の構成となっているので、式2の説明は省略する。
図18において図示は省略しているが、目的関数導出部204は、図17の(d)の第3項以降の項についても、同様の式を生成する。
図18の式1は、図17の(d)の論理式の第1項についての式である。
つまり、式1では、ノードCの候補対策であるc1、c2、c3と、それぞれの検出率であるrc1、rc2、rc3とが乗算され、得られた3つの乗算値(c1・rc1、c2・rc2、c3・rc3)が加算される。また、式1では、加算値(c1・rc1+c2・rc2+c3・rc3)に攻撃経路の重みの和(γ)とアタックゴールの重みの和(A)が乗算される。更に、式1では、ノードBのb1、b2、b3と、それぞれの検出率であるrb1、rb2、rb3とが乗算され、得られた3つの乗算値(b1・rb1、b2・rb2、b3・rb3)が加算される。また、式1では、加算値(b1・rb1+b2・rb2+b3・rb3)に攻撃経路の重みの和(α+β+θ)とアタックゴールの重みの和(A)が乗算される。そして、「Aγ(c1・rc1+c2・rc2+c3・rc3)」と「A((α+β+θ)b1・rb1+b2・rb2+b3・rb3)」とが足される。なお、図17の(a)のアタックツリーにおいて、ノードCは、ノードH及びノードIとANDゲートで接続されているため、ノードCが属する攻撃経路は1つである。このため、ノードCが属する攻撃経路の重みの和として「γ」のみが用いられる。一方、ノードBは、ノードD-GとORゲートで接続している。また、ノードBは、ノードF及びノードGとANDゲートを介して接続している。このため、ノードBが属する攻撃経路は、3つある(ノードDとの経路、ノードEとの経路、ノードF及びノードGとの経路)。従って、ノードBが属する攻撃経路の重みの和として「α」、「β」及び「θ」の和が用いられる。また、ノードC及びノードBは、ともに1つのアタックツリーにのみ含まれているので、アタックゴールの重みの和として「A」のみが用いられる。ノードが複数のアタックツリーに含まれている場合は、当該複数のアタックツリーのアタックゴールの重みの総和が用いられる。
図18の式2は、図17の(d)の論理式の第2項についての式である。式2も式1と同様の構成となっているので、式2の説明は省略する。
図18において図示は省略しているが、目的関数導出部204は、図17の(d)の第3項以降の項についても、同様の式を生成する。
重要度の高いアタックゴールには、大きい値の重みが設定される。また、重要度の高い攻撃経路、換言すれば、攻撃者が選択しやすい攻撃経路には、大きい値の重みが設定される。目的関数導出部204により生成される式では、アタックゴールの重みが大きい程、得られる評価値が高くなる。また、攻撃経路の重みが大きい程、得られる評価値が高くなる。また、対策候補の有用性が高い程、つまり、対策候補の検出率が高い程、得られる評価値は高くなる。このため、目的関数導出部204により生成される式は、対策候補の効果を示す式である。ここで、各攻撃活動に対する対策候補の組合せのうち、いずれの対策候補を選べば評価値を最も大きくできるかが問題となる。つまり、図18の式1の例では、ノードCの攻撃活動に対する対策候補c1、c2、c3のうちいずれの対策候補を選択し、ノードBの攻撃活動に対する対策候補b1、b2、b3のうちいずれの対策候補を選択すれば、評価値を最も大きくできるかが問題となる。目的関数計算部205は、計算により、評価値を最も大きくできる対策候補の組合せを判別する。
ここで、目的関数計算部205の動作原理を説明する。
目的関数計算部205は、対策候補c1、c2、c3と、対策候補b1、b2、b3とを組み合わせて、対策候補の組合せを複数生成する。つまり、目的関数計算部205は、c1とb1、c1とb2、c1とb3、c2とb1、c2とb2、c2とb3、c3とb1、c3とb2、c3とb3の組合せを生成する。目的関数計算部205は、目的関数導出部204が生成した式において、c1=1、c2=0、c3=0、b1=1、b2=0、b3=0と代入することにより、c1とb1の組合せを得る、他の組合せにおいても、目的関数計算部205は、各対策候補の変数に1又は0を代入する。そして、目的関数計算部205は、目的関数導出部204が生成した式に従って、各組合せの評価値を算出する。c1とb1の組合せでは、図19のアタックゴールの重み、攻撃経路の重み、対策候補の検出率を用いると、評価値=0.561が得られる。目的関数計算部205は、同様に他の対策候補の組合せについても評価値を算出し、最も評価値が高い対策候補の組合せを、当該対策箇所の組合せに適用する対策候補の組合せとして選択する。
なお、この問題は、0-1整数計画問題であるため、目的関数計算部205は、シンプレックス法などの既存のソルバを用いて、評価値を最大化する対策候補の組合せを得ることができる。
図17の(d)の式の第1項では、c1とb1の組合せが最も評価値が高く、目的関数計算部205は、第1項については、c1とb1を選択する。
なお、ここでは、図17の(d)の第1項目についてのみ説明を行ったが、目的関数計算部205は、第2項から第9項についても、同様の手順にて、各項で対策候補の組合せを選択する。
目的関数計算部205は、対策候補c1、c2、c3と、対策候補b1、b2、b3とを組み合わせて、対策候補の組合せを複数生成する。つまり、目的関数計算部205は、c1とb1、c1とb2、c1とb3、c2とb1、c2とb2、c2とb3、c3とb1、c3とb2、c3とb3の組合せを生成する。目的関数計算部205は、目的関数導出部204が生成した式において、c1=1、c2=0、c3=0、b1=1、b2=0、b3=0と代入することにより、c1とb1の組合せを得る、他の組合せにおいても、目的関数計算部205は、各対策候補の変数に1又は0を代入する。そして、目的関数計算部205は、目的関数導出部204が生成した式に従って、各組合せの評価値を算出する。c1とb1の組合せでは、図19のアタックゴールの重み、攻撃経路の重み、対策候補の検出率を用いると、評価値=0.561が得られる。目的関数計算部205は、同様に他の対策候補の組合せについても評価値を算出し、最も評価値が高い対策候補の組合せを、当該対策箇所の組合せに適用する対策候補の組合せとして選択する。
なお、この問題は、0-1整数計画問題であるため、目的関数計算部205は、シンプレックス法などの既存のソルバを用いて、評価値を最大化する対策候補の組合せを得ることができる。
図17の(d)の式の第1項では、c1とb1の組合せが最も評価値が高く、目的関数計算部205は、第1項については、c1とb1を選択する。
なお、ここでは、図17の(d)の第1項目についてのみ説明を行ったが、目的関数計算部205は、第2項から第9項についても、同様の手順にて、各項で対策候補の組合せを選択する。
(ステップS007)
ステップS007では、目的関数計算部205は、ステップS006で得た各項で選択した対策候補の組合せの評価値が閾値を超えているか否かを判定する。前述の例では、図17の(d)の論理式の第1項について選択した対策候補c1とb1の組合せの評価値=0.561が閾値を超えているか否かを判定する。
全ての評価値が閾値を超えている場合(ステップS007でYES)は処理がステップS010に進む。一方、1つでも評価値が閾値以下の対策候補の組合せがある場合(ステップS007でNO)は、処理がステップS008に進む。なお、対策候補の組合せの評価値が閾値以下と判定された項は、再計算組合せに相当する。また、閾値は、事前に目的関数計算部205に設定されていてもよいし、ステップS007の段階でユーザが指定してもよい。
ステップS007では、目的関数計算部205は、ステップS006で得た各項で選択した対策候補の組合せの評価値が閾値を超えているか否かを判定する。前述の例では、図17の(d)の論理式の第1項について選択した対策候補c1とb1の組合せの評価値=0.561が閾値を超えているか否かを判定する。
全ての評価値が閾値を超えている場合(ステップS007でYES)は処理がステップS010に進む。一方、1つでも評価値が閾値以下の対策候補の組合せがある場合(ステップS007でNO)は、処理がステップS008に進む。なお、対策候補の組合せの評価値が閾値以下と判定された項は、再計算組合せに相当する。また、閾値は、事前に目的関数計算部205に設定されていてもよいし、ステップS007の段階でユーザが指定してもよい。
(ステップS008)
ステップS008では、目的関数計算部205は、ステップS007において対策候補の組合せの評価値が閾値以下と判定された項について、対策箇所又は対策候補の追加が可能か否かを判定する。
目的関数計算部205は、例えば、対策候補の組合せの評価値が閾値以下と判定された項に、当該項に含まれていない新たな攻撃活動の否定を追加できるか否かを判定する。なお、追加する新たな攻撃活動は、当該項に含まれているいずれかの攻撃活動と同じ攻撃経路に属する攻撃活動に限られる。また、新たな攻撃活動が追加された後の攻撃活動の組合せが、ステップS005で得られた加法標準形の論理式の他の項の攻撃活動の組合せと一致しないことが必要である。例えば、図17の(d)の第1項の対策候補の組合せ(c1とb1)の評価値が閾値未満だったとすると、目的関数計算部205は、ノードD-Iの中から、第1項に追加できるノードが存在するか否かを判定する。この場合は、ノードD-Iのいずれを第1項に追加しても、他の項の攻撃活動の組合せと一致しないので、目的関数計算部205は、ステップS008において追加可能と判定する。このような追加を行うことで、1つの攻撃経路に対して複数の対策を施す多層防御を行うことになる。
また、目的関数計算部205は、例えば、対策候補の組合せの評価値が閾値以下と判定された項に含まれるいずれかの攻撃活動に対して、ステップS006で選択された対策候補以外の対策候補が追加可能かどうかを判定する。例えば、図17の(d)の第1項の対策候補の組合せ(c1とb1)の評価値が閾値未満だったとすると、目的関数計算部205は、他の対策候補(c2、c3、b2、b2)のいずれかを、第1項の対策候補の組合せ(c1とb1)に追加可能か否かを判定する。他の対策候補が追加可能であれば、目的関数計算部205は、ステップS008において追加可能と判定する。なお、追加される対策候補は追加対策候補という。
ステップS008で追加可能と判定された場合は、処理はステップS009に進む。一方、ステップS008で追加不能と判定された場合は、処理はステップS010に進む。
ステップS008では、目的関数計算部205は、ステップS007において対策候補の組合せの評価値が閾値以下と判定された項について、対策箇所又は対策候補の追加が可能か否かを判定する。
目的関数計算部205は、例えば、対策候補の組合せの評価値が閾値以下と判定された項に、当該項に含まれていない新たな攻撃活動の否定を追加できるか否かを判定する。なお、追加する新たな攻撃活動は、当該項に含まれているいずれかの攻撃活動と同じ攻撃経路に属する攻撃活動に限られる。また、新たな攻撃活動が追加された後の攻撃活動の組合せが、ステップS005で得られた加法標準形の論理式の他の項の攻撃活動の組合せと一致しないことが必要である。例えば、図17の(d)の第1項の対策候補の組合せ(c1とb1)の評価値が閾値未満だったとすると、目的関数計算部205は、ノードD-Iの中から、第1項に追加できるノードが存在するか否かを判定する。この場合は、ノードD-Iのいずれを第1項に追加しても、他の項の攻撃活動の組合せと一致しないので、目的関数計算部205は、ステップS008において追加可能と判定する。このような追加を行うことで、1つの攻撃経路に対して複数の対策を施す多層防御を行うことになる。
また、目的関数計算部205は、例えば、対策候補の組合せの評価値が閾値以下と判定された項に含まれるいずれかの攻撃活動に対して、ステップS006で選択された対策候補以外の対策候補が追加可能かどうかを判定する。例えば、図17の(d)の第1項の対策候補の組合せ(c1とb1)の評価値が閾値未満だったとすると、目的関数計算部205は、他の対策候補(c2、c3、b2、b2)のいずれかを、第1項の対策候補の組合せ(c1とb1)に追加可能か否かを判定する。他の対策候補が追加可能であれば、目的関数計算部205は、ステップS008において追加可能と判定する。なお、追加される対策候補は追加対策候補という。
ステップS008で追加可能と判定された場合は、処理はステップS009に進む。一方、ステップS008で追加不能と判定された場合は、処理はステップS010に進む。
(ステップS009)
ステップS009では、目的関数導出部204が、対策候補の組合せの評価値が閾値以下と判定された項に対策箇所又は対策候補を追加する。
対策箇所を追加する場合は、目的関数導出部204は、対策候補の組合せの評価値が閾値以下と判定された項に追加する新たな攻撃活動の否定を選択し、選択した新たな攻撃活動の否定をユーザに提示する。そして、ユーザが新たな攻撃活動の否定の追加を承認した場合に、目的関数導出部204は、当該項の対策箇所の組合せに新たな攻撃活動の否定を追加する。目的関数計算部205は、目的関数導出部204により新たな攻撃活動の否定が追加された後の対策箇所の組合せに対して、前述のように、対策候補を抽出し、対策候補の組合せごとに評価値を算出し、評価値が最大の対策候補の組合せを選択する。
また、対策候補を追加する場合は、目的関数導出部204は、対策候補の組合せの評価値が閾値以下と判定された項に追加する追加対策候補を選択し、選択した追加対策候補をユーザに提示する。そして、ユーザが追加対策候補の追加を承認した場合に、目的関数導出部204は、当該項の対策候補の組合せに追加対策候補を追加する。目的関数計算部205は、攻撃経路抽出部201により追加対策候補が追加された後の対策候補の組合せに対して、前述のように、検出率を適用して、対策候補の組合せごとに評価値を算出し、評価値が最大の対策候補の組合せを選択する。
ステップS009では、目的関数導出部204が、対策候補の組合せの評価値が閾値以下と判定された項に対策箇所又は対策候補を追加する。
対策箇所を追加する場合は、目的関数導出部204は、対策候補の組合せの評価値が閾値以下と判定された項に追加する新たな攻撃活動の否定を選択し、選択した新たな攻撃活動の否定をユーザに提示する。そして、ユーザが新たな攻撃活動の否定の追加を承認した場合に、目的関数導出部204は、当該項の対策箇所の組合せに新たな攻撃活動の否定を追加する。目的関数計算部205は、目的関数導出部204により新たな攻撃活動の否定が追加された後の対策箇所の組合せに対して、前述のように、対策候補を抽出し、対策候補の組合せごとに評価値を算出し、評価値が最大の対策候補の組合せを選択する。
また、対策候補を追加する場合は、目的関数導出部204は、対策候補の組合せの評価値が閾値以下と判定された項に追加する追加対策候補を選択し、選択した追加対策候補をユーザに提示する。そして、ユーザが追加対策候補の追加を承認した場合に、目的関数導出部204は、当該項の対策候補の組合せに追加対策候補を追加する。目的関数計算部205は、攻撃経路抽出部201により追加対策候補が追加された後の対策候補の組合せに対して、前述のように、検出率を適用して、対策候補の組合せごとに評価値を算出し、評価値が最大の対策候補の組合せを選択する。
(ステップS010)
ステップS010では、重み計算部202が、対策候補の組合せの評価値が閾値を超えていると判定された対策箇所の組合せの間で優先順位を設定する。つまり、重み計算部202は、対策候補の組合せの評価値が閾値を超えていると判定された攻撃活動の組合せの間で優先順位を設定する。
優先順位の設定は、例えば、AHPによる。AHPによる優先順位の設定手順は、ステップS031~S034に示したものと同じである。このため、AHPによる優先順位の設定手順の説明を省略する。
ステップS010では、重み計算部202が、対策候補の組合せの評価値が閾値を超えていると判定された対策箇所の組合せの間で優先順位を設定する。つまり、重み計算部202は、対策候補の組合せの評価値が閾値を超えていると判定された攻撃活動の組合せの間で優先順位を設定する。
優先順位の設定は、例えば、AHPによる。AHPによる優先順位の設定手順は、ステップS031~S034に示したものと同じである。このため、AHPによる優先順位の設定手順の説明を省略する。
図17の(d)の論理式には9つの項があるため、9つの対策箇所の組合せ(攻撃活動の組合せ)が得られる。重み計算部202は、例えば、対策候補の組合せの評価値に基づいて、対策箇所の組合せに優先順位を設定する。つまり、目的関数計算部205は、評価値が高い対策箇所の組合せ程、優先順位を高くする。また、目的関数計算部205は、評価値と、対策基準リストに記載の対策基準リストとを用いて、対策候補の組合せの優先順位を設定してもよい。対策基準リストは、前述のように、図21の(c)に示す情報である。図21の(c)にあるように、対策基準は、例えば、「適用する対策候補の組合せの初期コスト」、「適用する対策候補の組合せのランニングコスト」又は「適用する対策候補の組合せの実施の容易性」である。「実施の容易性」とは、セキュリティの知識がない者にも対策候補の組合せが実施できるか否かという基準である。
このような対策基準を優先順位設定の基準として用いることによって、事業者ごとに異なる、許容可能な予算や運用負荷を考慮した対策の選択が可能となる。
このような対策基準を優先順位設定の基準として用いることによって、事業者ごとに異なる、許容可能な予算や運用負荷を考慮した対策の選択が可能となる。
(ステップS011)
ステップS011にて、出力部401が、ステップS010で設定された優先順位に従って、対策候補の組合せを出力する。
図22は、出力部401の出力例(対策候補の組合せ501)を示す。出力部401は、優先順位が高い対策箇所の組合せの対策候補の組合せを上位に表示し、優先順位が低い対策箇所の組合せの対策候補の組合せを下位に表示する。
図22の例では、図17の(d)の第1項の対策箇所の組合せの対策候補の組合せである製品1(対策候補b1)と製品4(対策候補c1)が最上位に表示されている。
なお、図22では、対策候補がアタックツリー内のどの箇所に適用されているかを明示するために、「対策箇所の組合せ」の欄が設けられている。しかしながら、「対策箇所の組合せ」の欄は省略してもよい。
ステップS011にて、出力部401が、ステップS010で設定された優先順位に従って、対策候補の組合せを出力する。
図22は、出力部401の出力例(対策候補の組合せ501)を示す。出力部401は、優先順位が高い対策箇所の組合せの対策候補の組合せを上位に表示し、優先順位が低い対策箇所の組合せの対策候補の組合せを下位に表示する。
図22の例では、図17の(d)の第1項の対策箇所の組合せの対策候補の組合せである製品1(対策候補b1)と製品4(対策候補c1)が最上位に表示されている。
なお、図22では、対策候補がアタックツリー内のどの箇所に適用されているかを明示するために、「対策箇所の組合せ」の欄が設けられている。しかしながら、「対策箇所の組合せ」の欄は省略してもよい。
なお、以上では、ステップS003及びS004の重みの設定、ステップS010の優先順位の設定でAHPを用いることとしているが、AHP以外の方法で重みの設定及び優先順位の設定を行うようにしてもよい。
また、以上では、ステップS007において、1つでも評価値が閾値以下の対策候補の組合せがある場合(ステップS007でNO)は、処理がステップS008に進むことになっている。
しかしながら、閾値を超える対策候補の組合せが1つ以上存在する場合は、閾値を超える対策候補の組合せに対してステップS010を実施するようにしてもよい。つまり、閾値以下の対策候補の組合せが存在していても、閾値以下の対策候補の組合せに対してステップS008以降の処理を行わずに、閾値を超える対策候補の組合せに対してのみステップS010の処理を行うようにしてもよい。
しかしながら、閾値を超える対策候補の組合せが1つ以上存在する場合は、閾値を超える対策候補の組合せに対してステップS010を実施するようにしてもよい。つまり、閾値以下の対策候補の組合せが存在していても、閾値以下の対策候補の組合せに対してステップS008以降の処理を行わずに、閾値を超える対策候補の組合せに対してのみステップS010の処理を行うようにしてもよい。
***実施の形態の効果の説明***
本実施の形態では、セキュリティ対策選択装置1は、脅威の重要度、攻撃経路の重要度及び対策候補の有用度に基づき、対処すべき攻撃活動の組合せごとに、評価値を算出し、算出した評価値に基づき、対策候補の組合せを特定する。このため、本実施の形態によれば、攻撃者が選択しやすい攻撃経路に重点的に対策を講じるといった、攻撃の実態に対応させた機動的な対策の選択を行うことができる。また、本実施の形態によれば、対策実施のコストや運用負荷を考慮して、対策候補の組合せを選択することができる。
本実施の形態では、セキュリティ対策選択装置1は、脅威の重要度、攻撃経路の重要度及び対策候補の有用度に基づき、対処すべき攻撃活動の組合せごとに、評価値を算出し、算出した評価値に基づき、対策候補の組合せを特定する。このため、本実施の形態によれば、攻撃者が選択しやすい攻撃経路に重点的に対策を講じるといった、攻撃の実態に対応させた機動的な対策の選択を行うことができる。また、本実施の形態によれば、対策実施のコストや運用負荷を考慮して、対策候補の組合せを選択することができる。
実施の形態2.
本実施の形態では、予算内で最適な対策候補の組合せを選択する例を説明する。
本実施の形態に係るセキュリティ対策選択装置1のハードウェア構成例及び機能格子柄例は、実施の形態1に示したものと同じである。
また、本実施の形態に係るセキュリティ対策選択装置1の動作も、以下に示す点を除き実施の形態1に示したものと同じである。
以下では、主に実施の形態1との差異を説明する。以下で説明していない事項は、実施の形態1と同じである。
本実施の形態では、予算内で最適な対策候補の組合せを選択する例を説明する。
本実施の形態に係るセキュリティ対策選択装置1のハードウェア構成例及び機能格子柄例は、実施の形態1に示したものと同じである。
また、本実施の形態に係るセキュリティ対策選択装置1の動作も、以下に示す点を除き実施の形態1に示したものと同じである。
以下では、主に実施の形態1との差異を説明する。以下で説明していない事項は、実施の形態1と同じである。
本実施の形態では、各対策候補には導入のための費用が定義されている。また、本実施の形態では、目的関数計算部205は、対策候補の組合せの費用の合計値が、ユーザが設定した予算を超えないようにして、目的関数を最大化する。
例えば、対策箇所抽出部203が図17の(a)のアタックツリーに対して、図17の(d)の論理式を得たと仮定する。
本実施の形態では、各対策候補には初期費用が定義されているものとする。また、図17の(d)の論理式に含まれる各対策候補には、例えば、図23に示す初期費用が定義されているものとする。
具体的には、対策候補c1には、初期費用としてcc1が定義されているものとする。また、対策候補c2には、初期費用としてcc2が定義されているものとする。また、対策候補c3には、初期費用としてcc3が定義されているものとする。対策候補b1、b2、b3、d1、d2、e1、e2及びf1についても、図23に示す初期費用が定義されているものとする。
また、図17の(d)の論理式に対して目的関数導出部204は、図23に示す式を導出したものとする。なお、図23の式1は、図18の式1と同じであり、図23の式2は、図18の式2と同じである。
目的関数計算部205は、対策候補の組合せごとに、初期費用の合計値を算出する。そして、目的関数計算部205は、初期費用の合計値が対策導入にかけることができる予算Cの範囲内であり、最も評価値が大きくなる対策候補の組合せを選択する。目的関数計算部205の計算自体は、実施の形態1で示したものと同じである。実施の形態1との差異は、予算Cが制約条件として付加されている点である。
本実施の形態では、各対策候補には初期費用が定義されているものとする。また、図17の(d)の論理式に含まれる各対策候補には、例えば、図23に示す初期費用が定義されているものとする。
具体的には、対策候補c1には、初期費用としてcc1が定義されているものとする。また、対策候補c2には、初期費用としてcc2が定義されているものとする。また、対策候補c3には、初期費用としてcc3が定義されているものとする。対策候補b1、b2、b3、d1、d2、e1、e2及びf1についても、図23に示す初期費用が定義されているものとする。
また、図17の(d)の論理式に対して目的関数導出部204は、図23に示す式を導出したものとする。なお、図23の式1は、図18の式1と同じであり、図23の式2は、図18の式2と同じである。
目的関数計算部205は、対策候補の組合せごとに、初期費用の合計値を算出する。そして、目的関数計算部205は、初期費用の合計値が対策導入にかけることができる予算Cの範囲内であり、最も評価値が大きくなる対策候補の組合せを選択する。目的関数計算部205の計算自体は、実施の形態1で示したものと同じである。実施の形態1との差異は、予算Cが制約条件として付加されている点である。
以上、本実施の形態によれば、対策導入にかけることができる予算の範囲内で最適な対策候補の組合せを選択することができる。
なお、以上では、各対策候補に初期費用が定義されている例を説明したが、各対策候補に初期費用以外の費用(ランニングコスト等)が定義されていてもよい。つまり、目的関数計算部205は、初期費用、ランニングコストを含む総費用が予算内に収まる範囲で最適な対策候補の組合せを選択することができる。
なお、以上では、各対策候補に初期費用が定義されている例を説明したが、各対策候補に初期費用以外の費用(ランニングコスト等)が定義されていてもよい。つまり、目的関数計算部205は、初期費用、ランニングコストを含む総費用が予算内に収まる範囲で最適な対策候補の組合せを選択することができる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
最後に、セキュリティ対策選択装置1のハードウェア構成の補足説明を行う。
図1に示すプロセッサ101は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図1に示す記憶装置102は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
最後に、セキュリティ対策選択装置1のハードウェア構成の補足説明を行う。
図1に示すプロセッサ101は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図1に示す記憶装置102は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
また、記憶装置102には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ101により実行される。
プロセッサ101はOSの少なくとも一部を実行しながら、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムを実行する。
プロセッサ101がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置102、プロセッサ101内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
そして、OSの少なくとも一部がプロセッサ101により実行される。
プロセッサ101はOSの少なくとも一部を実行しながら、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムを実行する。
プロセッサ101がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置102、プロセッサ101内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、セキュリティ対策選択装置1は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
また、セキュリティ対策選択装置1は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、基準取得部10、対策算出部20、アタックツリー取得部111、対策候補リスト取得部112、攻撃カテゴリリスト取得部113、比較値取得部114及び出力部401は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
1 セキュリティ対策選択装置、10 基準取得部、20 対策算出部、30 情報記憶部、101 プロセッサ、102 記憶装置、103 データインタフェース、104 入力インタフェース、105 表示器インタフェース、111 アタックツリー取得部、112 対策候補リスト取得部、113 攻撃カテゴリリスト取得部、114 比較値取得部、115 アタックゴール基準リスト取得部、116 攻撃経路基準リスト取得部、117 対策基準リスト取得部、201 攻撃経路抽出部、202 重み計算部、203 対策箇所抽出部、204 目的関数導出部、205 目的関数計算部、301 攻撃カテゴリリスト、302 対策候補リスト、401 出力部、501 対策候補の組合せ。
Claims (14)
- 脅威と、それぞれに1つ以上の攻撃活動が含まれる、前記脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、前記脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出する組合せ抽出部と、
抽出された複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得する取得部と、
攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する指定部とを有する情報処理装置。 - 前記情報処理装置は、更に、
適用する対策候補の組合せの評価値に基づき、攻撃活動の組合せの間で優先順位を設定し、優先順位が高い攻撃活動の組合せから順に、適用する対策候補の組合せを出力する優先順位設定部を有する請求項1に記載の情報処理装置。 - 前記情報処理装置は、更に、
各攻撃経路の重要度として、各攻撃経路に重みを設定する重み設定部を有し、
前記取得部は、
対策候補の有用度として、攻撃活動の検出率を取得し、
前記指定部は、
対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の検出率と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重みとに基づき、評価値を算出する請求項1に記載の情報処理装置。 - 前記優先順位設定部は、
適用する対策候補の組合せの評価値が閾値を超えている攻撃活動の組合せの間で優先順位を設定する請求項2に記載の情報処理装置。 - 前記重み設定部は、
複数の攻撃経路情報に記述される複数の脅威の各々に重みを設定し、
前記複数の攻撃経路情報に記述される複数の攻撃経路の各々の重要度として、各攻撃経路に重みを設定し、
前記組合せ抽出部は、
前記複数の攻撃経路情報から攻撃活動の組合せを複数抽出し、
前記指定部は、
対策候補の組合せごとに、攻撃活動の組合せの抽出元の攻撃経路情報に記述されている脅威の重みと、対策候補の組合せに含まれる各対策候補の検出率と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重みとに基づき、評価値を算出する請求項3に記載の情報処理装置。 - 前記指定部は、
複数の攻撃活動の組合せのうち、適用する対策候補の組合せの評価値が閾値以下の攻撃活動の組合せである再計算組合せに、当該再計算組合せに含まれるいずれかの攻撃活動と同じ攻撃経路に属する当該再計算組合せに含まれていない新たな攻撃活動を追加し、前記新たな攻撃活動が追加された後の再計算組み合わせに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、前記新たな攻撃活動が追加された後の再計算組み合わせに適用する対策候補の組合せを指定する請求項1に記載の情報処理装置。 - 前記指定部は、
複数の攻撃活動の組合せのうち、適用する対策候補の組合せの評価値が閾値以下の攻撃活動の組合せである再計算組合せに含まれるいずれかの攻撃活動に対して、適用する対策候補以外の対策候補を追加対策候補として指定し、
適用する対策候補の有用度と前記追加対策候補の有用度とに基づき、前記追加対策候補が指定された後の再計算組合せの評価値を算出する請求項1に記載の情報処理装置。 - 前記重み設定部は、
攻撃経路ごとに、攻撃経路に含まれる攻撃活動の実施の容易性、攻撃経路に含まれる攻撃活動のための攻撃プログラムの開発費及び攻撃経路に含まれる攻撃活動の痕跡の偽装又は消去の容易性の少なくともいずれかをパラメータに用いて、重みを計算し、計算により得られた重みを攻撃経路に設定する請求項3に記載の情報処理装置。 - 前記重み設定部は、
脅威ごとに、脅威が発生した際の被害金額及び脅威が発生してから復旧にかかる時間の少なくともいずれかをパラメータに用いて、重みを計算し、計算により得られた重みを脅威に設定する請求項5に記載の情報処理装置。 - 前記優先順位設定部は、
適用する対策候補の組合せの初期コスト、適用する対策候補の組合せのランニングコスト及び適用する対策候補の組合せの実施の容易性の少なくともいずれかと、適用する対策候補の組合せの評価値とに基づいて、攻撃活動の組合せの間で優先順位を設定する請求項2に記載の情報処理装置。 - 前記指定部は、
攻撃活動の組合せごとに、最大の評価値が得られた対策候補の組合せを、適用する対策候補の組合せに指定する請求項1に記載の情報処理装置。 - 各対策候補には、導入のための費用が定義されており、
前記指定部は、
対策候補の組合せごとに、費用の合計値を算出し、
攻撃活動の組合せごとに、費用の合計値が対策導入にかけることができる予算の範囲内である、最大の評価値が得られた対策候補の組合せを、適用する対策候補の組合せに指定する請求項1に記載の情報処理装置。 - コンピュータが、脅威と、それぞれに1つ以上の攻撃活動が含まれる、前記脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、前記脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出し、
前記コンピュータが、抽出された複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得し、
前記コンピュータが、攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する情報処理方法。 - 脅威と、それぞれに1つ以上の攻撃活動が含まれる、前記脅威を発生させるための手順である複数の攻撃経路とが記述される攻撃経路情報から、前記脅威の発生を阻止するために対処すべき攻撃活動の組合せを複数抽出する組合せ抽出処理と、
抽出された複数の攻撃活動の組合せに含まれる攻撃活動ごとに、1つ以上の対策候補と各対策候補の有用度とを取得する取得処理と、
攻撃活動の組合せごとに、攻撃活動の組合せに含まれる各攻撃活動に対策候補の各々を割り当てて対策候補の組合せを複数生成し、対策候補の組合せごとに、対策候補の組合せに含まれる各対策候補の有用度と対策候補の組合せに含まれる各対策候補が割り当てられている攻撃活動が属する攻撃経路の重要度とに基づき、評価値を算出し、算出した評価値に基づき、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する指定処理とをコンピュータに実行させる情報処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/001531 WO2018134909A1 (ja) | 2017-01-18 | 2017-01-18 | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2017541138A JP6253862B1 (ja) | 2017-01-18 | 2017-01-18 | 情報処理装置、情報処理方法及び情報処理プログラム |
US16/464,162 US20200320191A1 (en) | 2017-01-18 | 2017-01-18 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/001531 WO2018134909A1 (ja) | 2017-01-18 | 2017-01-18 | 情報処理装置、情報処理方法及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018134909A1 true WO2018134909A1 (ja) | 2018-07-26 |
Family
ID=60860135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/001531 WO2018134909A1 (ja) | 2017-01-18 | 2017-01-18 | 情報処理装置、情報処理方法及び情報処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200320191A1 (ja) |
JP (1) | JP6253862B1 (ja) |
WO (1) | WO2018134909A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020136837A1 (ja) * | 2018-12-27 | 2020-07-02 | 三菱電機株式会社 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
JPWO2022038680A1 (ja) * | 2020-08-18 | 2022-02-24 | ||
WO2023132048A1 (ja) | 2022-01-07 | 2023-07-13 | 富士通株式会社 | 生成方法、生成プログラム及び情報処理装置 |
US11991206B2 (en) | 2018-05-22 | 2024-05-21 | Mitsubishi Electric Corporation | Installation location selection assistance apparatus, installation location selection assistance method, and computer readable medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018216887A1 (de) * | 2018-10-02 | 2020-04-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Automatisches Abschätzen von Informationssicherheitsrisiken |
US11316891B2 (en) * | 2019-07-18 | 2022-04-26 | Bank Of America Corporation | Automated real-time multi-dimensional cybersecurity threat modeling |
WO2021059518A1 (ja) * | 2019-09-27 | 2021-04-01 | 日本電気株式会社 | 分析システム、方法およびプログラム |
US12061628B1 (en) * | 2021-05-21 | 2024-08-13 | Riverbed Technology, LLC | Computing a digital experience index |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138413A1 (en) * | 2003-12-11 | 2005-06-23 | Richard Lippmann | Network security planning architecture |
US20090077666A1 (en) * | 2007-03-12 | 2009-03-19 | University Of Southern California | Value-Adaptive Security Threat Modeling and Vulnerability Ranking |
-
2017
- 2017-01-18 JP JP2017541138A patent/JP6253862B1/ja active Active
- 2017-01-18 US US16/464,162 patent/US20200320191A1/en not_active Abandoned
- 2017-01-18 WO PCT/JP2017/001531 patent/WO2018134909A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138413A1 (en) * | 2003-12-11 | 2005-06-23 | Richard Lippmann | Network security planning architecture |
US20090077666A1 (en) * | 2007-03-12 | 2009-03-19 | University Of Southern California | Value-Adaptive Security Threat Modeling and Vulnerability Ranking |
Non-Patent Citations (2)
Title |
---|
IWAMOTO, HITOSHI ET AL.: "Requirement definition Method Using ISMS for Information Security Control", MITSUBISHI DENKI GIHO, vol. 86, no. 7, 25 July 2012 (2012-07-25), pages 43 - 46 * |
KENJI ASAI ET AL.: "Cyber Kogeki Taisaku no Sentei Hoho no teian", 2017 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 24 January 2017 (2017-01-24) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11991206B2 (en) | 2018-05-22 | 2024-05-21 | Mitsubishi Electric Corporation | Installation location selection assistance apparatus, installation location selection assistance method, and computer readable medium |
WO2020136837A1 (ja) * | 2018-12-27 | 2020-07-02 | 三菱電機株式会社 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
WO2020137847A1 (ja) * | 2018-12-27 | 2020-07-02 | 三菱電機株式会社 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
JPWO2020137847A1 (ja) * | 2018-12-27 | 2021-02-18 | 三菱電機株式会社 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
JPWO2022038680A1 (ja) * | 2020-08-18 | 2022-02-24 | ||
JP7175427B2 (ja) | 2020-08-18 | 2022-11-18 | 三菱電機株式会社 | 攻撃手段評価装置、攻撃手段評価方法、および、攻撃手段評価プログラム |
WO2023132048A1 (ja) | 2022-01-07 | 2023-07-13 | 富士通株式会社 | 生成方法、生成プログラム及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2018134909A1 (ja) | 2019-01-31 |
US20200320191A1 (en) | 2020-10-08 |
JP6253862B1 (ja) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6253862B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP6677623B2 (ja) | セキュリティ対策立案支援システムおよび方法 | |
CN105247532A (zh) | 使用硬件特征的无监督的基于异常的恶意软件检测 | |
Kotenko et al. | The CAPEC based generator of attack scenarios for network security evaluation | |
CN108256325A (zh) | 一种恶意代码变种的检测的方法和装置 | |
Jones et al. | High-performance digital forensic framework for anomalous ransomware detection in file system log data | |
US20190361788A1 (en) | Interactive analysis of a security specification | |
JP2015130152A (ja) | 情報処理装置及びプログラム | |
JP2019219898A (ja) | セキュリティ対策検討ツール | |
JP2017509942A (ja) | 暗号アルゴリズムで使用されるときに秘密データを保護する方法 | |
Youssef et al. | Use of Ensemble Learning to Detect Buffer Overflow Exploitation | |
Steinmann et al. | Supporting security requirements engineering through the development of the secure development ontology | |
Manoharan | A Review on Cybersecurity in HR Systems: Protecting Employee Data in the Age of AI | |
Van Ouytsel et al. | Assessing static and dynamic features for packing detection | |
CN117034263A (zh) | 一种智能合约在无人机集群中的应用方法 | |
Kunz et al. | Finding risk patterns in cloud system models | |
JP2021060872A (ja) | 生成方法、生成プログラム、および情報処理装置 | |
Attaallah et al. | Managing Security-Risks for Improving Security-Durability of Institutional Web-Applications: Design Perspective. | |
CN107247906B (zh) | 一种用于数据的加密方法及装置 | |
Sherief et al. | Threat-driven modeling framework for secure software using aspect-oriented Stochastic Petri nets | |
Ngo et al. | Complexity and information flow analysis for multi-threaded programs | |
Regano et al. | Towards automatic risk analysis and mitigation of software applications | |
JP2018055613A (ja) | 匿名化テーブル生成装置、匿名化テーブル生成方法、プログラム | |
Xu et al. | Attacks on Node Attributes in Graph Neural Networks | |
Parhizkari et al. | Timely Identification of Victim Addresses in DeFi Attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2017541138 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17892759 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17892759 Country of ref document: EP Kind code of ref document: A1 |