|注:文章摘录自 功能安全审核及评估方法软件标准系列,仅供学习参考!
(资料图)
软件架构设计规范的目标:
对软件架构设计规范的相关工作成果进行审核及评估, 以提供证据证明:
a) 开发了满足软件安全要求和其他软件要求的软件架构设计;
b) 验证了软件架构设计适合满足所要求 ASIL 等级的软件安全要求;
c) 支持软件的实现与验证。
软件架构设计规范的审核及评估检查清单:
1 是否定义了软件架构设计规范的开发流程?
2 是否定义了软件架构设计规范的模板且在项目中进行了实施?
3 软件架构设计规范模板是否与已定义的开发流程保持一致?
4 定义的软件架构设计规范模板是否可以覆盖下面列出的评估检查点?
5 是否按照ASIL等级要求定义软件架构的设计标记方法, 且满足GB/T 34590. 6中表2的要求?
6 软件架构设计的描述是否满足如下特征?
a) 可理解性;
b) 一致性;
c) 简单性;
d) 可验证性
e) 模块化;
f) 抽象性;
g) 封装性;
h) 可维护性。
7 软件架构设计的开发是否满足如下要求:
a) 软件架构设计的可验证性;
b) 可配置软件的适用性;
c) 软件单元设计与实现的可行性;
d) 软件集成测试中软件架构的可测试性;
e) 软件架构设计的可维护性。
8 是否定义软件架构设计的原则, 且满足GB/T 34590. 6中表3的要求?
9 软件架构设计是否被开发到可以识别软件单元的程度且继承了相应的软件安全需求?软件单元是否按照分配给它的最高安全ASIL 等级进行的开发?
10 软件架构设计规范是否包含了静态设计和动态设计?
11 如果架构设计中复用了一个不满足功能安全开发的软件架构要素, 是否对该软件架构要素进行了组件鉴定并满足GB/T 34590. 8第12章的要求?
12 如果架构设计要素被分配了不同的ASIL等级, 该软件架构要素是否符合GB/T 34590. 9第6章定义的共存准则或按照了最高ASIL 等级要求进行了开发?
13 软件架构设计如进行了软件分区, 是否实现了软件组件间免于干扰且确保满足如下要求?
a) 共享资源的使用方式应确保软件分区免于干扰;
b) 对于 ASILD 等级, 由专用的硬件特性或等效方法来支持软件分区;
c) 实现软件分区的软件要素是根据分配给分区软件任何要求的最高 ASIL 等级开发的;
d) 软件分区有效性的证据会在软件集成和验证期间生成(按照 GB/T 34590. 6-XXXX 第 10 章的要求) 。
14 是否对软件架构进行了安全导向分析?安全导向分析的结果是否满足如下要求:
a) 提供软件的适用性证据证明具备了相应的 ASIL 等级要求所需的特定的安全相关的功能和特性;
b) 识别或确认软件的安全相关部分;
c) 支持安全措施的定义并验证其有效性。
15 如果软件安全要求的实现依赖于软件组件间免于干扰或足够的独立性, 检查是否按照GB/T 34590. 9第7章进行了相关失效及其影响分析?
16 是否对安全分析的结果进行了处理?是否在架构设计中采用了错误探测和错误处理的安全机制?
17 是否对嵌入式软件所需资源进行了上限预估, 包括:
a) 执行时间;
b) 存储空间;
c) 通讯资源。
18 是否基于 GB/T 34590. 8第 9 章执行了软件架构设计的验证?软件架构设计的验证方法是否按照 GB/T34590. 6中的表 4 的要求进行, 为下列目标提供证据?
a) 软件架构设计应满足对应 ASIL 等级的软件安全要求;
b) 软件架构设计的评审或审核能够与为满足对应 ASIL 等级的软件安全要求提供证据;
c) 与目标环境的兼容性;
d) 与设计指南保持一致。