智能汽车的出现为技术和创新的无限可能性打开了大门,但也为汽车本身以外的威胁打开了大门。事实上,技术的进步正在改变汽车工业,通过增加由计算机控制的汽车部件的数量,这些部件通过各种通信方式向远程系统提供信息。这些变化为网络犯罪,特别是电脑黑客的网络入侵行为创造了新的机会。
对于汽车网络安全来说,或许不是车辆越多越好。原因是当网联车辆的数量飚升的同时,也会吸引到越来越多的黑客,这意味着潜在受害者的群体更大。其次,每辆汽车的车载通信软件的代码内容增加的越多,对黑客来说就有更多能攻击的潜在弱点。
经典案例
随着2015年7月两位著名白帽黑客查理·米勒以及克里斯·瓦拉塞克入侵了一辆Jeep自由光行驶过程的经典案例曝光,大家对汽车的安全性能提出了大大的问号。
宝马ConnectedDrive数字服务系统遭入侵事件,黑客能够利用该漏洞以远程无线的方式侵入车辆内部,并打开车门。
早在2016年9月21日,腾讯科恩实验室正式宣布,他们以“远程无物理接触”的方式成功入侵了特斯拉汽车。还有研究人员通过特斯拉ModelS存在的漏洞打开车门并开走,同时还能向Model S发送“自杀”命令,在车辆正常行驶中突然关闭系统引擎。
此外,奥迪、保时捷、宾利和兰博基尼等大众旗下品牌的MegamosCrypto防护系统也遭到攻破。车厂Fiat Chrysler就曾因为软件漏洞而召回130万辆小货卡。
网络安全威胁
网络安全在自动驾驶汽车安全体系中占据重要地位。当前自动驾驶汽车研发朝智能化和网联化两个方向发展,智能化技术路线是依靠车辆自身的车载传感器,汽车自主获取信息、作出决策,完成驾驶行为;网联化方案是通过通信技术连接,汽车通过与外部环境交互信息获得决策和控制车辆运行能力。但两种技术都离不开网络的掣肘。
自动驾驶汽车首先面临网络传输层面的安全威胁。汽车网络系统由使用平台、互联网、车载系统和终端等多个子系统组成,平台层还与其他应用服务商的子系统连接。庞大的参与主体使得网络安全的链条更为脆弱,网络风险激增。车与人、车、路、互联网等借助无线通信与其它车辆、交通专网、互联网等进行连接。互联网自身加密、认证、传输等方面存在的安全漏洞将被整个交互网络所承接。互联网应用平台除了防范病毒、进行访问控制外,还需防止用户存储到云端的驾驶数据丢失,被非法访问、篡改和盗窃。
自动驾驶汽车还要面对外部网络生态的安全威胁,包括计算机应用程序、道路基础设施和智能充电装置。在技术上能够通过反向分析挖掘未受保护的移动应用软件,直接获取远程服务提供商的接口、参数等核心信息,包括存放在应用程序中的密钥、重要控制接口等。未来自动驾驶汽车得以大规模应用后,势必要求政府对现有道路交通基础设施进行改造。不法分子对诸如电子公路等智能基础设施的攻击同样会导致系统的瘫痪。自动驾驶汽车移动终端车载系统与云端、基础设施、乘客、通讯软件交换庞大的信息,还需存储大量的数据,亦会引发数据安全的新问题。此外,自动驾驶技术未来将大规模运用在电动汽车上,充电桩中存储的用户数据信息可能遭到截获、被动攻击、恶意篡改等威胁。这些辅助网络设施都会成为网络安全风险点。
如今,由于大部分车厂都在为汽车增加安全、娱乐、导航和自动驾驶等功能,于是,汽车内部动辄有上亿行软件代码。包括现在有越来越多车队通信管理工具出现,其使用率也越来越高,许多物流行业、出租车行业等利用这些车载通信管理工具来管理和监测车队车辆的绩效、驾驶行为以及货运状况。
汽车网络安全面临的挑战与攻击向来并非新鲜事,而是PC、服务器以及其他传统IT系统曾经历过的遭遇的翻版。以PC为例,这些电脑设备通常没有时间去下载补丁或更新Windows等基础平台,更别说是其他应用程序如浏览器、PDF阅读器等;补丁与软件更新一旦未执行,就会为各种黑客攻击制造机会。
还有一个问题,可能是黑客的终极目标,跟车载通信系统完全无关,例如,储存产品开发信息或员工的公司服务器。在这种情况下,车载通信系统只是一个达到目标的手段。
另一个情况则是涉及到车对车通信(V2V),这种技术让车辆与车辆附近的车辆能彼此沟通以避免碰撞。根据市场研究机构Juniper Research预测,到2022年全球市场将会有一半以上的新车都配备V2V功能,这意味着大约有3500万辆汽车,这占据了整个汽车市场的2.7%,对于某些黑客来说会是很有吸引力的攻击目标。
自动驾驶汽车网络安全的相关标准及法律规定
整体来看,大部分自动驾驶汽车还处于研发阶段,完整的产业链尚未形成,自动驾驶汽车投入大范围商用还有距离,通过行业自治保障网络安全还有较长路程。为了降低成本和提高质量,将已有的成果规范化、标准化势在必行。
《汽车网络安全(信息安全)标准、规范》(Automotive Cybersecurity Standard and Specification)总结针对企业、组织、产品整个生命周期的规范、标准。
系统级规标
SAE J3061是针对车辆整个生命周期的标准。提供了车辆网络安全的流程框架和指导,考虑了车辆的整个生命周期,从概念到生产、运行、维护和报废。
ISO 21434是基于SAE J3061制定的、针对车辆整个生命周期的标准。ISO 21434主要从风险评估管理、产品开发、运行/维护、流程审核等四个方面来保障汽车信息安全工程工作的开展。目标是通过该标准设计、生产、测试的产品具备一定信息安全防护能力。该标准正在制定中。计划2020年完成
硬件级规标
信息安全硬件模块主要解决两个问题。第一,密钥泄漏问题。如果密钥存储在应用程序的代码或数据中,很容易被泄露,解决办法就是增加一个硬件模块,专门存储密钥。第二,通用内核直接加密解密运算会占用内核大量资源。解决办法就是增加一个硬件加速模块,运行加密解密运算。
软件代码规范
嵌入式系统常用的 C 语言是一种“不安全”的语言。C 语言的指针就是例子。指针很难理解,同时指针很容易导致各种问题,比如,堆栈溢出、内存泄漏等。解决办法之一是规范代码的格式,不要使用比较容易出错的代码格式。
在MISRA C:2012Amendment 1中,提供了针对信息安全的代码规范。Additional security guidelines for MISRA C:2012 的下载地址:https://www.misra.org.uk/LinkClick.aspx?fileticket=V2wsZxtVGkE%3d&tabid=57
SEI CERT 定义了软件代码规范,目标是开发符合功能安全、信息安全和可靠的系统。SEI CERTC Coding Standard 2016 的下载地址:
https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf
下面介绍的标准、规范和汽车行业不直接相关,但是很有影响力,值得了解一下。
NIST FIPS 140(National Institute of Standards and Technology Federal InformationProcessing Standards 140)
FIPS 140标准适用于软件和硬件模块。把网络安全等级分为4级。(详情参考:
FaultInjection on Diagnostic Protocols:https://www.riscure.com/publication/fault-injection-automotive-diagnostic-protocols/)
等级1:不考虑物理攻击,密码模块需要满足基本的网络完全要求(比如:密码模块至少使用一种被批准的算法或被批准的网络安全功能)。等级一的例子是电脑的加密功能。
等级2:在等级1的基础上增加了基本的防物理攻击的保护机制,需要显示被物理攻击的痕迹,比如只有破坏防拆封(tamper-evident)的涂层或密封条才能获取密码模块的密钥等。
等级3:在等级2的基础上加强防物理攻击的保护机制。等级3要求比较高概率地防止入侵者获取密码模块内的关键的网络安全相关的参数(比如密钥)。保护机制可能包括密码模块有很强的封装和物理攻击响应机制,当检测到物理攻击时会擦出内部的密钥等。
等级4:最高的网络安全等级,物理机制必须提供全方位的保护,能够极高概率地检测到各种物理攻击。当检测到物理攻击时,需要删除内部的密钥等。等级4也要求密码模块不能因为外部环境环境(比如温度、电压)变化而被破解。故障注入(fault injection)时通过控制外部环境来破解密码模块的一种方法。
在法律法规方面,近日密歇根州立大学的最新研究是第一个将刑事司法理论应用于智能汽车的研究,该研究揭示了当前系统中的漏洞导致潜在的网络风险。这项研究发表在《犯罪与司法杂志》上,该研究应用了日常活动理论,并采用了流行的刑事司法框架来研究当前的车辆安全形式,并为制造商和车主提供了改善安全性的建议。
图 汽车网络安全犯罪三角
托马斯·霍尔特(ThomasHolt)教授说,他们的研究表明,联网汽车和自动驾驶汽车的计算机系统可能受到严重威胁,这些风险可能转化为对OEM、系统组件生产商和消费者的危害。汽车技术的未来是计算机和互联系统的日益广泛应用,这要求研究人员开发模型来检测、缓解和保护这些系统免受危害。
论文下载地址:
https://sci-hub.se/downloads/2019-12-12/89/10.1080@0735648X.2019.1692425.pdf#view=FitH
总结
基于以上几个简单的案例分析和标准介绍,可以得出除了车厂必须保证所设计的车辆系统的安全性,还有其他能减少“表面攻击”的工作要做。例如定期保养能确保车载软件是最新状态,并在打补丁或是召回事件发布时即时通知。当然,对汽车专业人员也应有独特的要求,在汽车网络安全领域高效的工作,包括规划,分析,设计,实施,测试,安装,操作,故障排除,维护和维修任务等。网络安全任务的范围很广,而且正在变得更广!所以汽车厂商、零部件商、IT服务商都必须尽快建立网络安全的设计、防护、响应能力。相应的标准和法律法规的制定也是迫在眉睫。