软件安全性分析中故障树方法的应用故障树分析法(FTA)是硬件可靠性、安全性分析的传统技术工具.20世纪80年代,软件的可靠性和安全性开始成为科技界关注的课题,为了适应软件安全性分析的需要,故障树分析法被移植到软件这个新领域
经过20年不断的应用和创新,现在软件故障树分析已经成为软件安全性分析的重要手段并简称为SFTA.软件故障树分析极具应用潜力,在软件开发的早期,可以用故障树分析来确定软件的安全要求,进入概要设计、详细设计设计和实现阶段,可以对故障树加以扩充,继续进行更深入的分析.故障树分析法对于硬一软件复合系统的安全性分析尤为有效,分析人员可用它分析程序产生安全事故的各种原因,分析系统任何部分发生的失效,分析硬件、软件和操作员的失误,并可以识别潜在的复杂的失效模式
SFTA涉及的内容十分丰富,受篇幅限制,本篇文章介绍的是SFTA的基本框架和方法
1故障树的逻辑关系a
逻辑"或门"设x1,x2表示两个不同的事件,如果两个事件中至少有一个事件发生便能导致另一个事件x3发生,则称这种关系为逻辑"或门"关系,相应的布尔代数式为(1)其逻辑图见图1b
逻辑"与门"事件x1和x2必须同时发生,x3才能发生,这种关系称为逻辑"与门"关系,相应的布尔代数式为(2)其逻辑图见图2c
逻辑否定逻辑否定表示同原命题相反,用x1表示事件发生,则其相反命题"事件不发生"用x1表示,在分析逻辑否定关系时经常用到德莫根定理(3)(4)进行故障树分析需要绘制故障树图.故障树图类似于一棵倒立的树.树的根部位于图的上方,代表需要分析的危险事件(或关键性失效)事件,从顶向下再层层衍生出许多分支,形成了若干的分支点,这些分支点代表了危险事件形成过程中的中间事件,分支的终点,类似于树叶,代表了可能导致危险事件发生的基本事件.为适应绘制故障树图的需要在故障树分析法发展过程中,形成了一套可靠性工程界公认的图形符号标