编辑推荐: |
本文主要介绍了【功能安全】软件安全架构相关内容。希望对您的学习有所帮助。
本文来自于微信公众号凯文的汽车之旅,由火龙果软件Linda编辑、推荐。 |
|
01软件安全架构介绍图片

软件架构设计的目的

软件架构设计的原则

软件架构设计输入与输出



软件架构设计的要求


注:软件架构设计和软件安全要求之间的双向可追溯性。
软件架构设计原则:


软件架构静态/动态设计(参考秒尼科技术) 
软件架构静态设计


软件架构动态设计

软件分层架构设计

软件架构设计安全机制
错误探测的安全机制

其中:
数据的范围检查指输入输出数据的范围进行检查,例如:在程序中我们可以通过数据范围来排除数据的正确性;
合理性检查 例如:使用参考模式导致期望行为和实际进行比较来实现程序执行的正确;
数据流监控指外部要素监控程序执行,例如:看门狗时刻监控程序的执行,避免程序进入死循环中等等。
用于错误处理的安全机制

其中:
功能关闭机制指为了达到和维持安全状态的功能关闭,比如:当汽车上的空调制冷系统故障后,为了不影响车辆行驶将制冷功能关闭;
平稳降级机制指通过划分功能的优先级进行平稳降级,从而最小化潜在失效对功能安全的不利影响。
具体来讲,在功能监控层架构设计过程中,可以根据具体监控的功能,进行相应的异构冗余计算,对其输入,输出,进行范围及合理性检查,异构冗余计算程序执行过程进行时内部或外部要素的时间或逻辑监控,一旦发现错误,通过错误处理机制,将系统导入安全状态。
软件架构设计的验证方法

此外,在整个架构设计过程中,还需要关注以下几个方面:
1、软件架构设计中每个软件模块与对应的软件需求之间的关系;
2、软件架构中与同一条或者一组需求的相关软件模块组合在一起是否完整、正确地执行了对应的软件需求,这些模块之间有没有内在矛盾、重复、需求执行的遗漏等。
3、软件所需资源进行评估(其中评估包括:执行时间、存贮空间和通讯资源);
4、软件架构层级安全分析及相关失效分析
软件架构设计时,进行ASIL等级分解时,需进行DFA分析,以证明免于干扰。
Perform safety analyses Freedom from interference
in cases of different ASILs
02软件架构设计模板
模板

03软件架构设计示例
示例1:VCU扭矩计算中加速踏板相关的软件安全需求为例(参考道路车辆功能安全)

加速踏板合理性校验"静态架构





示例2:VCU

模块之间的交互

动态架构设计
考虑:任务、中断、定时器、事件、调度、时序图以及状态流、数据流,分别进行描述。

静态设计
静态设计包括:软件层之间的交互、模块间的交互、每个软件模块的定义

性能描述
如资源消耗、memory、CPU描述等

必须考虑运行时行为、内存区域和消息流量。
|