JPWO2020137847A1 - アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム - Google Patents

アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム Download PDF

Info

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
Application number
JP2020558642A
Other languages
English (en)
Other versions
JP6847330B2 (ja
Inventor
遼佑 島邉
遼佑 島邉
健志 浅井
健志 浅井
河内 清人
清人 河内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2020137847A1 publication Critical patent/JPWO2020137847A1/ja
Application granted granted Critical
Publication of JP6847330B2 publication Critical patent/JP6847330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test 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

システム分割部(110)は、対象システムを複数のサブシステムに分割する。ルートシステム選択部(122)は、前記複数のサブシステムからセキュリティの脅威が発生するサブシステムをルートシステムとして選択する。ルートツリー生成部(131)は、前記ルートシステムのアタックツリーをルートツリーとして生成する。子孫システム選択部(132)は、前記複数のサブシステムから、前記ルートシステムへの侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する。子孫ツリー生成部(133)は、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する。サブアタックツリー統合部(140)は、前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成する。

Description

本発明は、セキュリティ対策の対象となるシステムのアタックツリーを生成する技術に関するものである。
近年、各企業において、情報システムおよび制御システムに対するサイバー攻撃が深刻化しており、十分なセキュリティ対策が求められている。
セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、分析の対象となるシステムの構成情報を入力にして、サイバー攻撃が発生するまでのシナリオ(攻撃シナリオ)を分析する。例えば、システムの構成情報は、装置、通信路、アプリケーションおよびセキュリティ対策などの情報である。
アタックツリー自動生成ツールから出力される1つ以上の攻撃シナリオがツリー状に統合されたものがアタックツリーである。
アタックツリーの中には、攻撃される装置、攻撃されるアプリケーションおよび攻撃手法などの攻撃情報が記載されている。そのため、アタックツリーを参照することにより、システムの開発者はセキュリティ対策を検討することができる。
非特許文献1には、アタックツリーに関する記載が開示されている。
非特許文献2および非特許文献3には、論理推論型のアタックツリー自動生成ツールが提案されている。
論理推論型のアタックツリー自動生成ツールでは、サイバー攻撃が発生する条件が論理的な命題として定義される。このツールは、分析対象システムの構成情報を論理式に変換し、形式的な推論によってアタックツリーを生成する。
非特許文献2は、2013年までに提案されたアタックツリー自動生成ツールのサーベイ論文である。
非特許文献2において、TABLE 1. Attack Graph Generation and Visualization Tools Comparison中のAttack Graph TypeがLogical attack graphであるものが、論理推論型のアタックツリー自動生成ツールに相当する。
非特許文献3では、MulVALと呼ばれるアタックツリー自動生成ツールが提案されている。
MalVALでは、Prologと呼ばれる論理プログラミング言語が用いられる。MalVALは、一階述語論理ベースの推論を行い、アタックツリーを生成する。計算量は、システムの規模Nに対し、Nの2乗からNの3乗のオーダーとされている。
特許文献1については、実施の形態で言及する。
特許第6058246号公報
Schneier, Bruce (December 1999). "Attack Trees", <https://www.schneier.com/academic/archives/1999/12/attack_trees.html> Shengwei Yi, Yong Peng, Qi Xiong, Ting Wang, Zhonghua Dai, Haihui Gao, Junfeng Xu, Jiteng Wang, Lijuan Xu , "Overview on attack graph generation and visualization technology.," International Conference on Anti−Counterfeiting, Security and Identification (ASID), 2013. X. Ou, S. Govindavajhala, and A. Appel., "MulVAL: A logicbased network security analyzer.," 14th USENIX Security Symposium, pages 113−128, 2005
論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
そのため、アタックツリーを用いた対策の検討作業に時間がかかり、システム開発のコストが増加してしまう。
本発明は、アタックツリーの生成に要する計算量を削減できるようにすることを目的とする。
本発明のアタックツリー生成装置は、
セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、を備える。
本発明によれば、対象システムのアタックツリーの生成に要する計算量を削減することができる。
実施の形態1におけるアタックツリー生成装置100の構成図。 実施の形態1における記憶部190の構成図。 実施の形態1におけるアタックツリー生成方法(概要)のフローチャート。 実施の形態1におけるルートツリー910を示す図。 実施の形態1における子ツリー920_1を示す図。 実施の形態1におけるルートツリー910の別例を示す図。 実施の形態1におけるアタックツリー900を示す図。 実施の形態1におけるアタックツリー900の別例を示す図。 実施の形態1におけるアタックツリー生成方法(詳細)のフローチャート。 実施の形態1におけるサブアタックツリー群生成処理(S130)のフローチャート。 実施の形態1における子孫ツリー群生成処理(S133)のフローチャート。 実施の形態2におけるアタックツリー生成装置200の構成図。 実施の形態2における記憶部290の構成図。 実施の形態2におけるアタックツリー生成方法のフローチャート。 実施の形態3におけるアタックツリー生成装置300の構成図。 実施の形態3におけるアタックツリー生成方法のフローチャート。 実施の形態4におけるアタックツリー生成装置400の構成図。 実施の形態4におけるアタックツリー生成方法(概要)のフローチャート。 実施の形態4におけるアタックツリー生成方法(詳細)のフローチャート。 実施の形態5におけるアタックツリー生成装置500の構成図。 実施の形態5におけるアタックツリー生成方法のフローチャート。 実施の形態におけるアタックツリー生成装置(100,200,300)のハードウェア構成図。
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
アタックツリー生成装置100について、図1から図11に基づいて説明する。
アタックツリー生成装置100は、複数のサブシステムのそれぞれのアタックツリーを生成し、複数のサブシステムに対応する複数のアタックツリーを統合する。これにより、システム全体のアタックツリーが得られる。
***構成の説明***
図1に基づいて、アタックツリー生成装置100の構成を説明する。
アタックツリー生成装置100は、プロセッサ101とメモリ102と補助記憶装置103と入出力インタフェース104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ101は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
メモリ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の略称である。
アタックツリー生成装置100は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140といった要素を備える。これらの要素はソフトウェアで実現される。
侵入経路予測部120は、侵入データ取得部121とルートシステム選択部122と侵入経路リスト生成部123とを備える。
サブアタックツリー生成部130は、ルートツリー生成部131と子孫システム選択部132と子孫ツリー生成部133とを備える。
補助記憶装置103には、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
つまり、プロセッサ101は、OSを実行しながら、アタックツリー生成プログラムを実行する。
アタックツリー生成プログラムの入出力データは記憶部190に記憶される。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
アタックツリー生成装置100は、プロセッサ101を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ101の役割を分担する。
アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図2に基づいて、記憶部190の構成を説明する。
記憶部190には、システム構成データ191、脅威リスト192、推論ルール193および侵入経路リスト194などが記憶される。これらのデータの内容については後述する。
***動作の説明***
アタックツリー生成装置100の動作はアタックツリー生成方法に相当する。また、アタックツリー生成方法の手順はアタックツリー生成プログラムの手順に相当する。
セキュリティ対策の対象となるシステムを「対象システム」と称する。
対象システムにおけるセキュリティの脅威を「対象脅威」と称する。
図3に基づいて、アタックツリー生成方法の概要を説明する。
ステップS101において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム構成データ191は、対象システムの構成を示すデータである。
サブシステムは、対象システムの一部を構成するシステムである。
ステップS102において、ルートシステム選択部122は、対象脅威の内容を示す脅威データに基づいて、複数のサブシステムから、対象脅威が発生するサブシステムを選択する。選択されるサブシステムを「ルートシステム」と称する。
対象脅威の内容を示す脅威データは、脅威リスト192に含まれる。
ステップS103において、ルートツリー生成部131は、ルートシステムに対してアタックツリー生成処理を実行することにより、ルートシステムのアタックツリーを生成する。生成されるアタックツリーを「ルートツリー」と称する。
アタックツリー生成処理は、アタックツリーを生成するための任意の処理である。
アタックツリーは、システムセキュリティにおける脅威が発生するまでの攻撃過程を表すツリー状のグラフである。
ルートツリー生成部131は、ルートツリーを以下のように生成する。
ルートツリー生成部131は、対象脅威を表すルートノードを持つアタックツリーを生成する。生成されるアタックツリーがルートツリーである。
ルートツリー生成部131は、対象脅威を表すノードをルートノードにしてアタックツリー生成処理を開始する。そして、ルートツリー生成部131は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれにルートシステムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時のアタックツリーがルートツリーである。
図4に基づいて、ルートツリー910を説明する。
ルートツリー910は、対象システムのアタックツリーの一例である。
ルートツリー910は、ルートノード911を有する。
ルートノード911は、対象脅威を表す。
ルートツリー910は、内部ノード912を有する。
内部ノード912は、ルートノード911から末端ノード913_1までの経路の途中に位置し、攻撃活動(1)を表す。
ルートツリー910は、末端ノード(913_1〜913_3)を有する。末端ノード(913_1〜913_3)を特定しない場合、それぞれを末端ノード913と称する。
それぞれの末端ノード913は、対象システムへの侵入を意味する攻撃活動を表す。
ルートツリー910は、論理ゲート(914_1、914_2)を有する。論理ゲート(914_1、914_2)を特定しない場合、それぞれを論理ゲート914と称する。
それぞれの論理ゲート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との論理積を表している。
図3に戻り、ステップS104から説明を続ける。
ステップS104において、子孫システム選択部132は、侵入経路データに基づいて、複数のサブシステムから、対象システムにおけるルートシステムへの侵入経路に位置する1つ以上のサブシステムを選択する。選択される1つ以上のサブシステムを「1つ以上の子孫システム」と称する。
侵入経路データは、侵入経路リスト194に含まれる。
子孫システム選択部132は、1つ以上の子孫システムを以下のように選択する。
子孫システム選択部132は、ルートシステムを親システムとして扱い、侵入経路において親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「子システム」と称する。
子孫システム選択部132は、前回の子システムを今回の親システムとして扱い、侵入経路において今回の親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「今回の子システム」と称する。
ステップS105において、子孫ツリー生成部133は、1つ以上の子孫システムのそれぞれに対してアタックツリー生成処理を実行することにより、1つ以上の子孫システムに対応する1つ以上のアタックツリーを生成する。生成される1つ以上のアタックツリーを「1つ以上の子孫ツリー」と称する。
子孫ツリー生成部133は、1つ以上の子孫ツリーを以下のように生成する。
子孫ツリー生成部133は、ルートツリーを親ツリーとして扱い、親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、ルートツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、がルートツリーに対する1つ以上の子ツリーである。
子孫ツリー生成部133は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに今回の子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、今回の親ツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、が今回の親ツリーに対する1つ以上の子ツリーである。
図5に基づいて、子ツリー920_1を説明する。
子ツリー920_1は、子システム(1)のアタックツリーの一例である。
子システム(1)は、対象システムへの侵入経路において対象システムの1つ前に位置するサブシステムである。つまり、子システム(1)は、対象システム(親システム)に対する子システムである。
子ツリー920_1は、ルートツリー910(親ツリー)に対する子ツリーに相当する。
子ツリー920_1は、ルートノード921を有する。
ルートノード921は、ルートツリー910(図4参照)の末端ノード913_1と同じ攻撃活動を表す。
子ツリー920_1は、ルートツリー910(図4参照)と同様に、1つ以上の論理ゲート(924_1)と、1つ以上の内部ノードと、1つ以上の末端ノード(923_1〜923_N)とを有する。
末端ノード(923_1〜923_N)を特定しない場合、それぞれを末端ノード923と称する。
それぞれの末端ノード923は、子システム(1)への侵入を意味する攻撃活動を表す。
子ツリー920_1と同様に、子ツリー920_2(図示省略)および子ツリー920_3(図示省略)が生成される。
それぞれの子ツリー(920_2、920_3)は、子システム(1)のアタックツリーである。
それぞれの子ツリー(920_2、920_3)は、ルートツリー910(親ツリー)に対する子ツリーに相当する。
子ツリー920_2において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_2と同じ攻撃活動を表す。
子ツリー920_3において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_3と同じ攻撃活動を表す。
さらに、3つの子ツリー(920_1〜920_3)の複数の末端ノードに対する複数の孫ツリーが生成される。
それぞれの孫ツリーは、子システム(2)のアタックツリーである。子システム(2)は、対象システムへの侵入経路において子システム(1)の1つ前に位置するサブシステムである。つまり、子システム(2)は、子システム(1)に対する子システムである。
それぞれの孫ツリーは、子ツリー(920_1〜920_3)に対する子ツリーに相当する。
それぞれの孫ツリーにおいて、ルートノードは、子ツリー(920_1〜920_3)の末端ノードと同じ攻撃活動を表す。
それぞれの孫ツリーにおいて、末端ノードは、子システム(2)への侵入を意味する攻撃活動を表す。
以降、前回の子システムを今回の親システムとして扱い、前回の子ツリーを今回の親ツリーとして扱い、前回の子システムが対象システムへの侵入経路における先頭のサブシステムになるまで、子孫ツリーの生成が繰り返される。
図3に戻り、ステップS105の説明を続ける。
子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分けてもよい。この場合、子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードグループのそれぞれをルートノードにして、(今回の)親ツリーに対する1つ以上の子ツリーを生成する。
例えば、子孫ツリー生成部133は、以下のように動作する。
図6に示すように、子孫ツリー生成部133は、末端ノード913_1と末端ノード913_2とをまとめて末端ノード913_Gを生成する。
そして、子孫ツリー生成部133は、末端ノード913_Gと同じ攻撃活動を表すルートノードを有する子ツリーを生成する。
図3に戻り、ステップS106を説明する。
ステップS106において、サブアタックツリー統合部140は、ルートツリーと1つ以上の子孫ツリーとを統合する。
これにより、対象システムのアタックツリーが生成される。
図7に基づいて、アタックツリー900を説明する。
アタックツリー900は、対象システムのアタックツリーの一例である。
アタックツリー900は、ルートツリー910と子孫ツリー群901とを含む。
子孫ツリー群901は、1つ以上の子孫ツリーである。
それぞれの子孫ツリーのルートノードは、親ツリーの端末ノードと同じである。
対象システムにおけるルートシステムへの侵入経路が複数ある場合、アタックツリー生成装置100は以下のように動作する。
子孫システム選択部132は、侵入経路毎に子孫システム群を選択する。これにより、複数の侵入経路に対応する複数の子孫システム群が選択される。子孫システム群は、1つ以上の子孫システムである。
子孫ツリー生成部133は、子孫システム群毎に子孫ツリー群を生成する。これにより、複数の侵入経路に対応する複数の子孫ツリー群が生成される。
サブアタックツリー統合部140は、複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである。
そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。つまり、サブアタックツリー統合部140は、共通の親ツリーの共通の末端ノードに論理和ゲートを接続し、兄弟ツリーのそれぞれのルートノードを論理和ゲートに接続する。論理和ゲートは論理和を表す。
図8に基づいて、対象システムへの複数の侵入経路がある場合のアタックツリー900を説明する。
兄弟ツリー903のそれぞれは、共通ノード904と同じルートノードを持つ。共通ノード904は、共通の親ツリー(ルートツリー910)の共通の末端ノードである。
兄弟ツリー903のそれぞれのルートノードは、論理和ゲート902を介して共通ノード904に接続される。
図9に基づいて、アタックツリー生成方法の詳細を説明する。
ステップS110において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム分割部110は、以下のように、対象システムを複数のサブシステムに分割する。
システム構成データ191は、対象システムの構成を示す。対象システムの構成は、推論ルール193に適した論理式で表される。但し、対象システムの構成は、論理式以外の情報で表されてもよい。その場合、システム分割部110は、対象システムの構成情報を論理式に変換する。例えば、システム分割部110は、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールによって、対象システムの構成情報を論理式に変換する。
システム分割部110は、システム構成データ191を複数のサブシステム構成データに分割する。システム構成データ191が対象システムに対応し、複数のサブシステム構成データが複数のサブシステムに対応する。それぞれのサブシステム構成データは、サブシステムの構成を論理式によって示す。
具体的には、システム分割部110は、分割基準に従って、システム構成データ191に示される論理式を複数の論理式に分割する。複数の論理式が複数のサブシステム構成データに相当する。例えば、分割基準は利用者によって指定される。
分割基準は任意の基準である。分割基準の具体例は、サブネット単位による分割、ネットワーク境界(例えば、ファイアウォール)での分割、装置種別に基づくグループ分けなどである。装置種別とは、例えば、OSの種類である。同じサブネットに接続される複数の利用者端末には同じOSがインストールされることが想定される。
但し、利用者が、分割基準に基づいて対象システムの分割を判断し、アタックツリー生成装置100に対して対象システムの分割を指示してもよい。この場合、システム分割部110は、利用者の指示に従って、対象システムを複数のサブシステムに分割する。
なお、分割数(サブシステムの数)が大きいほど、対象システムのアタックツリーを生成するための計算量が増える。そのため、分割数は闇雲に大きくしないほうがよい。
ステップS121において、侵入データ取得部121は、脅威リスト192から対象脅威データを取得する。
脅威リスト192は、複数の脅威データを含む。それぞれの脅威データは、対象システムにおけるセキュリティの脅威の内容を示す。脅威の内容は、推論ルール193に適した論理式で表される。
対象脅威データは、対象脅威についての脅威データである。
例えば、侵入データ取得部121は、脅威リスト192から、先頭の脅威データを取得する。取得される脅威データが対象脅威データである。
但し、侵入データ取得部121は、対象脅威データを別の方法で取得してもよい。例えば、利用者が、脅威リスト192に含まれる複数の脅威データから対象脅威データを選択し、アタックツリー生成装置100に対して対象脅威データを指定する。そして、侵入データ取得部121は、指定された対象脅威データを脅威リスト192から取得する。
ステップS122において、ルートシステム選択部122は、対象脅威データに基づいて、複数のサブシステムからルートシステムを選択する。
ルートシステムは、対象脅威が発生するサブシステムである。
ルートシステム選択部122は、ルートシステムを以下のように選択する。
対象脅威データは、対象脅威が発生するシステム要素を示す。例えば、システム要素は、装置(コンピュータ)、装置にインストールされているアプリケーションプログラム、または、その他の情報資産である。
まず、ルートシステム選択部122は、対象脅威データを参照することによって、対象脅威が発生するシステム要素を特定する。特定されるシステム要素を対象要素と称する。
そして、ルートシステム選択部122は、システム構成データ191を参照し、対象要素が接続されたサブネットを特定する。特定されるサブネットに対応するサブシステムがルートシステムである。
ステップS123において、侵入経路リスト生成部123は、基点システムからルートシステムまでの侵入経路をリスト化する。これにより、侵入経路リスト194が生成される。
侵入経路リスト194は、1つ以上の侵入経路データを含む。侵入経路が2つある場合、侵入経路リスト194は2つの侵入経路データを含む。
基点システムとは、対象システムにおいて攻撃の起点となるサブシステムである。攻撃の起点となる端末を起点端末と称する。起点端末が対象システムの内部の要素である場合、起点システムは、起点端末が接続されたサブネットに対応するサブシステム、つまり、起点端末が属するサブシステムである。起点端末が対象システムの外部の要素である場合、起点システムは、対象システムの外部と通信することが可能なサブシステム、つまり、外部のネットワークに接続されたサブシステムである。
ステップS130において、サブアタックツリー生成部130は、侵入経路リスト194に示される侵入経路毎に、サブアタックツリー群を生成する。
サブアタックツリー群は、1つ以上のサブアタックツリーである。
サブアタックツリーは、サブシステムのアタックツリーである。
図10に基づいて、サブアタックツリー群生成処理(S130)の手順を説明する。
ステップS131において、ルートツリー生成部131は、推論ルール193を用いて、ルートツリーを生成する。
推論ルール193は、対象システムのアタックツリーを生成するための推論ルールである。推論ルール193は、セキュリティの各種の脅威と各種のサイバー攻撃手法の実行順序に関する論理的なルールであり、各種の脅威の発生条件と各種のサイバー攻撃手法の成立条件とを判定できるように定義されている。対象システムに対応するルールを特定することができれば、推論ルール193の推論体系および推論ルール193のデータ形式は任意である。また、推論ルール193の中に定義されているルールの数も任意である。
具体的には、ルートツリー生成部131は、ルートシステム構成データと対象脅威データと推論ルール193とを入力として、アタックツリー自動生成ツールを実行する。
ルートシステム構成データは、ルートシステムの構成を示すサブシステム構成データである。
使用されるアタックツリー自動生成ツールは従来のツールで構わない。例えば、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールを使用することが可能である。
但し、ルートツリー生成部131は、生成中のアタックツリーのそれぞれの経路にルートシステム侵入ノードが現れた段階で、アタックツリー自動生成ツールの実行を中断する。ルートシステム侵入ノードは、ルートシステムへの侵入を意味するノードである。
これにより、ルートツリーが得られる。ルートツリー生成部131は、ルートツリーをデータとして記憶部190に記憶する。
ステップS132において、子孫システム選択部132は、侵入経路リスト194から、未選択の侵入経路データを1つ選択する。
選択される侵入経路データを選択経路データと称し、選択経路データに示される侵入経路を選択経路と称する。
ステップS133において、子孫ツリー生成部133は、選択経路に対する子孫ツリー群を生成する。子孫ツリー群は1つ以上の子孫ツリーである。
子孫ツリー群生成処理(S133)の手順については後述する。
ステップS134において、子孫システム選択部132は、ステップS132で選択されていない侵入経路(未選択の侵入経路)があるか判定する。
未選択の侵入経路がある場合、処理はステップS132に進む。
未選択の侵入経路がない場合、サブアタックツリー群生成処理(S130)は終了する。
但し、ステップS132からステップS134までの処理は、並列処理で実現してもよい。つまり、複数の侵入経路に対する複数の子孫ツリー群を並列処理によって同時に生成してもよい。
図11に基づいて、子孫ツリー群生成処理(S133)の手順を説明する。
ステップS1331において、子孫システム選択部132は、ルートシステムを親システムにして、親システムに対する子システムを特定する。
子システムは、選択経路において親システムの1つ前に位置するサブシステムである。
ステップS1332において、子孫ツリー生成部133は、親ツリーの末端ノード毎に、推論ルール193を用いて子ツリーを生成する。
親ツリーは、親システムのアタックツリーである。
子ツリーは、子システムのアタックツリーである。
具体的には、子孫ツリー生成部133は、子システム構成データと推論ルール193とを入力として、アタックツリー自動生成ツールを実行する。
子システム構成データは、子システムの構成を示すサブシステム構成データである。
使用されるアタックツリー自動生成ツールは、ステップS131で使用されるツールと同じである。
但し、子孫ツリー生成部133は、生成中のアタックツリーのそれぞれの経路に子システム侵入ノードが現れた段階で、アタックツリー自動生成ツールの実行を中断する。子システム侵入ノードは、子システムへの侵入を意味するノードである。
これにより、子ツリーが得られる。子孫ツリー生成部133は、子ツリーをデータとして記憶部190に記憶する。
ステップS1332は並列処理で実現してもよい。つまり、親ツリーの複数の末端ノードに対する複数の子ツリーを並列処理によって同時に生成してもよい。
ステップS1333において、子孫システム選択部132は、子システムが起点システムであるか判定する。
起点システムは、選択経路における先頭のサブシステムである。
子システムが起点システムである場合、子孫ツリー群生成処理(S133)は終了する。
子システムが起点システムでない場合、処理はステップS1334に進む。
ステップS1334において、子孫システム選択部132は、子システムを親システムにして、親システムに対する子システムを特定する。
ステップS1334の後、処理はステップS1332に進む。
図9に戻り、ステップS141から説明を続ける。
ステップS141において、サブアタックツリー統合部140は、全てのサブアタックツリー群を統合する。
これにより、対象システムのアタックツリーが得られる。サブアタックツリー統合部140は、対象システムのアタックツリーをデータとして記憶部190に記憶する。
但し、サブアタックツリー統合部140は以下のように動作する。
サブアタックツリー統合部140は、全てのサブアタックツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードを同じルートノードを持つ複数の子ツリーである。
そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。
ステップS142において、サブアタックツリー統合部140は、対象システムのアタックツリーを出力する。
例えば、サブアタックツリー統合部140は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態1の効果***
論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態1では、複数のサブシステムに対応する複数のサブアタックツリーが生成された後に複数のサブアタックツリーを結合することによって、対象システムのアタックツリーが生成される。
サブシステムの規模は対象システムの規模よりも小さいため、サブアタックツリーを生成するための計算量が増大しない。その結果、対象システムのアタックツリーの生成に要する計算量を削減することができる。
実施の形態2.
アタックツリー生成装置200について、主に実施の形態1と異なる点を図12から図14に基づいて説明する。
アタックツリー生成装置200は、対象システムの専用の推論ルールを生成し、専用の推論ルールを用いて対象システムのアタックツリーを生成する。
***構成の説明***
図11に基づいて、アタックツリー生成装置200の構成を説明する。
アタックツリー生成装置200は、プロセッサ201とメモリ202と補助記憶装置203と入出力インタフェース204といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201はCPU、DSPまたはGPUである。
メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
入出力インタフェース204は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース204はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成装置200は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置203には、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
さらに、補助記憶装置203にはOSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
つまり、プロセッサ201は、OSを実行しながら、アタックツリー生成プログラムを実行する。
アタックツリー生成プログラムの入出力データは記憶部290に記憶される。
メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
アタックツリー生成装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の役割を分担する。
アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図13に基づいて、記憶部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種別、アプリケーション種別および情報資産種別である。
ステップS212において、専用基礎情報取得部210は、対象システムの種別に対応するルール基礎情報をルール基礎情報データベース295から取得する。
取得されるルール基礎情報を「専用基礎情報」と称する。
ルール基礎情報データベース295には、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられている。
ルール基礎情報は、推論ルールを生成するための情報である。
具体的には、ルール基礎情報データベース295は、脅威データベース2951および攻撃手法データベース2952である。
脅威データベース2951には、各種の脅威テンプレートが登録されている。それぞれの脅威テンプレートには種別タグが付加されている。脅威テンプレートは、脅威リストに登録される脅威データのインスタンスである。脅威テンプレートには、脅威を引き起こすための事前条件が定義されている。事前条件は、論理式、または、論理式に変換可能な表現、で定義されている。対象システムのシステム要素の情報(装置名または情報資産名など)を脅威テンプレートに設定することにより、対象脅威データが生成される。対象脅威データは、例えば、専用基礎情報取得部210またはアタックツリー生成部230によって生成される。
攻撃手法データベース2952には、サイバー攻撃の手法が登録されている。それぞれの攻撃手法には種別タグが付加されている。攻撃手法は、その手法を使用するための事前条件とその攻撃によって発生する効果(攻撃効果)とを含む。事前条件および攻撃効果は、論理式、または論理式に変換可能な表現、で定義されている。
ステップS230において、専用推論ルール生成部220は、複数のルール基礎情報のうちの専用基礎情報だけを用いて、推論ルール生成処理を実行する。これにより、対象システムの専用推論ルールが生成される。生成される専用推論ルールが推論ルール293である。
推論ルール生成処理は、推論ルールを生成するための任意の処理である。例えば、特許文献1に開示された方式を使用することが可能である。特許文献1には、攻撃シナリオを導出するための推論ルールを自動生成するための方式が開示されている。この方式では、攻撃手法の定義(事前条件および攻撃効果)を用いて、推論ルールが自動生成される。
推論ルール生成処理において、専用推論ルール生成部220は次のように動作する。まず、専用推論ルール生成部220は、脅威(または攻撃手法)の事前条件を充足する攻撃効果を持つ攻撃手法の組み合わせを特定する。次に、専用推論ルール生成部220は、特定された組み合わせに基づいて、脅威(または攻撃手法)の実行順序を特定する。そして、専用推論ルール生成部220は、特定された実行順序に基づいて、専用推論ルールを生成する。
ステップS231において、アタックツリー生成部230は、専用推論ルールを用いて、アタックツリー生成処理を実行する。これにより、対象システムのアタックツリーが生成される。
アタックツリー生成処理は、アタックツリーを生成するための任意の処理である(実施の形態1と同じ)。
ステップS232において、アタックツリー生成部230は、対象システムのアタックツリーを出力する。
例えば、アタックツリー生成部230は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態2の効果***
論理推論型のアタックツリー自動生成ツールには、推論ルールの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態2では、対象システムの種別に関するルールに限定した専用推論ルールが生成された後に専用推論ルールを用いて対象システムのアタックツリーが生成される。
対象システムの種別に関するルールに限定された専用推論ルールが使用されるため、対象システムのアタックツリーの生成に要する計算量を削減することができる。
実施の形態3.
アタックツリー生成装置300について、主に実施の形態1と異なる点を図15および図16に基づいて説明する。
アタックツリー生成装置300は、アタックツリー生成装置100(実施の形態1)とアタックツリー生成装置200(実施の形態2)との組み合わせである。
***構成の説明***
図15に基づいて、アタックツリー生成装置300の構成を説明する。
アタックツリー生成装置300は、プロセッサ301とメモリ302と補助記憶装置303と入出力インタフェース304といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPU、DSPまたはGPUである。
メモリ302は揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
入出力インタフェース304は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース304はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成装置300は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310といった要素を備える。これらの要素はソフトウェアで実現される。
アタックツリー生成部310は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを備える。
システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
専用基礎情報取得部210と専用推論ルール生成部220とのそれぞれは、実施の形態2における要素である。
補助記憶装置303には、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
さらに、補助記憶装置303にはOSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
つまり、プロセッサ301は、OSを実行しながら、アタックツリー生成プログラムを実行する。
アタックツリー生成プログラムの入出力データは記憶部290に記憶される。記憶部290は、実施の形態2における要素である。
メモリ302は記憶部290として機能する。但し、補助記憶装置303、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部290として機能してもよい。
アタックツリー生成装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ301の役割を分担する。
アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
図16に基づいて、アタックツリー生成方法を説明する。
ステップS310において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
ステップS310は、実施の形態1におけるステップS110と同じである。
ステップS320において、専用推論ルール生成部220は、サブシステム毎に専用推論ルールを生成する。これにより、複数のサブシステムに対応する複数の専用推論ルールが生成される。生成される複数の専用推論ルールを専用推論ルール群と称する。
サブシステムの専用推論ルールを生成する方法は、実施の形態2における方法(ステップS211〜ステップS220)と同様である。
ステップS330において、アタックツリー生成部310は、専用推論ルール群を用いて、対象システムのアタックツリーを生成する。
対象システムのアタックツリーを生成する方法は、実施の形態1における方法(ステップS121〜ステップS141)と同様である。サブシステムのアタックツリーの生成には、サブシステムの専用推論ルールが使用される。
ステップS340において、アタックツリー生成部310は、対象システムのアタックツリーを出力する。
例えば、アタックツリー生成部310は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態3の効果***
実施の形態3では、実施の形態1と実施の形態2との両方の効果が得られるため、アタックツリーの生成に要する計算量をさらに削減することができる。
実施の形態4.
アタックツリー生成装置400について、主に実施の形態1と異なる点を図17から図19に基づいて説明する。
アタックツリー生成装置400は、自動で、対象システムを複数のサブシステムに分割する。
***構成の説明***
図17に基づいて、アタックツリー生成装置400の構成を説明する。
アタックツリー生成装置400は、プロセッサ401とメモリ402と補助記憶装置403と入出力インタフェース404といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ401は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ401はCPU、DSPまたはGPUである。
メモリ402は揮発性の記憶装置である。メモリ402は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ402はRAMである。メモリ402に記憶されたデータは必要に応じて補助記憶装置403に保存される。
補助記憶装置403は不揮発性の記憶装置である。例えば、補助記憶装置403は、ROM、HDDまたはフラッシュメモリである。補助記憶装置403に記憶されたデータは必要に応じてメモリ402にロードされる。
入出力インタフェース404は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース404はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成装置400は、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140といった要素を備える。これらの要素はソフトウェアで実現される。
システム分割部410は、実施の形態1におけるシステム分割部110に相当する要素である。
侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
補助記憶装置403には、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ402にロードされて、プロセッサ401によって実行される。
さらに、補助記憶装置403にはOSが記憶されている。OSの少なくとも一部は、メモリ402にロードされて、プロセッサ401によって実行される。
つまり、プロセッサ401は、OSを実行しながら、アタックツリー生成プログラムを実行する。
アタックツリー生成プログラムの入出力データは記憶部190に記憶される。記憶部190は、実施の形態1における要素である。
メモリ402は記憶部190として機能する。但し、補助記憶装置403、プロセッサ401内のレジスタおよびプロセッサ401内のキャッシュメモリなどの記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、記憶部190として機能してもよい。
アタックツリー生成装置400は、プロセッサ401を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ401の役割を分担する。
アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
図18に基づいて、アタックツリー生成方法の概要を説明する。
ステップS401において、システム分割部410は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
システム分割部410は、対象システムを以下のように分割する。
システム構成データ191は、通信を行う複数の装置と、複数の装置を繋ぐ1つ以上の通信路と、を対象システムの構成として示す。
まず、システム分割部410は、システム構成データ191に基づいてシステム構成グラフを生成する。システム構成グラフは、対象システムを表すグラフであり、複数の装置を表す複数のノードと1つ以上の通信路を表す1つ以上のエッジとを含む。
次に、システム分割部410は、システム構成グラフの中の各ノードに対してグラフ理論における中心性を評価する。
次に、システム分割部410は、評価結果に基づいて、対象システムの分割点となる1つ以上のノードを決定する。
そして、システム分割部410は、決定した1つ以上のノードのそれぞれを分割点にして、システム構成グラフで表された対象システムを複数のサブシステムに分割する。
ステップS402からステップS406は、実施の形態1におけるステップS102からステップS106と同じである。
図19に基づいて、アタックツリー生成方法の詳細を説明する。
ステップS410において、システム分割部410は、自動で、システム構成データ191に基づいて対象システムを複数のサブシステムに分割する。
ステップS410は、実施の形態1におけるステップS110に相当する。
以下に、ステップS110と比較して、ステップS410を説明する。
ステップS110では、(1)から(3)の方法による分割を説明した。
(1)ファイアウォールなどのセキュリティ装置を境界とする分割。
(2)装置種別毎のまとまりによる分割。
(3)利用者によって指定される分割点に基づく分割。
ただし、(1)または(2)の方法では、分割のために開発者がセキュリティ装置または装置種別を選定する。そのため、開発者のコストがかかる。
また、(3)の方法では、分割のために利用者がシステム構成から分割点(装置)を選択する。そのため、利用者のコストがかかる。
つまり、(1)から(3)の方法では、分割のために、人による何らかの事前準備が必要になる。そのため、事前準備のコストがかかる。
ステップS410では、事前準備のコストを削減するために、以下のような分割が行われる。
システム分割部410は、システム構成データ191に基づいて、システム構成グラフを生成する。システム構成グラフにおいて、各ノードは装置を表し、各エッジは通信路を表す。そして、システム分割部410は、各ノードの特徴量を評価することで、自動的に分割点を決定する。
具体的には、システム分割部410は、グラフ理論における中心性のひとつである「媒介中心性」を利用する。
対象ノードの媒介中心性は、グラフ全体においてノード間の最短経路の中に含まれる対象ノードの割合を評価したものである。この値が高いと、対象ノードがノード間の中継地点となっていてコミュニティ同士の連結役となっている確率が高い、と判断される。
したがって、システム分割部410は、媒介中心性を評価することで、コミュニティ(サブシステム)の連結役となっているノード(装置)を自動的に特定することができる。
一般的に、セキュリティ分析時には、対象システムのネットワーク構成が情報として与えられる。そのため、媒介中心性を計算するために必須な情報であるノードの情報とエッジの情報が入手可能である。具体的には、システム構成データ191から必須な情報を入手可能である。
この方式は、IT、計装または車載などのシステム種別に依存せず、広く適応できる。
また、媒介中心性の計算はシステム規模に対して比較的高速である。媒介中心性の計算量は、O(N^2+N×M)で表される。「N」はノード数を意味し、「M」はエッジ数を意味する。
加えて、媒介中心性に基づく分割により、結果的に対象システムが適切に分割されると予想される。この理由を次に述べる。
前提として、アタックツリー生成のための計算時間は、攻撃シナリオを分析する際の侵入経路の長さに依存し、多項式の二乗オーダーで長くなる。そして、媒介中心性の計算式によって、各ノード(装置)の媒介中心性が評価される。グラフ全体において任意の二点間の最短経路を考えた際に、対象ノードが含まれる割合が多いほど、対象ノードは高く評価される。このため、媒介中心性が高い装置で対象システムが分割されれば、侵入経路全体において分割後の侵入経路の数が多くなると考えられる。
システム分割部410は、グラフ理論における中心性として、媒介中心性以外の中心性を分割点の評価のために採用してもよい。
例えば、システム分割部410は、次数中心性またはPageRankなどの中心性を分割点の評価のために採用してもよい。
但し、上記の考察から、媒介中心性を利用した方が効果をより高めることができる、と考えられる。
***実施の形態4の効果***
実施の形態4により、システム分割を自動化することが可能になる。その結果、計算効率化という効果が得られる。さらに、アタックツリー生成装置400の開発時における開発者のコスト、および、アタックツリー生成装置400の利用時における利用者のコスト、を削減することが可能となる。
実施の形態5.
アタックツリー生成装置500について、主に実施の形態4と異なる点を図20および図21に基づいて説明する。
アタックツリー生成装置500は、アタックツリー生成装置400(実施の形態4)とアタックツリー生成装置200(実施の形態2)との組み合わせである。
図20に基づいて、アタックツリー生成装置500の構成を説明する。
アタックツリー生成装置500は、プロセッサ501とメモリ502と補助記憶装置503と入出力インタフェース504といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ501は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ501はCPU、DSPまたはGPUである。
メモリ502は揮発性の記憶装置である。メモリ502は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ502はRAMである。メモリ502に記憶されたデータは必要に応じて補助記憶装置503に保存される。
補助記憶装置503は不揮発性の記憶装置である。例えば、補助記憶装置503は、ROM、HDDまたはフラッシュメモリである。補助記憶装置503に記憶されたデータは必要に応じてメモリ502にロードされる。
入出力インタフェース504は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース504はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
アタックツリー生成装置500は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部510といった要素を備える。これらの要素はソフトウェアで実現される。
アタックツリー生成部510は、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを備える。
システム分割部410は、実施の形態4における要素である。
侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
専用基礎情報取得部210と専用推論ルール生成部220とのそれぞれは、実施の形態2における要素である。
補助記憶装置503には、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部510としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ502にロードされて、プロセッサ501によって実行される。
さらに、補助記憶装置503にはOSが記憶されている。OSの少なくとも一部は、メモリ502にロードされて、プロセッサ501によって実行される。
つまり、プロセッサ501は、OSを実行しながら、アタックツリー生成プログラムを実行する。
アタックツリー生成プログラムの入出力データは記憶部290に記憶される。記憶部290は、実施の形態2における要素である。
メモリ502は記憶部290として機能する。但し、補助記憶装置503、プロセッサ501内のレジスタおよびプロセッサ501内のキャッシュメモリなどの記憶装置が、メモリ502の代わりに、又は、メモリ502と共に、記憶部290として機能してもよい。
アタックツリー生成装置500は、プロセッサ501を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ501の役割を分担する。
アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
図21に基づいて、アタックツリー生成方法を説明する。
ステップS510において、システム分割部410は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
ステップS510は、実施の形態4におけるステップS410と同じである。
ステップS520において、専用推論ルール生成部220は、サブシステム毎に専用推論ルールを生成する。これにより、複数のサブシステムに対応する複数の専用推論ルールが生成される。生成される複数の専用推論ルールを専用推論ルール群と称する。
サブシステムの専用推論ルールを生成する方法は、実施の形態2における方法(ステップS211〜ステップS220)と同様である。
ステップS530において、アタックツリー生成部510は、専用推論ルール群を用いて、対象システムのアタックツリーを生成する。
対象システムのアタックツリーを生成する方法は、実施の形態1における方法(ステップS121〜ステップS141)と同様である。サブシステムのアタックツリーの生成には、サブシステムの専用推論ルールが使用される。
ステップS540において、アタックツリー生成部510は、対象システムのアタックツリーを出力する。
例えば、アタックツリー生成部510は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態5の効果***
実施の形態5では、実施の形態4と実施の形態2との両方の効果が得られるため、アタックツリーの生成に要する計算量をさらに削減することができる。
***実施の形態のまとめ***
セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、対象システムの情報を入力するだけで、アタックツリーを生成することができる。システムの開発者は、生成されたアタックツリーを確認することで、セキュリティ対策案を検討することができる。つまり、アタックツリーは安全なシステム開発に役立つ。
従来、論理推論型のアタックツリー自動生成ツールが存在する。このツールは、サイバー攻撃の発生条件と対象システムの構成情報とを照らし合わせて推論を行う。これにより、アタックツリーが生成される。しかし、論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
実施の形態は、次の2つの技術により、アタックツリーの生成タスクを効率化する。(1)対象システムを複数のサブシステムに分割し、複数のサブシステムに対応する複数のサブアタックツリーを統合する。(2)アタックツリー(またはサブアタックツリー)の生成において、システム種別に限定した推論ルールを自動生成し、推論ルールのサイズを縮小する。
実施の形態により、対象システムの分割数に応じて多項式倍高速にアタックツリーを生成できる。その結果、セキュリティ対策を含めたシステム開発期間の短縮が期待できる。
***実施の形態の補足***
図22に基づいて、アタックツリー生成装置(100,200,300,400,500)のハードウェア構成を説明する。
アタックツリー生成装置100は処理回路109を備える。
処理回路109は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
アタックツリー生成装置200は処理回路209を備える。
処理回路209は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230とを実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
アタックツリー生成装置300は処理回路309を備える。
処理回路309は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310とを実現するハードウェアである。
処理回路309は、専用のハードウェアであってもよいし、メモリ302に格納されるプログラムを実行するプロセッサ301であってもよい。
アタックツリー生成装置400は処理回路409を備える。
処理回路409は、システム分割部410と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを実現するハードウェアである。
処理回路409は、専用のハードウェアであってもよいし、メモリ402に格納されるプログラムを実行するプロセッサ401であってもよい。
アタックツリー生成装置500は処理回路509を備える。
処理回路509は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部510とを実現するハードウェアである。
処理回路509は、専用のハードウェアであってもよいし、メモリ502に格納されるプログラムを実行するプロセッサ501であってもよい。
処理回路(109,209,309,409,509)が専用のハードウェアである場合、処理回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
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)において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、処理回路(109,209,309,409,509)はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
アタックツリー生成装置(100,200,300,400,500)は、複数の装置で実現されてもよい。つまり、アタックツリー生成装置は、システムとして実現されてもよい。
アタックツリー生成装置(100,200,300,400,500)の要素である「部」は、「処理」または「工程」と読み替えてもよい。
100 アタックツリー生成装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 入出力インタフェース、109 処理回路、110 システム分割部、120 侵入経路予測部、121 侵入データ取得部、122 ルートシステム選択部、123 侵入経路リスト生成部、130 サブアタックツリー生成部、131 ルートツリー生成部、132 子孫システム選択部、133 子孫ツリー生成部、140 サブアタックツリー統合部、190 記憶部、191 システム構成データ、192 脅威リスト、193 推論ルール、194 侵入経路リスト、200 アタックツリー生成装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 入出力インタフェース、209 処理回路、210 専用基礎情報取得部、220 専用推論ルール生成部、230 アタックツリー生成部、290 記憶部、291 システム構成データ、292 脅威リスト、293 推論ルール、294 侵入経路リスト、295 ルール基礎情報データベース、2951 脅威データベース、2952 攻撃手法データベース、300 アタックツリー生成装置、301 プロセッサ、302 メモリ、303 補助記憶装置、304 入出力インタフェース、309 処理回路、310 アタックツリー生成部、400 アタックツリー生成装置、401 プロセッサ、402 メモリ、403 補助記憶装置、404 入出力インタフェース、409 処理回路、410 システム分割部、500 アタックツリー生成装置、501 プロセッサ、502 メモリ、503 補助記憶装置、504 入出力インタフェース、509 処理回路、510 アタックツリー生成部、900 アタックツリー、901 子孫ツリー群、902 論理和ゲート、903 兄弟ツリー、904 共通ノード、910 ルートツリー、911 ルートノード、912 内部ノード、913 末端ノード、914 論理ゲート、920 子ツリー、921 ルートノード、923 末端ノード、924 論理ゲート。

Claims (15)

  1. セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
    前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
    前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
    前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
    前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
    前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、
    を備えるアタックツリー生成装置。
  2. 前記システム構成データは、通信を行う複数の装置と前記複数の装置を繋ぐ1つ以上の通信路とを前記対象システムの構成として示し、
    前記システム分割部は、前記複数の装置を表す複数のノードと前記1つ以上の通信路を表す1つ以上のエッジとを含んで前記対象システムを表すシステム構成グラフを前記システム構成データに基づいて生成し、前記システム構成グラフの中の各ノードに対してグラフ理論における中心性を評価し、評価結果に基づいて前記対象システムの分割点となる1つ以上のノードを決定し、決定した1つ以上のノードのそれぞれを分割点にして、前記システム構成グラフで表された前記対象システムを前記複数のサブシステムに分割する
    請求項1に記載のアタックツリー生成装置。
  3. 前記ルートツリー生成部は、前記脅威を表すルートノードを持つアタックツリーを前記ルートツリーとして生成する
    請求項1または請求項2に記載のアタックツリー生成装置。
  4. 前記ルートツリー生成部は、前記脅威を表すノードをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記ルートシステムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記ルートツリーを生成する
    請求項3に記載のアタックツリー生成装置。
  5. 前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
    前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードのそれぞれをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
    請求項4に記載のアタックツリー生成装置。
  6. 前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
    前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
    請求項5に記載のアタックツリー生成装置。
  7. 前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
    前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
    請求項4に記載のアタックツリー生成装置。
  8. 前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
    前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記今回の親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
    請求項7に記載のアタックツリー生成装置。
  9. 前記子孫システム選択部は、前記対象システムにおける前記ルートシステムへの複数の侵入経路がある場合、侵入経路毎に1つ以上の子孫システムである子孫システム群を選択し、
    前記子孫ツリー生成部は、子孫システム群毎に1つ以上の子孫ツリーである子孫ツリー群を生成し、
    前記サブアタックツリー統合部は、前記複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである兄弟ツリーを見つけ、論理和ゲートを介して前記兄弟ツリーのそれぞれのルートノードを前記共通の末端ノードに接続する
    請求項5から請求項8のいずれか1項に記載のアタックツリー生成装置。
  10. 前記アタックツリー生成装置は、さらに、
    複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記ルートシステムの種別に対応するルール基礎情報をルートシステム用基礎情報として取得し、前記基礎情報データベースから、それぞれの子孫システムの種別に対応するルール基礎情報を子孫システム用基礎情報として取得する専用基礎情報取得部と、
    前記複数のルール基礎情報のうちの前記ルートシステム用基礎情報だけを用いて推論ルール生成処理を実行することにより、ルートシステム用推論ルールを生成し、前記複数のルール基礎情報のうちのそれぞれの子孫システム用基礎情報だけを用いて前記推論ルール生成処理を実行することにより、それぞれの子孫システム用推論ルールを生成する専用推論ルール生成部とを備え、
    前記ルートツリー生成部は、前記ルートシステム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、前記ルートツリーを生成し、
    前記子孫ツリー生成部は、それぞれの子孫システム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、それぞれの子孫ツリーを生成する
    請求項1から請求項8のいずれか1項に記載のアタックツリー生成装置。
  11. システム分割部が、セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割し、
    ルートシステム選択部が、前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択し、
    ルートツリー生成部が、前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成し、
    子孫システム選択部が、前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択し、
    子孫ツリー生成部が、前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成し、
    サブアタックツリー統合部が、前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成する
    アタックツリー生成方法。
  12. セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割処理と、
    前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択処理と、
    前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成処理と、
    前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択処理と、
    前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成処理と、
    前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合処理と、
    をコンピュータに実行させるためのアタックツリー生成プログラム。
  13. セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得部と、
    前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成部と、
    前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成部と、
    を備えるアタックツリー生成装置。
  14. 専用基礎情報取得部が、セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得し、
    専用推論ルール生成部が、前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成し、
    アタックツリー生成部が、前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成する
    アタックツリー生成方法。
  15. セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得処理と、
    前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成処理と、
    前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成処理と、
    をコンピュータに実行させるためのアタックツリー生成プログラム。
JP2020558642A 2018-12-27 2019-12-20 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム Active JP6847330B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022038680A1 (ja) * 2020-08-18 2022-02-24 三菱電機株式会社 攻撃手段評価装置、攻撃手段評価方法、および、攻撃手段評価プログラム
WO2022091207A1 (ja) * 2020-10-27 2022-05-05 日本電気株式会社 リスク分析装置、分析対象要素決定装置、方法、及びコンピュータ可読媒体
CN115484105B (zh) * 2022-09-19 2024-02-02 北京犬安科技有限公司 攻击树的建模方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 交互数字专利控股公司 给设备提供安全性的方法和装置
CN102640161B (zh) * 2010-10-28 2015-10-21 松下电器产业株式会社 篡改监视系统、保护控制模组及检测模组
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
US10616270B2 (en) * 2014-11-10 2020-04-07 Nippon Telegraph And Telephone Corporation Optimization apparatus, optimization method, and optimization program
WO2016075825A1 (ja) * 2014-11-14 2016-05-19 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US10841332B2 (en) * 2015-12-14 2020-11-17 Siemens Industry, Inc. System and method for passive assessment of industrial perimeter security
WO2017187520A1 (ja) * 2016-04-26 2017-11-02 三菱電機株式会社 侵入検知装置、侵入検知方法及び侵入検知プログラム
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
JP6847330B2 (ja) 2021-03-24
WO2020136837A1 (ja) 2020-07-02
CN113228017A (zh) 2021-08-06
WO2020137847A1 (ja) 2020-07-02
CN113228017B (zh) 2024-05-14
US11899788B2 (en) 2024-02-13
US20210248231A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
US11153073B2 (en) Content validation using blockchain
JP6847330B2 (ja) アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
TWI498752B (zh) 使用簡易貝氏機率模型從未經結構化之資料中擷取資訊並將資訊映射至經結構化之架構描述
US20200210424A1 (en) Query engine for remote endpoint information retrieval
US11531773B2 (en) Verification of bitstreams
US8745026B1 (en) Collaborative modeling environment
TWI729763B (zh) 收集與驗證網路交通數據之系統以及方法
US11416631B2 (en) Dynamic monitoring of movement of data
US11005869B2 (en) Method for analyzing cyber threat intelligence data and apparatus thereof
JP6777612B2 (ja) コンピュータシステムにおけるデータ損失を防止するためのシステム及び方法
US10063563B2 (en) Trustworthiness of processed data
JP2018136763A (ja) 類似関数抽出装置および類似関数抽出プログラム
JP7259932B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
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
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
WO2021255841A1 (ja) 情報検索装置、情報検索方法、及びコンピュータ読み取り可能な記録媒体
US20240146755A1 (en) Risk-based vulnerability management
JP6599053B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20240080332A1 (en) System and method for gathering, analyzing, and reporting global cybersecurity threats
JP7210917B2 (ja) 検証情報生成装置、検証情報生成方法、及び検証情報生成プログラム
Liu et al. Graph neural network based approach to automatically assigning common weakness enumeration identifiers for vulnerabilities
CN116896468A (zh) 网络攻击事件的防护策略确定方法及相关设备
CN116150746A (zh) 一种攻击检测方法、装置、电子设备及存储介质
KR20230174954A (ko) 외부 유입 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체

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