融合工业控制操作的攻击建模

2023-12-08 13:10张耀方张哲宇李彤彤王子博王佰玲
应用科学学报 2023年5期
关键词:工控攻击行为攻击者

张耀方,张哲宇,李彤彤,孙 军,王子博,王佰玲

1.哈尔滨工业大学(威海)计算机科学与技术学院,山东威海264200

2.国家工业信息安全发展研究中心,北京100040

3.哈尔滨工业大学网络空间安全研究院,黑龙江哈尔滨150001

随着自动化技术、计算机技术的进步,工业控制系统(即工控系统)与互联网的融合日益加深,工控系统逐渐朝着网络化发展。在电力系统、水利系统、生活及工业污水处理系统、石油和天然气、化学工业等行业或领域中,基础设施生产业需要依靠工控系统实现自动化运转[1],工控系统在国家基础设施中扮演着至关重要的角色,是关乎国计民生的重要资源[2]。目前,开放的互联网技术慢慢地渗透到了工控系统网络和Internet 的互联中,智能制造系统作为一类工控系统,其网络结构也因为信息化而变得越来越复杂[3-6],遭受诸如“黑客”入侵这种外部威胁的可能性日益增加[7]。以“震网”[8]“乌克兰电网事件”[9]“WannaCry”勒索病毒[10]为例,这些典型工控攻击成功后可获取巨大攻击收益,促使工控系统逐渐成为黑客攻击的主要目标。

全球工业网络安全总体呈现高危态势。工业网络攻击从外部网络渗透至内部网络需要经过多个攻击步骤,且需要利用多种攻击手段逐步深入攻击目标[11]。作为一种可以对上述多步攻击行为进行有效描述的图结构,攻击图由基础节点和边根据一定逻辑关系关联构成。根据智能制造系统的配置信息,攻击路径可以将系统各层级与各节点间的漏洞进行关联,准确、清晰地展示多步攻击过程,以描述系统脆弱性和攻击行为之间的关系。但是,传统信息系统与智能制造系统在结构、协议、设备节点功能、用途和操作行为等方面存在较大差别。智能制造系统脆弱性不仅仅包括主机漏洞、服务漏洞,还包括通信过程中使用不安全协议引起的漏洞,仅用信息系统的攻击图生成规则不能全面表述智能制造系统因脆弱性导致的多种攻击路径。同时,与传统信息系统不同,智能制造系统的工艺流程以系统操作为主导,通过控制中心下发的操作指令来推进流程完成系统整体工作。操作指令的误发、漏发、延发以及操作顺序的改变都会破坏整体控制逻辑,对整个系统造成无法挽回的影响。在实际针对工业生产环境的攻击过程中也存在攻击者通过组合多步合法的操作而实现非法目的的攻击操作,因此智能制造中的系统操作对于业务流程建模来说至关重要。目前对工业网络安全的整体认知需要着眼于整个网络,扩展攻击图语义描述范围,将业务层操作融入攻击图建模方法,全局地观测和描述可能存在的攻击行为,只有这样才能更高效地进行安全维护,从而保证智能制造系统的安全稳定。

现有业务层建模的相关工作多数面向传统信息系统的流程业务,而不涉及工业环境。文献[12] 捕捉业务流程与漏洞严重性之间的关系定义了业务流程影响评分,构建业务层、服务层、资产层的业务流程模型,评估攻击对业务流程的影响。文献[13] 侧重于网络攻击对资产的直接影响,根据“漏洞–资产–服务–任务”的关系设计了一个多层评估模型,进而利用资产节点之间的依赖性,通过从下到上的逐层传递关系来计算攻击对任务的影响。与之相反,文献[14] 按照自顶向下的方式展示“资产–依赖关系–业务流程”模型,对一些考虑威胁场景上下文的业务流程进行安全度量。文献[15] 提出了一种定量任务影响评估方法,首先建立系统对象依赖图以捕获低操作系统级别的入侵传播过程,在系统对象依赖图上建立任务–任务功能–资产映射,将系统对象与相应的任务相关联。基于任务资产映射构建成贝叶斯网络,利用收集到的入侵证据推断被入侵的任务和被入侵的概率。文献[16] 在云计算的背景下,通过开发任务依赖图和云级攻击图相互连接的新型图形模型,来缩短任务影响评估与网络弹性之间存在的差距。文献[17] 通过识别关键组件和依赖风险,根据资产对业务流程的影响进行优先排序,实现设备与业务流程间依赖关系的描述及分析。

目前信息系统的业务建模方法仅对传统业务流程操作进行模型定义,主要以业务为主导进行建模,没有深入考虑协议漏洞。但因为智能制造系统具有特有的传输协议,所以对系统进行攻击时大多以传输协议漏洞为入手点,可见仅针对业务的建模方法无法完整描述智能制造系统的脆弱点。另外,由于智能制造系统具有可用性和实时性的要求,传统信息系统和智能制造系统受到同一攻击行为时会产生不同影响,因此建模时还需考虑攻击行为所需的不同条件以及攻击成功后工控资产所受到的不同影响。

针对当前建模方法无法对工控系统专有协议和特定攻击行为进行描述的问题,本文对工控环境下建模的语义缺失进行补充,针对主机漏洞、协议脆弱性和攻击行为进行模板扩展定义;另外本文通过攻击图形式展示关联建模关系,但常见攻击图的漏洞层、主机层两层架构无法体现智能制造系统业务流程操作,因此本文结合工控环境特点,扩展工控攻击图的生成规则及定义,对智能制造系统的业务操作进行建模;为了将业务层操作融入攻击图,本文对常见工控操作进行了定义,研究融合业务流程操作的三层攻击图建模,从而实现从工控业务操作到攻击行为的攻击图关联展示。从攻击图语义扩展、攻击图模型优化两方面对工控环境下生成的攻击图进行丰富,以完整描述系统脆弱点及攻击路径,为后续分析提供支持。

1 攻击图语义扩展

1.1 攻击图漏洞模板扩展

传统攻击图中的漏洞模板均基于通用漏洞披露(common vulnerabilities &exposures,CVE)的漏洞编号进行定义,每一个漏洞对应一个CVE 漏洞。但实际工控环境下,漏洞不仅包含漏洞库中的,而且也包含在主机和网络协议层面上经常被利用的漏洞,因此本节将从主机漏洞、网络漏洞两个方面对漏洞模板进行补充定义,以扩展现有攻击图在工控环境下的语义。

1.1.1 主机漏洞模板扩展

定义1主机漏洞模板可表示为VUL_HOST={CVE_ID,VUL_TYPE,PROCESS,PRE_CONDITION,POST_CONDITION}。

主机漏洞模板的具体定义内容如表1 所示。其中:PROCESS 可表示为PROCESS={PROCESS_NAME,PORT};PRE_CONDITION 可表示 为 PRE_CONDITION={PRE_CON,NUM};POST_CONDITION 可表示为POST_CONDITION={POST_CON,NUM}。

表1 主机漏洞定义Table 1 Host vulnerability definition

1.1.2 网络协议模板扩展

定义2攻击通用模板可表示为VUL_NET={VUL_NAME,SUBNET,PROTOCOL,SRC_HOST,DST_HOST}。

协议漏洞模板的具体定义内容如表2 所示。其中:SRC_HOST 可表示为SRC_HOST={HOST_IP,PORT};DST_HOST 可表示为DST_HOST={HOST_IP,PORT}。在无通信链路时,SRC_HOST、DST_HOST 字段可为空。

表2 协议漏洞定义Table 2 Protocol vulnerability definition

1.1.3 攻击模板扩展

本文参考工控攻击链分析模型[18],选取侦查、传输、控制、执行这4 个攻击过程扩展攻击模板。

定义3攻击通用模板可表示为ATTCK={ATTACK_TYPE,ATTACK_NAME,SRC_HOST,DST_HOST,ATTACK_PRECONDITIONS,ATTCK_POSTCONDITIONS}。

攻击模板具体定义内容如表3 所示。其中:攻击发出主机可表示为SRC_HOST={HOST_NAME,HOST_IP,HOST_AUTHORITY};被攻击主机可表示为DST_HOST={DST_HOST_NAME,DST_HOST_IP}。

表3 攻击模板定义Table 3 Attack template definition

攻击条件和攻击作用位置决定攻击对网络和设备的要求,以及攻击影响。本文对4 种攻击类型的前后置条件进行详细定义。

1)扫描 攻击者可以针对某个可达子网或某个设备进行扫描,获取详细信息。作为侦查阶段的主要攻击操作,扫描的前置条件要求侦查网络可达。ATTACK_PRECONDITIONS={NETWORK_REACHABILITY}。其中:NETWORK_REACHABILITY={SRC_HOST,SUBNET}。扫描的后置条件为目标网络中的主机信息,可表示为ATTACK_POSTCONDITIONS={HOST_NAME,HOST_INFO}。

2)中间人攻击 攻击者可以接入两台存在访问关系的主机,作为中间人转发通信,实现通信内容的监控和篡改。中间人攻击的前置条件可由网络可达性、访问关系、ARP 欺骗3 个条件表示:ATTACK_PRECONDITIONS={NETWORK_REACHABILITY,HOST_CONNECTIVITY,ARP_SPOOFING}。其中:NETWORK_REACHABILITY={SRC_HOST,DST_HOST}。HOST_CONNECTIVITY={SRC_HOST,DST_HOST}表示两台主机之前存在访问关系。ARP_SPOOFING={HOST_NAME,PROCESS,VULNERABILITY}表示主机可进行ARP 欺骗。中间人攻击的后置条件可表示为ATTACK_POSTCONDITIONS={MONITOR,MODIFY},其中:MONITOR 表示攻击成功后,攻击者可以对两台目标主机进行监控;MODIFY 表示攻击成功后,攻击者可以篡改两台主机间的通信内容。

3)远程执行 远程执行是常见的攻击方式,攻击者利用漏洞可以在目标主机上执行任意代码,或运行植入恶意程序,直接导致主机崩溃。远程执行攻击成功需满足网络可达性和访问关系两个前置条件,可表示为ATTACK_PRECONDITIONS={NETWORK_REACHABILITY,HOST_CONNECTIVITY}。后置条件即攻击者完成攻击后,可进行执行类动作,即执行恶意代码或程序,对攻击目标造成破坏,可表示为ATTACK_POSTCONDITIONS={EXECUTE}。

4)拒绝服务攻击 攻击者对可访问主机发起大量连接,导致攻击设备拒绝服务。拒绝服务攻击成功需要满足网络可达性、访问控制、开放服务、服务漏洞4 个前置条件,可表示为ATTACK_PRECONDITIONS={NETWORK_REACHABILITY,HOST_CONNECTIVITY,PROCESS,VULNERABILITY}。拒绝服务攻击成功后,直接造成设备或系统停止工作,可表示为ATTACK_POSTCONDITIONS={STOP_RUNNING}。

1.2 攻击图操作模板扩展

工控系统注重流程化工艺,以系统操作为主导通过多种操作串联实现系统业务。在工业环境下存在利用多种组合的合法操作进行非法攻击的情况。但目前攻击图的漏洞层、主机层二层建模方法仅能展示设备层面的攻击路径,无法将业务操作与设备漏洞进行关联展示,从而无法描述系统操作对底层设备和漏洞的影响,因此本文对系统操作进行建模。操作模板对具有相似特征的一类操作进行抽象化描述,可以对操作发生条件、操作内容、操作影响范围进行描述。利用操作模板可以将操作层关联到主机层,同时映射到底层漏洞层,实现三层攻击图模型。

本文对设备控制操作、修改操作、监控操作、程序操作、执行操作、更新操作中的12 种操作进行建模,可覆盖大部分工控环境的基础操作,这些操作分别为:用户执行、监控数据、监控过程状态、修改报警设置、修改控制逻辑、修改操作模式(工程师站、操作员站)、修改参数(工程师站、操作员站)、固件更新、程序上传/下载、设备启动/停止。实际环境中的操作路径如图1 所示,攻击者可通过工程师站或操作员站对现场区的设备进行操作,同时也可以获取工程师站权限监控数据库中数据,从而达到攻击目的。

图1 操作示意图Figure 1 Operation diagram

定义4攻击操作模板可表示为MANIPULATION={MANIPULATION_TYPE,MANIPULATION_NAME,SRC_HOST,DST_HOST,MANIPULATION_CONTENT}。

操作模板的具体定义内容如表4 所示。其中:DST_HOST 可表示为DST_HOST={HOST_NAME,HOST_IP,HOST_AUTHORITY}。下面将针对不同操作内容进行详细定义。

表4 操作定义Table 4 Operation definition

1.2.1 设备控制操作

设备控制类操作的内容由二元组表示为MANIPULATION_CONTENT={START,STOP}。

对可编程逻辑控制器(programmable logic controller,PLC)进行控制需要操作者具有工程师站的user 权限和PLC 的root 权限。如图1 所示,工程师站对PLC 进行启动/停止操作可表示为MANIPULATION={EQUIPMENT_CONTROL,EQUIPMENT_SWITCH,{ENGINEER_STATION,ENGINEER_STATION_IP,USER},{PLC,PLC_IP,ROOT},START/STOP}。

1.2.2 修改操作

修改类操作的内容可由二元组表示如下:MANIPULATION_CONTENT={MODIFY_TYPE,MODIFY_CONTENT}。

如图1 所示,修改类操作包含4 种具体的修改内容:修改报警设置、修改控制逻辑、修改操作模式、修改参数。以修改报警设置为例,可建模为MANIPULATION={MODIFY_CONTROL,MODIFY_NAME,{ENGINEER_STATION,ENGINEER_STATION_IP,USER},{PLC,PLC_IP,ROOT},{SYSTEM_LIMIT,VALUE}}。操作者获取工程师站的user 权限和PLC 的root 权限后,可以进行修改报警设置操作。

1.2.3 监控操作

监控类操作内容由监控内容表示:MANIPULATION_CONTENT=MONITOR_CONTENT。但监控内容可为多个参数,因此可以监控多个数据或状态。

如图1 所示,监控类操作包含两种具体监控内容:数据监控和状态监控。以数据监控为例,可表示为MANIPULATION={MONITOR_CONTROL,MONITOR_TYPE,{ENGINEER_STATION,ENGINEER_STATION_IP,USER},{DATABASE,DATABASE_IP,ROOT},{VALUE}}。工程师站操作者在获取数据库root 权限后,可对数据库中存储的系统数据进行监控。

1.2.4 程序操作

程序类操作内容可由二元组表示如下:MANIPULATION_CONTENT={PROGRAM_UPLOAD,PROGRAM_DOWNLOAD}。

程序类操作包含两种内容:程序上传和程序下载,可表示为MANIPULATION={PROGRAM_CONTROL,PROGRAM_TRANSFER,{ENGINEER_STATION,ENGINEER_STATION_IP,USER},{PLC,PLC_IP,ROOT},PROGRAM_UPLOAD/PROGRAM_DOWNLOAD},如图1 所示。在工程师站可以进行PLC 程序下载操作,对程序进行篡改后再重新上传。

1.2.5 执行操作

执行类操作内容可由二元组表示如下:MANIPULATION_CONTENT={FILE,PATH}。

执行类操作包含两种具体操作内容:执行文件和执行路径,可表示为MANIPULATION={EXECUTE_CONTROL,EXECUTE_TYPE,{ENGINEER_STATION,ENGINEER_STATION_IP,ROOT},{OPERATOR_STATION,OPERATOR_STATION_IP,ROOT},FILE/PATH},如图1 中所示。执行类操作需要获取工程师站和操作员站的root 权限,通过访问文件或文件路径执行恶意文件。

1.2.6 更新操作

更新类操作内容可由四元组表示如下:MANIPULATION_CONTENT={SOFTWARE_VERSION,MODULE_STATUS,FIREWARE_NAME,FIRMWARE_VERSION}。

固件更新操作包含4 种具体操作内容:软件版本、模块状态、固件名称和固件更新版本。操作可表示为MANIPULATION={UPDATE_CONTROL,FIREWARE_UPDATE,{ENGINEER_STATION,ENGINEER_STATION_IP,ROOT},{PLC,PLC_IP,ROOT},{SOFTWARE_VERSION,MODULE_STATUS,FIREWARE_NAME,FIRMWARE_VERSION}}。如图1 所示,操作者在工程师站要对西门子PLC 固件进行更新,首先需要满足工程师站的STEP7 软件是V5.3 及更高版本,其次被更新模块状态保持在线。更新目标版本的固件后,需结合设备控制操作重启PLC 使固件生效。

2 攻击图生成

攻击图是一种利用可获取资源进行多步攻击过程展示的建模方法。从初始节点开始到达某一目的节点的攻击路径可拆分为多步攻击行为,每一步攻击作为原子动作,完成攻击动作后可获得相应权限,以此条件进行下一步攻击动作,多步攻击行为级联达到最终攻击目标。攻击图通过定性方式对目标网络中多种威胁途径进行分析。本文对攻击图的定义如下。

定义5攻击图为一个有向无环图,可表示为AG={N,E},其中:N表示攻击图节点集合;N={A ∪D ∪M},A表示攻击节点,D表示设备节点,M表示操作节点。

攻击节点A={serv,vul},serv 为存在漏洞的服务名称,vul 为服务的漏洞名称,攻击节点在图中用矩形表示。

设备节点D={dev,state},dev 为设备名称,state 表为设备当前的权限信息或设备所处的执行状态。设备节点在图中用菱形表示,其包含3 种类型,即D=Db ∪Dm ∪Dt。Db为初始节点集合,且Db={db ∈Db|dj ∈D,dj ∈Pa(db)}。其中:Pa(db) 为db的父节点集合,定义某节点的父节点是指向该点的所有节点集合;Dm为中间节点集合,定义为Dm={dm ∈Dm|∀dm ∈Dm,Pa(dm)∈D ∧Ch(dm)∈D},且Ch(dm) 为dm的子节点集合,定义其子节点是该点指向的所有节点集合,Dt为目标设备节点集合,定义为Dt={dt ∈Dt|dj ∈D,dj ∈Ch(dt)}。

E表示连接节点的有向边集合,包含4 种类型,即E=EAD ∪EDM ∪EMM ∪EMD。其中:EAD表示满足攻击条件时可对设备节点D进行此项攻击;EDM表示该设备当前状态可满足操作节点所需条件,触发操作;EMM表示同级操作间互相串联的关系,包含操作先后的逻辑顺序;EMD表示当执行完某一操作后设备可达到一个新状态。

2.1 基于广度搜索的攻击图生成方法

根据前文中对于攻击图模板和点边的定义,本文采用广度优先搜索算法生成攻击图。攻击图生成算法描述如算法1 所示。

算法1基于广度优先的三层攻击图生成算法

输入主机可达信息、初始主机节点、目标主机节点,主机的漏洞信息和操作信息

攻击图生成过程中,本文假设攻击者当前的攻击能力具有单调性,即攻击者在完成攻击后获取的某个设备的权限不会降低或消失,攻击者在某个设备上的权限保留所有攻击中获得的最大值。行 ②~③为初始化变量,行 ④将开始节点加入队列,行 ⑤~⑯为正向广度优先遍历生成漏洞利用的向前依赖图,其中行 ⑥出队列,遍历从开始节点的所有可达节点(行⑧~⑨)。对于所有可达节点,遍历所有可能的漏洞利用(行⑩~⑪),然后判断当前节点的后置条件是否能满足遍历漏洞利用的前置条件(行⑫),如果满足则加边(行⑬)。如果该主机没有被利用过,则将其入队列,并标记访问(行⑭~⑯)。获得向前依赖图后,需要进行去环,去除重复访问的边(行⑰);然后再从目标节点开始逆向广度优先遍历之前生成的向前依赖图(行⑱~㊱)生成攻击图。这样能保证图中所有节点从开始和目标节点都可达,方法与正向遍历基本一致,需要注意的是:该过程利用正向搜索获得的主机节点和边来寻找前置主机(行㉓~㉔),最后对当前节点获得的权限判断其是否有满足条件的操作链可以利用(行㉞~㊱)。

3 实验及结果分析

本文采用文献[19] 的拓扑结构来举例说明所提算法的工作原理,同时对该方法进行验证及分析。该拓扑结构源于实际测控系统中的架构,且增加了结构的合理性以及真实性,但其对尺寸进行了限制。此外,该拓扑结构增加了不同类型的工控设备,以使实验结果更加全面,实验拓扑结构如图2 所示。

图2 实验拓扑图Figure 2 Experimental topology diagram

实验采用的拓扑结构由4 个区域组成:外部区域、非军事区、监视控制区、流程操作区。外部区域设置一个远程节点i,攻击者通过该节点可以登录并开始指定目标进行攻击。非军事区与外部区域的连接由防火墙fw1 进行保护。非军事区中包含两个服务器,允许访问公司内部网络。监视控制区由防火墙fw2 连接到非军事区,包括服务器和工作站,用于控制流程操作区的现场设备,完成数据收集统计及传输。流程操作区由PLC 和现场设备构成。本节实验设置的具体设备访问关系如表5 所示。

表5 设备访问关系表Table 5 Relationship table of device access

本实验利用扩展的攻击模板展示了中间人攻击和拒绝服务攻击的两种攻击步骤,如图3所示,其中矩形节点表示漏洞利用节点,菱形节点表示设备节点。攻击图的具体节点内容如表6 所示。

图3 语义扩展攻击图Figure 3 Semantic extension attack graph

表6 语义扩展攻击图内容Table 6 Semantic extension attack graph content

以中间人攻击场景为例,攻击者首先利用usb 摆渡获取intranet 主机user 权限,再利用web 服务、TIA 程序、PLC、WinCC 中存在的漏洞多步攻击以获取scada 的root 权限。此时,根据中间人攻击前置条件,检测到攻击者可达PLC 与历史数据库historian 所在的子网,并且PLC 与historian 两者间存在访问关系。在获取到scada 的root 权限后,攻击者可利用scada 对PLC 与historian 进行访问,从而进行ARP 欺骗。根据以上攻击条件,利用扩展的攻击模板进行搜索,可发现攻击者目前满足中间人攻击的全部前置条件,因此攻击图中加入中间人攻击节点,完成中间人攻击的攻击模板扩展。

如图4 所示,操作模板扩展示意图在扩展的漏洞模板以及攻击模板的基础上,融入了节中定义的多种操作,生成包含操作的3 层攻击图。图中共显示了3 种操作攻击场景,其中椭圆形节点表示操作节点,节点的详细内容如表7 所示。

图4 操作扩展攻击图Figure 4 Operation extension attack graph

表7 操作扩展攻击图内容Table 7 Operation extension attack graph content

在篡改程序场景中,攻击者利用usb 摆渡进入非军事区,再利用web 漏洞与TIA 程序漏洞进入监视控制区获取ew 的root 权限。此时攻击者可以进行工程师站的所有合法操作。本拓扑的攻击场景是攻击者首先在工程师站上下载PLC 程序并进行篡改,然后上传篡改后的程序至PLC。由于工控环境的业务流程不同于传统网络,程序并非上传即可运行,还需要对该执行设备进行重启操作。经过以上操作步骤才能实现PLC 控制程序篡改的攻击。

在固件更新操作场景中,攻击者获取到工程师站的root 权限后可以对PLC 的固件进行操作。恶意攻击者可以将固件版本更新至新版本或者恢复至存在可利用漏洞的老版本,以此利用固件漏洞对PLC 进行下一步攻击。

在实现中间人攻击后,可针对此场景进行两种操作:数据监控以及数据包篡改。根据中间人攻击的后置条件,被攻击方之间的通信均经过攻击者所在机器,因此攻击者可以对流经数据进行监控,以达到窃取数据的目的。同时,攻击者可以在通信过程中对流经本机的数据包进行篡改,以达到修改参数或修改命令的攻击目的。

为了对算法性能进行测试,本文对实验拓扑进行了扩展,通过扩展已有的拓扑结构对设备数进行倍增,由7 个设备逐步增至70 个设备,共进行了10 种规模的对比实验,实验结果如图5 所示。图5 横坐标表示攻击图中包含的设备数量,纵坐标分别表示不同规模下生成攻击图所用的时间和占用的内存。本文实验在CPU 版本为Intel®Xeon®Silver 4110 CPU@2.10 GHz,内存为128 GB 的Linux 系统上基于Python(3.7.4)实现。

图5 算法性能Figure 5 Algorithm performance

实验结果表明,在对设备数为63 的规模网络生成攻击图时,生成攻击图所用时间和内存开始大幅增长。在设备数到达70 时,运行时间和占用内存相比于前一规模出现爆炸增长,运行时间达到3 300 s,占用内存超过25 600 MB。但在设备数小于60 的网络中,本文所提出的扩展规则和基于广度搜索的攻击图生成算法表现较好,可在准确生成3 层关联攻击路径的同时,保证运行时间小于60 s,内存占用不超过45 MB。

以上结果分析表明,本文的扩展规则和攻击图生成算法可对工控操作进行较好关联,并对工业环境下的攻击路径进行完整描述。但由于存在大规模网络的攻击图搜索深度较深且规则复杂导致时间成本增加的情况,本文提出的方法目前仅适用于解决小规模工控系统的3 层攻击图生成问题。

4 结语

本文针对工控环境攻击图语义缺失,无法描述业务操作的问题,基于搜索算法扩展了工控专有协议、攻击行为的攻击图语义,并且提出了一种3 层攻击图模型的建模方法。通过对攻击图的规则及层次的扩展,可以对4 种攻击行为和12 种业务操作进行描述,同时实现攻击图的关联展示。最后,在智能制造系统的拓扑结构中进行验证,结果表明本文方法能够很好地丰富和完整地描述系统攻击图,有效地提供小规模系统全局攻击过程的展示。本文所提出的方法目前仅适用于小规模系统,下一步计划针对快速关联算法进行优化,降低节点增加的时间消耗,将本文方法应用于大规模系统。

猜你喜欢
工控攻击行为攻击者
住院精神病人暴力攻击行为原因分析及护理干预
基于微分博弈的追逃问题最优策略设计
基于人工蜂群算法的无线网络攻击行为的辨识研究
正面迎接批判
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
有限次重复博弈下的网络攻击行为研究
基于计划行为理论的高职学生攻击行为探析