一种用于铁路信号系统的软件架构安全分析实现方法技术方案

技术编号:27975209 阅读:40 留言:0更新日期:2021-04-06 14:09
本发明专利技术公开了一种用于铁路信号系统的软件架构安全分析实现方法,包括:根据软件安全功能分配到各个软件模块的过程与软件模块之间的调用关系,确定软件模块对于整个软件系统的安全影响,得出需要进行安全分析的软件模块;选取需要安全分析的每个软件模块,确定分析范围内的每个软件模块的分析层级;建立每个软件模块的分析模型;基于建立的分析模型对软件模块进行错误影响分析。

【技术实现步骤摘要】
一种用于铁路信号系统的软件架构安全分析实现方法
本专利技术涉及软件安全分析领域,特别涉及一种用于铁路信号系统的软件架构安全分析实现方法。
技术介绍
随着铁路信号系统向着集成化和智能化的方向发展,软件在信号系统安全关键功能的控制和防护中发挥的作用越来越大,软件在整个系统中的作用也越来越重要,保障软件的安全性成为保证系统安全性的关键环节。近年来,在安全关键领域的许多事故的发生,都是由于软件本身的失效引起的。因此,需要对软件本身开展安全性分析,针对软件的架构设计,识别安全关键系统中软件设计本身引入的危险行为,得出新的安全性需求,或对系统分配给软件的安全性需求的完整性进行验证,确保软件安全需求在软件架构设计阶段正确实现,保证软件设计符合其预定的安全目标。传统的软件安全分析,采用系统的危害分析方法对软件功能展开安全分析,比如软件失效模式和影响危害分析(SFMECA),软件故障树分析(SFTA)等,主要集中在功能失效分析,随着系统功能在软件级的细化,完整的功能分析内容很多,耗时较长。另一方面,传统的安全分析得出的安全需求大多能够由系统级的安全活动分析出的安全需求覆盖,使得在软件级开展传统安全分析性价比不高。同时,传统的功能安全分析通过将系统分解的方法逐步分析单个组件或者模块的失效,并提出防护措施,从而避免系统的失效。但是,这一假设对复杂的软件可能存在不适用的情况。软件的失效,除了传统分析方法能分析到的软件组件模块的功能失效外,有一部分可能是由于组件模块之间的不安全交互引起的,问题不是源于单个模块的故障,分离和单独分析交互模块往往会使得软件整体的结果失真。软件本身设计方案的选取,比如性能需求与设计实现的临界条件,都可能衍生出新的安全需求,仅进行传统的功能分析角度可能会遗漏这些安全需求。因此,对大规模复杂的软件的安全分析,需要把软件当作一个系统工程,更多针对软件本身的错误影响进行分析。
技术实现思路
本专利技术的目的是提供一种用于铁路信号系统的软件架构安全分析实现方法,将软件错误影响分析作为一系统工程,针对软件本身的架构设计展开安全分析,建立分析模型,注重组件模块交互导致的软件失效,聚焦对软件安全失效影响大的环节,弥补传统对软件分解之后进行安全分析的不足,提高了分析的效率。为了实现以上目的,本专利技术是通过以下技术方案实现的:一种用于铁路信号系统的软件架构安全分析实现方法,其特点是,包括:步骤S1、根据软件安全功能分配到各个软件模块的过程与软件模块之间的调用关系,确定软件模块对于整个软件系统的安全影响,得出需要进行安全分析的软件模块;步骤S2、选取需要安全分析的每个软件模块,确定分析范围内的每个软件模块的分析层级;步骤S3、建立每个软件模块的分析模型;步骤S4、基于建立的分析模型对软件模块进行错误影响分析。所述的步骤S1包括:步骤S11、根据软件需求文档中系统向软件级安全需求的分配标签,建立软件安全需求清单;步骤S12、根据软件架构设计文档与软件需求文档之间的标签追踪关系,建立功能模块与软件安全需求之间的映射关系;步骤S13、分别从软件模块的控制流角度、数据流角度和运行环境的角度,分析各个软件模块对于整个软件系统安全影响。所述的步骤S13包括:步骤S131、选取未开始分析的软件模块确定其是否属于分析范围;步骤S132、判断分析选取的软件模块的功能是否为控制、监视或者验证与安全相关的软件和硬件的行为;步骤S133、判断分析选取的软件模块的功能是否为安全相关的决策关键信息;步骤S134、判断分析选取的软件模块的功能是否对安全相关的系统的运行产生影响;步骤S135、将分析的软件模块纳入安全分析范围列表。所述的步骤S2包括:步骤S21、选取分析范围内的其中一个软件模块;步骤S22、判断软件模块是否满足设定的安全规则表;步骤S23、根据软件模块与安全规则表的匹配关系,确定分析层级。所述的步骤S22包括:步骤S221、所述的判断模块是否仅执行非安全功能,若是则执行步骤S222,否则执行步骤S223;步骤S222、对软件模块的输出数据开展安全影响分析,分析软件模块的输出对其他安全模块的影响;步骤S223、判断软件模块是否是经过证明的复用模块,若是,执行步骤S224,否则执行步骤S225;步骤S224、对软件模块进行接口数据流、控制流安全分析,进行复用模块的使用符合性验证,然后执行步骤S229;步骤S225、对软件模块进行安全关键度分析,然后执行步骤S226和步骤S227;步骤S226、判断软件模块的安全关键度是否超过阈值,若没有超过,执行步骤S224,若超过,执行步骤S228;步骤S227、判断软件模块是否采用了易错的架构,若是,进一步执行步骤S228和S231,若不是,执行步骤S226;步骤S228、进行软件模块内部逻辑分析,并验证在软件需求阶段分配的安全需求在模块内部被正确实现;步骤S229、对软件模块开展耦合度分析,对非复用的安全功能模块,判断其与执行安全功能模块之间的耦合程度;步骤S230,判断软件模块与执行安全功能模块之间的耦合程度是否超过阈值,若不是,分析结束;若是,执行步骤S231;步骤S231,开展模块间时序和临界资源分析,并对模块接口间数据流和控制流进行分析。所述的步骤S3包括:步骤S31、根据软件模块的架构设计文档的特征分别建立模块安全需求清单、调用模块清单和临界资源清单;步骤S32、根据软件架构设计文档中的处理逻辑描述,将调用模块按照调用的先后顺序排列;步骤S33、根据软件需求阶段的状态转换描述和软件架构设计文档中的处理逻辑描述,确定在逻辑链路上软件的运行状态和运行状态转换时刻,并确定软件模块的安全需求作用于逻辑链路上的环节,得到软件模块的分析模型。所述的步骤S31具体包括:步骤S311、根据软件架构设计文档对软件需求文档中安全相关需求的继承标签,建立与分析模块相关的安全需求清单;步骤S312、根据软件架构设计文档中的模块、进程调用描述建立调用模块清单;步骤S313、根据软件架构设计文档中的使用资源和模块输入输出描述,建立模块相关的临界资源清单。所述的步骤S32之前还包括:多次对获取的清单信息数量进行判定,若信息数量没有满足预设值时,则继续执行步骤S31。所述的步骤S4包括:步骤S41、对每个软件模块进行标准符合化验证;步骤S42、对于每个分析的软件模块,根据分配的功能确定其与安全相关的失效模式;步骤S43、基于得到的软件模块的分析模型,确定导致软件模块安全功能失效的原因及失效的时间节点;步骤S44、对所述软件模块执行对应的安全补救行为。本专利技术与现有技术相比,具有以下优点:(1)本专利技术制定了安全相关度评价准则,在分析前先根据安全需求的分配和安全度评本文档来自技高网
...

【技术保护点】
1.一种用于铁路信号系统的软件架构安全分析实现方法,其特征在于,包括:/n步骤S1、根据软件安全功能分配到各个软件模块的过程与软件模块之间的调用关系,确定软件模块对于整个软件系统的安全影响,得出需要进行安全分析的软件模块;/n步骤S2、选取需要安全分析的每个软件模块,确定分析范围内的每个软件模块的分析层级;/n步骤S3、建立每个软件模块的分析模型;/n步骤S4、基于建立的分析模型对软件模块进行错误影响分析。/n

【技术特征摘要】
1.一种用于铁路信号系统的软件架构安全分析实现方法,其特征在于,包括:
步骤S1、根据软件安全功能分配到各个软件模块的过程与软件模块之间的调用关系,确定软件模块对于整个软件系统的安全影响,得出需要进行安全分析的软件模块;
步骤S2、选取需要安全分析的每个软件模块,确定分析范围内的每个软件模块的分析层级;
步骤S3、建立每个软件模块的分析模型;
步骤S4、基于建立的分析模型对软件模块进行错误影响分析。


2.如权利要求1所述的用于铁路信号系统的软件架构安全分析实现方法,其特征在于,所述的步骤S1包括:
步骤S11、根据软件需求文档中系统向软件级安全需求的分配标签,建立软件安全需求清单;
步骤S12、根据软件架构设计文档与软件需求文档之间的标签追踪关系,建立功能模块与软件安全需求之间的映射关系;
步骤S13、分别从软件模块的控制流角度、数据流角度和运行环境的角度,分析各个软件模块对于整个软件系统安全影响。


3.如权利要求2所述的用于铁路信号系统的软件架构安全分析实现方法,其特征在于,所述的步骤S13包括:
步骤S131、选取未开始分析的软件模块确定其是否属于分析范围;
步骤S132、判断分析选取的软件模块的功能是否为控制、监视或者验证与安全相关的软件和硬件的行为;
步骤S133、判断分析选取的软件模块的功能是否为安全相关的决策关键信息;
步骤S134、判断分析选取的软件模块的功能是否对安全相关的系统的运行产生影响;
步骤S135、将分析的软件模块纳入安全分析范围列表。


4.如权利要求1所述的用于铁路信号系统的软件架构安全分析实现方法,其特征在于,所述的步骤S2包括:
步骤S21、选取分析范围内的其中一个软件模块;
步骤S22、判断软件模块是否满足设定的安全规则表;
步骤S23、根据软件模块与安全规则表的匹配关系,确定分析层级。


5.如权利要求4所述的用于铁路信号系统的软件架构安全分析实现方法,其特征在于,所述的步骤S22包括:
步骤S221、所述的判断模块是否仅执行非安全功能,若是则执行步骤S222,否则执行步骤S223;
步骤S222、对软件模块的输出数据开展安全影响分析,分析软件模块的输出对其他安全模块的影响;
步骤S223、判断软件模块是否是经过证明的复用模块,若是,执行步骤S224,否则执行步骤S225;
步骤S224、对软件模块进行接口数据流、控制流安全分析,进行复用模块的使用符合性验证,然后执行步骤S229;
步骤S225、对软件模块进行安全关键度分析...

【专利技术属性】
技术研发人员:胡源刘晓张辉林伟欣秦洁心马巧娜黄鸿南楠
申请(专利权)人:卡斯柯信号有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1