CN109144870A - 基于使用剖面的软件安全性分析方法 - Google Patents

基于使用剖面的软件安全性分析方法 Download PDF

Info

Publication number
CN109144870A
CN109144870A CN201810939225.1A CN201810939225A CN109144870A CN 109144870 A CN109144870 A CN 109144870A CN 201810939225 A CN201810939225 A CN 201810939225A CN 109144870 A CN109144870 A CN 109144870A
Authority
CN
China
Prior art keywords
scene
analysis
event
comprehensive
usage scenario
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
CN201810939225.1A
Other languages
English (en)
Other versions
CN109144870B (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.)
China Aero Polytechnology Establishment
Original Assignee
China Aero Polytechnology Establishment
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 China Aero Polytechnology Establishment filed Critical China Aero Polytechnology Establishment
Priority to CN201810939225.1A priority Critical patent/CN109144870B/zh
Publication of CN109144870A publication Critical patent/CN109144870A/zh
Application granted granted Critical
Publication of CN109144870B publication Critical patent/CN109144870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的基于使用剖面的软件安全性分析方法,其具体步骤如下:步骤一:进行使用场景构建,输出使用场景列表;步骤二:进行综合使用场景构建,建立综合使用场景模型;步骤三:基于使用场景列表,分析事件输入,分析事件逻辑,分析事件输出,进行使用场景分析,得到场景失效列表;步骤四:基于使用场景模型和场景失效列表,进行综合场景分析,分析场景间的逻辑关系、分析场景间的时序关系、分析场景失效对综合场景的影响;步骤五:基于场景失效列表对综合使用场景的影响以及综合使用场景模型,输出失效原因和多场景失效列表;步骤六:获取软件安全性需求。

Description

基于使用剖面的软件安全性分析方法
技术领域
本发明涉及软件安全性领域,具体涉及一种基于使用剖面的软件安全性分析方法。
背景技术
目前,软件安全性分析方法主要包括两类:第一类,通过非形式化方式描述软件运行过程,建立软件需求模型,然后利用SFTA、SFMEA、HAZOP进行软件安全性分析,该类方法由于使用非形式化方法描述场景,难以形成自动化支撑工具,在工程应用上存在工作量较大、依赖工程师经验、模型二义性、分析结果主观性较强、难以适用于大型复杂系统等问题;第二类,通过形式化方式描述软件运行过程,建立软件模型,然后进行软件安全性分析;但这类方法主要存在如下问题:首先其分析对象是软件设计阶段的软件体系结构,其不能直接用于研制阶段更早期的软件需求模型进行分析;另外,针对软件需求的场景建模方法,未对该类需求模型给出适用的软件安全性分析方法。
发明内容
针对现有技术中不足之处,本发明的目的在于提出一种基于使用剖面的软件安全性分析方法,首先确定场景描述要素、定义、构建方法,并在此基础上利用综合使用场景,进行软件安全性分析,优选地,其包括子场景分析、综合场景分析、失效链确定。本发明中的基于使用剖面的软件安全性分析方法偏重于识别软件在不同的使用过程中可能发生的软件失效模式,其与传统软件安全性分析相比,具有更高的软件失效识别率,针对软件需求建立综合使用场景模型,并针对该类软件模型给出了适用的软件安全性分析方法,从而更加准确识别各种实用场景下的软件失效;并且分析效率更高,给出了基于使用场景的软件安全性分析方法的形式化描述,便于研发自动化分析工具,从而可以提高软件安全性分析效率。
本发明的技术方案如下:
一种基于使用剖面的软件安全性分析方法,其具体步骤如下:
步骤一:根据功能使用情况,分析事件列表,确定事件发生的时间、发起方和执行方,并明确各方逻辑关系,同时明确事件的输入、输出信息,进行使用场景构建,输出使用场景列表;
步骤二:分析使用场景列表,明确使用场景之间的逻辑关系,明确使用场景时间的时序约束,进行综合使用场景构建,建立综合使用场景模型;
步骤三:基于使用场景列表,分析事件输入,分析事件逻辑,分析事件输出,进行使用场景分析,得到场景失效列表;
步骤四:基于使用场景模型和场景失效列表,进行综合场景分析,分析场景间的逻辑关系、分析场景间的时序关系、分析场景失效对综合场景的影响;
步骤五:基于场景失效列表对综合使用场景的影响以及综合使用场景模型,进行失效链确定,确定失效原因、关联场景失效以及综合场景失效,并输出失效原因和多场景失效列表;
步骤六:基于失效原因以及多场景失效列表,确定系统危险,确定分配到软件的系统危险控制措施,获取软件安全性需求。
优选地,使用场景描述最终用户使用相关功能需求的一组事件序列,使用场景定义为七元组Sc={mi,ti,mai,mei,mii,moi,mri},其中mi为第i个事件,ti为该事件发生的特定时间段,mai为该事件发起方,mei为该事件执行方,mii为该事件输入,moi为该事件输出,mri为该事件的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”。
优选地,步骤一的使用场景构建的具体步骤如下:
步骤1.1:分析事件列表,根据最终用户对相关功能的使用情况,分析使用情况中所涉及的事件,形成事件列表mi,以及该事件发生的时间段ti
步骤1.2:确定事件的事件发起方和执行方,根据场景中事件列表mi,确定每一个事件的发起方mai、执行方mei;优选地,事件mi的发起方或执行方涉及多方,需要在事件逻辑集合mri确定各方之间的逻辑关系;
步骤1.3:明确事件的输入、输出,根据每一个事件mi的发起方mai确定事件输入mii,根据事件的执行方mei确定事件输出moi,构建使用场景Sc={mi,ti,mai,mei,mii,moi,mri}。
优选地,综合使用场景描述软件多个功能协同完成最终用户某项任务的使用情况,包含了多个使用场景,各使用场景之间存在时序约束、逻辑关系,综合使用场景定义为三元组CSc={Sci,Scri,Scti},其中Sci为第i个使用场景,Scri为该使用场景的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”,Scti为该使用场景的时序约束集合,时序约束包括同步⊥、前置异步∧、后置异步∨。
优选地,步骤二的综合使用场景构建的具体步骤如下:
步骤2.1:分析使用场景列表,根据最终用户想要完成的任务以及任务使用功能的情况,分析任务所涉及的场景,形成场景列表Sci
步骤2.2:明确使用场景之间的逻辑关系,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的逻辑关系Scri
步骤2.3:明确使用场景之间的时序约束,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的时序约束Scti,构建综合使用场景CSc={Sci,Scri,Scti}。
优选地,步骤三的使用场景分析具体包括如下步骤:
步骤3.1:分析事件输入,针对场景中事件列表中事件mi,围绕其输入mii进行分析:
a)分析是否由于硬件相关失效引起事件执行失控;
b)分析错误、虚假、超范围数据是否引起事件执行失控;
c)分析输入mii满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
d)分析已有输入mii的失效检测和处理策略是否影响事件执行;
e)分析输入mii约束关系是否引起事件执行失控;
步骤3.2:分析事件逻辑,针对场景中事件列表中事件mi,围绕其逻辑关系集合mri进行分析:
a)分析事件逻辑关系是否已经明确有效的事件状态,以及禁止或不适用的事件状态;
b)分析事件逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的事件状态;
c)分析事件逻辑关系是否存在异常情况,异常情况包括未实现、未按时实现、错误实现;
步骤3.3:分析事件输出,针对场景中事件列表中事件mi,围绕其输出moi进行分析:
a)分析是否由于硬件相关失效引起事件执行失控;
b)分析错误、虚假、超范围数据是否引起事件执行失控;
c)分析输出moi满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
d)分析已有输出moi的失效检测和处理策略是否影响事件执行;
e)分析输出moi约束关系是否引起事件执行失控。
优选地,步骤四的综合场景分析针对构建的综合场景,从综合场景中包含的场景逻辑关系、场景时序关系、场景失效对综合场景的影响进行分析,其具体步骤如下:
步骤4.1:分析场景间的逻辑关系,针对综合场景中场景列表中场景Sci,围绕其逻辑关系Scri进行分析:
1)分析场景逻辑关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
2)分析场景逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的场景状态;
3)分析场景逻辑关系是否存在异常情况,所述异常情况包括未实现、未按时实现、错误实现;
步骤4.2:分析场景间的时序关系,针对综合场景中场景列表中场景Sci,围绕其时序关系Scti进行分析:
1)分析场景时序关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
2)分析场景时序关系是否对错误的同步、前置异步、后置异步条件进行防护,避免进入禁止或不适用的场景状态;
3)分析场景时序关系是否存在异常情况,所述异常情况包括未实现、未按时实现、错误实现;
步骤4.3:分析场景失效对综合场景影响,针对综合场景中场景列表中场景Sci,围绕场景失效对综合场景的影响进行分析:
1)分析每个场景失效是否都有相应的处理策略和防护策略;
2)分析每个场景失效的处理策略、防护策略在综合场景中是否合理;
3)分析各场景失效的处理策略、防护策略是否存在冲突;
4)分析每个场景失效是否通过场景逻辑关系、时序关系造成综合场景失效。
优选地,失效链确定的具体步骤如下:
步骤5.1:确定失效原因,根据使用场景分析中针对事件mi围绕事件输入、事件逻辑关系、事件输出等角度的分析结果,获得失效原因,并确定失效原因与使用场景的映射函数fs(fr);
步骤5.2:关联场景失效,根据综合场景分析中针对场景Sci围绕场景逻辑关系、场景时序关系、场景失效对综合场景的影响等角度的分析结果,获得场景失效,并确定场景失效与综合场景的映射函数fc(fs);
步骤5.3:综合场景失效,根据失效原因与使用场景的映射函数fs(fr),以及场景失效与综合场景的映射函数fc(fs),确定失效原因与综合场景的映射函数f(fr)=fc(fs(fr))。
优选地,获取软件安全性需求的具体步骤如下:
步骤6.1:确定系统危险,根据失效原因与综合场景的映射函数f(fr)=fc(fs(fr)),确定软件失效引发的系统危险;
步骤6.2:确定相应的控制措施,根据引发系统危险的失效原因确定相应的控制措施;
步骤6.3:确定相应的控制措施,针对控制措施进行分析,将分配到软件的控制措施,落实到软件需求中,获得软件安全性需求。
与现有技术相比,本发明的有益效果是:
本发明首先确定场景描述要素、定义、构建方法,并在此基础上利用综合使用场景,进行软件安全性分析,优选地,其包括子场景分析、综合场景分析、失效链确定。本发明中的基于使用剖面的软件安全性分析方法偏重于识别软件在不同的使用过程中可能发生的软件失效模式,其与传统软件安全性分析相比,具有更高的软件失效识别率,针对软件需求建立综合使用场景模型,并针对该类软件模型给出了适用的软件安全性分析方法,从而更加准确识别各种实用场景下的软件失效;并且分析效率更高,给出了基于使用场景的软件安全性分析方法的形式化描述,便于研发自动化分析工具,从而可以提高软件安全性分析效率。
附图说明
图1是根据本发明的基于使用剖面的软件安全性分析方法的流程图。
具体实施方式
以下结合附图对本发明进行详细描述。
根据本发明的基于使用剖面的软件安全性分析方法,如图1所示,其具体步骤如下:
步骤1:根据功能使用情况,分析事件列表,确定事件发生的时间、发起方和执行方,并明确各方逻辑关系,同时明确事件的输入、输出信息,进行使用场景构建,即输出使用场景列表。
其中,使用场景描述最终用户使用相关功能需求的一组事件序列,使用场景定义为七元组Sc={mi,ti,mai,mei,mii,moi,mri},其中mi为第i个事件,ti为该事件发生的特定时间段,mai为该事件发起方,mei为该事件执行方,mii为该事件输入,moi为该事件输出,mri为该事件的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”。
使用场景构建的具体步骤如下:
步骤1.1:分析事件列表,根据最终用户对相关功能的使用情况,分析使用情况中所涉及的事件,形成事件列表mi,以及该事件发生的时间段ti
步骤1.2:确定事件的事件发起方和执行方,根据场景中事件列表mi,确定每一个事件的发起方mai、执行方mei;优选地,事件mi的发起方或执行方涉及多方,需要在事件逻辑集合mri确定各方之间的逻辑关系;
步骤1.3:明确事件的输入、输出,根据每一个事件mi的发起方mai确定事件输入mii,根据事件的执行方mei确定事件输出moi,构建使用场景Sc={mi,ti,mai,mei,mii,moi,mri}。
步骤2:分析使用场景列表,明确使用场景之间的逻辑关系,明确使用场景时间的时序约束,进行综合使用场景构建,即建立综合使用场景模型。
优选地,综合使用场景描述软件多个功能协同完成最终用户某项任务的使用情况,包含了多个使用场景,各使用场景之间存在时序约束、逻辑关系,综合使用场景定义为三元组CSc={Sci,Scri,Scti},其中Sci为第i个使用场景,Scri为该使用场景的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”。,Scti为该使用场景的时序约束集合,时序约束包括同步⊥、前置异步∧、后置异步∨。
其中,综合使用场景构建的具体步骤如下:
步骤2.1:分析使用场景列表,根据最终用户想要完成的任务以及任务使用功能的情况,分析任务所涉及的场景,形成场景列表Sci
步骤2.2:明确使用场景之间的逻辑关系,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的逻辑关系Scri
步骤2.3:明确使用场景之间的时序约束,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的时序约束Scti,构建综合使用场景CSc={Sci,Scri,Scti}。
步骤3:基于使用场景列表,分析事件输入,分析事件逻辑,分析事件输出,进行使用场景分析,得到场景失效列表。使用场景分析具体包括如下步骤:
其中,使用场景分析,是指针对构建的使用场景,从使用场景中包含的事件输入、事件逻辑关系、事件输出等方面进行分析;
步骤3.1:分析事件输入,针对场景中事件列表中事件mi,围绕其输入mii从如下几个角度展开分析:
·分析是否由于硬件相关失效引起事件执行失控;
·分析错误、虚假、超范围数据是否引起事件执行失控;
·分析输入mii满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
·分析已有输入mii的失效检测和处理策略是否影响事件执行;
·分析输入mii约束关系,例如,时间、依从,是否引起事件执行失控。
步骤3.2:分析事件逻辑,针对场景中事件列表中事件mi,围绕其逻辑关系集合mri从如下几个角度展开分析:
·分析事件逻辑关系是否已经明确有效的事件状态,以及禁止或不适用的事件状态;
·分析事件逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的事件状态;
·分析事件逻辑关系是否存在未实现、未按时实现、错误实现等异常情况。
步骤3.3:分析事件输出,针对场景中事件列表中事件mi,围绕其输出moi从如下几个角度展开分析:
·分析是否由于硬件相关失效引起事件执行失控;
·分析错误、虚假、超范围数据是否引起事件执行失控;
·分析输出moi满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
·分析已有输出moi的失效检测和处理策略是否影响事件执行;
·分析输出moi约束关系,例如,时间、依从,是否引起事件执行失控。
步骤4:基于使用场景模型和场景失效列表,进行综合场景分析,分析场景间的逻辑关系、分析场景间的时序关系、分析场景失效对综合场景的影响。
其中,综合场景分析针对构建的综合场景,从综合场景中包含的场景逻辑关系、场景时序关系、场景失效对综合场景的影响等方面进行分析,其具体步骤如下:
步骤4.1:分析场景间的逻辑关系,针对综合场景中场景列表中场景Sci,围绕其逻辑关系Scri从如下几个角度展开分析:
·分析场景逻辑关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
·分析场景逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的场景状态;
·分析场景逻辑关系是否存在未实现、未按时实现、错误实现等异常情况。
步骤4.2:分析场景间的时序关系,针对综合场景中场景列表中场景Sci,围绕其时序关系Scti从如下几个角度展开分析:
·分析场景时序关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
·分析场景时序关系是否对错误的同步、前置异步、后置异步条件进行防护,避免进入禁止或不适用的场景状态;
·分析场景时序关系是否存在未实现、未按时实现、错误实现等异常情况。
步骤4.3:分析场景失效对综合场景影响,针对综合场景中场景列表中场景Sci,围绕场景失效对综合场景的影响从如下几个角度展开分析:
·分析每个场景失效是否都有相应的处理策略和防护策略;
·分析每个场景失效的处理策略、防护策略在综合场景中是否合理;
·分析各场景失效的处理策略、防护策略是否存在冲突;
·分析每个场景失效是否通过场景逻辑关系、时序关系造成综合场景失效。
步骤5:基于场景失效列表对综合使用场景的影响以及综合使用场景模型,进行失效链确定,确定失效原因、关联场景失效以及综合场景失效,并输出失效原因和多场景失效列表。
优选地,失效链是事件失效通过事件逻辑关系传递到场景,并通过场景逻辑关系、时序关系传递到综合场景,最后表现于用户的失效过程;包括如下子步骤:
步骤5.1:确定失效原因,根据使用场景分析中针对事件mi围绕事件输入、事件逻辑关系、事件输出等角度的分析结果,获得失效原因,并确定失效原因与使用场景的映射函数fs(fr);
步骤5.2:关联场景失效,根据综合场景分析中针对场景Sci围绕场景逻辑关系、场景时序关系、场景失效对综合场景的影响等角度的分析结果,获得场景失效,并确定场景失效与综合场景的映射函数fc(fs);
步骤5.3:综合场景失效,根据失效原因与使用场景的映射函数fs(fr),以及场景失效与综合场景的映射函数fc(fs),确定失效原因与综合场景的映射函数f(fr)=fc(fs(fr))。
步骤6:基于失效原因以及多场景失效列表,确定系统危险,确定分配到软件的系统危险控制措施,获取软件安全性需求;获取软件安全性措施的具体步骤如下:
步骤6.1:确定系统危险,根据失效原因与综合场景的映射函数f(fr)=fc(fs(fr)),确定软件失效引发的系统危险;
步骤6.2:确定相应的控制措施,根据引发系统危险的失效原因确定相应的控制措施;
步骤6.3:确定相应的控制措施,针对控制措施进行分析,将分配到软件的控制措施,落实到软件需求中,获得软件安全性需求。
实施例1
某型起落架系统软件包含两个相似余度,即A通道和B通道,其中一个通道作为主控制通道,另外一个通道则处于热备份状态。当主通道处于故障状态时,能够自动切换至热备份通道。根据软件需求,起落架系统软件实现的主要功能包括:
●控制逻辑功能:包含控制起落架和舱门收放、位置信息及控制逻辑计算、传感器信息采集、起落架位置指示与告警、起落架及轮载信号的上报等子功能
●“A、B通道切换”功能逻辑为:a)上电默认为A通道;b)A通道周期自检项任一故障,切换为B通道;c)B通道周期自检任一故障且A通道正常,切换为A通道;d)B通道周期自检任一故障且A通道故障,保持B通道;时间约束:e)通道切换时间约束为15ms;f)通道周期自检时间间隔为15ms。
●“看门狗复位”功能逻辑为:a)喂狗时间超过15ms看门狗复位;时间约束:b)看门狗喂狗周期为5ms。
针对该起落架系统软件展开安全性分析工作,识别软件需求中潜在的失效模式,并分析失效模式的原因和影响,确定失效模式的控制措施。下面将阐述如何利用本发明提出的基于使用剖面的软件安全性分析方法进行安全性分析。
步骤1:使用场景构建,包括如下子步骤:
步骤1.1:分析事件列表,典型结果详见表1第1-2列。
步骤1.2:确定事件的事件发起方和执行方、逻辑关系,典型结果详见表2第3-5列。
步骤1.3:明确事件的输入、输出,典型结果详见表2第6-7列。
步骤2:综合使用场景构建,包括如下子步骤:
步骤2.1:分析使用场景列表,典型结果详见表2第2-3列。
步骤2.2:明确使用场景之间的逻辑关系,典型结果详见表2第4列。
步骤2.3:明确使用场景之间的时序约束,典型结果详见表2第5列。
步骤3:使用场景分析,是指针对构建的使用场景,包括如下子步骤:
步骤3.1:分析事件输入,典型结果详见表3第1-3列。
步骤3.2:分析事件逻辑,典型结果详见表3第4列。
步骤3.3:分析事件输出,典型结果详见表3第5列。
步骤4:综合场景分析,包括如下子步骤:
步骤4.1:分析场景间的逻辑关系,典型结果详见表4第1-4列。
步骤4.2:分析场景间的时序关系,典型结果详见表4第1-3、5列。
步骤4.3:分析场景失效对综合场景影响,典型结果详见表4第6列。
步骤5:失效链确定,包括如下子步骤:
步骤5.1:确定失效原因,典型结果详见表5第1列。
步骤5.2:关联场景失效,典型结果详见表5第2列。
步骤5.3:综合场景失效,典型结果详见表5第3列。
步骤6:获取软件安全性需求,包括如下子步骤:
步骤6.1:确定系统危险,典型结果详见表6第1-3列。
步骤6.2:确定相应的控制措施,典型结果详见表6第4列。
步骤6.3:获取软件安全性需求,典型结果详见表6第5列。
其中,表1是起落架系统软件安全性分析项目中的典型使用场景构建结果;
表2是起落架系统软件安全性分析项目中的典型综合使用场景构建结果;
表3是起落架系统软件安全性分析项目中的典型使用场景分析结果;
表4是起落架系统软件安全性分析项目中的典型综合使用场景分析结果;
表5是起落架系统软件安全性分析项目中的典型失效链确定结果;
表6是起落架系统软件安全性分析项目中的典型获取软件安全性需求结果。
表1
表2
表3
表4
表5
表6
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种基于使用剖面的软件安全性分析方法,其特征在于,其具体步骤如下:
步骤一:根据功能使用情况,分析事件列表,确定事件发生的时间、发起方和执行方,并明确各方逻辑关系,同时明确事件的输入、输出信息,进行使用场景构建,输出使用场景列表;
步骤二:分析使用场景列表,明确使用场景之间的逻辑关系,明确使用场景时间的时序约束,进行综合使用场景构建,建立综合使用场景模型;
步骤三:基于使用场景列表,分析事件输入,分析事件逻辑,分析事件输出,进行使用场景分析,得到场景失效列表;
步骤四:基于使用场景模型和场景失效列表,进行综合场景分析,分析场景间的逻辑关系、分析场景间的时序关系、分析场景失效对综合场景的影响;
步骤五:基于场景失效列表对综合使用场景的影响以及综合使用场景模型,进行失效链确定,确定失效原因、关联场景失效以及综合场景失效,并输出失效原因和多场景失效列表;
步骤六:基于失效原因以及多场景失效列表,确定系统危险,确定分配到软件的系统危险控制措施,获取软件安全性需求。
2.如权利要求1所述的基于使用剖面的软件安全性分析方法,其特征在于,使用场景描述最终用户使用相关功能需求的一组事件序列,使用场景定义为七元组Sc={mi,ti,mai,mei,mii,moi,mri},其中mi为第i个事件,ti为该事件发生的特定时间段,mai为该事件发起方,mei为该事件执行方,mii为该事件输入,moi为该事件输出,mri为该事件的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”。
3.如权利要求1所述的基于使用剖面的软件安全性分析方法,其特征在于,步骤一的使用场景构建的具体步骤如下:
步骤1.1:分析事件列表,根据最终用户对相关功能的使用情况,分析使用情况中所涉及的事件,形成事件列表mi,以及该事件发生的时间段ti
步骤1.2:确定事件的事件发起方和执行方,根据场景中事件列表mi,确定每一个事件的发起方mai、执行方mei;优选地,事件mi的发起方或执行方涉及多方,需要在事件逻辑集合mri确定各方之间的逻辑关系;
步骤1.3:明确事件的输入、输出,根据每一个事件mi的发起方mai确定事件输入mii,根据事件的执行方mei确定事件输出moi,构建使用场景Sc={mi,ti,mai,mei,mii,moi,mri}。
4.如权利要求3所述的基于使用剖面的软件安全性分析方法,其特征在于,综合使用场景描述软件多个功能协同完成最终用户某项任务的使用情况,包含了多个使用场景,各使用场景之间存在时序约束、逻辑关系,综合使用场景定义为三元组CSc={Sci,Scri,Scti},其中Sci为第i个使用场景,Scri为该使用场景的逻辑关系集合,逻辑关系包括||、&&、!,其中“||”表示“或”,“&&”表示“与”,“!”表示“非”,Scti为该使用场景的时序约束集合,时序约束包括同步⊥、前置异步∧、后置异步∨。
5.如权利要求4所述的基于使用剖面的软件安全性分析方法,其特征在于,步骤二的综合使用场景构建的具体步骤如下:
步骤2.1:分析使用场景列表,根据最终用户想要完成的任务以及任务使用功能的情况,分析任务所涉及的场景,形成场景列表Sci
步骤2.2:明确使用场景之间的逻辑关系,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的逻辑关系Scri
步骤2.3:明确使用场景之间的时序约束,根据综合使用场景中场景列表Sci,确定每一个场景和其它使用场景之间的时序约束Scti,构建综合使用场景CSc={Sci,Scri,Scti}。
6.如权利要求5所述的基于使用剖面的软件安全性分析方法,其特征在于,步骤三的使用场景分析具体包括如下步骤:
步骤3.1:分析事件输入,针对场景中事件列表中事件mi,围绕其输入mii进行分析:
a)分析是否由于硬件相关失效引起事件执行失控;
b)分析错误、虚假、超范围数据是否引起事件执行失控;
c)分析输入mii满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
d)分析已有输入mii的失效检测和处理策略是否影响事件执行;
e)分析输入mii约束关系是否引起事件执行失控;
步骤3.2:分析事件逻辑,针对场景中事件列表中事件mi,围绕其逻辑关系集合mri进行分析:
a)分析事件逻辑关系是否已经明确有效的事件状态,以及禁止或不适用的事件状态;
b)分析事件逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的事件状态;
c)分析事件逻辑关系是否存在异常情况,异常情况包括未实现、未按时实现、错误实现;
步骤3.3:分析事件输出,针对场景中事件列表中事件mi,围绕其输出moi进行分析:
a)分析是否由于硬件相关失效引起事件执行失控;
b)分析错误、虚假、超范围数据是否引起事件执行失控;
c)分析输出moi满刻度和零表示都与任何数字到模拟、模拟到数字是否兼容,是否引起事件执行失控;
d)分析已有输出moi的失效检测和处理策略是否影响事件执行;
e)分析输出moi约束关系是否引起事件执行失控。
7.如权利要求6所述的基于使用剖面的软件安全性分析方法,其特征在于,步骤四的综合场景分析针对构建的综合场景,从综合场景中包含的场景逻辑关系、场景时序关系、场景失效对综合场景的影响进行分析,其具体步骤如下:
步骤4.1:分析场景间的逻辑关系,针对综合场景中场景列表中场景Sci,围绕其逻辑关系Scri进行分析:
1)分析场景逻辑关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
2)分析场景逻辑关系是否对错误的或、与、非关系条件进行防护,避免进入禁止或不适用的场景状态;
3)分析场景逻辑关系是否存在异常情况,所述异常情况包括未实现、未按时实现、错误实现;
步骤4.2:分析场景间的时序关系,针对综合场景中场景列表中场景Sci,围绕其时序关系Scti进行分析:
1)分析场景时序关系是否已经明确有效的场景状态,以及禁止或不适用的场景状态;
2)分析场景时序关系是否对错误的同步、前置异步、后置异步条件进行防护,避免进入禁止或不适用的场景状态;
3)分析场景时序关系是否存在异常情况,所述异常情况包括未实现、未按时实现、错误实现;
步骤4.3:分析场景失效对综合场景影响,针对综合场景中场景列表中场景Sci,围绕场景失效对综合场景的影响进行分析:
1)分析每个场景失效是否都有相应的处理策略和防护策略;
2)分析每个场景失效的处理策略、防护策略在综合场景中是否合理;
3)分析各场景失效的处理策略、防护策略是否存在冲突;
4)分析每个场景失效是否通过场景逻辑关系、时序关系造成综合场景失效。
8.如权利要求7所述的基于使用剖面的软件安全性分析方法,其特征在于,失效链确定的具体步骤如下:
步骤5.1:确定失效原因,根据使用场景分析中针对事件mi围绕事件输入、事件逻辑关系、事件输出等角度的分析结果,获得失效原因,并确定失效原因与使用场景的映射函数fs(fr);
步骤5.2:关联场景失效,根据综合场景分析中针对场景Sci围绕场景逻辑关系、场景时序关系、场景失效对综合场景的影响等角度的分析结果,获得场景失效,并确定场景失效与综合场景的映射函数fc(fs);
步骤5.3:综合场景失效,根据失效原因与使用场景的映射函数fs(fr),以及场景失效与综合场景的映射函数fc(fs),确定失效原因与综合场景的映射函数f(fr)=fc(fs(fr))。
9.如权利要求8所述的基于使用剖面的软件安全性分析方法,其特征在于,获取软件安全性需求的具体步骤如下:
步骤6.1:确定系统危险,根据失效原因与综合场景的映射函数f(fr)=fc(fs(fr)),确定软件失效引发的系统危险;
步骤6.2:确定相应的控制措施,根据引发系统危险的失效原因确定相应的控制措施;
步骤6.3:确定相应的控制措施,针对控制措施进行分析,将分配到软件的控制措施,落实到软件需求中,获得软件安全性需求。
CN201810939225.1A 2018-08-17 2018-08-17 基于使用剖面的软件安全性分析方法 Active CN109144870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810939225.1A CN109144870B (zh) 2018-08-17 2018-08-17 基于使用剖面的软件安全性分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810939225.1A CN109144870B (zh) 2018-08-17 2018-08-17 基于使用剖面的软件安全性分析方法

Publications (2)

Publication Number Publication Date
CN109144870A true CN109144870A (zh) 2019-01-04
CN109144870B CN109144870B (zh) 2020-07-31

Family

ID=64790049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810939225.1A Active CN109144870B (zh) 2018-08-17 2018-08-17 基于使用剖面的软件安全性分析方法

Country Status (1)

Country Link
CN (1) CN109144870B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309288A (zh) * 2020-01-20 2020-06-19 北京国舜科技股份有限公司 适用于银行业务的软件需求规格文件的分析方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061608A1 (en) * 2005-09-15 2007-03-15 James Madison University Method and apparatus for a time domain probabilistic risk assessment model, analysis of interaction of disparate networks, and a repair simulation tool
CN103605608A (zh) * 2013-12-04 2014-02-26 中国航空综合技术研究所 一种嵌入式软件安全性分析充分性检查方法
CN103793324A (zh) * 2012-10-26 2014-05-14 三星电子株式会社 嵌入式软件的测试装置和测试方法以及测试场景组合方法
CN108255728A (zh) * 2018-01-18 2018-07-06 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 软件的失效模式的识别方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061608A1 (en) * 2005-09-15 2007-03-15 James Madison University Method and apparatus for a time domain probabilistic risk assessment model, analysis of interaction of disparate networks, and a repair simulation tool
CN103793324A (zh) * 2012-10-26 2014-05-14 三星电子株式会社 嵌入式软件的测试装置和测试方法以及测试场景组合方法
CN103605608A (zh) * 2013-12-04 2014-02-26 中国航空综合技术研究所 一种嵌入式软件安全性分析充分性检查方法
CN108255728A (zh) * 2018-01-18 2018-07-06 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 软件的失效模式的识别方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高虎 等: "基于安全性的航空发动机控制软件测试技术", 《航空发动机》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309288A (zh) * 2020-01-20 2020-06-19 北京国舜科技股份有限公司 适用于银行业务的软件需求规格文件的分析方法及装置

Also Published As

Publication number Publication date
CN109144870B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN104407977B (zh) 基于模型检测的分阶段任务系统的自动化联调测试方法
Bayoudh et al. Diagnosability analysis of hybrid systems cast in a discrete-event framework
Wang et al. Introducing software architecture specification and analysis in SAM through an example
WO2017181628A1 (zh) 一种基于符号计算的动态并行程序污点分析方法
CN108255728B (zh) 软件的失效模式的识别方法及装置
CN102375410B (zh) 冗余信号的处理系统、相关方法和包括这类系统的航空器
US11405416B2 (en) Method and device for identifying security threats, storage medium, processor and terminal
CN101794224A (zh) 一种基于性质规约模式的软件运行时性质监测方法
CN103714000A (zh) 一种面向敏感区域的嵌入式软件测试用例生成方法
WO2021038527A1 (en) Systems and methods for enhancing data provenance by logging kernel-level events
Ladiges et al. Learning material flow models for manufacturing plants from data traces
CN109144870A (zh) 基于使用剖面的软件安全性分析方法
CN103778062A (zh) 基于抽象解释的多中断程序数据访问冲突检测方法
Luo et al. A new algorithm for testing diagnosability of fuzzy discrete event systems
Witte et al. Towards model co-evolution across self-adaptation steps for combined safety and security analysis
US11805142B2 (en) Communication system and communication method
Qin et al. Formal modeling and analysis of cyber-physical cross-space attacks in power grid
CN109446805B (zh) 信息流完整性攻击度量方法及其计算机装置、可读存储介质
Wei et al. Safety-based software reconfiguration method for integrated modular avionics systems in AADL Model
Ailane et al. Toward formalizing the emergent behavior in software engineering
Su et al. Modeling and verification of component-based systems with data passing using bip
Bera et al. Relationship between simulink and petri nets
Tavizi et al. A language and a pattern system for temporal property specification: advanced metering infrastructure case study
Chechik et al. Finding environment guarantees
Dey et al. A Kleene algebra of tagged system actors

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