电动汽车安全概述
受到嵌入式系统强耦合性的特性影响,嵌入式软件之间的连接一直是开发人员高度关注的问题。随着电动汽车飞速发展,充斥着电动汽车的嵌入式软件种类也在飞速增加,而电动汽车的软件安全将直接影响生命、财产安全。本文将以电动汽车的安全问题为基础,对相关编码标准及软件测试方式展开基本探讨。
01.电动汽车安全问题
电动汽车的高效运行依赖于嵌入式软件之间的连接,然而根据 Uswitch(英国的数据比较分析公司)的研究报告,仅 2018 年到 2020 年,联网汽车所遭受的网络攻击就增加了 99%。
汽车软件的安全漏洞易被黑客利用,造成的损害主要分为生命损害、财产损害、信息泄露三大类:
02.常见易被黑客入侵的电动汽车部件
移动应用程序:大多数电动汽车都具备多个移动应用程序,并通过基于车身总线系统和互联网服务形成的车载信息娱乐系统(In-Vehicle Infotainment,IVI)来控制汽车功能,能够承载包括三维导航、实时路况、辅助驾驶、故障检测、车辆信息、车身控制、移动办公、无线通讯、在线娱乐、远程服务等一系列移动应用程序,极大提升了车辆电子化、网络化和智能化水平,但也使汽车以及任何与其连接的设备面临安全风险。
电动汽车充电设备:为了给电动汽车充电,通常需要用到一个移动应用程序与 EVSE(Electric Vehicle Supply Equipment,电动汽车供应设备)进行通信,在这一过程中,以下部件易存在安全漏洞:
车辆与充电桩之间的通信通道;
过程所涉及的移动应用程序;
固件更新到 EVSE 的过程;
EVSE 的物理接入点等。
互联车队:指将车辆通过无线网络建立信息连接,运用一致性算法组成的车队。互联车队极易受到来自 C&C(Command and Control server,命令和控制服务器)服务器的有针对性的软件安全攻击,导致整个车队的车辆都遭受严重影响。C&C 服务器是由黑客控制的主机,不仅可以获取被害主机的信息(如操作系统、应用软件和开放端口等),还可以向被害主机发送控制指令,指使其执行某些恶意行为,甚至可将被害主机作为跳板感染互联车队联网内的更多主机。一旦黑客入侵了互联车队中的一辆汽车,他们就能轻易地控制其余车辆。
03.电动汽车安全关键编码标准
ISO 21434(汽车网络安全标准)是以 ISO 26262 为基础,为道路车辆的整个生命周期提供网络安全风险管理相关的指导,对于确保电动汽车软件的安全性至关重要。该标准的主要组成部分包括安全管理、依赖于项目的网络安全管理、持续的网络安全活动、相关的风险评估方法,以及道路车辆概念产品开发和开发后阶段内的网络安全。
ISO 21434 对软件开发有着具体的编码指导,例如针对 C 语言的 MISRA C:2012 编码规范或 CERT C 编码规范,其采用的防御性编码技术使电动汽车软件即使在发生不可预见的问题时也能继续工作,并要求工程师专门针对网络安全进行审查和验证,以确保各个组件和集成后的整个系统都符合网络安全规范标准。
04.静态代码分析
静态代码分析是确保电动汽车中的嵌入式软件具备安全性、可靠性、合规性最有效的方法之一。静态代码分析通常也被称作静态分析,指不运行被测代码,仅通过分析或检查其语法、结构、接口等来找出代码隐藏的错误和缺陷,从而保证代码的可靠性与安全性,有助于确保软件安全需求的一致性、正确性和完整性。一般来说,静态代码分析工具通常包括以下功能:
1、检查代码是否符合编码标准;
2、在软件开发早期实现 Bug/漏洞检测并检查是否存在遵从性问题;
3、加速代码评审,提升手动测试效率;
4、对不同时期和不同版本的产品的合规性进行报告。
根据彭博社新能源财经(Bloomberg New Energy Finance)研究预测,到 2040 年,电动车销量将占据全球新车销量的半数以上,占路面上行驶的轻型车总量的 33%。未来的电动汽车市场将只增不减,软件安全不仅是现在及将来汽车开发过程中的一大焦点,也一定是电动汽车的重要安全保障。
文章参考:https://www.perforce.com/blog/sca/electric-vehicle-security
原文链接:https://mp.weixin.qq.com/s/M2XEI6zko64S04kklp0K-g
版权声明: 本文为 InfoQ 作者【DevOps和数字孪生】的原创文章。
原文链接:【http://xie.infoq.cn/article/681691626c0ec7f75bf3dff20】。文章转载请联系作者。
评论