• 联系电话

    • 龙女士:137-7431-0034
    • 服务时间

    • 周一至周五 9:00-18:00
    • 微信二维码

ISO 21434 合规性要求什么?

 

ISO 21434 是一项非常广泛的标准,涵盖了车载汽车系统的整个安全生命周期。

 

它涵盖了从设计到开发和工程,直至生产甚至系统退役的所有内容。

 

与 ISO26262 一样,ISO 21434 包含多个部分,涵盖产品开发、操作、维护和退役的不同阶段,每个阶段都有一组基本要求。

 

下表总结了标准中的各个部分:

 

 

对于软件开发人员来说,主要关注的部分是第 10 部分:产品开发 - 在产品开发阶段 - 其中包括软件的设计和开发(第 10.4.1 小节)以及软件的集成和验证(第 10.4.2 小节)。

 

每个小节都对软件开发以及遵循这些小节时应产生的预期工作产品提出了要求。

 

第 11 节:网络安全验证(也在产品开发阶段内)包括审查第 10 节中的工作产品的要求,以确保实现成品的网络安全目标。  

 

影响软件开发的需求


ISO 21434 第 10 部分关于软件安全的要求中很重要的一部分重点是检查或审查正在创建的代码是否存在安全漏洞。

 

或者代码存在此类安全漏洞的可能性——基本前提是,代码越复杂,代码就越有可能隐藏安全漏洞,因为不容易想象或理解其影响。

 

这里的一个常见解决方案是使用编码标准(在本例中是安全重点的编码指南),它本质上将开发人员的经验封装成规则,然后可以将其应用于任何代码,以检测复杂或不安全的代码的情况。

 

国际上有许多以安全为重点的编码指南,这些指南广为人知且备受推崇,包括:OWASP、CWE Top25 和 CERT。然而,对于嵌入式软件(如车载汽车系统中的软件),CERT C、CERT C++ 和 MISRA C 2012(自修订版 1 开始,它们不仅涵盖质量,还涵盖安全性)通常被认为更为合适。

 

事实上,ISO 21434 要求[RQ-10-05]的第 10 节指出:适合网络安全的设计、建模或编程语言的标准(参见[RQ-10-04])如果语言本身没有涉及,则应由设计、建模和编码指南或开发环境来涵盖。

 

然后进一步提供此类编码指南的一个例子(示例 5):在“C”编程语言中使用 MISRA C:2012 或 CERT C 进行安全编码。

 

CERT C 和 MISRA C 2012 等编码指南通常包含许多规则;CERT C 大约有 100 条规则,而 MISRA C 2012 则有近 200 条规则。

从确保检查代码是否存在潜在安全漏洞的角度来看,这非常好。

 

但对于负责代码审查的人来说,这并不是什么好事,因为他现在必须记住 100 多条规则,并尝试将它们应用到数百行新代码中。

或者更糟糕的是,整个项目由数千甚至数百万行代码组成。

 

静态分析代码检查器或静态应用程序安全测试工具可以提供帮助;通过自动化代码检查并向审阅者提供需要具体查看的违规行为列表。

 

如果您愿意的话,可以进行引导式代码审查,以便为您完成大量繁重的搜索工作。

 

ISO 21434 第 10 部分的另一个关键方面(例如要求 [RQ-10-02]、[RQ-10-03] 和 [RQ-10-07])是需要了解并评估系统架构中涉及易受攻击的组件和接口的情况。

 

显然,在几乎所有现代代码库中,开发通常都是并行进行的,并且与其他相关组件或外部世界有如此多的接口,这是一项不简单的任务。

2024年11月8日 11:47
浏览量:0
收藏