软件安全性分析中故障树方法的应用

上传人:s9****2 文档编号:513031164 上传时间:2023-09-15 格式:DOC 页数:18 大小:204KB
返回 下载 相关 举报
软件安全性分析中故障树方法的应用_第1页
第1页 / 共18页
软件安全性分析中故障树方法的应用_第2页
第2页 / 共18页
软件安全性分析中故障树方法的应用_第3页
第3页 / 共18页
软件安全性分析中故障树方法的应用_第4页
第4页 / 共18页
软件安全性分析中故障树方法的应用_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《软件安全性分析中故障树方法的应用》由会员分享,可在线阅读,更多相关《软件安全性分析中故障树方法的应用(18页珍藏版)》请在金锄头文库上搜索。

1、软件安全性分析中故障树方法的应用(1)故障树分析法(FTA)是硬件可靠性、安全性 分析的传统技术工具 20 世纪 80 年代,软件的 可靠性和安全性 开始成为科技界关注的课题, 为了适应软件安全性分析的需要, 故障树分析法 被移植到软件这个新领域 .。经过 20 年不断的应 用和创新,现在软件故障树分析已经成为软件安 全性分析的重要手段并简称为 SFTA 软件故障 树 分析极具应用潜力, 在软件开发的早期, 可 以用故障树分析来确定软件的安全要求, 进入概 要设计、 详细设计设计和实现阶段, 可以对故障 树加以扩充,继续进行更深入的分析.故障树分 析法对于硬一软件复合系统的安全性分析尤为 有效

2、,分析人员可用它分析程序产生安全事故的 各种原因, 分析系统任何部分发生的失效, 分析 硬件、软件和操作员的失误, 并可以识别潜在的、 复杂的失效模式。 SFTA 涉及的内容十分丰富, 受篇幅限制, 本篇文章介绍的是 SFTA 的基本框 架和方法。1故障树的 逻辑关系a.逻辑”或 门曲I 谭辑止成门协囲二设x1, x2表示两个不同 的事件,如果两个事件中 至少有一个事件发生便能 导致另一个事件x3发生, 则称这种关系为逻辑”或 门关系,相应的布尔代数 式为(1 )其逻辑图见图1b.逻辑与门事件x1和x2必须同时发生,x3才能发生,这种关系称为逻辑”与门关系,相应的布尔代数式为(2)其逻辑图见图

3、2罔2逻辑与门国c.逻辑否定-逻辑否定表示同原命题相反,用x1表示事 件发生,则其相反命题事件不发生”用x1表 示,在分析逻辑否定关系时经常用到德莫根定理(4)进行故障树分析需要绘制故障树图.故障树图 类似于一棵倒立的树树的根部位于图的上方, 代表需要分析的危险事件(或关键性失效)事件, 从顶向下再层层衍生出许多分支,形成了若干的 分支点,这些分支点代表了危险事件形成过程中 的中间事件,分支的终点,类似于树叶,代表了 可能导致危险事件发生的基本事件.为适应绘制 故障树图的需要,在故障树分析法发展过程中, 形成了一套可靠性工程界公认的图形符号标 志.软件的故障树分析法的思路与硬件故障树分 析法基

4、本相同,因此这套源于硬件故障分析的图形符号, 也为软件分析所采用 感兴趣的读者可 从各种硬件 FTA 的资料中找到, 本文不再赘述。2 危险分析危险分析是进行系统安全分析必须采取的第 一个步骤, 也是故障树赖以建立的必要前提 危 险分析的目的是确定系统可能出现的各种不安 全状态(或关键性失效状态) ,从安全的角度确 定哪些失效是可以容许的, 确定哪些失效是不可 容许的,确定在危及安全的失效发生或可能发生 时,怎样使系统处于失效一安全状态的措施 通 常系统可能由于以下的原因而进入不安全状态:(l) 硬件部件失效;( 2)系统部件接口出现的问题;( 3)操作中的人为错误;( 4)环境应力;( 5)

5、软件控制错误使系统处于不安全状态的软件控制错误有以 下五种类型:(1)不能执行某一要求的功能,这个功能很 可能从来没有执行过或者是在要求执行时没有 反应;(2)执行了一种非要求的功能,即产生了一 个错误的回答或者回答的时机和环境不恰当, 例 如偶然地、 过早地或过迟地启动了传动机构, 或 者未能在要求的时间停止某项操作(3)顺序问题上的错误;(4)不能识别某些需要采取改正措施的危险 条件;(5)对于某些危险条件产生了错误反应 在对系统的软件进行危险分析时, 不仅应该考 虑软件的控制错误, 而且必须研究软件和系统其 他单元的接口 有些软件的控制动作只有在系统 的其他元件失效时或者在异常的环境中才

6、会使 系统出现不安全状态在对系统的软件进行危险分析时, 还必须把操 作者的因素考虑在内 要仔细地考虑控制系统中 的人机接口给操作者提供系统当前状况的信息 是保证系统安全运行的一个必要措施 例如飞行 着陆软件的安全性能, 必须达到飞行员要求的标 准,否则飞行员宁可人工操作, 而不愿冒险去使 用自动着陆系统 然而在飞行高度过低时, 人工 操作同样是危险的。 因此软件系统不仅应使飞机 能安全飞行和安全着陆, 而且应按飞行员希望的 方式飞行和着陆, 才能使他们对飞控软件的安全 性具有信心。使操作者保持信心的一个重要方法 是不断地提供有关数据, 操作者能主动的监视系 统运行的动态过程。当系统正趋向发生错

7、误时, 系统及软件的信息尤其重要。 只有在正确、 及时 获得和分析这些信息之后, 操作者才能对系统进 行有效的监控和干预, 才能采取正确的避错和失 效安全措施。3、构造故障树 软件故障树的建造步骤与硬件故障树基本相 同而且软件故障树所用的标志符, 除某些特殊 情况下新增加的符号外,也与硬件故障树相 同软件故障树分析的这些特点, 使得硬件故障 树与软件故障树可以在接口处平稳的相互联接, 从而实现从硬软件复合系统的故障树分析向安全关键部位的软件故障树分析过渡软件故障树分析可以在软件开发期的各个不 同的阶段中使用。在开发 早期的高层次的故障 树中,既包括硬 件,也包括软件.图3是以火 轮”系统空间飞

8、行器自转速度过快为顶端事件, 然后展开的高层次的故障树例图,火轮系统 的细节在节4中另有介绍。疑3 高孱次的触障火轮旨龊过快;氛 誕继除分拆的爭件;头 需疊煙分析的爭 件;札需鸵第分析的审件;5-有关理料的基本审作;4梢黄 硬弁的基本嘟井;?-有关读件的准矣本事件;葩 钦件命母气 体跌门打开;趴软件金令骂达停止工柞iF-THEN-EL$E谓旬严生的事件;2*条件为贡、THEH产生的事汙;氛 铢件为观,ELSE产生的疇粹:仁 锢旬执JJ 耐兼萍为真7九THEN产主的事曲匚凿旬执行前毎诗为佩; 7+ ELSE产举的申幷在图3中我们看到有两处出现了与软件有关 的事件,这两个事件都可随着软件设计的深入

9、, 进一步加以展开,直至最底层.软件故障树分析 的最低层次取决于分析的要求,原则上可以深入 到程序的编码或语句。在进行最低层次的编码语 句故障树分析时,应以代码的输出为出发点,然 后反向追溯,分析程序的控制流程是通过什么途 径转移到被分析的部位,分析它怎样给各个输出 变量赋值图4显示了怎样用反向追溯法,分 析 IF THEN ELSE 语句。图5車并的故翼轉图H 1F 锻旬产生的 XKO ; 1. AB X: F(X)产生 X100; 3. A1: 札 AB; 5. X: - F(X)羸 AIOC进行软件故障树分析时,首先假定某个不希望 事件在执行这个语句时发生,然后通过构造故障 树来描述这个

10、事件发生的过程图 5是以语句“ IF AB THEN X:= F(X) ELSE X:=10 ” 为对象,当事件“ X 100”发生时所构 造的故障树图。在图5右部的子树代表一个不可能出现的事 件,可以从故障树图中删除,此后可以继续针对 事件“ a b”和事件“ X:= f (x)产生,X 100 展开,最终可以找出与图 5顶端事件有关的全 部基本事件.对于下列主要由赋值语句组成的程 序段P:a := ran (0);G: b := 0.01;IF a -产卷爭件:2.尸川叫尸 糕尸产生事什:3- F矣敘产世事押在函数调用中发生的错误,可能源于参数不当 或程序的错误,其故障树示于图 7。图 R

11、 WHILE 语句1. WHILE语旬产生的事件;2-语瓦没有执订;3-语旬按行次产生事甘;*事件Ei7 ft: 5-条萍为据;r条酢为套;九比反良产生审件对干WHILE循环语句,其故障树图示于图8为了说明WHILE语句故障树图的实际应用,我们用一个简单的程序段作为分析案例, 这 个程序段是WHlLE b x doBEGIN b:= b 1;Z:= Z 10;END;选择 Z 100作为需要分析的事件,其故 障树图见图 9。图 9 中左边的子树表示 WHILE 语句没有执 行,这种状况意味着 z 一开始就大于 100 而且 b 小于或等于X。图9右边的子树是反映Z在循 环体中数值的变化令 n

12、表示执行中的循环次 数, Z n 表示 Z 在 n 次循环中的数值, Z n l00 是在循环中需要分析的事件。 在研究了上述程序 段后,可以得出Z n = Z 0 10 n(5)由于在 n 次循环以后 b n = b 0 n, 在停 止循环时 b n = X , 所以b 0 x = n(6)从式(5)和式(6)得出100 V Z n V Z 0 + 10 (b 0 x) (7)4、故障树分析实例Lereson和Harvey应用故障树分析了 火轮 系统.火轮系统是一个由宇宙飞船发射的空间飞 行器,它带有一个金属丝网架,网架终端有一个 电场传感小球火轮系统的飞行控制程序由 1250 行 Inte

13、l 8080 汇编语言的语句构成,通过微机控 制该小球对地磁拖尾中的电场进行抽样检测, 然 后由微机将抽样值变换为遥测信息发出 飞行器 上的其他设备也由这个程序控制 出于费用方面 的考虑, 飞行器不能接收卫星地面站的指令, 一 切决策必须由飞行器的微机作出。金属丝网架是依靠空间飞行器旋转赋予传感 小球的离心力而放置的, 当网架的长度 增加时, 飞行器的转速减慢, 所以微机还控制了一个小推 进器,推进器喷口的位置与飞行器壳体相切, 打 开气体控制阀可以增加飞行器的自旋速度 飞行 器的自旋速度必须处在 一定的速度区间之中, 才能圆满的完成预定的任务在网架放置时,很可能因为飞行器的速度过 快,产生的

14、离心力过大而发生失效 实验数据表 明,当飞行器的离心力超过重力 25 倍时,网架 将缠绕在飞行器上 所以这个系统的关键失效事 件是金属网架损坏图 10 是以“飞行器自旋过快”作为顶端事件 构造的故障树图,图 11是以“ PERIOD 太大” 为顶事件构成的故障树图图中的 PERIOD , LENTH , MONITORSPIN , GASON , GASOFF 等是程序中的函数,其余的标示符是 程序的变量名。用故障树分析之后发现, 在火轮 运行过程 中,如果在 64 毫秒的时间区间内,发生两个太 阳脉冲造成的中断事件,就足以使微机控 制失 效,从而导致金属丝网架损坏 这个发现为改进 空间飞行器

15、的设计提供了重要的依据在此之 前,由独立的测试组已经对程序进行过非常严格 的测试,但是未能发现这个潜在的重大问题。期10快敘拘阳*次轮自絞过快;2分折的件;3.分衍的件;4.語姓;分析的伶$5- *件的*=; 6和关HE件的墓*事件;人 有关毀件的冷簾本 审件:8.轶作 命*7休质厂J打开;9.软件命令马达停止工作;lO.iHffl GASON; H.不眞用CASOFF; (2瑕用 MONITORSPIN; IJ. PERIODGASBOT; 14. PERIODGASTOP; 1$不 MONITORSPIN; 16. PERIOD 大;计.LENGTH 太大;18. PERIOD 处小; LENGTH *小. PERIOD 尤大;2.由 PERIOD: - SUNP 严生;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号