论文部分内容阅读
某些领域中的计算机软件一旦发生失效,就可能造成很大的人员伤害或者财产损失的,这类软件就是安全关键软件;为了保证其安全性,通常都需要进行安全性分析和安全性测试;由于安全关键软件具有高复杂性、高安全性的特性,目前所存在的分析方法和测试方法都存在一些问题:有的软件安全性测试方法,将安全性测试脱离软件所处的系统,造成对软件的安全性分析不全面;有的安全性测试不进行安全性分析,直接进行测试,造成安全性测试没有满足完整性和充分性要求,安全性需求没有完全验证;还有的安全测试方法,其测试用例的数量巨大,提供测试用例约减的有效方法也不多。为了解决这些问题,本文提基于安全性分析、测试和评估,提出了一种针对安全关键软件的安全性工作框架,并且在安全性分析、测试用例的生成以及测试策略的生成方面提出新的方法。本文的主要工作,如下:(1)通过对现有的安全性框架进行总结归纳,以及对DO-178B和GJB900-90安全性标准对安全性测试的分析,提出了一种将安全关键软件的安全性分析与安全性测试相结合安全性框架,解决安全性测试不完整的问题。(2)通过对安全关键软件失效的原因进行分析,提出基于故障树分析和程序依赖等安全性分析技术的SHISOM模型,该模型主要应用于描述软件和系统交互安全性行为以及系统风险与软件运行的关系,并对软件的安全性需求进行了验证。在该模型中,以函数调用图为基础,构建出软件运行的执行轨迹图,该图是生成SOSDMG模型基础。同时,根据基本事件在危险事件中出现的次数以及在故障树中所处的位置,计算出基本事件的结构重要度;它是软件运行、场景结构重要度计算的基础。其中,软件运行结构重要度的计算,不仅考虑其在故障树中对危险的贡献,而且将软件运行在软件的执行轨迹中的结构重要度考虑在内,使其更贴合实际。(3)提出软件与系统交互的SOSDMG模型;首先在SHISOM模型确定软件运行执行轨迹图的基础上,生成包含与外界交互的软件场景;然后将软件场景与Markov过程相结合,构建出软件与系统交互的SOSDMG模型。在该模型的基础上,通过软件运行的结构重要度、发生概率以及危害度,确定软件场景的结构重要度和风险度。依据结构重要度和风险度,提出安全关键度的概念;以每条场景链的安全关键度为依据,生成对应的安全性测试用例集。(4)在SOSDMG模型基础上,提出一种以场景链的结构重要度、风险度和安全关键度为依据,结合软件的安全可靠度,制定软件的安全性测试策略的方法;同时,提出基于场景和场景链的安全性评估方法。最后,通过一个核反应堆水循环降温控制系统的例子,验证本文提出的基于故障树分析法和程序依赖图的SHISOM模型,在安全性分析中的可行性;以及验证了SOSDMG模型在安全性测试用例生成以及测试策略的制定方面的有效性。