安全关键系统嵌入式软件开发的基础分析
在安全关键系统的嵌入式软件开发领域,有许多重要的方面需要深入研究和分析。本文将探讨该领域的一些关键内容,包括安全标准、回顾性安全案例、故障分析以及示例公司的相关分析等。
1. 安全标准现状
目前,安全关键系统的嵌入式软件开发正处于大量研究阶段。在安全方面,有 ISO 26262 和 IEC 61508 等国际标准,但在安全关键系统的安全保障方面,还缺乏类似的国际标准。不过,ISO 和 SAE(原“汽车工程师协会”)的联合工作组正在制定这样的标准——ISO/SAE 21434:“道路车辆 - 网络安全工程”。截至目前,该标准尚未发布,而且从标题来看,它仅涵盖道路车辆的安全保障。
2. 回顾性安全案例
制作安全案例最简单(且成本最低)的方法是将其创建作为开发项目的一个组成部分。随着开发过程中各种工件的创建,将它们添加到数据库中,并纳入整体论证。然而,有时需要为已经存在但在开发过程中未制作安全案例的产品创建安全案例。回顾性开发的一个优势是有现场使用历史,部分安全案例可以基于“使用证明”(PIU)值来构建,例如“系统已在现场使用 t 小时,发生了 n 次故障;因此,我们认为该系统满足 Y 级安全完整性”。
需要注意的是,整个安全案例不能仅基于 PIU 构建,但只要能证明有足够的历史数据,PIU 数据可以支持一个有力的子论证。IEC 61508 - 7 中的表 D.1 提供了支持不同安全完整性级别 PIU 论证所需的小时数列表。不过,有人认为该表存在算术错误。此外,在从第三方采购非认证组件的情况下,也会探讨使用证明的问题。
3. 故障分析
故障分析与危害和风险分析、