CN110674473A - 一种基于stpa的安全关键软件安全性验证方法 - Google Patents

一种基于stpa的安全关键软件安全性验证方法 Download PDF

Info

Publication number
CN110674473A
CN110674473A CN201910862665.6A CN201910862665A CN110674473A CN 110674473 A CN110674473 A CN 110674473A CN 201910862665 A CN201910862665 A CN 201910862665A CN 110674473 A CN110674473 A CN 110674473A
Authority
CN
China
Prior art keywords
software
safety
security
control
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910862665.6A
Other languages
English (en)
Other versions
CN110674473B (zh
Inventor
汪克念
吴康
阎芳
谢文光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Civil Aviation University of China
Original Assignee
Civil Aviation University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Civil Aviation University of China filed Critical Civil Aviation University of China
Priority to CN201910862665.6A priority Critical patent/CN110674473B/zh
Publication of CN110674473A publication Critical patent/CN110674473A/zh
Application granted granted Critical
Publication of CN110674473B publication Critical patent/CN110674473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

一种基于STPA的安全关键软件安全性验证方法。其包括对安全关键软件进行STPA分析及形式化规约,得到软件安全约束;采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证等步骤。本发明效果:解决了传统分析方法很难捕获组件交互和复杂条件下的软件危险行为,以及安全性验证依赖人工的问题。

Description

一种基于STPA的安全关键软件安全性验证方法
技术领域
本发明属于安全关键软件的安全性验证技术领域,具体设计一种基于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:根据安全关键软件在系统中的控制原理,构建一个包含控制回路和反馈回路的安全控制结构;
1.1.3:通过对安全控制结构的分析,识别出安全关键软件中可能存在的四种类型的所有软件危险行为,四种类型的软件危险行为具体包括提供控制信号导致的危险行为、没有提供控制信号导致的危险行为、在错误的时间提供控制信号导致的危险行为、提供的控制信号作用时间过长或过短导致的危险行为。
在步骤1.2中,所述的通过构建带有软件关键过程变量的软件过程模型,形式化定义致因分析过程,生成上述软件危险行为发生时的系统上下文信息,确定出危险行为发生的原因的方法是:
1.2.1:构建带有软件关键过程变量的软件过程模型,并通过四元组的形式对软件过程模型的分析过程进行形式化定义,形式化定义如下:
形式化定义1:定义四元组(SC,CA,CT,ST)表示软件控制器(SC)在系统状态下(ST)产生某种控制行为类型(CT)的控制行为(CA);
形式化定义2:SC表示软件控制器,能够产生对系统的控制信号,
Figure BDA0002200284070000032
表示软件控制器的集合;
形式化定义3:CT代表控制行为类型,
Figure BDA0002200284070000033
表示控制行为类型集合;其中P表示提供控制信号;NP表示没有提供控制信号;ES表示控制信号错误的时序;EAT表示控制信号错误的作用时间;
形式化定义4:CA表示软件控制器产生的对被控对象的控制行为,
Figure BDA0002200284070000035
形式化定义5:ST表示控制行为发生时系统上下文信息,系统信息可分为三类:软件控制器接收系统外部控制器信息、软件控制器接收系统内部组件信息、软件控制器的输出信息;
形式化定义6:定义四元组UCA=∑(CA,ST)∧CT→H表示软件控制路径∑(CA,ST)以CT的控制类型发生时是否会对系统产生危险,其中∑(CA,ST)和CT满足∑(CA,ST)×CT=∑i,j(CA,ST)i·CTj,i为(CA,ST)可能的取值数,UCA∈U,U=∑i,j(CA,ST)i·CTj→H,H∈Hazards,Hazards={YES,NO};
1.2.2:结合上述形式化定义1—6,确定安全关键软件中与这些形式化定义对应的软件关键过程变量,对软件过程模型进行形式化分析,生成软件危险行为发生时的系统上下文信息,确定出危险行为发生的原因。
在步骤1.3中,所述的根据步骤1.2的结果,得到软件危险行为控制路径,并对软件危险行为控制路径进行形式化规约,之后转换为软件安全约束的方法是:
对步骤1.2中生成的结果,采用LTL(线性时序逻辑)公式得到软件危险行为控制路径,然后对软件危险行为控制路径进行形式化规约,之后变换形式,得到采用LTL公式精确描述的软件安全约束。
在步骤2中,所述的采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证的方法是:
步骤2.1:通过SCADE开发环境,采用基于同步语言的形式化建模符号对上述软件安全约束进行精确描述,建立安全规约模型;
步骤2.2:通过SCADE开发环境,采用基于同步语言的形式化建模符号对功能需求进行精确描述,建立软件设计模型;
步骤2.3:在SCADE开发环境中,将安全规约模型和软件设计模型中相应的变量进行连接,以软件设计模型中的变量作为安全规约模型的输入;此外,需要根据软件控制过程,限定模型检测过程中的输入;
步骤2.4:采用SCADE开发环境中集成的Prover模型检测工具,穷尽所有可能的测试场景,对安全关键软件和软件安全约束的符合性进行形式化验证。
在步骤2.1中,所述的通过SCADE开发环境,采用基于同步语言的形式化建模符号对上述软件安全约束进行精确描述,建立安全规约模型的方法是:
利用SCADE中的形式化建模符号对软件安全约束进行描述,将每条LTL公式描述的软件安全约束转化为SCADE中独立的安全规约模型,其中LTL公式与SCADE的形式化建模符号之间的转换关系满足下表:
Figure BDA0002200284070000051
其中‘\’表示SCADE中没有对应的形式化建模符号,但是在执行模型检测过程中穷尽了所有测试场景,包含了LTL中的任意时刻算子的作用。
本发明提供的基于STPA的安全关键软件安全性验证方法的有益效果是:
本发明考虑到目前大多数事故并不是由于组件故障引起的,而是由于按设计运行时所碰到的各种复杂情况和组件之间的不期望交互作用,而这一现象主要出现在软件组件中,主要表现为软件需求缺陷以及软件与其他组件的不良交互。此外,考虑到在安全关键领域,采用MBSD(基于模型的软件设计)方法已经成为一种趋势,结合两者优势,充分研究了两者在软件安全性验证中结合的可能性,发明了本方法,解决了传统分析方法很难捕获组件交互和复杂条件下的软件危险行为,以及安全性验证依赖人工的问题。
附图说明
图1为本发明提供的基于STPA的安全关键软件安全性验证方法流程图;
图2为本发明提供的起落架软件控制器的安全控制结构模型图;
图3为本发明提供的带有起落架软件关键过程变量的软件过程模型。
图4为本发明提供的SCADE建模符号中的与门模型图;
图5为本发明提供的SCADE建模符号中的或门模型图;
图6为本发明提供的SCADE建模符号中的非门模型图;
图7为本发明提供的起落架控制器的SSR1.1的规约模型图;
图8为本发明提供的起落架控制器的SSR1.2的规约模型图;
图9为本发明提供的起落架控制器的SSR1.3的规约模型图;
图10为本发明提供的起落架控制器的SSR1.4的规约模型图;
图11为本发明提供的起落架控制软件设计图;
图12为本发明提供的起落架控制软件安全性验证框图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细描述。
为使本领域技术人员更加清楚和明确本发明的技术方法,下面结合实例及附图对本发明作进一步详细的描述,但本发明的方式不限于此。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
如图1所示,本发明提供的基于STPA的安全关键软件安全性验证方法包括按顺序进行的下列步骤:
步骤1:对安全关键软件进行STPA分析及形式化规约,得到软件安全约束;
步骤1.1:软件危险行为识别
具体地,以起落架控制软件(LGCS)为例,对于起落架软件控制器,其主要功能是根据飞行员的指令和当前飞机的飞行状态,对控制起落架的执行机构给出相应的逻辑控制信号,同时,根据起落架各部件返回来的状态信息及与控制信号之间存在的约束关系进行检测,并将检测结果传递给飞机座舱系统,用以提示飞行员起落架控制系统运行情况。
与起落架控制软件相关的系统级事故为飞机不能正常降落(A-1)、飞机不能正常起飞(A-2)。根据系统级事故分析可以确认的危险行为包括:起落架未锁定(H-1)、起落架异常收起(H-2)、起落架未放下(H-3)。系统级事故及危险映射关系如下表所示:
等级 危险行为 事故
H-1 起落架未锁定 A-1、A-2
H-2 起落架异常收起 A-2
H-3 起落架未放下 A-1
构建起落架控制系统的安全控制结构,如图2所示,根据图2的安全控制结构,以起落架控制软件产生放下起落架控制信号行为为例进行分析,得到下表所示的四种类型的软件危险行为。
步骤1.2:形式化致因分析
构建图3所示的带有起落架控制软件关键过程变量的软件过程模型。
需要说明的是,对于软件过程模型的分析过程而言,其基本定义如下:
形式化定义1:定义四元组(SC,CA,CT,ST)表示软件控制器(SC)在系统状态下(ST)产生某种控制行为类型(CT)的控制行为(CA);
形式化定义2:SC表示软件控制器,能够产生对系统的控制信号,
Figure BDA0002200284070000081
Figure BDA0002200284070000082
表示软件控制器的集合;
形式化定义3:CT代表控制行为类型,
Figure BDA0002200284070000083
Figure BDA0002200284070000084
表示控制行为类型集合;其中P表示提供控制信号;NP表示没有提供控制信号;ES表示控制信号错误的时序;EAT表示控制信号错误的作用时间;
形式化定义4:CA表示软件控制器产生的对被控对象的控制行为,
形式化定义5:ST表示控制行为发生时系统上下文信息,系统信息可分为三类:软件控制器接收系统外部控制器信息、软件控制器接收系统内部组件信息、软件控制器的输出信息。
形式化定义6:定义四元组UCA=∑(CA,ST)∧CT→H表示软件控制路径∑(CA,ST)以CT的控制类型发生时是否会对系统产生危险,其中∑(CA,ST)和CT满足∑(CA,ST)×CT=∑i,j(CA,ST)i·CTj,i为(CA,ST)可能的取值数,UCA∈U,U=∑i,j(CA,ST)i·CTj→H,H∈Hazards,Hazards={YES,NO}.
结合上述形式化定义1—6,对带有起落架控制软件关键过程变量的软件过程模型进行形式化分析,得到危险行为发生时的起落架控制系统上下文信息,从而确定出软件危险行为发生的原因。
需要说明的是,针对起落架控制软件:
SC={LGCS控制器}
CA={放起落架电子阀门控制信号(extend_EV),收起落架电子阀门控制信号(retract_EV)}
CT={P,NP,ES,EAT}
ST={收放手柄的状态信息(handle),飞机当前的飞行状态信息(flight),监控系统内部组件与软件控制信号的健康信息(state)}
为每个控制行为确定软件过程模型变量的组合,每个组合都在四种控制行为类型中进行评估,以确定控制行为在起落架控制系统上下文信息中是否是危险的。在起落架控制系统上下文信息中,如果某种控制行为类型的控制行为发生导致起落架控制系统危险,那么该控制行为将被认为是危险的,然后识别导致每个控制行为发生的潜在危险场景及控制路径,并通过LTL公式描述控制路径和相应的安全性需求。以handle=down,CA=extend_EV进行分析,根据形式化定义6生成在不同起落架控制系统上下文信息下,生成四种控制行为类型的控制行为产生的结果如下表所示。
Figure BDA0002200284070000091
步骤1.3:进行形式化规约
对步骤1.2中生成的结果,采用LTL公式得到软件危险行为控制路径,然后对软件危险行为控制路径进行形式化规约,之后变换形式,得到采用LTL公式精确描述的软件安全约束。
以上表中的CT=P为例进行分析,得到的形式化规约如下表所示:
Figure BDA0002200284070000101
步骤2:进行模型检测
步骤2.1:建立安全规约模型
通过SCADE开发环境,采用形式化建模符号对上述软件安全约束进行描述,将每条LTL公式描述的软件安全约束转化为SCADE中独立的安全规约模型,其中LTL公式与SCADE的建模符号之间的转换关系满足下表:
需要说明的是,表格中‘\’表示SCADE中没有对应的建模符号,但是在执行模型检测过程中穷尽了所有测试场景,包含了LTL中的任意时刻算子的作用。
软件安全约束SSR1.1转换为如图7所示的安全规约模型;
软件安全约束SSR1.2转换为如图8所示的安全规约模型;
软件安全约束SSR1.3转换为如图9所示的安全规约模型;
软件安全约束SSR1.4转换为如图10所示的安全规约模型;
步骤2.2:建立软件设计模型
通过SCADE开发环境,采用基于同步语言的形式化建模符号对功能需求进行精确描述,建立软件设计模型,以起落架控制软件为例,其软件设计模型如图11所示。
步骤2.3:连接安全规约模型和软件设计模型
在SCADE开发环境中,将安全规约模型和软件设计模型中相应的变量进行连接,以软件设计模型中的变量作为安全规约模型的输入,此外,需要根据软件控制过程,限定模型检测过程中的输入。以起落架控制软件为例,其模型连接框图如图12所示。
步骤2.4:模型检测
采用SCADE中集成的Prover模型检测工具,穷尽所有可能的测试场景,对安全关键软件和软件安全约束的符合性进行形式化验证。
对于本技术领域人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方法也可以进行经适当组合,形成本领域技术人员可以理解的其它实施方式。

Claims (7)

1.一种基于STPA的安全关键软件安全性验证方法,其特征在于:所述的安全关键软件安全性验证方法包括按顺序进行的下列步骤:
步骤1:对安全关键软件进行STPA分析及形式化规约,得到软件安全约束;
步骤2:采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证。
2.根据权利要求1所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤1中,所述的对安全关键软件进行STPA分析及形式化规约,得到软件安全约束的方法是:
步骤1.1:首先确定与安全关键软件相关的系统级事故与危险,构建系统的安全控制结构,然后结合系统的安全控制结构识别出安全关键软件中可能存在的四种类型的软件危险行为;
步骤1.2:通过构建带有软件关键过程变量的软件过程模型,形式化定义致因分析过程,生成上述软件危险行为发生时的系统上下文信息,确定出软件危险行为发生的原因;
步骤1.3:根据步骤1.2的结果,得到软件危险行为控制路径,并对软件危险行为控制路径进行形式化规约,之后转换为软件安全约束。
3.根据权利要求2所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤1.1中,所述的首先确定与安全关键软件相关的系统级事故与危险,构建系统的安全控制结构,然后结合系统的安全控制结构识别出安全关键软件中可能存在的四种类型的软件危险行为的方法是:
1.1.1:确定在可能的最不理想的情况下由安全关键软件故障所引起的系统级事故与危险;
1.1.2:根据安全关键软件在系统中的控制原理,构建一个包含控制回路和反馈回路的安全控制结构;
1.1.3:通过对安全控制结构的分析,识别出安全关键软件中可能存在的四种类型的所有软件危险行为,四种类型的软件危险行为具体包括提供控制信号导致的危险行为、没有提供控制信号导致的危险行为、在错误的时间提供控制信号导致的危险行为、提供的控制信号作用时间过长或过短导致的危险行为。
4.根据权利要求2所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤1.2中,所述的通过构建带有软件关键过程变量的软件过程模型,形式化定义致因分析过程,生成上述软件危险行为发生时的系统上下文信息,确定出危险行为发生的原因的方法是:
1.2.1:构建带有软件关键过程变量的软件过程模型,并通过四元组的形式对软件过程模型的分析过程进行形式化定义,形式化定义如下:
形式化定义1:定义四元组(SC,CA,CT,ST)表示软件控制器(SC)在系统状态下(ST)产生某种控制行为类型(CT)的控制行为(CA);
形式化定义2:SC表示软件控制器,能够产生对系统的控制信号,
Figure FDA0002200284060000021
Figure FDA0002200284060000022
表示软件控制器的集合;
形式化定义3:CT代表控制行为类型, 表示控制行为类型集合;其中P表示提供控制信号;NP表示没有提供控制信号;ES表示控制信号错误的时序;EAT表示控制信号错误的作用时间;
形式化定义4:CA表示软件控制器产生的对被控对象的控制行为,
Figure FDA0002200284060000031
形式化定义5:ST表示控制行为发生时系统上下文信息,系统信息可分为三类:软件控制器接收系统外部控制器信息、软件控制器接收系统内部组件信息、软件控制器的输出信息;
形式化定义6:定义四元组UCA=∑(CA,ST)∧CT→H表示软件控制路径∑(CA,ST)以CT的控制类型发生时是否会对系统产生危险,其中∑(CA,ST)和CT满足∑(CA,ST)×CT=∑i,j(CA,ST)i·CTj,i为(CA,ST)可能的取值数,UCA∈U,U=∑i,j(CA,ST)i·CTj→H,H∈Hazards,Hazards={YES,NO};
1.2.2:结合上述形式化定义1—6,确定安全关键软件中与这些形式化定义对应的软件关键过程变量,对软件过程模型进行形式化分析,生成软件危险行为发生时的系统上下文信息,确定出危险行为发生的原因。
5.根据权利要求2所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤1.3中,所述的根据步骤1.2的结果,得到软件危险行为控制路径,并对软件危险行为控制路径进行形式化规约,之后转换为软件安全约束的方法是:
对步骤1.2中生成的结果,采用LTL公式得到软件危险行为控制路径,然后对软件危险行为控制路径进行形式化规约,之后变换形式,得到采用LTL公式精确描述的软件安全约束。
6.根据权利要求1所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤2中,所述的采用形式化建模符号将步骤1中得到的软件安全约束转换为模型检测过程所需的安全规约模型,然后,在安全规约模型检测工具中将基于功能需求建立的软件设计模型与安全规约模型中相应的变量进行连接,由此完成对安全关键软件安全性的形式化验证的方法是:
步骤2.1:通过SCADE开发环境,采用基于同步语言的形式化建模符号对上述软件安全约束进行精确描述,建立安全规约模型;
步骤2.2:通过SCADE开发环境,采用基于同步语言的形式化建模符号对功能需求进行精确描述,建立软件设计模型;
步骤2.3:在SCADE开发环境中,将安全规约模型和软件设计模型中相应的变量进行连接,以软件设计模型中的变量作为安全规约模型的输入;此外,需要根据软件控制过程,限定模型检测过程中的输入;
步骤2.4:采用SCADE开发环境中集成的Prover模型检测工具,穷尽所有可能的测试场景,对安全关键软件和软件安全约束的符合性进行形式化验证。
7.根据权利要求6所述的基于STPA的安全关键软件安全性验证方法,其特征在于:在步骤2.1中,所述的通过SCADE开发环境,采用基于同步语言的形式化建模符号对上述软件安全约束进行精确描述,建立安全规约模型的方法是:
利用SCADE中的形式化建模符号对软件安全约束进行描述,将每条LTL公式描述的软件安全约束转化为SCADE中独立的安全规约模型,其中LTL公式与SCADE的形式化建模符号之间的转换关系满足下表:
Figure FDA0002200284060000041
其中‘\’表示SCADE中没有对应的形式化建模符号,但是在执行模型检测过程中穷尽了所有测试场景,包含了LTL中的任意时刻算子的作用。
CN201910862665.6A 2019-09-12 2019-09-12 一种基于stpa的安全关键软件安全性验证方法 Active CN110674473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910862665.6A CN110674473B (zh) 2019-09-12 2019-09-12 一种基于stpa的安全关键软件安全性验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910862665.6A CN110674473B (zh) 2019-09-12 2019-09-12 一种基于stpa的安全关键软件安全性验证方法

Publications (2)

Publication Number Publication Date
CN110674473A true CN110674473A (zh) 2020-01-10
CN110674473B CN110674473B (zh) 2023-01-17

Family

ID=69077813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910862665.6A Active CN110674473B (zh) 2019-09-12 2019-09-12 一种基于stpa的安全关键软件安全性验证方法

Country Status (1)

Country Link
CN (1) CN110674473B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108398940A (zh) * 2018-03-16 2018-08-14 南京航空航天大学 一种基于stpa形式化模型的安全分析方法
CN111487947A (zh) * 2020-03-31 2020-08-04 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 安全性分析方法、装置、计算机设备和存储介质
CN112596475A (zh) * 2020-12-01 2021-04-02 北京电子工程总体研究所 一种基于过程控制的系统安全性分析系统
CN112596721A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的管理方法
CN112597446A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的筛选方法
CN113469521A (zh) * 2021-06-30 2021-10-01 同济大学 基于stpa的安全攸关系统形式化开发方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528407A (zh) * 2016-10-19 2017-03-22 中国航空综合技术研究所 一种嵌入式软件安全性自动化验证系统及其验证方法
CN107169636A (zh) * 2017-04-26 2017-09-15 南京航空航天大学 基于形式化系统理论过程分析的安全需求生成方法
CN107220539A (zh) * 2017-04-18 2017-09-29 南京航空航天大学 基于需求的ima安全验证分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528407A (zh) * 2016-10-19 2017-03-22 中国航空综合技术研究所 一种嵌入式软件安全性自动化验证系统及其验证方法
CN107220539A (zh) * 2017-04-18 2017-09-29 南京航空航天大学 基于需求的ima安全验证分析方法
CN107169636A (zh) * 2017-04-26 2017-09-15 南京航空航天大学 基于形式化系统理论过程分析的安全需求生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
让涛: "一种基于STPA的软件安全性分析与验证方法", 《电子世界》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108398940A (zh) * 2018-03-16 2018-08-14 南京航空航天大学 一种基于stpa形式化模型的安全分析方法
CN111487947A (zh) * 2020-03-31 2020-08-04 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 安全性分析方法、装置、计算机设备和存储介质
CN112596475A (zh) * 2020-12-01 2021-04-02 北京电子工程总体研究所 一种基于过程控制的系统安全性分析系统
CN112596475B (zh) * 2020-12-01 2021-11-23 北京电子工程总体研究所 一种基于过程控制的系统安全性分析系统
CN112596721A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的管理方法
CN112597446A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的筛选方法
CN112597446B (zh) * 2020-12-14 2023-07-25 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的筛选方法
CN112596721B (zh) * 2020-12-14 2023-10-03 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的管理方法
CN113469521A (zh) * 2021-06-30 2021-10-01 同济大学 基于stpa的安全攸关系统形式化开发方法、系统及存储介质

Also Published As

Publication number Publication date
CN110674473B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110674473B (zh) 一种基于stpa的安全关键软件安全性验证方法
CN110008607B (zh) 一种基于stpa模型的功能安全危害和信息安全威胁分析方法
US20170236234A1 (en) Risk management method and system for a land transporation system
CN110386153B (zh) 基于系统理论危害分析的车道保持辅助系统安全分析方法
CN112668012B (zh) 一种自动驾驶人机界面安全性验证方法及系统
CN110843859B (zh) 基于系统理论危害分析的列车自动防护系统安全分析方法
CN107229478B (zh) 一种可信飞行控制系统协同开发的任务分配建模方法
CN111190406B (zh) 一种起落架控制系统软件的测试方法
Wang et al. Avionics system failure analysis and verification based on model checking
Ahlbrecht et al. Integrating safety into MBSE processes with formal methods
Ahlbrecht et al. Model-based STPA: Enabling safety analysis coverage assessment with formalization
CN116719306A (zh) 自动驾驶车辆人机误用的预期功能安全危害分析方法
Preschern et al. Catalog of safety tactics in the light of the IEC 61508 safety lifecycle
Dou et al. Design of test case for ATP speed monitoring function based on cause-effect graph
Jiang et al. MBSE-based functional hazard assessment of civil aircraft braking system
CN116149999A (zh) 一种复杂软件系统安全性分析方法
Park et al. Test methods of the AUTOSAR application software components
CN109815131B (zh) 轨道交通车载软件半形式化需求用的静态检查系统及方法
Huang et al. Model-based systems engineering for prognostic and health management design
Gleirscher Hazard analysis for technical systems
EP3933593A1 (de) Verfahren und computerprogramm zum testen eines technischen systems
WO2024060377A1 (zh) 联锁数据安全性的形式化验证方法和系统
Maroli et al. Utilizing Code Generation from Models for Electric Aircraft Motor Controller Flight Software
CN110223416B (zh) 一种电动车辆的原始数据分析方法以及电动车辆
Xiaoyan et al. PSSA of cabin pressure control system based on finite-state machine model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant