2015年“白帽黑客”査理•米勒(Charlie Miller)和克里斯•瓦拉塞克(Chis hlmlk)演示了如何通过入侵克莱斯勒公司Ucomect车裁系统,以远程指令方式“劫持”正在行驶中的 Jeep 自由光,并导致其翻车。
诸如此类汽车入侵事件随着汽车智能化后越来越多的被报道出,一连串对智能网联汽车的攻击破解使得人们对其安全性打上了一个大大的问号,汽车网络安全的话题越来越受关注,这也是造车新势力除了性能以外最重视的一个部分。
蔚来汽车作为沉淀了多年的新能源车企,是目前“造车新势力”中热度最高的一家。蔚来汽车凭借自身出色的产品和服务成为国内新势力的领头羊,除了强大的技术创新外,背后超前的安全意识设计才是根本。本期X安全技术专访,我们邀请到蔚来汽车安全负责人李泉,请他聊一聊车联网终端安全的技术要点。
关于李泉
李泉,蔚来汽车安全负责人,原梆梆高级安全研究员,擅长汽车、物联网、移动、硬件等终端安全研究,代码逆向审计等等。目前在国内主要和一个上海的安全团队做安全项目对接和一部分安全研究。
万物互联,车联网已经是大趋势
从狭义上讲,车联网属于物联网范畴之内,车联网的网络叫TPS( telematics services provider) ,TPS功能把汽车终端和一些特质终端(比如一部手机或者一台设备),将其隔离开,手机可以远程控制汽车,通过TSP云控制智能汽车的一个操作。
随着车联网智能汽车化,它的电子控制单元(ECU)和传感器一样,会去收集更多的汽车行业的信息,同时它会实现更多的功能,会接收车联网下发的指令,甚至出现了语音控制的功能,由于科技发展,操作系统越来越成熟,汽车引入更多的系统植入,使这个功能也就越来越丰富。
从广义上讲,智能汽车需要网联技术提供全方位的感知,也需要网络来共享云端的处理资源。
通过大数据运算与智慧城市进行关联,与智慧城市的接口进行对接后,我们可以从中判断是否有Traffic jam,可以提前规划路线。甚至我们可以设计好与城市端对接的自动驾驶功能,这才是车联网最终的一个目的,实现智能化交通管理、智能动态信息服务和车辆智能化控制,形成一个大范围的趋势。
汽车智能网联化带来终端安全隐患
随着互联网发展和工业智能化趋势,汽车产业也在向智能化、网联化发展,智能网联汽车作为智慧交通物联网络当中极为重要的智能终端,其信息安全问题日益严峻,诸如常见的信息篡改、病毒入侵等手段已成功被黑客应用于智能网联汽车攻击中,在这里擅长终端安全的李泉从其个人从业经验中总结如下安全问题:
移动端
移动端最大的问题就是他的移动端是暴露在市场上的,移动APP是可以从安卓市场上下载下来的,如果存在一些恶意攻击者,他可以通过安卓系统的接口,把这个APP里面的逻辑分析出来,所以这里建议有个云,对汽车APP做下隔离,在这点上,我们的汽车模式是“端+云端”模式。
云端
云端的风险相对薄弱一些,云端分为前端和后端,前端也是我们常说的Web端,是面向用户的那个UI界面,这里常见的SQL注入,页面插入等漏洞。后端常见的是系统级漏洞,如果这种漏洞被别有用心的用户发现,他就有可能会攻击到系统后台,影响该品牌的整个汽车生态的安全。
五个典型防御措施,让车安全奔跑
随着汽车智能化后,汽车行业开始关注除了主动安全和被动安全之外的第三种安全——网络安全,这将成为汽车智能化的最后一道瓶颈。安全的防御不止于一个企业、一个系统的问题,更是一个安全生态链的完善。在车联网安全防护方式上,李泉分享如下经验:
Android端
注重加固,Android端目前还是通过代码加固和代码混淆的传统方法去对抗。但是事实上没有绝对安全的产品。
所以在这个情况下,我的建议是建立一个完善的证书链条机制。在APP-TSP-车端上,这个证书链条,要每时每刻都要去做校验。
把所有的访问记录在这个证书中,这个证书管理要放在云端(包括汽车的证书、APP证书等)都要放在TSP上。我的登录信息,我的身份认证,都要通过证书返回,才能进行。而且这个TSP要做到极致的安全,不能让任何攻击溜进来。
Web端
基本功要做好,一定要做好WAF、IPS,IDS等基础应用安全。另外,研发人员的代码没有写好,很容易出现漏洞,所以还要搞好代码审计,代码审计如果公司内部做不好,建议给第三方公司做,人工审计不了找机器审计。
代码审计之后要进行代码混淆,在代码编译之前进行混淆,比如一个普通的循环做100次循环,写上10000行,计算机的头脑比人类的头脑强太多,人只能用眼睛看,最多写一个脚本,但是计算机看一万行也就1微妙的时间。把代码复杂化,让黑客看到你这个代码时,看到第一眼就头晕。
车机端
在整个汽车行业来说,车机端的代码写的很一般,我早前研究过汽车的固件,有好几辆不同汽车的固件,代码都是相同的。
包括国企北汽、五菱的汽车,他们的IVI方法,不仅方法一样,连代码都一样。所以在这里一定要搞起质量审查,建立起QA管理机制。
车机内
车技内的安全问题非常大:因为车机内很少有安装安全服务产品,车机内除了安卓的娱乐系统外,其他的CPU性能都非常的差劲。
我们的汽车里面的安全检测怎么做呢?
固件与固件之间做好证书校验。如果证书校验做不好,通用的一些如AES、RSI这些算法,如果你担心通用有危险,可以自己设计协议。
如果自己设计协议还是担心风险的话,可以在发送协议的同时再做一个IDS(入侵检测系统)。
行为安全
可以在车机内做一个白名单,这个网关记录这一生我车机内只做这些操作,其中创建用户这个行为是可以监控的。
但是这个行为,假设这个车一生都不会发生,如果出现在这里,说明这个车被入侵,有人在执行其他指令。
后记
后续还会在继续分享系列车联网相关技术文章,欢迎各位朋友关注,一起探讨车联网技术。