- 轨道交通软件功能安全标准解析与实践
- 杨春晖主编
- 3111字
- 2021-10-15 17:40:57
2.2 软件安全完整性等级
标准第4.2至4.5条主要规定了软件安全完整性定级、软件需求与安全完整性等级的一致性以及软件安全措施的选择注意事项。
2.2.1 标准条款
4.2 The software safety integrity shall be specified as one of five levels, from SIL 0 (the lowest) to SIL 4 (the highest).
4.3 The required software safety integrity level shall be decided and assessed at system level, on the basis of the system safety integrity level and the level of risk associated with the use of the software in the system.
4.4 At least the SIL 0 requirements of this European Standard shall be fulfilled for the software part of functions that have a safety impact below SIL 1. This is because uncertainty is present in the evaluation of the risk, and even in the identification of hazards. In the face of uncertainty it is prudent to aim for a low level of safety integrity, represented by SIL 0, rather than none.
4.5 To conform to this European Standard it shall be shown that each of the requirements has been satisfied to the software safety integrity level defined and therefore the objective of the sub-clause in question has been met.
4.2 软件安全完整性应包括五个层次,从SIL 0(最低)到SIL 4(最高)。
4.3 应在系统安全完整性等级和系统软件风险等级的基础上,在系统级层面决定和评估所需的软件安全完整性等级。
4.4 如果软件安全完整性等级未达到SIL1,则至少要达到满足SIL0软件安全完整性等级的要求。这是因为在风险识别和风险评估的过程中存在不确定性,针对这种不确定性,使用最低级别的安全完整性等级SIL0比无等级要求更好。
4.5 为达到本欧洲标准的要求,每一项软件需求都应满足已定义的软件安全完整性等级要求,并且子条款的目标应该得到满足。
2.2.2 条款理解及应用
功能安全确定评估强调从系统的软件、硬件两个角度出发,从安全功能要求的完备性以及安全功能所具备的可靠性数据两个方面在整个安全生命周期内对系统及其部件等进行全面管理。
在选择如何确定安全系统完整性等级方法时,并不是机械地进行数学计算,而是要从分析方法、分析过程的复杂程度,分析过程是否让人容易理解和接受,实际操作会有什么问题等方面进行考虑。同时分析计算中所采用的数据及工具应及时更新,在参考同样的系统时不能完全照搬。无论采用何种方法进行分析计算,都应制订好程序,以保证计算的有效性、合理性及连续性。国内的各设计及建设单位应根据国家的相关法律要求及各自的安全目标制订其评价方法,才能达到合理设置安全仪表系统及其等级的目的。
目前,比较常见的功能安全完整性等级分析基本流程如下:
1)明确安全目标
依据国家和国际标准、法规、公司政策以及有关要求,明确被评估系统安全目标。
2)危险和风险评估
通过对评估对象进行危险和风险评估,确定危险、潜在的过程偏差及起因,明确引发事件及可能发生的潜在危险事件。危险和风险评估的方法,包括安全复审、检查表分析、假设分析、HAZOP分析、失效模式和影响分析、因果分析等。
3)安全功能分析
对评估对象的现有安全功能进行分析,明确保护层及现阶段实现的安全程度。
4)明确安全相关系统安全完整性等级
结合对评估对象现有安全程度的分析,增加相关的安全系统来实现被评估系统的安全目标,并确定安全系统安全完整性等级。目前,确定功能安全完整性等级常用的方法有风险图法、安全层矩阵法、保护层分析法等。
BS IEC 62279的软件安全完整性定级方法源于IEC 61508标准。IEC 61508是最常用的功能安全标准,也是SIL验证的基本标准依据。IEC 61508标准基于安全相关系统的可靠性,是安全相关系统功能安全的基础标准,由7个部分组成,描述了安全相关系统的软硬件要求,内容从危险分析和安全功能的详细说明开始,直到系统停用和处理。IEC 61508提出了4个安全完整性等级,即SIL1、SIL2、SIL3和SIL4,级别越高要求其危险失效概率越低。该标准还提出了影响安全完整性等级的两个因素、安全故障的比例和目标失效量的测量。
5)基于系统风险的软件安全完整性评估方法
参考IEC 61508、MIL-STD-882E、GJB/Z 102A等标准,基于系统风险的软件安全完整性评估过程如图2-1所示。

图2-1 基于系统风险的软件安全完整性评估过程
依据图2-1所示的评估过程,具体操作过程如下:
步骤一 确定系统危险事件后果严重性等级C
(1)确定软件所在顶层功能故障状态FC。
● 使用FHA方法,分析软件所在系统的顶层功能故障状态FC;
● 系统有多个顶层功能,若软件属于一个或多个顶层功能,则必须对这些顶层功能进行故障状态FC分析。
(2)分析顶层功能故障状态所导致的系统危险。
● 依据系统功能所处阶段,分析各类功能故障状态FC所可能导致的系统危险,即对任务完成的影响情况;
● 顶层功能通常具有多个故障状态,必须对每个故障状态进行系统危险性分析。
(3)建立系统危险严重等级列表。
典型的系统危险严重等级列表见表2-1。
表2-1 系统危险严重等级列表

(4)建立系统危险严重等级列表。
● 最后,依据顶层功能故障状态所导致的危险分析结果,与表2-1相对照,确定相应的系统危险严重等级;
● 系统顶层功能通常具有多个故障状态,因此会有多个危险严重等级评估结果,选择最高级别作为该系统顶层功能的危险严重等级。
步骤二 确定系统处于危险区域的频度等级F
(1)确定软件所在系统可能接触到的外部危险源
● 采用PRA、ZSA等方法,分析软件所在系统可能接触到的外部危险源;
● 可从外部交联设备、执行机构、物理环境因素、人机交互、系统运行特征等角度出发,确定系统的可能的外部危险源。
(2)确定系统与外部危险源相交互的可能性
● 结合系统运行特征和体系结构,借助专家经验来确定系统运行时与外界危险源相交互的可能性,即频度值;
● 也可依据历史测试数据或用户使用数据,对系统与外部危险源相交互的可能性进行评估。
(3)建立系统处于危险区域的频度等级表
结合系统特征,确定系统处于危险区域的频度等级表见表2-2。
表2-2 系统处于危险区域的频度等级表

(4)评估系统处于危险区域的频度等级F
● 依据系统运行时与外界危险源相交互的频率值,与表2-2对照,定量评估系统处于危险区域的频度等级F;
● 系统运行过程中会处于多种类型的危险区域,即不同类型的危险源,每次进行软件安全等级评估工作时,需要根据不同类的危险源分别进行系统处于危险区域的频度评估,获得多个频度等级评估结果。此时,选择最高等级作为系统处于危险区域的频度等级。
步骤三 确定未能避开危险事件的概率等级P
参考MIL-STD-882E等标准,未能避开危险事件的概率可由以下方式进行衡量。
(1)描述软件对系统危险事件的控制能力。结合系统体系架构,从软件对系统/子系统危险的控制程度、软件对系统/子系统功能的控制程度、裕度备份措施设置三个方面来描述软件对系统危险事件的控制能力,描述软件控制能力。
(2)建立软件控制能力分级表格。结合系统特征,建立软件控制能力分级表格,见表2-3。
表2-3 软件控制能力分级表格

续表

(3)确定软件控制等级,进而获得概率等级P
● 将软件控制能力与“软件控制能力分级表格”中的内容进行比对,确定软件控制等级;
● 若同一个软件对应多个控制等级,应取最高级作为该软件对危险事件的控制等级;
● 将软件控制等级的I、II、III、IV映射为相应的四个概率等级,即“很高”“较高”“一般”及“很低”,依此确定“未能避开危险的概率等级P”。
步骤四 确定危险事件的发生概率等级W
(1)获得危险发生概率近似评估值。
● 通过经验数据统计分析、专家经验或者异常激励发生条件仿真等方式,获得系统危险发生概率近似评估值;
● 危险发生概率的定量评估值只能通过大量经验数据统计分析、专家经验或者异常激励发生条件仿真等方式获得,不需要非常精确的评估结果,工程上只需要达到规定数量级即可。
(2)建立系统危险发生概率等级表。
典型的系统危险发生概率等级表见表2-4。
表2-2 系统危险发生概率等级表

步骤五 确定软件安全完整性等级
将软件所在系统风险指数与映射索引表格中的内容进行比对,确定最终的软件安全完整性等级综合评估结果。软件可能属于多个不同的系统顶层功能。此时,需要针对每一项顶层功能进行上述研制等级分配过程,同一软件的不同功能可能会有多个安全完整性等级的评估结果。最后,选择最高等级作为该软件的安全等级。软件安全相关功能SIL定级如图2-2所示。
其中,C代表危险事件后果,F代表暴露率与危险的概率,P代表避开危险的概率,W代表危险发生概率等级。图中1~4代表SIL1~SIL4。

图2-2 软件安全相关功能SIL定级