软件系统安全性风险评价(上)
风险评价是软件系统安全性工程中的一项重要内容,其目的是把注意力集中在安全性关键问题上,保证及时采取预防措施,避免日后进行昂贵的风险补偿行为。
风险评价工作涉及多种可靠性安全性分析技术与分析项目,数据量大,数据关系复杂,是一项庞杂的工作,需要理清其工作程序与数据关系,以便使风险评价工作走向规范。
本文首先介绍了安全性风险评价的基本概念,然后介绍了三种定性风险评价方法:RAC、TREC、SCRAM和三种定量风险评价方法:PRA、FEI 、GO-FLOW。
概要篇
1.国内外研究现状
系统安全性(System Safety)是近30年来适应复杂装备安全性需要而发展起来的一门综合性应用学科,也称为安全系统工程。
它是以效能、进度和费用为约束条件,在装备寿命周期内的各阶段中,利用专业知识和系统工程方法,识别、评价、消除或控制系统或设备中的危险,从而使系统具有最佳的安全程度的工程技术。
目前美国的国防、航空航天、核工业部门以及欧空局和俄罗斯(前苏联)的航空航天部门都制定了系统安全性工作的规范,并广泛开展了系统安全性工作。
早在六十年代,美国原子能委员会就提出了用风险来评估安全性。
ISO8402(1994年)对安全性的定义为:将伤害(对人)或损坏(对物)的风险限制在可接受水平的状态。
在航天方面,ISO/TC20/SC14在1998年提出的术语与定义标准中对安全的定义为:预期为控制由载人或不载人空间飞行任务活动中所产生的安全风险所进行的各种安排。
目前国际上都用风险来定义安全性。
美国原子能委员会曾提出一个计算风险的公式:
我国在1990年制定的GJB900《系统安全性通用大纲》中对风险的定义为:危险事件的风险就是该事件的发生概率和损失程度的函数。
这个概念涵盖了上面的计算公式,更准确且更具普遍意义。
风险概念的提出使人们不仅可以定性而且可定量地描述安全性,还可以用不同的方法来评价安全性。
风险评价的目的是把注意力集中在关键问题上,保证及时采取预防措施,避免日后进行昂贵的风险补偿行为。
随着项目设计工作的展开,解决安全性问题所要付出的代价会成指数增加,因此对于大型复杂系统,在项目早期阶段就应该确定项目潜在风险,制定风险控制方案,拟定消除风险的方法。
此外风险评价能帮助选择好的任务/设计方案。
由此可见风险评价在系统安全性工作中有很重要的地位。
由于其重要作用,风险评价目前已受到国际上的重视,NASA、ESA等都已规范了风险评价方法,并制定了相应标准,如NASA的《风险管理》和ESA的PSS-01-40《风险评价要求与方法》。
美国、欧洲、日本均有专门从事风险研究的国际组织,并已举行多次有关的国际会议。
我国对风险评价的研究始于80年代末,并在GJB900中规定了定性风险评价的工作内容,但总的说来我国的风险评价研究尚处在起步阶段,风险评价工作开展得不够广泛,在工程实践中很少进行完整
的规范化的风险评价工作。
2.基本概念
危险
危险是系统安全性分析的核心,研究安全性也就是研究危险。
危险有多个不同的定义。
根据GJB900-90的定义,危险是可能导致事故的状态。
美国的MIL-STD-882C和MIL-HDBK-764则把危险定义为:事故的先决条件。
ESA对危险的定义是:可能造成危害或对安全性具有潜在威胁之源。
由此综合得出,危险是指可能导致事故的现实的或潜在的条件或状态。
这种状态包括物质状态、环境状态、人员活动状态以及它们的组合。
如人站在楼顶边上就是一种危险的状态,如果再加上天正刮着大风这种环境状态,就变成一种更加危险的状态。
危险事件是指产生危险的事态,即可能导致发生事故或在事故前所发生的一些事件。
事件是一种物质和人的活动模式。
物质的危险事件有燃烧、爆炸、碰撞、破裂、倒塌、落下物、飞来物、触电、强光、毒物、放射性泄漏、高压、高低温等;人的危险事件有用手代替机器、接触危险部位、不正确工作姿态、冲击物下行动、在高速运行物下活动、操作失常等。
危险事件的发生可能会导致某种后果,比如人从楼上掉下来这个危险事件可能会导致人摔伤、摔残,也可能使人致死,这取决于楼的高度、人的身体素质、人掉下的姿势以及楼下的地面状况等因素。
事故是指一项正常进行的活动中断,并导致人身伤亡、职业病、设备损坏或财产损失的意外事件。
事故的来源是存在的危险及激发事件。
事故可以认为是由于未能鉴别现实的和潜在的危险或由于控制危险的措施不合理所造成。
在定量的危险分析中常采用概率或频率形式的事故率来衡量事故发生的可能性。
事故是由危险引发的,但从危险发展成为事故,必须有一定的条件,并经历一个演变过程,即系统状态变化的过程,如图1所示。
把前面的例子串起来:一个人站在楼顶边上是危险状态,一阵大风吹来是激发因素,人失足坠楼是危险事件,人摔伤致残是后果,事故则是以上四者的结合即一个人站在楼顶边上时由于一阵大风而失足坠楼导致残废。
危险分析是指对系统设计、使用、维修以及与环境有关的所有危险进行系统化分析,以判别和评价危险或潜在危险的状态、可能相关的危险事件及其后果的危害性。
危险的控制与消除
对系统中有严重后果的危险特性要采取消除或控制危险的措施,提高系统安全性。
消除或控制危险是对危险分析中确定的危险、危险状态或危险产生过程中的各个环节采取消除、最小化、控制措施来实现的。
危险消除:是通过消除危险或危险状态来实现的,例如飞船生命保障系统采用纯氧方案是很危险的,容易引起火灾,可改为氧分压接近正常大气成分方案来消除危险。
危险控制:是针对危险过程各环节,采取安全、报警、特殊规程等措施,来控制严重后果的发生,例如在容易引起火灾的系统中安装警告系统和自动灭火装置来控制火灾的发展。
危险最小化:是通过降低危险或危险状态的影响到最小来实现的,如飞船采用不易燃材料以使火灾对飞船的影响减小到最低程度。
3.风险评价
风险来源于危险事件,是危险事件发生可能性和严重性的综合体现,即风险R是该事件发生的概率P和损失程度C的函数:
R=(P,C)
“可能性-后果”这对元素分布的模式称为风险剖面(或风险曲线)。
可能性与后果可以分别沿着垂直坐标轴和水平坐标轴表示。
图3给出了上述天气预报的风险剖面,两个离散的后果:“有雨”与“无雨”,它们的可能性分别是30%和70%。
在某些情况下,后果可以连续地描述,它的点多得可以连续而不离散。
此时,风险剖面就形成了一条曲线。
例如,考虑一个投资问题,其中的后果是资金回报(收益或损失)。
每一种可能性是实际经历的某一个回报的密度函数。
后果与可能性形成了一连续的剖面(曲线)。
图2是一密度剖面f(x),其中正和负资金数分别表示收益和损失。
风险评价是确定危险的严重性和可能性,并据此评定系统或分系统及设备的预计损失和措施的有效性。
安全性风险评价不同于一般的风险评价如对金融风险等进行的评价,而是在安全性工程中针对危险进行的。
风险评价在系统安全性工作中的作用有如下几个方面:
评价装备设计是否使收益与风险达到最合理的平衡;
在装备试验或使用前或合同完成时,考核已判定的危险事件是否消除或控制在合同所规定的可接受水平;
为所提出的消除危险或将风险减少到可接受水平的措施所需的费用和时间提供决策支持;
评价装备的安全性是否符合有关标准和规定。
对危险进行风险评价的主要目的是进行危险的风险控制和风险消除,而消除和控制风险正是系统安全性的目标,因此风险评价在系统安全性中占有重要的位置。
风险评价的过程包括风险确定和风险评定两大部分,又可细分为风险鉴别、风险估算、风险处理、风险接受等4个方面。
详见图4所示。
风险鉴别是风险估算的前提,风险估算完成后还要对风险进行处理,在费用、进度、产品性能等约束条件下采取措施来控制或消除风险,最后根据残余的风险值和风险接受的标准来决定风险是否能够被接受。
风险评价与风险管理
风险管理是一项很重要的工作。
从广义上讲,工程项目管理就是风险管理,它不仅包括技术风险,还包括费用风险、进度风险、计划风险、保障性风险等内容。
安全性风险管理是其中一个环节,在安全性问题突出的工程项目中占有重要地位。
它的目的是在给定的任务目标、费用、进度等条件限制下,使系统达到可接受的风险水平并使系统的安全性达到最优化,其过程包括:
1) 危险消除、减少和控制;
2) 对1)的验证;
3) 残存风险接受。
风险评价是安全性风险管理工作的基础,它在下列方面对风险管理提供决策支持:
1) 决定风险控制的优先顺序。
对风险贡献最大者首先采取危险消除、减少和控制措施,以保证系统可用资源能用来最大限度地减少风险;
2) 对同一危险或危险状态的不同设计改进方案,通过风险评价得到各方案的风险水平,同时综合考虑方案的费用、进度、技术可行性等各个方面的因素,支持最佳方案选取;
3) 确定测试和验证工作的重点;
支持残存风险的接受。