介绍
汽车软件开发过程的一个重要部分是确保软件符合关键的行业标准和指导方针。对于电动汽车来说,很真实的一点是许多硬件组件已经被电子元件所取代。对于电动汽车软件来说,存在安全和安保方面的担忧。然而,这些问题可以通过功能安全和安全性编码标准和指导方针得到有效解决。在这里,我们概述了关键的汽车标准和指导方针,以及特别适用于电动汽车的合规性最佳实践。
电动汽车软件
所有电动汽车部件都有一定的安全和保障要求,但覆盖水平因部件的功能而异。显然,电动汽车对于制动系统有重要的安全要求,外部通信的车载信息娱乐(IVI)必须考虑网络安全问题。
在电动汽车中,电池管理系统需要考虑车辆内部的安全性,以及与外界通信的安全性。未来,车辆内的领域和区域控制器将会增加,许多独立的、不同的组件将整合到整个车辆的分布式平台上。这会导致安全、调度和网络安全问题。
这些问题中的许多都可以通过实施编码标准来解决,编码标准是编码规则、指导方针和最佳实践的集合。汽车的主要标准是ISO26262。所有组件都需要满足ISO 26262,未来还将需要满足ISO/SAE 21434。
这些功能标准都建议使用编码指南来检测编程语言中未定义的和关键的未指定行为。
主要汽车编码指南
MISRA
MISRA(汽车工业软件可靠性协会)最初是为汽车工业开发的,为开发安全关键系统提供编码标准,并已扩展到安全领域。它现在被用于所有要求安全关键系统的行业。
MISRA C最初发布于1998年,最新版本是MISRA C:2023涵盖C90, C99和C11。它现在是世界上使用最广泛的C编程指南。
2008年,MISRA C++发布,现在被安全关键开发人员广泛使用。2023年有一个更新,涵盖C++的后续版本。
AUTOSAR C++14
AUTOSAR(汽车开放系统架构)编码指南适用于在关键和安全相关系统中使用C++14语言。它们是为AUTOSAR自适应平台开发的,但适用于任何用C++编写的安全关键应用程序。
AUTOSAR C++ 14基于MISRA C++:2008编码指南,但增加了其他C++编码标准的最佳特性,如JSF和CERT C++。它允许使用其他C++编码标准所不允许的一些特性,包括:
— Dynamic Memory 动态内存
— Exceptions 免责条款
— Templates 模板
— Inheritance 继承
— Virtual Functions 虚拟函数
— AUTOSAR C++ 14
CERT
CERT(计算机应急准备小组)是一种安全编码标准,支持常用的编程语言,如C、C++和Java。它由针对不安全编码实践和导致安全风险的未定义行为的规则和建议组成。
软件安全和网络安全编码指南最佳实践
在选择和实现编码准则时,需要考虑应用程序。显然,编程语言是第一步,但通常这已经由项目决定了。这将决定可用的编码指南。接下来,应用程序的范围——它是需要做到安全至上的还是需要关注网络安全的?
SAFETY-CRITICAL安全至上
MISRA和AUTOSAR C++ 14都用于安全关键型应用程序,因为它们可以识别未指定和关键的未定义的语言行为。
CYBERSECURITY网络安全
所有的防御实现技术都应该从使用公认的编码标准开始。MISRA(特别是C:2012 Revision 1)和CERT C都通过识别关键的和未指定的语言行为来实现这一目标,从而使生成的代码更可靠,更不容易出错,更容易维护。
所需的覆盖级别可能根据组件的功能而有所不同,因此可能仅应用检测高风险违规的规则就足够了。CERT定义每个规则的风险,MISRA C应用一个类别。两者都允许涵盖规则的子集。
对于任何使用C语言的项目,汽车网络安全编码标准ISO/SAE 21434建议使用MISRA C:2012 Revision 1和CERT C指南。
然而,任何禁用编码指南中规则的决定都必须要仔细考虑,因为通常需要进行解释说明。
电动汽车功能安全
对传统内燃机汽车至关重要的功能安全标准对电动汽车同样重要。
ISO 26262:汽车功能安全
ISO 26262 -“道路车辆-功能安全”,是汽车行业使用的主要功能安全标准。这是一项基于风险的安全标准,适用于生产车辆的电气和/或电子系统。这包括驾驶辅助、推进和车辆动力学控制系统。
ISO 26262涵盖了整个开发过程的功能安全方面,从需求规范到设计和实施,再到验证和确认。
为什么ISO 26262对电动汽车软件很重要
汽车安全完整性等级(ASIL)是ISO 26262的关键要素,用于衡量特定系统组件的风险。
系统越复杂,系统故障和随机硬件故障的风险越大。
ASIL分为四个等级,从A到D。ASIL A是最低风险水平,ASIL D是最高风险水平。遵从性要求在从A到D的过程中变得更加严格。QM(质量管理)是一个额外的选项,用于没有安全需求的特定组件。
决定ASIL的三个关键因素
ASIL由三个因素决定:严重程度、暴露度和可控性。
严重程度:
严重性衡量的是系统故障造成的人员和财产损失的严重程度。严重程度分为四类:
1. S0没有伤害。
2. S1: 轻度至中度伤害。
3. S2:严重到危及生命(可能生存)的伤害。
4. S3:危及生命(生存不确定)到致命伤害。
暴露度:
暴露度描述了在什么条件下某个特定的故障可能会引发安全隐患。每个条件按照发生的概率,分为了以下五个等级:
1. E0:完全不可能。
2. E1: 概率极低(仅在极少数操作条件下才会发生伤害)。
3. E2:低概率。
4. E3:中等概率。
5. E4:高概率(在大多数操作条件下都可能发生伤害)。
可控制性:
可控性是对危险情况发生时避免伤害的可能性的度量。这种情况可能是由于驾驶员的行为或外部措施造成的。危险情况的可控性分为四个等级:
1. C0:总体可控。
2. C1: 容易控制。
3. C2: 一般可控(大多数司机可以采取行动防止受伤)。
4. C3:难以控制或无法控制。
如何确定ASILS
一旦确定了严重性、暴露度和可控性,就可以确定ASIL。下表提供了如何完成此任务的指导。
ISO 26262由11个部分组成,其中第6部分:软件产品开发和第8部分:支持过程特别适用于电动汽车软件开发。
第6部分包含一系列表,其中包括定义软件过程的方法。(完整的表格可参阅我们的白皮书《如何遵从ISO 26262标准》。)
对于每种方法,推荐使用相应方法的程度取决于ASIL,分类如下:
—“++”表示高度推荐该方法用于已识别的ASIL。
—“+”表示推荐该方法用于已识别的ASIL。
-“o”表示不推荐也不反对该方法用于已识别的ASIL。
例如,在下面的表6中(第7页),子程序和函数中的一个入口点和一个出口点被强烈推荐给所有的ASIL等级,而没有递归只被推荐给较低的级别。
重要的是要注意,用于协助遵守ISO 26262的任何工具都必须经过认证,以确保结果是有效的。因此,使用已经通过认证的工具更容易,例如Perforce静态分析工具- Helix QAC和Klocwork -已通过TÜV-SÜD的ASIL D级认证。
ISO 26262要求应用编码标准来实现特定的编码和设计指南。通过使用静态分析工具,可以更容易地应用诸如MISRA或AUTOSAR C++ 14之类的编码标准。
电车功能安全
对传统内燃机汽车至关重要的功能安全标准对电动汽车同样重要。
ISO / SAE 21434:汽车软件安全
ISO/SAE 21434“道路车辆-网络安全工程”是一项汽车标准,重点关注道路车辆电子系统的网络安全风险。该标准涵盖了车辆生命周期的所有阶段,通过应用网络安全工程从设计到退役。这适用于车辆中的所有电子系统、组件和软件,以及任何外部连接。此外,ISO/SAE 21434提供了一种全面的方法来实现跨越整个供应链的安全保障。
为什么ISO/SAE21434对电动汽车软件很重要
ISO/SAE 21434对于电动汽车软件非常重要,因为目前的安全关键标准不足以覆盖网络安全风险。该标准提供了一个结构化的流程,以确保将网络安全考虑纳入汽车产品的整个生命周期。
该标准要求汽车制造商和供应商在实施网络安全工程时表现出尽职尽责,并在整个供应链中应用网络安全管理来支持它。
如何满足ISO/SAE21434合规要求
ISO/SAE 21434对软件开发有特定的要求,其中包括检查固有弱点的分析,以及与网络安全需求相关的整体一致性、正确性和完整性。
网络安全应该处于所有设计决策的最前沿,包括选择用于软件开发的编程语言。在选择编程语言时需要考虑几个标准,其中包括:
•安全设计和编码技术。
•明确的语法和语义定义。
然而,其中一些标准可能没有在选定的语言中得到充分的处理。因此,建议使用编码标准(如MISRA和CERT)来解决所选语言的缺陷。
Perforce如何帮助确保安全、可靠和符合标准的电动汽车软件
为了有效地识别软件安全漏洞和弱点,以及执行推荐的编码标准和指导方针,应该使用行业标准化工具——特别是静态分析工具。
通过使用静态分析工具,您可以通过以下方式加快标准遵从性:
• 执行编码标准并检测违规行为。
• 在开发早期发现合规性问题。
• 加快代码审查和手动测试工作。
• 报告不同时间不同产品版本的合规性。
此外,Perforce静态分析工具完全符合MISRA和CERT指南。它们还通过TÜV- SÜD认证,可用于安全关键系统,包括ISO 26262高达ASIL D级。请了解Perforce静态分析工具如何帮助确保电动汽车软件的功能安全和网络安全。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
关于亿道电子
上海亿道电子技术有限公司是国内资深的研发工具软件提供商,公司成立于2009年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。
十多年来,先后与ARM、Altium、Ansys、QT、Green Hills、Minitab、EPLAN、QA Systems、OpenText、Visu-IT、HighTec、PLS、Ashling、MSC Software、Autodesk、Source Insight、IncrediBuild、Lauterbach、Adobe、Testplant、TeamEDA等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式GUI工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。
欢迎关注“亿道电子”公众号
了解更多研发工具软件知识