摘要
为在设计阶段验证交互数据在系统中的安全特性,基于有色Petri网与失效传播模型提出了一种对系统模型自动分析得到输入数据失效最小割集的安全影响分析方法。首先,建立系统的有色Petri网模型,通过对库所数值离散化处理得到用例,对变迁进行单元测试得出失效行为函数,获得具有失效行为变迁的失效传播有色Petri网;然后基于有色Petri网模型的状态空间,通过失效空间生成算法与变迁回溯法,实现由模型状态空间到失效状态空间,再到失效状态树的转换,并通过失效状态树的合并与计算,获得系统失效最小割集。最后通过实验,比较不同数据安全保障措施下系统的失效最小割集变化,验证了安全保障措施对系统安全的作用,实验结果证明了该分析方法的正确性与有效性。
基于通信的列车控制系统(communication based train control, CBTC)通过列车精确定位与车地通信保证保障列车安全高效运行。由于外部环境或人为等因素的存在,尽管大部分系统内部具备安全保障措施,模块与子系统之间的数据传输仍存在出错的风
近年来,数据在系统中的安全影响在越来越多的研究中得到重视,很多针对数据的系统安全分析与保障方法随之涌现。Wang
CBTC是复杂度高的并发系统且具有明显的数据驱动特性,明确系统输入数据对系统的安全影响至关重要。在系统设计阶段,采用形式化方法对系统功能建模分析通常严谨有效。有色Petri网(colored Petri network,CPN
综上所述,本文结合CPN与失效传播机制,提出了一种可以在设计阶段进行的对数据在系统中的重要性与影响情况进行安全影响分析的方法。该方法分为失效传播CPN模型(failure propagation and transformation CPN,FPT-CPN)的构建与分析两部分。
根据 CBTC 国际标准 IEEE1474的描述,一般情况下,CBTC 系统由列车自动监控系统(automatic train supervision, ATS)、区域控制器(zone controller, ZC)、计算机联锁(computer interlocking, CI)、车载控制器(vehicle onboard control, VOBC)等部分组成。CBTC子系统之间通过数据传递实现协作,对各子系统,其功能的实现依赖于传入数据的上游子系统,各子系统具有明显的数据驱动特性。
系统设计中涉及数据的工作包括数据内容设计与数据容错方案设计。数据内容设计为数据的参数化设计,如列车运行信息是ZC的输入数据,将列车运行信息细化为车头位置、车尾位置、列车时速等具体参数的过程;数据容错方案设计是确定数据安全保障措施的过程,如对列车时速采用三取二还是逻辑容错。为针对不同数据设计方案进行安全影响的分析,需构建数据驱动的FPT-CPN模型。数据驱动
FPT-CPN的建模流程为:①根据系统需求,构建数据驱动的CPN模型;②对CPN模型的结构进行扩展,转换为FPT-CPN。
有色Petri网(colored Petri net, CPN)是由矩形节点和圆形节点组成的有向图,可通过一个9元组描述:
其中:为一个有限集,表示库所;为一个有限集,表示变迁;A为一个有限集,,表示弧;为一个非空有限集,表示颜色集;为一个有限集,表示变量类型;等一个颜色集函数,为每一个库所分配一个颜色集;为一个谓词函数,为每一个变迁分配一个谓词;为一个弧表达式函数,为每一个弧分配一个表达式;为一个初始化函数,为每一个库所分配一个表达式。CPN的结构如

图 1 CPN结构
Fig. 1 Structure of CPN
在CPN的基础上进行扩展,引入失效库所PF和失效变迁TF,定义FPT-CPN如下:
FPT-CPN
其中:为一个映射函数,为每个库所分配一个失效库所;为一个映射函数,为每个变迁分配一个失效变迁;为一个有限集,表示数据失效的集合;为一个谓词函数,为每个分配一个失效行为函数。FPT-CPN的结构如

图 2 FPT-CPN结构
Fig. 2 Structure of FPT-CPN
首先,根据数据类型定义数据失效集,数据失效定义如
对每个进行单元测试,得到失效传递函数。令表示对应的输出库所集合,表示对应的输入库所集合。用例生成算法如下。
算法1 数值用例生成算法
(1) 初始化:,令库所数量为n,变迁数量为m,令,其中表示库所的取值集合。
(2) 对每个,如果,即库所的类型为num:则:
其中:为的数值下界; 为的数值上界;为的数值步长。
(3) Repeat
给定起始用例集合
Repeat(对每个)
对每个,
(4) 输出最终用例集:
基于进行失效行为的生成。首先,对应
算法2 生成算法
(1) 初始化:,
(2) 对每个,失效输入集
对,对,有:
基于FPT-CPN的分析过程如下:首先,对每个用例,分别生成该FPT-CPN对应的失效状态空间;应用状态空间转换算法,将失效状态空间转换为失效布尔表达式;合并失效布尔表达式,计算得出最小割集。
以

图 3 三取二结构的CPN模型
Fig. 3 CPN model of two out of three structure

图 4 状态空间图(三取二结构)
Fig. 4 Graph of state space (two out of three structure)
失效状态空间生成算法如下所示。其中状态空间生成算法在本文中不进行进一步阐述。
算法3 失效状态空间生成算法
(1) 定义:令表示全局计算的第n个状态空间,对,为系统状态节点。令表示库所输出的变迁的集合。对状态节点,令表示状态节点对应输出的变迁的集合。
(2) 初始化:,对CPN生成初始状态空间,令失效状态空间集为,获得目标输入库所集合。
(3) 备选触发变迁集合,令状态空间变量,
(4) 对,p
Repeat
故障注入的目标状态节点集合
对每个中的
测试用例集,其中,
对每个,
生成新的,
,其中为差集算子
对s,p执行步骤4
Until
假设库所d1、d2、d3的正确输入值为(0,0,0),对其分别由失效值域{-1,0,1,2}赋值,采用算法3生成失效状态空间,得到一组状态空间S,其中一组状态空间示例如

图 5 原始状态空间示例
Fig. 5 Example of original state space

图 6 失效状态空间
Fig. 6 Failure state spaces
对,分别采用变迁回溯法确立失效状态树。失效状态树的定义与故障树一致,表达失效逐步传递,最终影响顶事件的树结构。区别在于,失效状态树描述的是某特定系统状态空间下的行为。变迁回溯法包括如下三个步骤:
(1) 根节点与子节点确定。选择目标输出库所,确立目标失效的“顶事件”。根据分析目标,确立所有的输入库所和分析的“底事件”。
(2) 路径抽取。选取所有以目标输出库所为输出的变迁,沿网络的方向逆向搜索直到找到某些变迁的输入库所全部为输入库所,得到失效传递的路径。
(3) 布尔逻辑关系表达。对某个状态空间,其存在多个输入路径,则路径之间关系为“或”,若只存在一个输入路径,则该路径触发变迁的多个库所失效条件为“与”。
以上述三取二组件的cmp部分为例,令page'item:failure表示页面page下的对象item上的失效模式failure,选择分析顶事件为main'output:gt。对应

图 7 失效状态树
Fig. 7 Failure state tree
对每个失效状态对应的失效状态树分别求解最小割集,再求并集得到目标失效的最小割集。本文采用布尔代数法对每个失效状态树进行求解。以
显然,经化简,得,对应最小割集为{{cmp'd1:gt,cmp'd2:gt}}。合并20个相似的失效状态树,得该组件的失效main'output:gt对应的失效最小割集{{cmp'd1:gt,cmp'd2:gt},{cmp'd1:gt,cmp'd3:gt},{cmp'd2:gt,cmp'd3:gt}}。符合该组件的冗余特性。
基于某实际线路设计,以区域控制器(zone controller, ZC)切换场景为例,构建系统模型。ZC 切换是区域控制系统的特有场景,描述的是列车由一个ZC的管辖区域行驶到相邻ZC管辖区域的过程。相邻的ZC之间存在一个重叠区域,列车行驶进入重叠区域后,开始切换的流程。原ZC会向接管ZC发送移交申请,接管ZC收到申请后,开始通过原ZC发送移动授权(movement authority, MA)等控制命令,此时列车同时收二者的控制;在列车车尾越过切换应答器后,原ZC发出切断请求,列车切断与原ZC的通信,完成ZC切换。
首先,定义系统关键状态。假定ZC1为移交ZC,ZC2为接管ZC,根据列车运行的不同阶段i,定义列车状态,各状态如
ZC的切换过程中,列车状态从逐步过渡到,
根据该状态变化构建模型。模型由顶层main(

图 8 ZC切换模型(main)
Fig. 8 ZC transfer model(main)

图 9 ZC切换模型(ZC1)
Fig. 9 ZC transfer model(ZC1)

图 10 ZC切换模型(ZC2)
Fig. 10 ZC transfer mosdel(ZC2)

采用CPN Tools计算状态空间,得到该模型存在5个终止结点,图 12为其中终止结点之一的部分库所的状态,经检查,5个终止结点的Train’MA_count的参数与图 12相同,表示该切换过程列车均成功接收到各阶段应接收到的MA,符合系统需求。由模型可以看出,在ZC切换过程中,最重要的功能在于保证输出的MA的完整,验证了ZC的核心功
本文在ZC1的输入环节中加入安全保障措施,通过验证其效果证明本文分析方法的有效性。在安全保障措施中选用三取二结构组件和数据一致性验证、逻辑容错。实验设计分组见
其中,三取二的方法采用的是如
为了更直观比较不同保障措施的效果,对每个数据分别取20个离散值然后组合注入错误值加入实验,主要库所的正确值取值见
以输出到列车的ZC1'MA:gt为目标失效,分别得到每组实验的最小割集,结果见
由实验1可见,在未进行容错与处理的条件下,最小割集很小,数据输入的失效可以直接引发整个系统的危险;对实验2、实验3和实验3,可得出可预期的结论,冗余通道对输出的保护是明显的,车头位置数据的割集为二元组,有效提高了失效发生条件的复杂度;实验4中,加入一致性检验后,车尾位置一并加入了最小割集,提高了失效发生的复杂度。同时也可发现,该割集是顶事件的必要不充分条件,具有更苛刻的触发条件。在实验5中,经过逻辑容错后,{TrainVelocity:lt}对结果的影响已经完全得到避免。实验结果证明,冗余结构具有通用性,且可以有效提高失效的触发难度,另外,逻辑冗余具有更强的容错能力,条件允许的情况下采用逻辑冗余,对系统容错能力有较大提升。
本文结合失效传播方法与有色Petri网,建立了一套由系统原理模型到失效分析的自动化分析方法。该方法的实验结论表明,通过目标失效的最小割集,可以明确系统方案中数据的薄弱环节与重要危险侧输入;通过不同方案对比,可有效比对安全保障方案,进行系统安全设计。该方法对设计过程中进行数据对系统的安全影响提供了依据,为安全保障措施设计提供了技术支撑。
作者贡献声明
陈宇佳:模型设计,仿真实验设计与实现;
曾小清:方案分析;
袁腾飞:数据处理。
参考文献
AZIMINEJAD A, LEE A W, EPELBAUM G. Underground communication radio propagation prediction for CBTC data Communication subsystem design [J]. IEEE Vehicular Technology Magazine, 2015, 10(3): 71. [百度学术]
SONG H F, WU W, DONG H R, et al. Propagation and safety analysis of the train-to-train communication system [J]. IET Microwaves, Antennas & Propagation, 2019, 13(13): 2324. [百度学术]
HEINRICH M , VATEVAGUROVA T , Arul T , et al. Security requirements engineering in safety-critical railway signalling networks[J].Security and Communication Networks, 2019,2019:1. [百度学术]
WANG T D, ZHAO H B, ZHU L F, et al. Satisfiability Verification of engineering data safety rules of balise based on ROBDD [M]. New York: IEEE, 2016. [百度学术]
SOKOLOWSKA L, TORU A. Safety method for wireless data transmission in control command systems[C]//proceedings of the 22nd International Scientific on Conference Transport Means 2018.[ [百度学术]
S.l.]: Kaunas University of Technology, 2018:49-56. [百度学术]
ILIASOV A, ROMANOVSKY A. Formal analysis of railway signalling data [M]//2016 IEEE 17th International Symposium on High Assurance Systems Engineering. New York: IEEE, 2016: 70-77. [百度学术]
ZHOU G, ZHAO H. Data safety verification of computer interlocking in urban railway signaling [J]. Journal of the China Railway Society, 2016, 38(8): 63. [百度学术]
WANG T D, WANG W, ZIO E, et al. Analysis of configuration data errors in Communication-based train control systems [J]. Simulation Modelling Practice and Theory, 2019, 96(6):101941 [百度学术]
TANG J, PIERA M A, GUASCH T. Coloured Petri net-based traffic collision avoidance system encounter model for the analysis of potential induced collisions [J]. Transportation Research Part C: Emerging Technologies, 2016, 67(6):357. [百度学术]
WU D H, ZHENG W. Formal model-based quantitative safety analysis using timed coloured Petri nets [J]. Reliability Engineering & System Safety, 2018, 176(8):62. [百度学术]
FENELON P, MCDERMID J A. An integrated tool set for software safety analysis [J]. Journal of Systems and Software, 1993, 21(3): 279. [百度学术]
葛晓瑜, 沈国华, 黄志球, 等. 一种基于失效传播模型的危害分析方法 [J]. 计算机工程与科学, 2019, 41(6): 1026. [百度学术]
GE Xiaoyu, SHEN Guohua, HUANG Zhiqiu, et al. A hazard analysis method based on failure propagation model [J]. Computer Engineering & Science, 2019, 41(6): 1026. [百度学术]
WALLACE M. Modular architectural representation and analysis of fault propagation and transformation [J]. Electronic Notes in Theoretical Computer Science, 2005, 141(3): 53. [百度学术]