[发明专利]一种基于STPA的安全关键软件安全性验证方法有效
| 申请号: | 201910862665.6 | 申请日: | 2019-09-12 |
| 公开(公告)号: | CN110674473B | 公开(公告)日: | 2023-01-17 |
| 发明(设计)人: | 汪克念;吴康;阎芳;谢文光 | 申请(专利权)人: | 中国民航大学 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/44 |
| 代理公司: | 天津才智专利商标代理有限公司 12108 | 代理人: | 庞学欣 |
| 地址: | 300300 天*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 stpa 安全 关键 软件 安全性 验证 方法 | ||
一种基于STPA的安全关键软件安全性验证方法。其包括对安全关键软件进行STPA分析及形式化规约,得到软件安全约束;采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证等步骤。本发明效果:解决了传统分析方法很难捕获组件交互和复杂条件下的软件危险行为,以及安全性验证依赖人工的问题。
技术领域
本发明属于安全关键软件的安全性验证技术领域,具体设计一种基于STPA的安全关键软件安全性验证方法。
背景技术
软件是现代安全关键系统中不可或缺且日益复杂的组成部分。软件的复杂性使得传统的安全性分析方法很难捕获组件交互过程带来的危险。
Leverson提出了系统理论事故模型和过程(STAMP)及其安全性分析方法STPA,认为导致事故发生的原因是复杂系统动态控制过程中各组件之间的相互作用,而不是简单的单个组件失效。在此基础上,为适应对软件的安全性分析,Abdulkhaleq提出了一种基于STPA的软件安全性分析方法,并成功应用于汽车巡航控制系统的软件安全性分析中。虽然该STPA方法已经被证明能够有效识别组件交互过程带来的危险,但是在软件安全性分析中的应用过程到目前为止还没有严格的分析过程或基于模型的设计工具来指导分析。此外,尽管还没有为该STPA方法设计软件安全性分析工具,但是该过程基于控制理论框架,可以对框架进行形式化定义,以促进集成到安全关键软件的安全性验证工具中。
另外,传统的安全关键软件安全性分析方法还存在软件安全性验证过程复杂、验证结果不准确等问题。
发明内容
为了解决上述问题,本发明的目的在于提供一种基于STPA的安全关键软件安全性验证方法。
为了达到上述目的,本发明提供的基于STPA的安全关键软件安全性验证方法包括按顺序进行的下列步骤:
步骤1:对安全关键软件进行STPA分析及形式化规约,得到软件安全约束;
步骤2:采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证。
在步骤1中,所述的对安全关键软件进行STPA分析及形式化规约,得到软件安全约束的方法是:
步骤1.1:首先确定与安全关键软件相关的系统级事故与危险,构建系统的安全控制结构,然后结合系统的安全控制结构识别出安全关键软件中可能存在的四种类型的软件危险行为;
步骤1.2:通过构建带有软件关键过程变量的软件过程模型,形式化定义致因分析过程,生成上述软件危险行为发生时的系统上下文信息,确定出软件危险行为发生的原因;
步骤1.3:根据步骤1.2的结果,得到软件危险行为控制路径,并对软件危险行为控制路径进行形式化规约,之后转换为软件安全约束。
在步骤1.1中,所述的首先确定与安全关键软件相关的系统级事故与危险,构建系统的安全控制结构,然后结合系统的安全控制结构识别出安全关键软件中可能存在的四种类型的软件危险行为的方法是:
1.1.1:确定在可能的最不理想的情况下由安全关键软件故障所引起的系统级事故与危险;
1.1.2:根据安全关键软件在系统中的控制原理,构建一个包含控制回路和反馈回路的安全控制结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航大学,未经中国民航大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910862665.6/2.html,转载请声明来源钻瓜专利网。





