当前恶意侵犯汽车电子器件的事例不胜枚举,从简单的里程表篡改,到通过移动无线通信接口针对驾驶相关的功能进行攻击都可能发生。
尽管汽车采用数据网络进行通信是创新性的技术,但也正因为这些技术的引用,增加了不少潜在的安全风险。
你的汽车和一部现代的智能手机有什么区别?也许比你想象的区别要少得多!在过去的十年里,一场“信息技术革命”席卷了我们的交通工具。逐渐地,那些大部分独立的、静态的、模拟的机电系统已经演化成为一套基于网络软件的、相互协同工作的多个电控单元(ECU)所组成的复杂系统。而且这种相互通信联系不只是发生在ECU之间,而且对于整个外部世界都有通信交流,也就是说,已经可以通过蓝牙技术, 智能手机可以同时连接到英特网和汽车内置的移动无线通信模块。
联网车辆的潜在危险
尽管汽车采用数据网络进行通信是创新性的技术,但也正因为这些技术的引用,增加了不少潜在的安全风险。虽然目前国家最先进的汽车电子产品都在着手对抗技术故障和危害,但在人为制造的威胁或者采用恶意软件攻击车辆来达到故意操纵汽车的目的方面,我们还有很多事要做。为此,恶意攻击层出不穷,从简单的修改里程表,到故意操纵交通控制系统来攻击车辆控制相关的应用都有所发生。这种威胁是切实存在的,它能够造成相当大的破坏,并且已经被几起成功的攻击事件所证明,虽然其中大多数是由研究团队策动。例如在2011年,一辆在美国的量产汽车,其内部的汽车电子部件功能成功的被人为的通过无线接口远程控制(例如,制动)。出于多方面的原因,今天电脑化的汽车针对黑客和恶意软件的可靠防护不仅对于驾驶者和行人是必不可少的,而且也是大多数新型汽车针对交通控制和满足政府机关和企业需求的一次良好机遇和先决条件。
利用传统的电脑或服务器安全手段
嵌入式系统的IT安全要求一个具体而特别的解决方案。因为汽车的嵌入式应用硬件平台只拥有很少的计算能力、有限的存储单元和很窄的带宽,这就导致传统的IT安全手段不能简单地移植到汽车的嵌入式系统中。这同时也增加了采用计算和内存密集型加密算法的难度。另一个原因在于标准电脑和嵌入式系统保护的对象和内容也不尽相同。一台标准电脑主要防止来自互联网的恶意攻击,而有效的汽车安全则必须要考虑额外的硬件入侵的可能性,因为攻击者往往都是直接侵入实体汽车的系统。此外,因为汽车应用功能在装车后大多数情况下是可直接使用的,所以这就增加了物理攻击的潜在威胁(例如逆向工程、被动攻击、主动侵入或非侵入攻击)。
在汽车领域,维护选项被严格限制,经常只在一些不被信任的商店中提供此类服务。此外,很多嵌入式系统元件都被直接烧进硬件或者是只读的存储器中。这样就自动排除了各个模块更新的可能性,但这和所谓的软件在PC域中“自动”更新是截然相反的。组成汽车网络的电控单元各不相同,具有很大差异性,这导致复杂性大大增加。根据其所被赋予的不同功能,不同的E C U的计算能力差别极大,因此需要具有针对性的不同的保护机制。
全面的解决问题的方法
即使是一份粗浅的分析也能表明,汽车系统的IT安全,以及许多其他的嵌入式系统安全,只有在整个开发流程中采用一种全面的,经过深思熟虑的系统安全设计方法才能实现。一种全面的设计方法既包含能很好地同时适应开发流程和量产流程,也包括车载网络方面安全性的整体概念。为此,安全工程系统方法的第一步首先是针对整个系统的所有安全相关的数据,功能模块和接口进行建模。随后则应着手分析调查安全目标和要求。这个过程包括以下几个主要步骤:
- 建立系统模型
- 确定安全目标
- 确定潜在的隐患
- 做好风险分析
- 确定功能安全需求
- 设计一个安全构架
- 在软件中写明详细的安全要求,如果可以的话,在硬件中也写明
- 实现安全机制
在安全工程的规范定义和实施阶段要实现安全机制的功能,以确保之前确定的安全目标得以实现。这样所得到的结果就是一个综合采用软件和硬件措施及相对应的开发过程的全面解决方案。例如,可能的软件方法会采用加密的方式实现,如为达到安全目标的加密和签名还有保密性和真实性等。在此基础上,更加复杂的软件协议有助于实现诊断功能或者软件更新功能的授权保护。在大多数情况下,硬件解决方案如采用特殊的安全存储器和具有加密功能的存储器,旨在提高针对恶意操纵的保护和硬件攻击的防御水平。最近,有迹象表明,对于汽车安全模块的开发和辅助加密功能的E C U 网络保护需求正在日益提高。