闲话安全关键系统系统(一)
0 k+ ], T/ W. t! q5 z. [# H% w$ D v- i5 j- R8 b
1. 什么是安全关键系统(safety-critical system)?
+ t$ G! U H; j+ J“安全关键系统”听起来比较唬人,它实际上是英文“safety-critical system”的直译,比较拗口。. v6 ^. m1 n% Q# }, n' I$ [. |
简单的说,它是一类系统,这类系统如果失效,则会导致人员或财产损失,或对环境产生严重破坏。( [1 t. l6 x, V1 ?+ J3 J
举几个例子,比如运载火箭控制系统、飞机的飞行控制系统,铁路的超速防护系统,核反应堆的安全; _# H; s: m1 R0 M7 O: U3 d* R" f
保护系统等等,这些都属于安全关键系统。
/ q. S5 W" i; S$ A2 e2 E
9 r/ N/ S' g7 t$ I9 p+ b% l与这个词有关系的词还包括安全相关系统(safety-related system)。一般情况下,这两个术语的同义词,指的内容是相同的,但也有时候有些区别,比如为了区分系统的不同的安全等级,可以认为safety-critical system的安全等级比safety-related system更高。在本文中,这两个词是等价的。2 L# d x( p8 W8 N9 ]
# C: i& s! c% Y$ ]有时候甚至为了简单,直接就说安全系统(safety system)。说到这儿,你也许该问了,“日常说的安全系统
2 f7 d# [, n8 S1 q& K) c2 ~9 ]+ J不是这样的呀?”。原因在于汉语中的“安全”一词实际上对应英文有两个词,一个是security,一个是
! W: y" Q3 z" s! p! ]& S7 fsafety。在英文中,security主要指与信息有关的安全,safety主要指与生命财产有关的安全。我们经常2 m, p0 [0 a2 S) X0 l
听到的安全系统(准确的说是在IT领域),多数是security system,比如加密系统、防火墙等等。而在化工
5 o( q4 m S. u# j领域,一般提到安全系统就是指safety system。以后为了防止歧义,都使用英文safety system来代表我们要介绍的安全关键系统或安全相关系统。
% E: `0 r! t# [/ T# N: Y% f( q+ ~! I1 [7 B6 w8 Q
下面这个图可以让你对security和safety有个直观的认识。
; Y0 c0 x+ w$ i4 L
/ o( H2 I$ q, \; \1 ?" ?- P) X) a' e M% X+ `
2. safety-critical computer system
) m3 S1 \# l% {2 jsafety system有很多种,我们这里关心的是那些使用计算机技术实现的系统。更准确的说,是基于软件的安全系统。在没有软件之前,这类系统一般是机械的或继电器控制的,随着计算机技术的发展,在安全系统中越来越多的用到了软件,它带来了与原有的继电逻辑不同的失效模式,产生了一系列新的问题。从20世纪80年代开始,对于safety system的研究逐渐开始兴起,到了90年代末多个安全标准的出台促进了它的研究和发展。影响比较大的就是IEC 61508标准。
+ m9 O5 D8 R4 `# G6 h
: ]# Q2 Y1 H' S不过,即使是有很多安全标准,我们对safety system还是有很多东东要研究。为什么这样说? 因为标准一般都说了该做什么,不会说怎么做? 如何实现一个系统就是安全的是很值得讨论的问题。更重要的一点,与一般的系统开发不同,我们没有机会去按照try-implementation-redesign的方法来做一个safety system,这在成本上不允许,道德上和法律上也是不允许的。
: s8 T! S0 F C8 v" V1 c% a
9 x) r6 A5 v4 u, q. J2.1 典型的安全系统故障案例-1 爱国者导弹
6 |! k) S0 d6 S1 V说了半天,你也许觉得抽象,那我们举个例子。1991年第一次海湾战争期间,用于拦截飞毛腿导弹的爱国者导弹表现很差,导致多名美军士兵丧生在飞毛腿导弹的轰炸之下。我们这里不去探讨战争的对与错,仅从技术的角度说,爱国者导弹防御系统属于典型的safety system,如果它不能完成它的功能,说明它失效了(failure)。后来,调查出的原因主要是软件故障,该系统最初的设计没有考虑到系统长时间使用的情况,它属于打完了就跑的设备,到另一个地方重新布置再发射,在一个地方不会超过8小时。但实际应用的时候,超过了这个时间,导致其range gated area发生漂移,不再精确,系统在跟踪来袭导弹的过程中产生了偏差,而且使用越久偏差越大。另外,该系统最初是设计用于拦截2马赫的导弹,而飞毛腿是速度是5马赫。3 d( {' W6 K0 G! Z7 f' P3 T
7 r- r# D. r. V! W3 r
爱国者导弹防御系统的问题属于安全系统开发过程中的典型问题,需求不能满足实际的要求,在过程中又没有检查出来。
5 e7 I1 x! w: Y6 O |( q$ @ v2 z* ~8 f s2 f4 x; u. n9 [ Q
Notes:
0 g3 m, r% `- ]" u d( t" aOn February 25, 1991, a Patriot missile defense system operating at Dhahran, Saudi Arabia, during Operation Desert Storm failed to track and intercept an incoming Scud. This Scud subsequently hit an Army barracks, killing 28 Americans.
- p* _' V) ?. j+ Q/ ?% m
, e1 B. D, s& G% t% l$ k0 U
|