Parasoft C/C++test:汽车网络安全ISO 21434最佳实践

为什么汽车网络安全很重要Why Automotive Cybersecurity Is Important

许多汽车公司向电子道路车辆的转变从根本上改变了整个行业,提高了汽车的互联性和智能性。随着电子汽车变得更加互联和智能,它们也越来越依赖软件来实现车辆操作,驱动更多的特性和功能来提升驾驶体验。

道路车辆中越多的特性和功能导致了更多的复杂性和代码。一辆标准电动汽车运行超过1亿行的代码,这也意味着会面临更多的问题。目标的主要攻击载体之一是电子控制单元(ECU),它为车辆子系统的操作、监控和配置提供重要的通信和基本功能。保护道路车辆免受网络安全威胁比以往任何时候都更加重要。

什么是电子控制单元(ECU)?

ECU是微处理器控制的设备,可以提供各种车辆基本功能,包括以下功能:

  • 发动机和动力转向

  • 燃油喷射

  • 电动车窗和座椅等舒适性方面

  • 温度控制

  • 无钥匙进入和门锁等安全功能

ECU可能成为网络攻击目标

有足够的研究和漏洞利用的证据证明ECU是如何被逆向工程和破坏的。其中包括2015年的吉普黑客攻击、2016年、2017年的特斯拉黑客攻击、2018年的宝马黑客攻击等案例。在这些例子中,ECU都被成功地锁定并破坏,使攻击者能够重新编程并改变车辆功能的行为。

有研究人员对来自不同制造商和供应商的40多个ECU进行了研究。他们分析发现,ECU硬件和软件中都存在300多个漏洞,所有高风险漏洞都存在于软件中。

安全设计尤为重要

从一开始就建立安全是新的汽车网络安全标准ISO 21434的首要目标。ECU中存在各种漏洞表明了网络安全的严重性及其对安全的影响,该标准试图通过直接影响道路车辆部件设计和开发的要求和建议来解决这些问题。

ISO 21434旨在将高质量的安全和网络安全措施贯穿于整个产品工程生命周期,鼓励与系统工程V型模型保持一致,以指导车辆制造商和供应商遵循网络安全的良好架构设计要求,从而保护道路车辆功能的可信度、完整性、可用性和真实性。ISO 21434这就要求将软件验证和确认作为产品测试的一部分。

Parasoft C/C++test:汽车网络安全ISO 21434最佳实践_第1张图片

ISO 21434要求开展软件验证活动

软件测试在帮助制造商和供应商满足ISO 21434中列出的要求和建议方面发挥着关键作用。作为软件验证活动的一部分,将静态代码分析正式化是一种理想的方法,可以用来识别和消除代码中的歧义,并找出可能暴露ECU组件中使用的软件漏洞的薄弱环节。这有助于最大限度地减少攻击者可以利用的攻击面,从而破坏控制关键车辆操作的ECU。

具体而言,ISO 21434在第10.4节“要求和建议”中引用并要求进行静态分析。

第10.4.1节设计

Parasoft C/C++test:汽车网络安全ISO 21434最佳实践_第2张图片

强制执行强类型、使用语言子集和实现防御性实现技术都是ISO 21434中规定的要求。使用Parasoft MISRA C和CERT C检查程序和规则使安全编码合规实践正式化,将有助于制造商和供应商遵守ISO 21434的要求和建议,以降低软件和设计中的潜在风险。

采用网络安全和安全编码实践来支持软件验证和确认是一种最佳实践,也是确认ISO 21434中概述的网络安全规范的关键。使用Parasoft C/C++代码分析功能可以简化与关键安全软件相关的软件测试的严格性。

Parasoft C/C++test实现软件测试自动化非常简单,它采用集成方法,将静态分析、代码覆盖率、单元测试、需求可追溯性和报告分析结合在一起,以简化ISO 21434合规性要求。

第10.4.2节集成和验证

Parasoft C/C++test:汽车网络安全ISO 21434最佳实践_第3张图片

ISO 21434第10.4.2节提供了软件验证方法列表,使用Parasoft的C/C++代码分析功能可以满足的这些要求。使用数据流分析可以检测到许多安全漏洞。Parasoft的C/C++代码分析引擎可以为产品工程团队提供有深度的流分析,如使用后释放、双重释放和缓冲区溢出。

Parasoft:汽车网络安全之路

Parasoft的C/C++集成自动化测试解决方案是您SDLC和产品工程领域的最佳解决方案。Parasoft在嵌入式软件市场拥有丰富的经验和专业知识,可帮助您满足安全和网络安全合规需求。

Parasoft C/C++test:汽车网络安全ISO 21434最佳实践_第4张图片

软件测试自动化工具、分析、人工智能和报告的独特组合从一开始就提供了对质量和安全问题的可见性。这使产品工程师团队能够根据市场要求的标准和最佳实践加速软件验证。

你可能感兴趣的:(汽车,网络安全,c++)