background image

软件系统工程安全管理及测试分析

   【摘 要】软件系统的安全是一项复杂的系统工程,它的实现不仅是纯粹的技术方面的问题,
而且需要法律、管理和社会因素的配合。本文侧重讨论安全管理分析和设计准则。除了在正常
状态下进行测试,还要在异常的环境和异常的输入状态下测试软件,确保软件在这些状态
下仍能安全运行;进行软件强度测试,确保软件安全运行,确保外购软件安全运行。

 

  【关键词】软件工程;系统管理;安全测试

 

  

1、软件系统的安全性工作 

  软件系统的安全性工作主要归结为如下

9 项: 

  ①确定系统及系统中软件的安全性要求;②系统安全性说明中的要求准确地转化为系
统或系统说明的要求、转化为软件需求说明的要求,并将这些要求在软件设计及编码中实现;
③在系统、分系统说明及软件需求说明中确定当可能发生安全事故时的系统对策,这些对策
包括失效安全、失效降级使用、失效容错使用等;④确定软件系统中的安全关键单元,安全
关键单元是指那些对系统安全性有关键性影响的程序、分程序和模块;⑤对软件的安全关键
单元进行分析;⑥通过分析、验证,确保软件系统安全性要求的实现,验证不存在有损于安
全性的单个或多个失效事件,保证系缉的安全性要求不致引起新的危险;⑦确保编出的程
序不会因为触发危险功能,或阻碍正常的功能的执行而使系统处于危险状态;⑧保证系统
中的软件能有效地减少硬件的安全风险;⑨保证对系统进行充分的安全测试,包括失效事
件发生的测试。

 

  

2、软件系统安全性分析项目 

  软件系统的安全性分析是整个系统安全性分析的一个组成部分,系统安全性分析的工
作项目包括制定初步危险表、初步危险分析、子系统危险分析、系统危险分析、使用保障危险
分析、职业健康危险分析和工程更改建议的安全性评审等。软件安全性分析必须利用整个系
统安全性分析的结果,并安排在系统安全性分析之后进行。

 

  

2.1 软件需求危险分析 

  软件需求危险分析是利用系统初步危险分析的结果,初步确定软件的安全关键单元。这
个项目的工作要点是:

 

  ①建立软件安全典型需求的跟踪系统,记录每个需求的实现情况;②从安全性的角度
评审系统说明和分系统说明、评审软件需求说明、接口说明,以及其他有关系统方案和要求
等文件;③将系统安全性要求分配到软件;④由系统的初步危险导出软件的危险;⑤分析
功能流程图、编程语言、数据流图、存储和时序分配图表及其他的程序文档,以确保满足安全
性的要求。

 

  

2.2 概要设计危险分析 

  概要设计危险分析在软件需求说明评审后开始,是软件需求危险分析的深人和继续。分
析的结果提交给初步设计评审,作为初步设计评审的内容。这个工作项目的要点是:

 

  ①从软件的危险表出发,分析其中的危险事件与软件的组成单元的关系,将与这些危
险事件有关的软件单元确定为软件安全关键单元;②检查软件,确定软件的各个单元、模块、
表、变量之间是否相关,确定其相关的程度,凡是对软件安全关键单元有直接和间接影响的
其他单元,也要确定为软件安全关键单元,并且分析它们对安全的影响;③分析软件安全
关键单元的概要设计是否符合安全性的要求,分析的结果应送交软件设计人员和项目主管。