嵌入式系统的安全、问题追踪、日志记录与可靠性保障
1. 安全概述
嵌入式系统在安全关键操作方面的情况令人惊讶,许多系统都存在安全相关问题。医疗、航空、核电等设备的安全问题显而易见,但有些系统的安全方面较为间接或只是其功能的一小部分。比如,带有软件的家用热水器若使水过热,可能导致烫伤风险;手机在需要呼叫救护车时无法使用;电子门锁在应锁定时让入侵者进入酒店房间,或在发生火灾时无法让人出去等。
1.1 确保适当安全水平的重要性
构建安全系统需要了解系统的哪些方面可能产生不安全状况,这些潜在不安全状况的严重程度,以及应采取哪些措施来避免这些情况。实际上,几乎没有产品能在所有可能的情况下都绝对安全,但有一些通用的实践和标准可用于判断在安全方面投入多少精力是合适的。虽然很少有嵌入式系统像飞机自动驾驶仪那样对安全要求极高,但大多数嵌入式系统都存在一些安全问题,即使是轻微的问题。
1.2 可能的症状
如果嵌入式系统存在以下情况,就需要更密切地关注安全问题:
- 没有书面的安全计划。
- 此外,还有一个通用的高级问题可以判断是否需要担心安全问题:如果系统设计师竭尽全力编写会使系统做出危险行为的软件,是否会导致系统出现不安全的行为?
1.3 对安全关注不足的风险
对安全关注不足可能导致以下后果:
- 系统可能会伤害或致人死亡。
- 系统可能会损坏财产。
- 系统可能会出现其他不安全行为,包括伤害动物或破坏环境。
- 个人和/或公司可能会因系统造成的损失而在法律上承担责任。在美国,由于产品缺陷导致伤害的诉讼很普遍,且可能会有高额赔偿,因此安全问题尤为重