汽车工业软件可靠性协会(MISRA)指的是被广泛采用的C和C++语言编码标准。MISRA提供了一套全面的编码指南,重点是保护应用程序免受已知的安全违规和安全漏洞。该协会将指导方针分为“规则”或“指令”。
规则包含编码需求的完整描述,通过静态分析,开发人员可以使用它来检查源代码是否符合准则,而不需要寻找任何其他信息。另一方面,指令为开发人员提供了一个重要的处方或开发指导,以便在他们通常不可能执行合规性检查时遵循。
MISRA是一个由汽车相关行业组成的团体,在20世纪90年代早期,作为英国安全关键系统研究计划的结果而聚集在一起。英国政府设立这个项目是为了解决汽车行业面临的一些挑战,因为汽车和卡车制造商在道路车辆的制造和操作中越来越多地使用MISRA。Parasoft是MISRA团体的成员之一。
对于C语言开发,最新的MISRA C: 2012标准支持C90、C99、C11和C18语言规范。目前的版本,MISRA C: 2012(有时写成MISRA C 2012或MISRA C2012),已经发展了好几年,MISRA C: 2012的修正案2于2020年发布。第三修正案预计将于2022年上映。对于C++编程语言,当前的MISRA标准是MISRA C++ 2008。
注意:MISRA是一组用于安全编码的规则,而不是用于测试API(应用程序编程接口)。
提出遵守MISRA的一个好处是,安全团队可以在项目的任何软件开发阶段引入和使用这些指导方针,即使项目不完整或部分编码,这些指导方针也是有效的。
引入MISRA遵从性的最大挑战是大量代码可能产生大量警告。因此,当将MISRA法规遵从性集成到一个项目中时,公司应该把重点放在让团队尽快高效上。
公司还应该将注意力集中在最小化静态分析警告压倒团队的可能性上。随着实现MISRA遵从性成为开发人员日常工作的一部分,开发人员可以更快地分析结果并更有效地修复bug。
考虑正在开发的产品的成熟度也是很重要的,因为这将影响公司采用MISRA法规的方式。
MISRA遵从性的推荐方法被称为“沙子中的线”方法。在较高的层次上,这种方法意味着开发人员在开发新代码时改进它,同时将不太重要的警告作为技术债务推迟。
当前开发的现有项目MISRA遵从性的推荐方法被称为“沙子中的线”方法。在较高的层次上,这种方法意味着开发人员在开发新代码时改进它,同时将不太重要的警告作为技术债务推迟。
新项目开发人员可以从一开始就将MISRA遵从性集成到他们的开发环境中,在编写代码时确保高质量的标准。在这种情况下,采用的方法被恰当地命名为“绿地”。
Parasoft 的分析仪表板具有自动合规性报告。对于安全和安全关键型应用,您需要在安全关键型系统上使用我们的TÜV SÜD认证解决方案。
数据的自动化后处理和高级报告策略。随着时间的推移,很容易看到MISRA合规的结果,即使在处理大型代码库和遗留代码时,代码的可见性通常是具有挑战性的,因此您可以快速关注新添加的代码的质量。
通过自动跟踪MISRA遵从性的小部件,用户可以动态地查看软件遵从性过程,并可以轻松地为代码审计和认证目标生成自动报告。
将TÜV认证的解决方案纳入您的软件实现阶段,该解决方案根据MISRA标准分析已知的安全性和应用程序安全性违规。
在现代敏捷开发中,您还可以将MISRA分析和遵从自动化到您的持续集成和持续交付(CI/CD)工作流中。确保了解所有发现的违规行为,并确保解决它们。如果有任何偏差,按照MISRA标准的要求彻底记录它们。
最后,您需要为 MISRA 合规性认证提供以下工件。
·MISRA指南执行计划静态分析是在没有执行的情况下检查源代码的过程,通常是为了发现错误或评估代码的安全性、安全性和可靠性。这意味着软件团队和软件安全团队可以对部分完成的代码、库和第三方源代码使用静态分析。
静态分析工具帮助团队遵循编码标准,如MISRA C/ C++、AUTOSAR C++ 14、SEI CERT或您自己的自定义配置。
|
|