JPWO2020137847A1 - アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム - Google Patents
アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム Download PDFInfo
- Publication number
- JPWO2020137847A1 JPWO2020137847A1 JP2020558642A JP2020558642A JPWO2020137847A1 JP WO2020137847 A1 JPWO2020137847 A1 JP WO2020137847A1 JP 2020558642 A JP2020558642 A JP 2020558642A JP 2020558642 A JP2020558642 A JP 2020558642A JP WO2020137847 A1 JPWO2020137847 A1 JP WO2020137847A1
- Authority
- JP
- Japan
- Prior art keywords
- tree
- attack
- attack tree
- root
- route
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010354 integration Effects 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 122
- 238000012545 processing Methods 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 241000134966 Malvales Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、分析の対象となるシステムの構成情報を入力にして、サイバー攻撃が発生するまでのシナリオ(攻撃シナリオ)を分析する。例えば、システムの構成情報は、装置、通信路、アプリケーションおよびセキュリティ対策などの情報である。
アタックツリー自動生成ツールから出力される1つ以上の攻撃シナリオがツリー状に統合されたものがアタックツリーである。
アタックツリーの中には、攻撃される装置、攻撃されるアプリケーションおよび攻撃手法などの攻撃情報が記載されている。そのため、アタックツリーを参照することにより、システムの開発者はセキュリティ対策を検討することができる。
論理推論型のアタックツリー自動生成ツールでは、サイバー攻撃が発生する条件が論理的な命題として定義される。このツールは、分析対象システムの構成情報を論理式に変換し、形式的な推論によってアタックツリーを生成する。
非特許文献2において、TABLE 1. Attack Graph Generation and Visualization Tools Comparison中のAttack Graph TypeがLogical attack graphであるものが、論理推論型のアタックツリー自動生成ツールに相当する。
MalVALでは、Prologと呼ばれる論理プログラミング言語が用いられる。MalVALは、一階述語論理ベースの推論を行い、アタックツリーを生成する。計算量は、システムの規模Nに対し、Nの2乗からNの3乗のオーダーとされている。
そのため、アタックツリーを用いた対策の検討作業に時間がかかり、システム開発のコストが増加してしまう。
セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、を備える。
アタックツリー生成装置100について、図1から図11に基づいて説明する。
アタックツリー生成装置100は、複数のサブシステムのそれぞれのアタックツリーを生成し、複数のサブシステムに対応する複数のアタックツリーを統合する。これにより、システム全体のアタックツリーが得られる。
図1に基づいて、アタックツリー生成装置100の構成を説明する。
アタックツリー生成装置100は、プロセッサ101とメモリ102と補助記憶装置103と入出力インタフェース104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAM(Random Access Memory)である。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
入出力インタフェース104は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース104はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
侵入経路予測部120は、侵入データ取得部121とルートシステム選択部122と侵入経路リスト生成部123とを備える。
サブアタックツリー生成部130は、ルートツリー生成部131と子孫システム選択部132と子孫ツリー生成部133とを備える。
さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
つまり、プロセッサ101は、OSを実行しながら、アタックツリー生成プログラムを実行する。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
記憶部190には、システム構成データ191、脅威リスト192、推論ルール193および侵入経路リスト194などが記憶される。これらのデータの内容については後述する。
アタックツリー生成装置100の動作はアタックツリー生成方法に相当する。また、アタックツリー生成方法の手順はアタックツリー生成プログラムの手順に相当する。
対象システムにおけるセキュリティの脅威を「対象脅威」と称する。
ステップS101において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム構成データ191は、対象システムの構成を示すデータである。
サブシステムは、対象システムの一部を構成するシステムである。
対象脅威の内容を示す脅威データは、脅威リスト192に含まれる。
アタックツリー生成処理は、アタックツリーを生成するための任意の処理である。
アタックツリーは、システムセキュリティにおける脅威が発生するまでの攻撃過程を表すツリー状のグラフである。
ルートツリー生成部131は、対象脅威を表すルートノードを持つアタックツリーを生成する。生成されるアタックツリーがルートツリーである。
ルートツリー生成部131は、対象脅威を表すノードをルートノードにしてアタックツリー生成処理を開始する。そして、ルートツリー生成部131は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれにルートシステムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時のアタックツリーがルートツリーである。
ルートツリー910は、対象システムのアタックツリーの一例である。
ルートノード911は、対象脅威を表す。
内部ノード912は、ルートノード911から末端ノード913_1までの経路の途中に位置し、攻撃活動(1)を表す。
それぞれの末端ノード913は、対象システムへの侵入を意味する攻撃活動を表す。
それぞれの論理ゲート914は、親ノードと複数の子ノードとの間に位置し、論理演算(ORまたはANDなど)を表す。
論理ゲート914_1は、第1層のノード(911)と第2層の2つのノード(912、913_3)との間に位置し、内部ノード912と末端ノード913_3との論理和を表している。
論理ゲート914_2は、第2層のノード(912)と第3層の2つのノード(913_1、913_2)との間に位置し、末端ノード913_1と末端ノード913_2との論理積を表している。
ステップS104において、子孫システム選択部132は、侵入経路データに基づいて、複数のサブシステムから、対象システムにおけるルートシステムへの侵入経路に位置する1つ以上のサブシステムを選択する。選択される1つ以上のサブシステムを「1つ以上の子孫システム」と称する。
侵入経路データは、侵入経路リスト194に含まれる。
子孫システム選択部132は、ルートシステムを親システムとして扱い、侵入経路において親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「子システム」と称する。
子孫システム選択部132は、前回の子システムを今回の親システムとして扱い、侵入経路において今回の親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「今回の子システム」と称する。
子孫ツリー生成部133は、ルートツリーを親ツリーとして扱い、親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、ルートツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、がルートツリーに対する1つ以上の子ツリーである。
子孫ツリー生成部133は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに今回の子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、今回の親ツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、が今回の親ツリーに対する1つ以上の子ツリーである。
子ツリー920_1は、子システム(1)のアタックツリーの一例である。
子システム(1)は、対象システムへの侵入経路において対象システムの1つ前に位置するサブシステムである。つまり、子システム(1)は、対象システム(親システム)に対する子システムである。
子ツリー920_1は、ルートノード921を有する。
ルートノード921は、ルートツリー910(図4参照)の末端ノード913_1と同じ攻撃活動を表す。
それぞれの末端ノード923は、子システム(1)への侵入を意味する攻撃活動を表す。
それぞれの子ツリー(920_2、920_3)は、子システム(1)のアタックツリーである。
それぞれの子ツリー(920_2、920_3)は、ルートツリー910(親ツリー)に対する子ツリーに相当する。
子ツリー920_2において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_2と同じ攻撃活動を表す。
子ツリー920_3において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_3と同じ攻撃活動を表す。
それぞれの孫ツリーは、子システム(2)のアタックツリーである。子システム(2)は、対象システムへの侵入経路において子システム(1)の1つ前に位置するサブシステムである。つまり、子システム(2)は、子システム(1)に対する子システムである。
それぞれの孫ツリーは、子ツリー(920_1〜920_3)に対する子ツリーに相当する。
それぞれの孫ツリーにおいて、ルートノードは、子ツリー(920_1〜920_3)の末端ノードと同じ攻撃活動を表す。
それぞれの孫ツリーにおいて、末端ノードは、子システム(2)への侵入を意味する攻撃活動を表す。
子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分けてもよい。この場合、子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードグループのそれぞれをルートノードにして、(今回の)親ツリーに対する1つ以上の子ツリーを生成する。
図6に示すように、子孫ツリー生成部133は、末端ノード913_1と末端ノード913_2とをまとめて末端ノード913_Gを生成する。
そして、子孫ツリー生成部133は、末端ノード913_Gと同じ攻撃活動を表すルートノードを有する子ツリーを生成する。
ステップS106において、サブアタックツリー統合部140は、ルートツリーと1つ以上の子孫ツリーとを統合する。
これにより、対象システムのアタックツリーが生成される。
アタックツリー900は、対象システムのアタックツリーの一例である。
アタックツリー900は、ルートツリー910と子孫ツリー群901とを含む。
子孫ツリー群901は、1つ以上の子孫ツリーである。
それぞれの子孫ツリーのルートノードは、親ツリーの端末ノードと同じである。
子孫システム選択部132は、侵入経路毎に子孫システム群を選択する。これにより、複数の侵入経路に対応する複数の子孫システム群が選択される。子孫システム群は、1つ以上の子孫システムである。
子孫ツリー生成部133は、子孫システム群毎に子孫ツリー群を生成する。これにより、複数の侵入経路に対応する複数の子孫ツリー群が生成される。
サブアタックツリー統合部140は、複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである。
そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。つまり、サブアタックツリー統合部140は、共通の親ツリーの共通の末端ノードに論理和ゲートを接続し、兄弟ツリーのそれぞれのルートノードを論理和ゲートに接続する。論理和ゲートは論理和を表す。
兄弟ツリー903のそれぞれは、共通ノード904と同じルートノードを持つ。共通ノード904は、共通の親ツリー(ルートツリー910)の共通の末端ノードである。
兄弟ツリー903のそれぞれのルートノードは、論理和ゲート902を介して共通ノード904に接続される。
ステップS110において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム構成データ191は、対象システムの構成を示す。対象システムの構成は、推論ルール193に適した論理式で表される。但し、対象システムの構成は、論理式以外の情報で表されてもよい。その場合、システム分割部110は、対象システムの構成情報を論理式に変換する。例えば、システム分割部110は、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールによって、対象システムの構成情報を論理式に変換する。
システム分割部110は、システム構成データ191を複数のサブシステム構成データに分割する。システム構成データ191が対象システムに対応し、複数のサブシステム構成データが複数のサブシステムに対応する。それぞれのサブシステム構成データは、サブシステムの構成を論理式によって示す。
具体的には、システム分割部110は、分割基準に従って、システム構成データ191に示される論理式を複数の論理式に分割する。複数の論理式が複数のサブシステム構成データに相当する。例えば、分割基準は利用者によって指定される。
分割基準は任意の基準である。分割基準の具体例は、サブネット単位による分割、ネットワーク境界(例えば、ファイアウォール)での分割、装置種別に基づくグループ分けなどである。装置種別とは、例えば、OSの種類である。同じサブネットに接続される複数の利用者端末には同じOSがインストールされることが想定される。
但し、利用者が、分割基準に基づいて対象システムの分割を判断し、アタックツリー生成装置100に対して対象システムの分割を指示してもよい。この場合、システム分割部110は、利用者の指示に従って、対象システムを複数のサブシステムに分割する。
なお、分割数(サブシステムの数)が大きいほど、対象システムのアタックツリーを生成するための計算量が増える。そのため、分割数は闇雲に大きくしないほうがよい。
脅威リスト192は、複数の脅威データを含む。それぞれの脅威データは、対象システムにおけるセキュリティの脅威の内容を示す。脅威の内容は、推論ルール193に適した論理式で表される。
対象脅威データは、対象脅威についての脅威データである。
但し、侵入データ取得部121は、対象脅威データを別の方法で取得してもよい。例えば、利用者が、脅威リスト192に含まれる複数の脅威データから対象脅威データを選択し、アタックツリー生成装置100に対して対象脅威データを指定する。そして、侵入データ取得部121は、指定された対象脅威データを脅威リスト192から取得する。
ルートシステムは、対象脅威が発生するサブシステムである。
対象脅威データは、対象脅威が発生するシステム要素を示す。例えば、システム要素は、装置(コンピュータ)、装置にインストールされているアプリケーションプログラム、または、その他の情報資産である。
まず、ルートシステム選択部122は、対象脅威データを参照することによって、対象脅威が発生するシステム要素を特定する。特定されるシステム要素を対象要素と称する。
そして、ルートシステム選択部122は、システム構成データ191を参照し、対象要素が接続されたサブネットを特定する。特定されるサブネットに対応するサブシステムがルートシステムである。
侵入経路リスト194は、1つ以上の侵入経路データを含む。侵入経路が2つある場合、侵入経路リスト194は2つの侵入経路データを含む。
基点システムとは、対象システムにおいて攻撃の起点となるサブシステムである。攻撃の起点となる端末を起点端末と称する。起点端末が対象システムの内部の要素である場合、起点システムは、起点端末が接続されたサブネットに対応するサブシステム、つまり、起点端末が属するサブシステムである。起点端末が対象システムの外部の要素である場合、起点システムは、対象システムの外部と通信することが可能なサブシステム、つまり、外部のネットワークに接続されたサブシステムである。
サブアタックツリー群は、1つ以上のサブアタックツリーである。
サブアタックツリーは、サブシステムのアタックツリーである。
ステップS131において、ルートツリー生成部131は、推論ルール193を用いて、ルートツリーを生成する。
推論ルール193は、対象システムのアタックツリーを生成するための推論ルールである。推論ルール193は、セキュリティの各種の脅威と各種のサイバー攻撃手法の実行順序に関する論理的なルールであり、各種の脅威の発生条件と各種のサイバー攻撃手法の成立条件とを判定できるように定義されている。対象システムに対応するルールを特定することができれば、推論ルール193の推論体系および推論ルール193のデータ形式は任意である。また、推論ルール193の中に定義されているルールの数も任意である。
ルートシステム構成データは、ルートシステムの構成を示すサブシステム構成データである。
使用されるアタックツリー自動生成ツールは従来のツールで構わない。例えば、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールを使用することが可能である。
これにより、ルートツリーが得られる。ルートツリー生成部131は、ルートツリーをデータとして記憶部190に記憶する。
選択される侵入経路データを選択経路データと称し、選択経路データに示される侵入経路を選択経路と称する。
子孫ツリー群生成処理(S133)の手順については後述する。
未選択の侵入経路がある場合、処理はステップS132に進む。
未選択の侵入経路がない場合、サブアタックツリー群生成処理(S130)は終了する。
ステップS1331において、子孫システム選択部132は、ルートシステムを親システムにして、親システムに対する子システムを特定する。
子システムは、選択経路において親システムの1つ前に位置するサブシステムである。
親ツリーは、親システムのアタックツリーである。
子ツリーは、子システムのアタックツリーである。
子システム構成データは、子システムの構成を示すサブシステム構成データである。
使用されるアタックツリー自動生成ツールは、ステップS131で使用されるツールと同じである。
これにより、子ツリーが得られる。子孫ツリー生成部133は、子ツリーをデータとして記憶部190に記憶する。
起点システムは、選択経路における先頭のサブシステムである。
子システムが起点システムである場合、子孫ツリー群生成処理(S133)は終了する。
子システムが起点システムでない場合、処理はステップS1334に進む。
ステップS1334の後、処理はステップS1332に進む。
ステップS141において、サブアタックツリー統合部140は、全てのサブアタックツリー群を統合する。
これにより、対象システムのアタックツリーが得られる。サブアタックツリー統合部140は、対象システムのアタックツリーをデータとして記憶部190に記憶する。
サブアタックツリー統合部140は、全てのサブアタックツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードを同じルートノードを持つ複数の子ツリーである。
そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。
例えば、サブアタックツリー統合部140は、対象システムのアタックツリーをディスプレイに表示する。
論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態1では、複数のサブシステムに対応する複数のサブアタックツリーが生成された後に複数のサブアタックツリーを結合することによって、対象システムのアタックツリーが生成される。
サブシステムの規模は対象システムの規模よりも小さいため、サブアタックツリーを生成するための計算量が増大しない。その結果、対象システムのアタックツリーの生成に要する計算量を削減することができる。
アタックツリー生成装置200について、主に実施の形態1と異なる点を図12から図14に基づいて説明する。
アタックツリー生成装置200は、対象システムの専用の推論ルールを生成し、専用の推論ルールを用いて対象システムのアタックツリーを生成する。
図11に基づいて、アタックツリー生成装置200の構成を説明する。
アタックツリー生成装置200は、プロセッサ201とメモリ202と補助記憶装置203と入出力インタフェース204といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
入出力インタフェース204は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース204はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
さらに、補助記憶装置203にはOSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
つまり、プロセッサ201は、OSを実行しながら、アタックツリー生成プログラムを実行する。
メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
記憶部290には、システム構成データ291、脅威リスト292、推論ルール293、侵入経路リスト294およびルール基礎情報データベース295などが記憶される。
システム構成データ291と脅威リスト292と推論ルール293と侵入経路リスト294とのそれぞれは、実施の形態1におけるデータ(191、192、193、194)と同じである。
ルール基礎情報データベース295は、脅威データベース2951と攻撃手法データベース2952とを含む。
図14に基づいて、アタックツリー生成方法を説明する。
ステップS211において、専用基礎情報取得部210は、システム構成データ291から、対象システムの種別情報を取得する。
システム構成データ291は、対象システムの種別情報を含む。
対象システムの種別情報は、対象システムの種別を示す。
対象システムの種別は、対象システムに含まれるシステム要素の種別である。
例えば、システム要素は、装置(コンピュータ)、装置にインストールされているOS、装置にインストールされているアプリケーションプログラム、および、その他の情報資産である。
例えば、システム種別は、装置種別、OS種別、アプリケーション種別および情報資産種別である。
取得されるルール基礎情報を「専用基礎情報」と称する。
ルール基礎情報は、推論ルールを生成するための情報である。
脅威データベース2951には、各種の脅威テンプレートが登録されている。それぞれの脅威テンプレートには種別タグが付加されている。脅威テンプレートは、脅威リストに登録される脅威データのインスタンスである。脅威テンプレートには、脅威を引き起こすための事前条件が定義されている。事前条件は、論理式、または、論理式に変換可能な表現、で定義されている。対象システムのシステム要素の情報(装置名または情報資産名など)を脅威テンプレートに設定することにより、対象脅威データが生成される。対象脅威データは、例えば、専用基礎情報取得部210またはアタックツリー生成部230によって生成される。
攻撃手法データベース2952には、サイバー攻撃の手法が登録されている。それぞれの攻撃手法には種別タグが付加されている。攻撃手法は、その手法を使用するための事前条件とその攻撃によって発生する効果(攻撃効果)とを含む。事前条件および攻撃効果は、論理式、または論理式に変換可能な表現、で定義されている。
推論ルール生成処理は、推論ルールを生成するための任意の処理である。例えば、特許文献1に開示された方式を使用することが可能である。特許文献1には、攻撃シナリオを導出するための推論ルールを自動生成するための方式が開示されている。この方式では、攻撃手法の定義(事前条件および攻撃効果)を用いて、推論ルールが自動生成される。
推論ルール生成処理において、専用推論ルール生成部220は次のように動作する。まず、専用推論ルール生成部220は、脅威(または攻撃手法)の事前条件を充足する攻撃効果を持つ攻撃手法の組み合わせを特定する。次に、専用推論ルール生成部220は、特定された組み合わせに基づいて、脅威(または攻撃手法)の実行順序を特定する。そして、専用推論ルール生成部220は、特定された実行順序に基づいて、専用推論ルールを生成する。
アタックツリー生成処理は、アタックツリーを生成するための任意の処理である(実施の形態1と同じ)。
例えば、アタックツリー生成部230は、対象システムのアタックツリーをディスプレイに表示する。
論理推論型のアタックツリー自動生成ツールには、推論ルールの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態2では、対象システムの種別に関するルールに限定した専用推論ルールが生成された後に専用推論ルールを用いて対象システムのアタックツリーが生成される。
対象システムの種別に関するルールに限定された専用推論ルールが使用されるため、対象システムのアタックツリーの生成に要する計算量を削減することができる。
アタックツリー生成装置300について、主に実施の形態1と異なる点を図15および図16に基づいて説明する。
アタックツリー生成装置300は、アタックツリー生成装置100(実施の形態1)とアタックツリー生成装置200(実施の形態2)との組み合わせである。
図15に基づいて、アタックツリー生成装置300の構成を説明する。
アタックツリー生成装置300は、プロセッサ301とメモリ302と補助記憶装置303と入出力インタフェース304といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ302は揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
入出力インタフェース304は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース304はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成部310は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを備える。
システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
専用基礎情報取得部210と専用推論ルール生成部220とのそれぞれは、実施の形態2における要素である。
さらに、補助記憶装置303にはOSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
つまり、プロセッサ301は、OSを実行しながら、アタックツリー生成プログラムを実行する。
メモリ302は記憶部290として機能する。但し、補助記憶装置303、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部290として機能してもよい。
図16に基づいて、アタックツリー生成方法を説明する。
ステップS310において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
ステップS310は、実施の形態1におけるステップS110と同じである。
サブシステムの専用推論ルールを生成する方法は、実施の形態2における方法(ステップS211〜ステップS220)と同様である。
対象システムのアタックツリーを生成する方法は、実施の形態1における方法(ステップS121〜ステップS141)と同様である。サブシステムのアタックツリーの生成には、サブシステムの専用推論ルールが使用される。
例えば、アタックツリー生成部310は、対象システムのアタックツリーをディスプレイに表示する。
実施の形態3では、実施の形態1と実施の形態2との両方の効果が得られるため、アタックツリーの生成に要する計算量をさらに削減することができる。
アタックツリー生成装置400について、主に実施の形態1と異なる点を図17から図19に基づいて説明する。
アタックツリー生成装置400は、自動で、対象システムを複数のサブシステムに分割する。
図17に基づいて、アタックツリー生成装置400の構成を説明する。
アタックツリー生成装置400は、プロセッサ401とメモリ402と補助記憶装置403と入出力インタフェース404といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ402は揮発性の記憶装置である。メモリ402は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ402はRAMである。メモリ402に記憶されたデータは必要に応じて補助記憶装置403に保存される。
補助記憶装置403は不揮発性の記憶装置である。例えば、補助記憶装置403は、ROM、HDDまたはフラッシュメモリである。補助記憶装置403に記憶されたデータは必要に応じてメモリ402にロードされる。
入出力インタフェース404は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース404はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
システム分割部410は、実施の形態1におけるシステム分割部110に相当する要素である。
侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
さらに、補助記憶装置403にはOSが記憶されている。OSの少なくとも一部は、メモリ402にロードされて、プロセッサ401によって実行される。
つまり、プロセッサ401は、OSを実行しながら、アタックツリー生成プログラムを実行する。
メモリ402は記憶部190として機能する。但し、補助記憶装置403、プロセッサ401内のレジスタおよびプロセッサ401内のキャッシュメモリなどの記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、記憶部190として機能してもよい。
図18に基づいて、アタックツリー生成方法の概要を説明する。
ステップS401において、システム分割部410は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム構成データ191は、通信を行う複数の装置と、複数の装置を繋ぐ1つ以上の通信路と、を対象システムの構成として示す。
まず、システム分割部410は、システム構成データ191に基づいてシステム構成グラフを生成する。システム構成グラフは、対象システムを表すグラフであり、複数の装置を表す複数のノードと1つ以上の通信路を表す1つ以上のエッジとを含む。
次に、システム分割部410は、システム構成グラフの中の各ノードに対してグラフ理論における中心性を評価する。
次に、システム分割部410は、評価結果に基づいて、対象システムの分割点となる1つ以上のノードを決定する。
そして、システム分割部410は、決定した1つ以上のノードのそれぞれを分割点にして、システム構成グラフで表された対象システムを複数のサブシステムに分割する。
ステップS410において、システム分割部410は、自動で、システム構成データ191に基づいて対象システムを複数のサブシステムに分割する。
ステップS410は、実施の形態1におけるステップS110に相当する。
(1)ファイアウォールなどのセキュリティ装置を境界とする分割。
(2)装置種別毎のまとまりによる分割。
(3)利用者によって指定される分割点に基づく分割。
ただし、(1)または(2)の方法では、分割のために開発者がセキュリティ装置または装置種別を選定する。そのため、開発者のコストがかかる。
また、(3)の方法では、分割のために利用者がシステム構成から分割点(装置)を選択する。そのため、利用者のコストがかかる。
つまり、(1)から(3)の方法では、分割のために、人による何らかの事前準備が必要になる。そのため、事前準備のコストがかかる。
システム分割部410は、システム構成データ191に基づいて、システム構成グラフを生成する。システム構成グラフにおいて、各ノードは装置を表し、各エッジは通信路を表す。そして、システム分割部410は、各ノードの特徴量を評価することで、自動的に分割点を決定する。
対象ノードの媒介中心性は、グラフ全体においてノード間の最短経路の中に含まれる対象ノードの割合を評価したものである。この値が高いと、対象ノードがノード間の中継地点となっていてコミュニティ同士の連結役となっている確率が高い、と判断される。
したがって、システム分割部410は、媒介中心性を評価することで、コミュニティ(サブシステム)の連結役となっているノード(装置)を自動的に特定することができる。
この方式は、IT、計装または車載などのシステム種別に依存せず、広く適応できる。
また、媒介中心性の計算はシステム規模に対して比較的高速である。媒介中心性の計算量は、O(N^2+N×M)で表される。「N」はノード数を意味し、「M」はエッジ数を意味する。
前提として、アタックツリー生成のための計算時間は、攻撃シナリオを分析する際の侵入経路の長さに依存し、多項式の二乗オーダーで長くなる。そして、媒介中心性の計算式によって、各ノード(装置)の媒介中心性が評価される。グラフ全体において任意の二点間の最短経路を考えた際に、対象ノードが含まれる割合が多いほど、対象ノードは高く評価される。このため、媒介中心性が高い装置で対象システムが分割されれば、侵入経路全体において分割後の侵入経路の数が多くなると考えられる。
例えば、システム分割部410は、次数中心性またはPageRankなどの中心性を分割点の評価のために採用してもよい。
但し、上記の考察から、媒介中心性を利用した方が効果をより高めることができる、と考えられる。
実施の形態4により、システム分割を自動化することが可能になる。その結果、計算効率化という効果が得られる。さらに、アタックツリー生成装置400の開発時における開発者のコスト、および、アタックツリー生成装置400の利用時における利用者のコスト、を削減することが可能となる。
アタックツリー生成装置500について、主に実施の形態4と異なる点を図20および図21に基づいて説明する。
アタックツリー生成装置500は、アタックツリー生成装置400(実施の形態4)とアタックツリー生成装置200(実施の形態2)との組み合わせである。
アタックツリー生成装置500は、プロセッサ501とメモリ502と補助記憶装置503と入出力インタフェース504といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ502は揮発性の記憶装置である。メモリ502は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ502はRAMである。メモリ502に記憶されたデータは必要に応じて補助記憶装置503に保存される。
補助記憶装置503は不揮発性の記憶装置である。例えば、補助記憶装置503は、ROM、HDDまたはフラッシュメモリである。補助記憶装置503に記憶されたデータは必要に応じてメモリ502にロードされる。
入出力インタフェース504は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース504はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成部510は、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを備える。
システム分割部410は、実施の形態4における要素である。
侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
専用基礎情報取得部210と専用推論ルール生成部220とのそれぞれは、実施の形態2における要素である。
さらに、補助記憶装置503にはOSが記憶されている。OSの少なくとも一部は、メモリ502にロードされて、プロセッサ501によって実行される。
つまり、プロセッサ501は、OSを実行しながら、アタックツリー生成プログラムを実行する。
メモリ502は記憶部290として機能する。但し、補助記憶装置503、プロセッサ501内のレジスタおよびプロセッサ501内のキャッシュメモリなどの記憶装置が、メモリ502の代わりに、又は、メモリ502と共に、記憶部290として機能してもよい。
図21に基づいて、アタックツリー生成方法を説明する。
ステップS510において、システム分割部410は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
ステップS510は、実施の形態4におけるステップS410と同じである。
サブシステムの専用推論ルールを生成する方法は、実施の形態2における方法(ステップS211〜ステップS220)と同様である。
対象システムのアタックツリーを生成する方法は、実施の形態1における方法(ステップS121〜ステップS141)と同様である。サブシステムのアタックツリーの生成には、サブシステムの専用推論ルールが使用される。
例えば、アタックツリー生成部510は、対象システムのアタックツリーをディスプレイに表示する。
実施の形態5では、実施の形態4と実施の形態2との両方の効果が得られるため、アタックツリーの生成に要する計算量をさらに削減することができる。
セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、対象システムの情報を入力するだけで、アタックツリーを生成することができる。システムの開発者は、生成されたアタックツリーを確認することで、セキュリティ対策案を検討することができる。つまり、アタックツリーは安全なシステム開発に役立つ。
従来、論理推論型のアタックツリー自動生成ツールが存在する。このツールは、サイバー攻撃の発生条件と対象システムの構成情報とを照らし合わせて推論を行う。これにより、アタックツリーが生成される。しかし、論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態は、次の2つの技術により、アタックツリーの生成タスクを効率化する。(1)対象システムを複数のサブシステムに分割し、複数のサブシステムに対応する複数のサブアタックツリーを統合する。(2)アタックツリー(またはサブアタックツリー)の生成において、システム種別に限定した推論ルールを自動生成し、推論ルールのサイズを縮小する。
実施の形態により、対象システムの分割数に応じて多項式倍高速にアタックツリーを生成できる。その結果、セキュリティ対策を含めたシステム開発期間の短縮が期待できる。
図22に基づいて、アタックツリー生成装置(100,200,300,400,500)のハードウェア構成を説明する。
アタックツリー生成装置100は処理回路109を備える。
処理回路109は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
処理回路209は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230とを実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
処理回路309は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310とを実現するハードウェアである。
処理回路309は、専用のハードウェアであってもよいし、メモリ302に格納されるプログラムを実行するプロセッサ301であってもよい。
処理回路409は、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを実現するハードウェアである。
処理回路409は、専用のハードウェアであってもよいし、メモリ402に格納されるプログラムを実行するプロセッサ401であってもよい。
処理回路509は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部510とを実現するハードウェアである。
処理回路509は、専用のハードウェアであってもよいし、メモリ502に格納されるプログラムを実行するプロセッサ501であってもよい。
ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
アタックツリー生成装置(100,200,300,400,500)は、処理回路(109,209,309,409,509)を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路(109,209,309,409,509)の役割を分担する。
アタックツリー生成装置(100,200,300,400,500)の要素である「部」は、「処理」または「工程」と読み替えてもよい。
Claims (15)
- セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、
を備えるアタックツリー生成装置。 - 前記システム構成データは、通信を行う複数の装置と前記複数の装置を繋ぐ1つ以上の通信路とを前記対象システムの構成として示し、
前記システム分割部は、前記複数の装置を表す複数のノードと前記1つ以上の通信路を表す1つ以上のエッジとを含んで前記対象システムを表すシステム構成グラフを前記システム構成データに基づいて生成し、前記システム構成グラフの中の各ノードに対してグラフ理論における中心性を評価し、評価結果に基づいて前記対象システムの分割点となる1つ以上のノードを決定し、決定した1つ以上のノードのそれぞれを分割点にして、前記システム構成グラフで表された前記対象システムを前記複数のサブシステムに分割する
請求項1に記載のアタックツリー生成装置。 - 前記ルートツリー生成部は、前記脅威を表すルートノードを持つアタックツリーを前記ルートツリーとして生成する
請求項1または請求項2に記載のアタックツリー生成装置。 - 前記ルートツリー生成部は、前記脅威を表すノードをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記ルートシステムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記ルートツリーを生成する
請求項3に記載のアタックツリー生成装置。 - 前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードのそれぞれをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
請求項4に記載のアタックツリー生成装置。 - 前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
請求項5に記載のアタックツリー生成装置。 - 前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
請求項4に記載のアタックツリー生成装置。 - 前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記今回の親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
請求項7に記載のアタックツリー生成装置。 - 前記子孫システム選択部は、前記対象システムにおける前記ルートシステムへの複数の侵入経路がある場合、侵入経路毎に1つ以上の子孫システムである子孫システム群を選択し、
前記子孫ツリー生成部は、子孫システム群毎に1つ以上の子孫ツリーである子孫ツリー群を生成し、
前記サブアタックツリー統合部は、前記複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである兄弟ツリーを見つけ、論理和ゲートを介して前記兄弟ツリーのそれぞれのルートノードを前記共通の末端ノードに接続する
請求項5から請求項8のいずれか1項に記載のアタックツリー生成装置。 - 前記アタックツリー生成装置は、さらに、
複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記ルートシステムの種別に対応するルール基礎情報をルートシステム用基礎情報として取得し、前記基礎情報データベースから、それぞれの子孫システムの種別に対応するルール基礎情報を子孫システム用基礎情報として取得する専用基礎情報取得部と、
前記複数のルール基礎情報のうちの前記ルートシステム用基礎情報だけを用いて推論ルール生成処理を実行することにより、ルートシステム用推論ルールを生成し、前記複数のルール基礎情報のうちのそれぞれの子孫システム用基礎情報だけを用いて前記推論ルール生成処理を実行することにより、それぞれの子孫システム用推論ルールを生成する専用推論ルール生成部とを備え、
前記ルートツリー生成部は、前記ルートシステム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、前記ルートツリーを生成し、
前記子孫ツリー生成部は、それぞれの子孫システム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、それぞれの子孫ツリーを生成する
請求項1から請求項8のいずれか1項に記載のアタックツリー生成装置。 - システム分割部が、セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割し、
ルートシステム選択部が、前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択し、
ルートツリー生成部が、前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成し、
子孫システム選択部が、前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択し、
子孫ツリー生成部が、前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成し、
サブアタックツリー統合部が、前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成する
アタックツリー生成方法。 - セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割処理と、
前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択処理と、
前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成処理と、
前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択処理と、
前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成処理と、
前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合処理と、
をコンピュータに実行させるためのアタックツリー生成プログラム。 - セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得部と、
前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成部と、
前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成部と、
を備えるアタックツリー生成装置。 - 専用基礎情報取得部が、セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得し、
専用推論ルール生成部が、前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成し、
アタックツリー生成部が、前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成する
アタックツリー生成方法。 - セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得処理と、
前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成処理と、
前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成処理と、
をコンピュータに実行させるためのアタックツリー生成プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/048282 WO2020136837A1 (ja) | 2018-12-27 | 2018-12-27 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
JPPCT/JP2018/048282 | 2018-12-27 | ||
PCT/JP2019/050000 WO2020137847A1 (ja) | 2018-12-27 | 2019-12-20 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020137847A1 true JPWO2020137847A1 (ja) | 2021-02-18 |
JP6847330B2 JP6847330B2 (ja) | 2021-03-24 |
Family
ID=71125921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020558642A Active JP6847330B2 (ja) | 2018-12-27 | 2019-12-20 | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11899788B2 (ja) |
JP (1) | JP6847330B2 (ja) |
CN (1) | CN113228017B (ja) |
WO (2) | WO2020136837A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022038680A1 (ja) * | 2020-08-18 | 2022-02-24 | 三菱電機株式会社 | 攻撃手段評価装置、攻撃手段評価方法、および、攻撃手段評価プログラム |
US20240022589A1 (en) * | 2020-10-27 | 2024-01-18 | Nec Corporation | Risk analysis device, analysis target element determination device, and method |
CN115484105B (zh) * | 2022-09-19 | 2024-02-02 | 北京犬安科技有限公司 | 攻击树的建模方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138413A1 (en) * | 2003-12-11 | 2005-06-23 | Richard Lippmann | Network security planning architecture |
JP2011519435A (ja) * | 2007-10-10 | 2011-07-07 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | セキュリティ解析に基づいて技術システムの再構成を行なうための装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品 |
US20170019421A1 (en) * | 2015-07-14 | 2017-01-19 | Sap Se | Penetration test attack tree generator |
WO2018134909A1 (ja) * | 2017-01-18 | 2018-07-26 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04302364A (ja) | 1991-03-29 | 1992-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 故障解析方式 |
JP2556814B2 (ja) | 1993-08-25 | 1996-11-27 | 株式会社日立製作所 | 知識ベースの構築方法および知識ベースによる故障診断方法 |
JP3040912B2 (ja) | 1994-04-22 | 2000-05-15 | 核燃料サイクル開発機構 | フォールトツリーの展開方法 |
US7162741B2 (en) * | 2001-07-30 | 2007-01-09 | The Trustees Of Columbia University In The City Of New York | System and methods for intrusion detection with dynamic window sizes |
JP4649080B2 (ja) | 2001-09-17 | 2011-03-09 | 株式会社東芝 | ネットワーク侵入検知システム、装置及びプログラム |
JP2006023916A (ja) | 2004-07-07 | 2006-01-26 | Laurel Intelligent Systems Co Ltd | 情報保護方法、情報セキュリティ管理装置、情報セキュリティ管理システム、情報セキュリティ管理プログラム |
US8429708B1 (en) * | 2006-06-23 | 2013-04-23 | Sanjay Tandon | Method and system for assessing cumulative access entitlements of an entity in a system |
US8099787B2 (en) * | 2007-08-15 | 2012-01-17 | Bank Of America Corporation | Knowledge-based and collaborative system for security assessment of web applications |
CN102082780B (zh) | 2009-11-30 | 2014-03-05 | 国际商业机器公司 | 安全验证的方法和装置 |
CN105515776A (zh) * | 2010-03-05 | 2016-04-20 | 交互数字专利控股公司 | 给设备提供安全性的方法和装置 |
US8769312B2 (en) * | 2010-10-28 | 2014-07-01 | Panasonic Corporation | Tampering monitoring system, protection control module, and detection module |
US9305169B2 (en) * | 2012-12-18 | 2016-04-05 | Tinfoil Security, Inc. | System and methods for scalably identifying and characterizing structural differences between document object models |
JP6047463B2 (ja) | 2013-08-21 | 2016-12-21 | 日立オートモティブシステムズ株式会社 | セキュリティ上の脅威を評価する評価装置及びその方法 |
US9497206B2 (en) * | 2014-04-16 | 2016-11-15 | Cyber-Ark Software Ltd. | Anomaly detection in groups of network addresses |
EP3203378B1 (en) * | 2014-11-10 | 2019-07-17 | Nippon Telegraph and Telephone Corporation | Optimization device, optimization method, and optimization program |
JP6058246B2 (ja) | 2014-11-14 | 2017-01-11 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及びプログラム |
ES2832999T3 (es) * | 2015-12-14 | 2021-06-14 | Siemens Ag | Sistema y procedimiento para la evaluación pasiva de la seguridad perimetral industrial |
CN109074453B (zh) * | 2016-04-26 | 2021-10-26 | 三菱电机株式会社 | 入侵检测装置、入侵检测方法以及计算机能读取的存储介质 |
US10430581B2 (en) * | 2016-12-22 | 2019-10-01 | Chronicle Llc | Computer telemetry analysis |
US11652839B1 (en) * | 2019-05-02 | 2023-05-16 | Architecture Technology Corporation | Aviation system assessment platform for system-level security and safety |
-
2018
- 2018-12-27 WO PCT/JP2018/048282 patent/WO2020136837A1/ja active Application Filing
-
2019
- 2019-12-20 CN CN201980085372.XA patent/CN113228017B/zh active Active
- 2019-12-20 WO PCT/JP2019/050000 patent/WO2020137847A1/ja active Application Filing
- 2019-12-20 JP JP2020558642A patent/JP6847330B2/ja active Active
-
2021
- 2021-04-29 US US17/244,515 patent/US11899788B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138413A1 (en) * | 2003-12-11 | 2005-06-23 | Richard Lippmann | Network security planning architecture |
JP2011519435A (ja) * | 2007-10-10 | 2011-07-07 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | セキュリティ解析に基づいて技術システムの再構成を行なうための装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品 |
US20170019421A1 (en) * | 2015-07-14 | 2017-01-19 | Sap Se | Penetration test attack tree generator |
WO2018134909A1 (ja) * | 2017-01-18 | 2018-07-26 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US11899788B2 (en) | 2024-02-13 |
CN113228017A (zh) | 2021-08-06 |
WO2020137847A1 (ja) | 2020-07-02 |
US20210248231A1 (en) | 2021-08-12 |
JP6847330B2 (ja) | 2021-03-24 |
CN113228017B (zh) | 2024-05-14 |
WO2020136837A1 (ja) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11791987B2 (en) | Content validation using blockchain | |
JP6847330B2 (ja) | アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム | |
US20200210424A1 (en) | Query engine for remote endpoint information retrieval | |
TWI498752B (zh) | 使用簡易貝氏機率模型從未經結構化之資料中擷取資訊並將資訊映射至經結構化之架構描述 | |
US11531773B2 (en) | Verification of bitstreams | |
CN107844415B (zh) | 一种基于插值的模型检测路径缩减方法、计算机 | |
US8745026B1 (en) | Collaborative modeling environment | |
TWI729763B (zh) | 收集與驗證網路交通數據之系統以及方法 | |
JP6777612B2 (ja) | コンピュータシステムにおけるデータ損失を防止するためのシステム及び方法 | |
US11416631B2 (en) | Dynamic monitoring of movement of data | |
US11005869B2 (en) | Method for analyzing cyber threat intelligence data and apparatus thereof | |
US10063563B2 (en) | Trustworthiness of processed data | |
CN116896468A (zh) | 网络攻击事件的防护策略确定方法及相关设备 | |
JP2018136763A (ja) | 類似関数抽出装置および類似関数抽出プログラム | |
CN116150746A (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
Zheng et al. | A multitype software buffer overflow vulnerability prediction method based on a software graph structure and a self-attentive graph neural network | |
Prasath et al. | Autonomous Application in Requirements Analysis of Information System Development for Producing a Design Model | |
WO2020170400A1 (ja) | 仮説検証装置、仮説検証方法、及びコンピュータ読み取り可能な記録媒体 | |
WO2021255841A1 (ja) | 情報検索装置、情報検索方法、及びコンピュータ読み取り可能な記録媒体 | |
US20240146755A1 (en) | Risk-based vulnerability management | |
JP6599053B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20240296146A1 (en) | Pre-fetch engine with data expiration functionality for mesh data network | |
JP7210917B2 (ja) | 検証情報生成装置、検証情報生成方法、及び検証情報生成プログラム | |
JP2020154489A (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム | |
CN118569862A (zh) | 数字资产管理方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201021 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201021 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6847330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |