CN113228017A - 攻击树生成装置、攻击树生成方法以及攻击树生成程序 - Google Patents

攻击树生成装置、攻击树生成方法以及攻击树生成程序 Download PDF

Info

Publication number
CN113228017A
CN113228017A CN201980085372.XA CN201980085372A CN113228017A CN 113228017 A CN113228017 A CN 113228017A CN 201980085372 A CN201980085372 A CN 201980085372A CN 113228017 A CN113228017 A CN 113228017A
Authority
CN
China
Prior art keywords
tree
attack
root
descendant
attack tree
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
CN201980085372.XA
Other languages
English (en)
Other versions
CN113228017B (zh
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 CN113228017A publication Critical patent/CN113228017A/zh
Application granted granted Critical
Publication of CN113228017B publication Critical patent/CN113228017B/zh
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 VisualizationTools Comparison中的Attack Graph Type(攻击图类型)为Logical attack graph(逻辑攻击图)的工具相当于逻辑推理型的攻击树自动生成工具。
在非专利文献3中,提出了被称作MulVAL的攻击树自动生成工具。
在MalVAL中,使用被称作Prolog的逻辑编程语言。MalVAL进行基于一阶谓词逻辑的推理,生成攻击树。针对系统的规模N,计算量为N的二次方至N的三次方的量级。
关于专利文献1,会在实施方式中提及。
[现有技术文献]
专利文献1:日本专利第6058246号公报
非专利文献1:Schneier,Bruce(December 1999).“Attack Trees”,<https://www.schneier.com/academic/archives/1999/12/attack_trees.html>
非专利文献2:Shengwei Yi,Yong Peng,Qi Xiong,Ting Wang,Zhonghua Dai,Haihui Gao,Junfeng Xu,Jiteng Wang,Lijuan Xu,“Overview on attack graphgeneration and visualization technology.,”International Conference on Anti-Counterfeiting,Security and Identification(ASID),2013.
非专利文献3:X.Ou,S.Govindavajhala,and A.Appel.,“MulVAL:A logicbasednetwork security analyzer.,”14th USENIX Security Symposium,pages 113-128,2005
发明内容
在逻辑推理型的攻击树自动生成工具中,存在如下课题:针对系统的规模,计算量按照多项式量级而增大。
因此,使用攻击树的对策的研讨作业花费时间,系统开发的成本会增加。
本发明的目的在于,使得能够削减攻击树的生成所需的计算量。
本发明的攻击树生成装置具备:
系统分割部,根据表示成为安全性对策的对象的对象系统的结构的系统结构数据,将所述对象系统分割为多个副系统;
根系统选择部,根据表示所述对象系统中的安全性的威胁的内容的威胁数据,从所述多个副系统选择发生所述威胁的副系统作为根系统;
根树生成部,通过针对所述根系统执行攻击树生成处理,生成所述根系统的攻击树作为根树;
后代系统选择部,根据表示向所述对象系统中的所述根系统的入侵路径的入侵路径数据,从所述多个副系统选择位于所述入侵路径的1个以上的副系统作为1个以上的后代系统;
后代树生成部,通过针对所述1个以上的后代系统的各个后代系统执行所述攻击树生成处理,生成与所述1个以上的后代系统对应的1个以上的攻击树作为1个以上的后代树;以及
副攻击树合并部,通过合并所述根树与所述1个以上的后代树,生成所述对象系统的攻击树。
根据本发明,能够削减对象系统的攻击树的生成所需的计算量。
附图说明
图1是实施方式1中的攻击树生成装置100的结构图。
图2是实施方式1中的存储部190的结构图。
图3是实施方式1中的攻击树生成方法(概要)的流程图。
图4是示出实施方式1中的根树(root tree)910的图。
图5是示出实施方式1中的子树(child tree)920_1的图。
图6是示出实施方式1中的根树910的其它例的图。
图7是示出实施方式1中的攻击树900的图。
图8是示出实施方式1中的攻击树900的其它例的图。
图9是实施方式1中的攻击树生成方法(详情)的流程图。
图10是实施方式1中的副攻击树群生成处理(S130)的流程图。
图11是实施方式1中的后代树群生成处理(S133)的流程图。
图12是实施方式2中的攻击树生成装置200的结构图。
图13是实施方式2中的存储部290的结构图。
图14是实施方式2中的攻击树生成方法的流程图。
图15是实施方式3中的攻击树生成装置300的结构图。
图16是实施方式3中的攻击树生成方法的流程图。
图17是实施方式4中的攻击树生成装置400的结构图。
图18是实施方式4中的攻击树生成方法(概要)的流程图。
图19是实施方式4中的攻击树生成方法(详情)的流程图。
图20是实施方式5中的攻击树生成装置500的结构图。
图21是实施方式5中的攻击树生成方法的流程图。
图22是实施方式中的攻击树生成装置(100、200、300)的硬件结构图。
(符号说明)
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:兄弟树(brother tree);904:共同节点;910:根树;911:根节点;912:内部节点;913:末端节点;914:逻辑门;920:子树;921:根节点;923:末端节点;924:逻辑门。
具体实施方式
在实施方式以及附图中,对相同的要素或者对应的要素附加相同的符号。适当地省略或者简化附加有与所说明的要素相同的符号的要素的说明。图中的箭头主要示出数据的流动或者处理的流程。
实施方式1.
关于攻击树生成装置100,基于图1至图11进行说明。
攻击树生成装置100生成多个副系统(sub-system)各自的攻击树,合并与多个副系统对应的多个攻击树。由此,得到系统整体的攻击树。
***结构的说明***
基于图1,说明攻击树生成装置100的结构。
攻击树生成装置100是具备处理器101、存储器102、辅助存储装置103以及输入输出接口104这样的硬件的计算机。这些硬件经由信号线而相互连接。
处理器101是进行运算处理的IC(Integrated Circuit,集成电路),控制其它硬件。例如,处理器101是CPU(Central Processing Unit,中央处理单元)、DSP(DigitalSignal Processor,数字信号处理器)或者GPU(Graphics Processing Unit,图形处理单元)。
存储器102是易失性的存储装置。存储器102也被称为主存储装置或者主存储器。例如,存储器102是RAM(Random Access Memory,随机存取存储器)。存储于存储器102的数据根据需要而被保存到辅助存储装置103。
辅助存储装置103是非易失性的存储装置。例如,辅助存储装置103是ROM(ReadOnly Memory,只读存储器)、HDD(Hard Disk Drive,硬盘驱动器)或者闪存。存储于辅助存储装置103的数据根据需要而被加载到存储器102。
输入输出接口104是连接输入装置以及输出装置的端口。例如,输入输出接口104是USB端子,输入装置是键盘以及鼠标,输出装置是显示器。USB是通用串行总线(UniversalSerial 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位于父节点(parent node)与多个子节点之间,表示逻辑运算(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将根系统视为父系统(parent system),进行在入侵路径中位于父系统的前一位置的副系统选择。将选择的副系统称为“子系统(child system)”。
后代系统选择部132将前次的子系统视为本次的父系统,选择在入侵路径中位于本次的父系统的前一位置的副系统。将选择的副系统称为“本次的子系统”。
在步骤S105中,后代树生成部133通过针对1个以上的后代系统的各个后代系统执行攻击树生成处理,生成与1个以上的后代系统对应的1个以上的攻击树。将生成的1个以上的攻击树称为“1个以上的后代树”。
后代树生成部133如以下那样生成1个以上的后代树(descendant tree)。
后代树生成部133将根树视为父树(parent tree),将父树的1个以上的末端节点的各个末端节点作为根节点而开始攻击树生成处理。然后,后代树生成部133在生成中的攻击树所包含的1个以上的路径各自中出现意味着向子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断攻击树生成处理。中断时的1个以上的攻击树、换言之与根树的1个以上的末端节点对应的1个以上的攻击树是针对根树的1个以上的子树。
后代树生成部133将前次的1个以上的子树的各个子树视为本次的父树,将本次的父树的1个以上的末端节点的各个末端节点作为根节点而开始攻击树生成处理。然后,后代树生成部133在生成中的攻击树所包含的1个以上的路径各自中出现意味着向本次的子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断攻击树生成处理。中断时的1个以上的攻击树、换言之与本次的父树的1个以上的末端节点对应的1个以上的攻击树是针对本次的父树的1个以上的子树。
基于图5,说明子树920_1。
子树920_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)的多个末端节点的多个孙树(grandchildtree)。
各个孙树是子系统(2)的攻击树。子系统(2)是在向对象系统的入侵路径中位于子系统(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将根系统作为父系统,确定针对父系统的子系统。
子系统是在选择路径中位于父系统的前一位置的副系统。
在步骤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,基于图12至图14,主要说明与实施方式1不同的点。
攻击树生成装置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,基于图15以及图16,主要说明与实施方式1不同的点。
攻击树生成装置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,基于图17至图19,主要说明与实施方式1不同的点。
攻击树生成装置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个以上的边(edge)。
接下来,系统分割部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利用作为图形理论中的中心性之一的“中介中心性(intermediation centrality)”。
对象节点的中介中心性是在图形整体中对节点间的最短路径中包含的对象节点的比例进行评价而得到的中心性。这个值越高,则判断为对象节点成为节点间的中继地点而发挥群落(community)彼此的连结作用的概率越高。
因此,系统分割部410通过评价中介中心性,能够自动地确定发挥群落(副系统)的连结作用的节点(装置)。
一般而言,在安全性分析时,提供对象系统的网络结构作为信息。因此,能够获取作为用于计算中介中心性而所需的信息的节点的信息和边的信息。具体而言,从系统结构数据191能够获取所需的信息。
这个方式不依赖于IT、仪器或者车载等的系统类别,而能够广泛地适应。
另外,中介中心性的计算相对于系统规模而言是比较高速的。中介中心性的计算量用O(N^2+N×M)来表示。“N”意味着节点数,“M”意味着边数。
并且,通过基于中介中心性的分割,结果上预想为对象系统被恰当地分割。接下来说明其理由。
作为前提,用于生成攻击树的计算时间依赖于对攻击脚本进行分析时的入侵路径的长度,按照多项式的平方量级而边长。并且,利用中介中心性的计算式,评价各节点(装置)的中介中心性。在图形整体中考虑任意的两点间的最短路径时,包含对象节点的比例越多,则对象节点被评价得越高。因此,认为如果利用中介中心性高的装置能够分割对象系统,则在入侵路径整体中分割后的入侵路径的数量会变多。
系统分割部410也可以采用中介中心性以外的中心性作为图形理论中的中心性而用于分割点的评价。
例如,系统分割部410也可以采用度数中心性(degree centrality)或者PageRank(页面等级)等中心性而用于分割点的评价。
但是,根据上述考察,认为在利用中介中心性时能够进一步提高效果。
***实施方式4的效果***
根据实施方式4,能够使系统分割自动化。其结果,得到计算高效化这样的效果。而且,能够削减攻击树生成装置400的开发时的开发者的成本以及攻击树生成装置400的利用时的利用者的成本。
实施方式5.
关于攻击树生成装置500,基于图20以及图21,主要说明与实施方式4不同的点。
攻击树生成装置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)的要素的“部”替换成“处理”或者“工序”。

Claims (15)

1.一种攻击树生成装置,具备:
系统分割部,根据表示成为安全性对策的对象的对象系统的结构的系统结构数据,将所述对象系统分割为多个副系统;
根系统选择部,根据表示所述对象系统中的安全性的威胁的内容的威胁数据,从所述多个副系统选择发生所述威胁的副系统作为根系统;
根树生成部,通过针对所述根系统执行攻击树生成处理,生成所述根系统的攻击树作为根树;
后代系统选择部,根据表示向所述对象系统中的所述根系统的入侵路径的入侵路径数据,从所述多个副系统选择位于所述入侵路径的1个以上的副系统作为1个以上的后代系统;
后代树生成部,通过针对所述1个以上的后代系统的各个后代系统执行所述攻击树生成处理,生成与所述1个以上的后代系统对应的1个以上的攻击树作为1个以上的后代树;以及
副攻击树合并部,通过合并所述根树与所述1个以上的后代树,生成所述对象系统的攻击树。
2.根据权利要求1所述的攻击树生成装置,其中,
所述系统结构数据示出进行通信的多个装置以及连接所述多个装置的1个以上的通信通路作为所述对象系统的结构,
所述系统分割部根据所述系统结构数据而生成包括表示所述多个装置的多个节点以及表示所述1个以上的通信通路的1个以上的边且表示所述对象系统的系统结构图形,针对所述系统结构图形中的各节点,评价图形理论中的中心性,根据评价结果来决定成为所述对象系统的分割点的1个以上的节点,将所决定的1个以上的节点中的各个节点作为分割点,将由所述系统结构图形表示的所述对象系统分割为所述多个副系统。
3.根据权利要求1或者2所述的攻击树生成装置,其中,
所述根树生成部生成具有表示所述威胁的根节点的攻击树作为所述根树。
4.根据权利要求3所述的攻击树生成装置,其中,
所述根树生成部将表示所述威胁的节点作为根节点而开始所述攻击树生成处理,在生成中的攻击树所包含的1个以上的路径各自中出现意味向所述根系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断所述攻击树生成处理,从而生成所述根树。
5.根据权利要求4所述的攻击树生成装置,其中,
所述后代系统选择部将所述根系统视为父系统,将在所述入侵路径中位于所述父系统的前一位置的副系统选择为子系统,
所述后代树生成部将所述根树视为父树,将所述父树的1个以上的末端节点中的各个末端节点作为根节点而开始所述攻击树生成处理,在生成中的攻击树所包含的1个以上的路径各自中出现意味向所述子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断所述攻击树生成处理,从而生成1个以上的子树。
6.根据权利要求5所述的攻击树生成装置,其中,
所述后代系统选择部将前次的子系统视为本次的父系统,将在所述入侵路径中位于所述本次的父系统的前一位置的副系统选择为本次的子系统,
所述后代树生成部将前次的1个以上的子树中的各个子树视为本次的父树,将本次的父树的1个以上的末端节点中的各个末端节点作为根节点而开始攻击树生成处理,在生成中的攻击树所包含的1个以上的路径各自中出现意味向所述本次的子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断所述攻击树生成处理,从而生成针对所述本次的父树的1个以上的子树。
7.根据权利要求4所述的攻击树生成装置,其中,
所述后代系统选择部将所述根系统视为父系统,将在所述入侵路径中位于所述父系统的前一位置的副系统选择为子系统,
所述后代树生成部将所述根树视为父树,将所述父树的1个以上的末端节点划分为1个以上的末端节点群组,将所述父树的所述1个以上的末端节点群组中的各个末端节点群组作为根节点而开始攻击树生成处理,在生成中的攻击树所包含的1个以上的路径各自中出现意味向所述子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断所述攻击树生成处理,从而生成1个以上的子树。
8.根据权利要求7所述的攻击树生成装置,其中,
所述后代系统选择部将前次的子系统视为本次的父系统,将在所述入侵路径中位于所述本次的父系统的前一位置的副系统选择为本次的子系统,
所述后代树生成部将前次的1个以上的子树中的各个子树视为本次的父树,将本次的父树的1个以上的末端节点划分为1个以上的末端节点群组,将所述本次的父树的所述1个以上的末端节点群组中的各个末端节点群组作为根节点而开始攻击树生成处理,在生成中的攻击树所包含的1个以上的路径各自中出现意味向所述本次的子系统的入侵的入侵节点的阶段,将在各个路径中出现的入侵节点作为各个路径中的末端节点而中断所述攻击树生成处理,从而生成针对所述本次的父树的1个以上的子树。
9.根据权利要求5至8中的任意一项所述的攻击树生成装置,其中,
在存在向所述对象系统中的所述根系统的多个入侵路径的情况下,所述后代系统选择部针对每个入侵路径,选择1个以上的后代系统即后代系统群,
所述后代树生成部针对每个后代系统群,生成1个以上的后代树即后代树群,
所述副攻击树合并部通过检索与所述多个入侵路径对应的多个后代树群,寻找具有与共同的父树的共同的末端节点相同的根节点的多个子树即兄弟树,并经由或门将所述兄弟树的各个根节点连接到所述共同的末端节点。
10.根据权利要求1至8中的任意一项所述的攻击树生成装置,其中,
所述攻击树生成装置还具备:
专用基础信息取得部,从将多个系统类别和多个规则基础信息相互对应起来的规则基础信息数据库,取得与所述根系统的类别对应的规则基础信息作为根系统用基础信息,从所述基础信息数据库,取得与各个后代系统的类别对应的规则基础信息作为后代系统用基础信息;以及
专用推理规则生成部,仅利用所述多个规则基础信息之中的所述根系统用基础信息来执行推理规则生成处理,从而生成根系统用推理规则,仅利用所述多个规则基础信息之中的各个后代系统用基础信息来执行所述推理规则生成处理,从而生成各个后代系统用推理规则,
所述根树生成部利用所述根系统用推理规则来执行所述攻击树生成处理,从而生成所述根树,
所述后代树生成部利用各个后代系统用推理规则来执行所述攻击树生成处理,从而生成各个后代树。
11.一种攻击树生成方法,其中,
系统分割部根据表示成为安全性对策的对象的对象系统的结构的系统结构数据,将所述对象系统分割为多个副系统,
根系统选择部根据表示所述对象系统中的安全性的威胁的内容的威胁数据,从所述多个副系统选择发生所述威胁的副系统作为根系统,
根树生成部通过针对所述根系统执行攻击树生成处理,生成所述根系统的攻击树作为根树,
后代系统选择部根据表示向所述对象系统中的所述根系统的入侵路径的入侵路径数据,从所述多个副系统选择位于所述入侵路径的1个以上的副系统作为1个以上的后代系统,
后代树生成部通过针对所述1个以上的后代系统的各个后代系统执行所述攻击树生成处理,生成与所述1个以上的后代系统对应的1个以上的攻击树作为1个以上的后代树,
副攻击树合并部通过合并所述根树与所述1个以上的后代树,生成所述对象系统的攻击树。
12.一种攻击树生成程序,用于使计算机执行:
系统分割处理,根据表示成为安全性对策的对象的对象系统的结构的系统结构数据,将所述对象系统分割为多个副系统;
根系统选择处理,根据表示所述对象系统中的安全性的威胁的内容的威胁数据,从所述多个副系统选择发生所述威胁的副系统作为根系统;
根树生成处理,通过针对所述根系统执行攻击树生成处理,生成所述根系统的攻击树作为根树;
后代系统选择处理,根据表示向所述对象系统中的所述根系统的入侵路径的入侵路径数据,从所述多个副系统选择位于所述入侵路径的1个以上的副系统作为1个以上的后代系统;
后代树生成处理,通过针对所述1个以上的后代系统的各个后代系统执行所述攻击树生成处理,生成与所述1个以上的后代系统对应的1个以上的攻击树作为1个以上的后代树;以及
副攻击树合并处理,通过合并所述根树与所述1个以上的后代树,生成所述对象系统的攻击树。
13.一种攻击树生成装置,具备:
专用基础信息取得部,根据表示成为安全性对策的对象的对象系统的类别的系统结构数据,从将多个系统类别和多个规则基础信息相互对应起来的规则基础信息数据库,取得与所述对象系统的类别对应的规则基础信息作为专用基础信息;
专用推理规则生成部,仅利用所述多个规则基础信息之中的所述专用基础信息来执行推理规则生成处理,从而生成所述对象系统的专用推理规则;以及
攻击树生成部,利用所述专用推理规则来执行攻击树生成处理,从而生成所述对象系统的攻击树。
14.一种攻击树生成方法,其中,
专用基础信息取得部根据表示成为安全性对策的对象的对象系统的类别的系统结构数据,从将多个系统类别和多个规则基础信息相互对应起来的规则基础信息数据库,取得与所述对象系统的类别对应的规则基础信息作为专用基础信息,
专用推理规则生成部仅利用所述多个规则基础信息之中的所述专用基础信息来执行推理规则生成处理,从而生成所述对象系统的专用推理规则,
攻击树生成部利用所述专用推理规则来执行攻击树生成处理,从而生成所述对象系统的攻击树。
15.一种攻击树生成程序,用于使计算机执行:
专用基础信息取得处理,根据表示成为安全性对策的对象的对象系统的类别的系统结构数据,从将多个系统类别和多个规则基础信息相互对应起来的规则基础信息数据库,取得与所述对象系统的类别对应的规则基础信息作为专用基础信息;
专用推理规则生成处理,仅利用所述多个规则基础信息之中的所述专用基础信息来执行推理规则生成处理,从而生成所述对象系统的专用推理规则;以及
攻击树生成处理,利用所述专用推理规则来执行攻击树生成处理,从而生成所述对象系统的攻击树。
CN201980085372.XA 2018-12-27 2019-12-20 攻击树生成装置、攻击树生成方法以及计算机可读取的记录介质 Active CN113228017B (zh)

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
CN113228017A true CN113228017A (zh) 2021-08-06
CN113228017B CN113228017B (zh) 2024-05-14

Family

ID=71125921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980085372.XA Active CN113228017B (zh) 2018-12-27 2019-12-20 攻击树生成装置、攻击树生成方法以及计算机可读取的记录介质

Country Status (4)

Country Link
US (1) US11899788B2 (zh)
JP (1) JP6847330B2 (zh)
CN (1) CN113228017B (zh)
WO (2) WO2020136837A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115997210A (zh) * 2020-08-18 2023-04-21 三菱电机株式会社 攻击手段评价装置、攻击手段评价方法以及攻击手段评价程序
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 (7)

* 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
CN102640161A (zh) * 2010-10-28 2012-08-15 松下电器产业株式会社 篡改监视系统、保护控制模组及检测模组
CN105515776A (zh) * 2010-03-05 2016-04-20 交互数字专利控股公司 给设备提供安全性的方法和装置
CN107077563A (zh) * 2014-11-14 2017-08-18 三菱电机株式会社 信息处理装置、信息处理方法以及程序
CN107077433A (zh) * 2014-11-10 2017-08-18 日本电信电话株式会社 优化装置、优化方法和优化程序
CN108370370A (zh) * 2015-12-14 2018-08-03 西门子股份公司 用于被动评估工业边界安全的系统和方法
CN109074453A (zh) * 2016-04-26 2018-12-21 三菱电机株式会社 入侵检测装置、入侵检测方法以及入侵检测程序

Family Cites Families (17)

* 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
WO2009047113A1 (en) * 2007-10-10 2009-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus for reconfiguration of a technical system based on security analysis and a corresponding technical decision support system and computer program product
CN102082780B (zh) 2009-11-30 2014-03-05 国际商业机器公司 安全验证的方法和装置
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
US9894090B2 (en) * 2015-07-14 2018-02-13 Sap Se Penetration test attack tree generator
US10430581B2 (en) * 2016-12-22 2019-10-01 Chronicle Llc Computer telemetry analysis
WO2018134909A1 (ja) * 2017-01-18 2018-07-26 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US11652839B1 (en) * 2019-05-02 2023-05-16 Architecture Technology Corporation Aviation system assessment platform for system-level security and safety

Patent Citations (7)

* 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
CN105515776A (zh) * 2010-03-05 2016-04-20 交互数字专利控股公司 给设备提供安全性的方法和装置
CN102640161A (zh) * 2010-10-28 2012-08-15 松下电器产业株式会社 篡改监视系统、保护控制模组及检测模组
CN107077433A (zh) * 2014-11-10 2017-08-18 日本电信电话株式会社 优化装置、优化方法和优化程序
CN107077563A (zh) * 2014-11-14 2017-08-18 三菱电机株式会社 信息处理装置、信息处理方法以及程序
CN108370370A (zh) * 2015-12-14 2018-08-03 西门子股份公司 用于被动评估工业边界安全的系统和方法
CN109074453A (zh) * 2016-04-26 2018-12-21 三菱电机株式会社 入侵检测装置、入侵检测方法以及入侵检测程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张超;韩继红;王亚弟;朱玉娜;: "改进的安全协议逻辑系统及评估技术", 计算机工程与设计, no. 21, pages 2 *

Also Published As

Publication number Publication date
WO2020136837A1 (ja) 2020-07-02
WO2020137847A1 (ja) 2020-07-02
US20210248231A1 (en) 2021-08-12
CN113228017B (zh) 2024-05-14
JPWO2020137847A1 (ja) 2021-02-18
US11899788B2 (en) 2024-02-13
JP6847330B2 (ja) 2021-03-24

Similar Documents

Publication Publication Date Title
Xing et al. Binary decision diagrams and extensions for system reliability analysis
KR101780233B1 (ko) 소프트웨어의 코드 클론 탐지 장치 및 방법
EP3796176A1 (en) Fault root cause analysis method and apparatus
CN113228017B (zh) 攻击树生成装置、攻击树生成方法以及计算机可读取的记录介质
CN116109121B (zh) 基于大数据分析的用户需求挖掘方法及系统
JP4951416B2 (ja) プログラム検証方法、プログラム検証装置
CN116305158A (zh) 一种基于切片代码依赖图语义学习的漏洞识别方法
CN112784054A (zh) 概念图处理装置、概念图处理方法和计算机可读介质
CN113971284A (zh) 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质
Fredrikson et al. Dynamic behavior matching: A complexity analysis and new approximation algorithms
JP7259932B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
JP7052870B2 (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
Zheng et al. Be careful with pypi packages: You may unconsciously spread backdoor model weights
CN113987522B (zh) 一种用于源代码漏洞检测的代码属性图压缩方法及装置
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US20230297620A1 (en) Information search apparatus, information search method, and computer-readable recording medium
CN114756401B (zh) 基于日志的异常节点检测方法、装置、设备及介质
JP7156376B2 (ja) 観測事象判定装置、観測事象判定方法、及びプログラム
Ren et al. Coverage and secure use analysis of content security policies via clustering
CN116383883B (zh) 一种基于大数据的数据管理权限处理方法及系统
CN117034210B (zh) 一种事件画像的生成方法、装置、存储介质及电子设备
JP7210917B2 (ja) 検証情報生成装置、検証情報生成方法、及び検証情報生成プログラム
EP4318318A1 (en) Information processing device for improving quality of generator of generative adversarial network (gan)
Liu et al. Graph neural network based approach to automatically assigning common weakness enumeration identifiers for vulnerabilities

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant