编码标准
R2026b软件编码标准在防止软件开发过程中出现不可靠的编程构造方面发挥着重要作用。对于嵌入式系统,重要的编码标准包括:
检查您的模型和代码是否符合编码标准的能力有助于防止安全漏洞。Embedded Coder® 和 Simulink® 提供的功能可最大限度地减少影响 MISRA C:2012 和安全性编码标准合规性的问题。功能包括:
代码生成顾问,可帮助您配置模型,使代码生成器最可能生成符合 MISRA C:2012 的代码。有关详细信息,请参阅Configure Model for Code Generation Objectives by Using Code Generation Advisor。
模型顾问检查,您可以在开发模型或子系统时使用这些检查,以提高生成符合 MISRA C:2012 和安全编码标准的代码的可能性。有关详细信息,请参阅:
MISRA C
MISRA C™ 和 MISRA C++ 标准是一组针对 C 和 C++ 编程语言的编码规范,旨在提高嵌入式系统软件的安全性、保密性和可靠性。这些规范由汽车工业软件可靠性协会 (MISRA™) 发布,定义 C 语言的一个“安全子集”,以防止可能损害嵌入式系统安全性和安全保障性的语言方面。有关详细信息,请参阅什么是 MISRA C?
当使用 MISRA C:2012 编码规范评估生成的 C 代码的质量时,根据 MISRA C:2012 Guidelines for the Use of C Language in Critical Systems 文档第 5.3 节,您需要为正在评估的工程准备合规性声明。为帮助您制定此合规性声明,MathWorks® 根据使用 Embedded Coder 生成的 C 代码评估 MISRA C:2012 规范。评估结果发布为:
有关详细信息,请参阅Developing a MISRA C Standard Compliance Statement。
安全编码
CERT® C、ISO/IEC 17961 和 CWE 是专为解决嵌入式系统内日益增长的网络安全问题而开发的编码规则规范。这些编码标准供软件开发人员在使用 C 语言开发代码时使用:
CERT C - 提供 C 语言的安全编码实践。嵌入式软件中的安全漏洞会增加恶意行为者发动攻击的机会。这些规范有助于消除具有未定义行为的构造,这些构造可能导致运行时出现意外结果并暴露安全弱点。有关详细信息,请参阅什么是 CERT C?
常见弱点枚举 (CWE™) - 识别常见软件弱点类型,这些弱点可能出现在软件的架构、设计、代码或实现中。这些弱点可能导致安全漏洞。
ISO/IEC TS 19761:2013 Information Technology - Programming Languages, Their Environments And System Software Interfaces - C Secure Coding Rules - C 语言安全编码的正式 ISO® 标准。此标准旨在通过使用静态分析工具强制执行,而不会产生过多误报。
另请参阅
Industry Standards | Modeling Guidelines and Model Advisor Checks for Verifying Compliance with MISRA C Standards | 用于验证安全编码标准合规性的模型顾问检查