2015年8月全球最大的黑客大会DEFCON掀起了汽车攻击的一次高潮,两万多名黑客和安全从事人员在美国拉斯维加斯目睹了一次又一次的汽车破解演示。正是像他们这样的攻击者过去2年内在汽车安全领域的专注和贡献,让保守的美国车厂将之前只有内部知道的汽车安全隐患不得不逐渐让公众了解,直到今年7月克莱斯勒公司在美国大规模召回140万辆Jeep。
作为国内最早一批投身车联网安全的研究人员,我欣慰地看到了汽车安全是如何从一个偏门的研究领域到现在被人们重视,而且这群“人们”里面包括了车厂和相关的车联网厂商。所以,我大胆且坚定地认为,2015年是汽车安全的元年。
黑客双雄:Charlie Miller和Chris Valasek
Jeep破解事件的黑客是来自美国的Charlie Miller和Chris Valasek,他们分别在IOActive 和Twitter就职。但是,黑客工作只是他们自己的兴趣爱好,与其所在公司没有太多关系。他们俩目前在汽车黑客界应该是最火的,这就难怪由他们在的黑客大会会场水泄不通、甚至连站的地方都没有了。
我与Charlie Miller和Chris Valasek会过两次面,并与他们就汽车防护工作进行过讨论:2013年DEFCON会议上他们关于汽车攻击的演示很大程度上掀起了车联网安全的研究热情;2015年4月举行的Automobile Cyber Security Summit底特律汽车安全高峰会议他们倒没有什么新的东西(现在想来,估计是在为8月的JEEP漏洞发布蓄势)。
Jeep破解报告
我写这篇文章前读过了Charlie 和Chris关于Jeep的91页英文破解报告——Remote Exploitation of an Unaltered Passenger Vehicle。
8月10日,我就在等这篇报告出炉,但是等到半夜没见作者如期放出来。好在第二天上午首先在illmatics.com网上看到了PDF版本,91页足够多了。
我不可能把报告的细节一一描述,只根据我了解的背景知识和两位黑客之前做的一些工作,来向大家介绍他们最近的研究工作和之前有什么不同、实现思路和用什么方式来进行防护类似黑客的攻击。我会根据自己的理解写我的感受,不一定按照报告里的内容翻译。
“unaltered”这个词,意思是不加改变的,不包括插上OBD盒子、对汽车内部做手脚、接入WIFI热点等等。这个词背后的意思就是叫板,我不做手脚照样搞掂你。
报告的前几页介绍了他们的汽车安全研究工作,以及破解Jeep的初心:09年以来汽车攻击大多是以物理接触攻击为主,这次他们想从远程攻击入手,实现大规模可复制性的汽车攻 击,这恰恰是病毒攻击的特点,也是车厂最担心的;另外一个原因,物理攻击的局限性是车厂反馈的集中点。OBD入口攻击、车里放入设备(例如攻击OnStar的Ownstar设备)都是因为这个理由而遭车厂选择性忽视。所以,这次远程攻击是研究者的一次亮剑,看看车厂到底还有什么 理由来回避。
选Jeep不是偶然
我从FCA汽车相关人员处了解,他们不是没有自己的cybersecurity安全团队,只是目前规模比较小。但Jeep还是躺着中枪了两次!去年世界黑客大会上,Charlie 和Chris发表了对不同汽车的一项调研成果:在众多的汽车中,Jeep由于潜在的风险被认为是容易受攻击的一种车辆。而今年,Jeep就真的不幸成为候选车辆。所以如果你也了解这 段历史,当你第一次知道Jeep曝出漏洞的时候,你会和我一样有这样的念头,“怎么又是Jeep?!”
破解思路:为什么选择从娱乐系统入手?
谁让你把娱乐系统直接连到CAN总线上?攻破了娱乐系统就可以把CAN指令写入到CAN总线里,之前两位黑客积累的私有协议CAN指令就有用武之地了,嘿嘿。
报告的第9-19页介绍了2014款Jeep的一些辅助功能和对应的潜在攻击点,不是特别重要。值得一提的是Wifi热点,作者就是通过这个攻入了汽车。
之后的几页介绍了Jeep的Uconnect、操作系统、文件系统等等,其中的IFS越狱会在报告稍后部分介绍。
第25页是很重要的,因为这次破解工作的出发点:Jeep的WPA2密码设置很弱:按照固定的时间加上车机启动的秒数,生成一个密码。这样,只需要试不超过几十次,密码就可以攻破了!原本想按照车机开启时间加上车机启动时间,但是车机无法知道何时启动的,所以在函数start()就硬编码了一个固定的时间:2013年1月1日零时, oops!
然后,在28页扩大战果,通过端口扫描发现了一系列开放的端口,包括6667 D-Bus,一种IPC、RPC的进程通信机制。由于D-BUS允许匿名登入,两位破解者做了一系列的尝试(P29)。
最后,通过对D-BUS服务的分析,发现有几种可直接进行操作,比如调节车机音量大小和获取PPS数据(P31页)。
又一个发现:移动供应商内部网络
由于Uconnect可以连接到移动运营商Sprint,后者提供telematics服务,使用高通3G基带芯片。虽然车机里面的TI OMAP系统不能直接连接CAN总线,但是两位破解者发现了另一个绝对需要保护的地方,就是我们俗称的CAN控制器。这里的控制器是Renesas(有人习惯称为NEC)V850 MCU,这是一个比较常用的处理器,连反调试神奇IDA Pro都有相应调试模块(P33)。 接下来就是如何越狱Uconnect,但他们指出这不是必要的,纯碎是兴趣所在,所以众位看官可以跳过这一部分,如果你不是一个Geek。
第40页开始再次回到攻击的正路上:利用Uconnect发出控制娱乐系统音量、空调风扇、收音机,甚至关闭屏幕、更改开机图片等指令。
前面提到的D-Bus再次给攻击者提供了新的攻击点GPS,通过端口6667可以跟踪任何一辆运行Uconnect的汽车,这为进行大规模、任意性攻击提供了必要条件。
到此为止,报告我讲解了一半了,但是一个非常大的挑战是:还不能完全满足远程攻击和不进行修改(unaltered)汽车的目的。第一,很多车主不购买wifi热点服务,所以这些车辆无法攻击到 ,Wifi信号还是近场攻击。所以,下面我要介绍如何利用Sprint运营商的内网进行远程攻击。
P43-4 8,作者发现了2个A类IP地址段是用来分配给汽车的,汽车每次启动的时候都会自动分配一个IP地址。又是D-BUS被用来和运营商网络进行通信。作者在Ebay上买了叫Sprint Airave的设备,并利用了这个设备公开的一个漏洞,通过TELNET进入!这就意味着我们在一辆车上尝试成功的攻击手段可以通过运营商网络传播到所有的Uconnect车辆上!这里面有一个Sprint通信的特点,可以允许不同的设备(包括汽车)通过通信塔自由通信,这就是攻击的传播通道。(漏洞爆出后,Sprint迅速修改了这个机制。)
P46,如何利用通信网络扫描所有车辆并且定位。扫描结果发现不仅仅是Jeep车型,其他一系列车型都是受害者。两位黑客估计了一下,大概有29-47万辆车被波及。实际结果是,车厂召回了140万!
下一个倒霉蛋-V850
V850本来没有向CAN总线写指令的功能,但我们可以通过改写V850固件、插入恶意代码进行控制汽车CAN总线。这是通过OMAP芯片做到的。P48-68是刷写固件的具体方法。在利用SPI机制刷写时,两位黑客发现V850固件更新没有采用签名机制保护固件更新。
P70页描述了如何通过V850发出CAN指令。P71页对发现的漏洞进行了总结。后面介绍的是如何通过汽车诊断工具逆向CAN协议。
P86页,向车厂通知和车厂反应的进度表,包含了很多有意思的信息。
如何进行防范?
今年的DEFCON黑客大会将汽车攻击带入了高潮,车厂和相关供应商不得不思考汽车安全的问题。但是汽车安全目前在中美两地基本是空白。Chris他们去年做了一个基于OBD接口的CAN流量异常检测硬件设备,我和他在拉斯维加斯交流的时候,他也承认不能进行实时防护,只能做线下异常检测,而且异常检测的缺点是误报率较高。
传统汽车行业缺少安全方面的人才储备,而互联网公司和传统安全公司对汽车又不是很熟悉,而且传统安全防护解决方案不能轻易地移植到车内,这给了专门从事安全防护的公司很大的发展空间和机遇。一些很大规模的公司(甚至国外政府部门和飞机制造厂商)找到我们询问汽车安全解决方案就证明了这点。很多做传统安全的公司其实自己都不怎么理解汽车,更不用提汽车安全了。
由于缺少规范的安全监管标准和流程,许多厂商不能对其硬件或者应用软件执行必要的安全性测试,结果就会导致汽车的远程攻击成为普遍现象。我希望更多的传统安全人士投身到汽车安全研究中,随着智能车的发展和应用,汽车安全注定是一个无法绕过的议题。
上一篇:日产主导eVADER项目, 研究行人预警技术
下一篇:黑客攻击汽车总结篇之漏洞在哪儿(上)
推荐阅读最新更新时间:2024-07-25 19:09