【慧聪汽车电子网】汽车单纯地作为通勤工具,能够听听广播、放放CD就以为是多么了不起的“多媒体”时代一去不复返了。现如今,汽车可谓是内外连通:不仅能与车内设备连接,同时还可以方便快捷地接入Internet服务。它们通常装有50-70个电控单元(ECU)来实现移动互联的不同功能,车内乘客不仅可以随时从互联网下载流媒体内容,还可以与朋友们时刻保持联系,甚至网上购物也不在话下。
当然,凡事都具有两面性。先进的车载联网技术的确可以给用户带来便捷的体验,但不可否认大批的“臭虫”未来也会顺着互联网这根线索爬进车里。一辆以直接或者间接方式连接了因特网的汽车很可能暴露于恶意软件的代码和数据攻击之下,使车辆受控行驶,急踩刹车,未经允许自动开关车门,甚至会造成类似SRS等重要安全系统的失灵。
当然,汽车制造商们也十分“捉急”,而目前看来行之有效的就是建立一套有效的安全系统架构和方法论。
以“控制中心”为首的汽车网络安全架构
传统的汽车网络受限于车内的电控单元,而这些电控单元是与诸如控制器局域网(CAN)、车载网络标准(FlexRay)及内部互联网(LIN)等汽车网络相连接的。然而,如今车联网技术使汽车可实现与提供自动紧急呼叫(e-all)、远程诊断和数据交换等功能的车内电子设备和汽车制造商端口进行连接。而在不远的将来,车与车之间同样可以自由“交流”,进行操作系统生态数据的无缝交换。
随着信息娱乐系统和连通性技术的不断改进,车载数据的密度在本质、数量和方向上发生了很大改变。这些数据可以做如下分类:
1.接收的数据:汽车通过传感器或互联网从外部环境中获得的数据。
传统的车载软件仅需要处理ECU通过传感器或其他电控单元接收的数据即可。然而,ECU设计之初并不具备检测每一个CAN上传数据包的功能。而由于接收的数据一方面包含了从云端下载的内容,另一方面那些网络连接端口处恶意软件植入汽车网络的数据同样可能包含其中,因此大大增加了汽车网络被“黑”的风险。
2.处理的数据:经ECU不同部分计算处理过的数据或流经车载娱乐系统ECU的用户数据群。
由于接收到的数据可能并不安全,这可能导致数据处理发生错误。同时汽车的联网和信息娱乐系统在受到代码篡改以及用户数据人为操控等作用时很容易出现崩溃。
3.发出的数据:汽车及用户数据可能需要在云端处理,以便提供包括个性化投保方案、定制资讯内容以及广告等众多服务。
随着汽车与外部设备和外部环境的联系愈加紧密,安全风险的本质和以及可能造成的威胁也正逐渐发生着变化。比如,汽车通过传感器和制动器与环境进行交互。因此,汽车网络的安全就需要同时考虑数据和环境安全这两方面因素。而且,对于安全威胁的预防和实时监测同样需要引起更多的重视。
这些潜在风险可分为以下几种:
1.安全类:安全 洞将削弱关键系统的安全性,将乘车人、外部行人和周边环境置于危险当中;
2.妨害类:非关键安全系统受影响将导致汽车拒绝服务或进行不必要的操作。
3.隐私类:安全 洞可能导致个人信息泄露,并被滥用或篡改。
4.经济类:经济损失可能是篡改授权或敲诈勒索等形式。
安全 洞随着允许汽车与外部设备或网络连接接口数量的增加而逐渐增多。而第一种关键的架构方式是:减少接口的数量,并将剩余的接口整合成一个“控制中心”,而该“控制中心”将作为连通汽车内部网络和外部设备/网络之间安全、智能的大门。采用这种方式可以更好地保护汽车不受恶意软件的攻击,同时也阻止了敏感信息的内输和外露。
当然建立以“控制中心”为首的汽车网络安全架构,在应对安全风险时可采取多种策略。如通过设立防火墙的方式来提供对其余网络的安全访问。
“控制中心”网络安全架构有几个关键要素:
1.受保护的关键入口:基于有线或无线接口的连接;
2.“ 闭系统”:提供受限访问的预配置好的防火墙;
3.缜密的用户访问控制:不允许任何非授权用户访问隐私数据。
汽车网络安全设计方法论
除了靠谱的网络安全系统架构之外,有效的工程解决方案对于在系统设计的各个步骤中降低安全风险也是十分关键的。汽车制造商及其工程师需要考虑如下的工程方案和设计步骤来确保汽车网络连接的安全性:
1.接口风险分析(Interfaceriskanalysis)
接口风险分析过程包括检查所有与汽车连接的云端或设备相关的系统接口。第一步是识别所有的接口终端,包括网络终端、设备和无线接口及总线连接器;第二、三步则分别是识别攻击以及攻击中包含的潜在安全问题。一旦接口分析完毕,合适的系统设计方式就可以直接上马了。
2.功能安全分析(Functionalsafetyanalysis)
车辆功能安全标准ISO26262提供了系统或子系统内安全要求的方法。其具体描述了诸如危害分析和风险评估、失效模式与影响分析(FMEA)、故障树分析法以及危害度分析等安全分析的方法。
汽车业应采取功能安全概念来评估安全分析。当安全保障实施完成后,就应该建立含有“证据”的安全状况报告,囊括安全行为的证据;风险、威胁和 洞的识别与分析;以及可服从的安全标准。
3.防御性编程(Defensiveprogramming)
防御性编程是继嵌入式安全系统发生关键作用之外的推手。它保障了软件功能即使被用于未预见到的用途时也能正常运行。在安全环境中,这类未预见到的用途可能来源于从传感器或汽车网络中接收到的被篡改的数据。防御性编程有这么几个特定的操作原则,如“除非能够证明数据的安全性,那么所有数据都可能具有传染性”,即使在恶意输入的情况下也能防止软件发生安全故障,属于强有力的保护措施。
小结:
随着车联网技术的不断发展,未来汽车的联网程度和内外数据交换的容量都将日益增多。不过要使汽车面对网络恶意攻击时能够“刀枪不入”,必须加强汽车安全系统的架构。因此,以“控制中心”为首的汽车安全解决方案以及强悍的工程方法论,都能够充分保证汽车在联网时不致于“失身”。
【慧聪资讯手机客户端下载