基于动态故障树的信息物理融合系统风险分析
2019-08-27徐丙凤钟志成何高峰
徐丙凤 钟志成 何高峰
摘 要:针对信息物理融合系统(CPS)中的网络安全攻击会导致系统失效的问题,提出一种基于动态故障树的CPS风险建模及分析方法。首先,对动态故障树和攻击树集成建模,构建攻击动态故障树(Attack-DFTs)模型;然后,分别采用二元决策图和输入输出马尔可夫链给出攻击动态故障树中的静态子树和动态子树的形式化模型,并在此基础上给出攻击动态故障树的定性分析方法,即分析网络安全攻击导致系统失效的基本事件路径;最后,通过一个典型的排污系统应用实例对方法的有效性进行验证。案例分析结果表明,所提方法能够分析CPS中由于网络安全攻击导致系统失效的事件序列,有效实现了CPS的综合安全评估。
关键词:信息物理融合系统;动态故障树;攻击树;风险分析;二元决策图
中图分类号: TP311.5软件工程
文献标志码:A
Abstract: In order to solve the problem that network security attacks against the Cyber-Physical System (CPS) will cause a system failure, a CPS risk modeling and analysis method based on dynamic fault tree was proposed. Firstly, the integrated modeling was performed to dynamic fault tree and dynamic attack tree to build the Attack-Dynamic Fault Trees (Attack-DFTs) model. Then, the formal models of static subtree and dynamic subtree in Attack-DFTs were given by binary decision graph and input-out Markov chain respectively. On this basis, the qualitative analysis method of Attack-DFTs was given to analyze the basic event path of the system failure caused by network security attacks. Finally, the effectiveness of the proposed method was verified by the typical case study of a pollution system. The case analysis results show that, the proposed method can analyze the event sequence of system failure caused by network security attack in CPS, and effectively realize the formal safety assessment of CPS.
Key words: Cyber-Physical System (CPS); dynamic fault tree; attack tree; risk analysis; binary decision diagram
0 引言
信息物理融合系统(Cyber-Physical System, CPS)通过计算进程和物理进程相互影响的反馈循环实现系统的智能感知、自主判断与自动执行,是工业4.0、中国制造2025等下一代智能制造的基础形态,与人们的日常生活和国家经济运行密切相关[1]。针对CPS的网络安全攻击不仅会破坏系统的完整性、机密性和可用性,甚至会引起生命財产的损失和环境的破坏[2]。如:2015年乌克兰电力网络遭受鱼叉式网络钓鱼(Spear phishing)攻击,黑客以含有恶意宏的Microsoft Office文件为攻击载体,清空数据采集和监控(Supervisory Control And Data Acquisition, SCADA)系统数据,致使乌克兰西部地区约70万户居民用户停电数小时[3];2016年出现了多起由于医院医疗设备遭到黑客攻击而造成的严重安全事故[4],特别是2017年WannaCry病毒大规模爆发,导致医疗系统的攻击事件日益增多,直接威胁到病人的生命安全[5]。因此,分析网络攻击可能导致的系统失效问题已成为当前学术界和工业界共同关注的热点。
为了解决该问题,现有的工作主要从面向过程的方法[6]和基于模型的方法[7]两个方面进行。其中,面向过程的方法考虑防危性(safety)和安全性(security)的生命周期,依赖防危性/安全性标准规定的要求,主要应用于系统工程的早期阶段,特别是在概念和需求阶段;而基于模型方法的基本思想是基于系统的功能/非功能的形式化或半形式化表示,以统一的模型建模系统的防危性和安全性,能应用于系统开发的所有阶段。因此,本文重点研究基于模型的方法。
基于模型的CPS风险建模及分析框架近年来被广泛研究,即基于统一的模型建模系统的防危性和安全性,并实现分析。其中,基于故障/攻击树集成的方法[8-9]以防危性模型为基础,对网络安全攻击步骤进行扩展,实现防危性和安全性的集成建模。其基本思想是引入扩展故障树,攻击树[10]被集成到一个预先存在的故障树中,将恶意攻击视为系统失效的因素之一。该方法既支持定性分析,也支持定量分析,且所使用的故障树技术和攻击树技术已在工业界广泛应用,因而正成为工业界和学术界共同关注的研究课题。但如文献[11]综述中所强调的,现有的集成故障树和攻击树模型的信息物理融合系统风险分析模型均基于静态模型进行,难以建模软件控制系统的动态和时序等特性,无法有效建模系统故障事件发生之后失效(即意外或者恶意失效)的传播路径,从而无法推导网络安全攻击所导致的最终影响。
因此,本文针对CPS安全风险建模与分析进行深入研究,提出了一种基于动态故障树(Dynamic Fault Trees, DFTs)的CPS风险建模和分析方法。主要工作包括:首先,通过集成动态故障树和攻击树,提出攻击动态故障树(Attack-Dynamic Fault Trees, Attack-DFTs),构建网络安全攻击所导致的CPS失效场景模型;在此基础上基于二元决策图和输入/输出交互马尔可夫链模型分别建立Attack-DFTs的静态子树和动态子树的分析模型,进而进行Attack-DFTs的定性分析。最后,通过案例分析验证了本文方法的有效性。
1 相关工作
CPS风险分析包括防危性和安全性两个方面。防危性旨在保护系统避免意外失效,仅考虑意外的组件故障和人为错误所导致的风险;而安全性旨在保护系统免受故意攻击,处理有意识的人类行为造成的故意/恶意威胁[12]。传统的风险标准关注防危性(Safety)或者安全性(Security),如:防危性分析方法主要有失效模式效应和关键性分析(Failure Mode, Effect and Criticality Analysis, FMECA)[13]、针对SAE(Society of Automotive Engineers)标准语言AADL(Architecture Analysis and Design Language)添加错误附注的分析方法[14];安全性分析的方法主要有FAIR(Factor Analysis of Information Risk)[15]和基于统一建模语言(Unified Modeling Language, UML)的CORAS[16]等。而在最新的ISO 26262標准[17]和近年来欧洲的研究项目[18]中,充分论证了CPS中集成防危性和安全性分析的必要性。文献[12]针对防危性和安全性集成的研究进展进行了综述。
其中,集成故障树与攻击树的信息物理融合系统风险识别、评估和分析方法最早由文献[8]给出,其基本思想是引入扩展故障树,攻击树[10]被集成到一个预先存在的故障树中,以扩展传统风险分析包括恶意风险。基于该思想,文献[19]综合故障树和攻击树的逻辑符号建立CPS系统的风险模型,并提供了定量分析方法;文献[20]在构件故障树基础上扩展了攻击树模型用于建模安全攻击造成系统失效的场景,并且提供了失效事件的概率分析方法;文献[21]在状态事件故障树的基础上集成建模攻击流程,用于CPS系统安全建模,并提供了概率分析方法。这些基于静态故障树和攻击树的方法都存在共同的不足,即所有的逻辑门都只有静态依赖,无法有效建模CPS等复杂系统中软件控制系统的动态行为和失效传播路径。
因此,本文的基本思想是设计一种基于动态故障树的信息物理融合系统风险建模及分析方法。具体做法是以动态故障树模型为基础,以攻击树作为系统安全攻击模型,集成这两种模型的优势进行CPS系统风险场景的综合建模与分析。
2 Attack-DFTs模型
攻击树(Attack Trees, ATs)通常描述在系统上未经授权的操作,即产生意料之外的事件。而动态故障树通常描述基本事件发生导致最终系统失效发生的失效因果链。因此,可以考虑增加导致DFTs中的基本或中间事件发生的恶意行为(由攻击树建模)丰富DFTs的语义,这就意味着攻击者可以利用系统中的某些故障,最终导致DFTs顶层事件的发生。也就是说,当且仅当存在以DFTs中的事件作为攻击树的攻击目标时,DFTs才能与攻击树集成。基于该思想,本文构造攻击动态故障树模型。
2.1 DFTs的形式化描述
动态故障树集成了故障树分析和马尔可夫链的优点,通过引入表征动态特性的逻辑门建立动态系统的失效因果链,目前已经广泛应用于工业控制系统中。动态故障树是一种由事件和逻辑门组成的有向无环图[22],用于描述基本事件发生引起系统失效的失效因果链。其中,事件用来描述元部件和系统的状态,分为基本事件(原子事件)、顶事件(位于动态故障树的顶部)和中间事件(由一个或多个其他事件导致)。动态故障树的逻辑门除了包含传统的静态故障树的与门(AND)、或门(OR)之外,还定义了一组动态逻辑门描述失效优先顺序、相关性及功能相关性等动态失效特征,包括优先与门(Priority-AND Gate, PAND)、功能相关门(Functional DEPendency gate, FDEP)和备件门(SPARE, SP)三种典型的动态逻辑门。
1)优先与门(PAND)失效机理:当触发事件按照从左至右的顺序发生时,输出事件发生。
2)功能相关门(FDEP)失效机理:当触发事件发生时,所有相关事件被强制发生。
3)备件门(SPARE)的失效机理:用功能相同的备件替代系统中故障的部件,当备件的数量小于系统所需的最小数量时,顶事件发生。
图1是一个描述处理器失效场景的动态故障树,系统由两个处理器P1和P2组成,每个处理器都带有自己的备件,分别是S1和S2。图1描述的失效场景是当且仅当处理器P1先故障,备件S1故障,然后处理器P2故障且备件S2也故障时,系统故障发生。
在动态故障树分析方面,实际系统的动态故障树分析往往计算量巨大。因此,在对动态故障树进行分析的过程中,通常将动态故障树划分成独立的静态子树和动态子树模块,然后静态子树用二元决策图求解,动态子树则用马尔可夫链模型求解[23]。通过模块化的处理结果,可以直接降低动态故障树分析的复杂度。
2.2 攻击树的形式化描述
攻击树采用结构化的方式建模网络攻击。以攻击目标作为根节点(即顶层事件),以部分攻击作为中间节点或叶节点,事件之间的组合采用与门(AND)、或门(OR)和顺序与门(SAND)进行表达。任何一条从叶节点到根节点的路径表示一次完整的攻击过程。