车云早就预告过,黑客即将可以入侵普锐斯和翼虎,黑客果然不是说笑的,现在他们来了!
刚刚在美国拉斯维加斯闭幕的2013黑客大会(DefCon)上,人们不再将重点关注iOS 7完美越狱漏洞或者是GoogleChrome浏览器沙盒漏洞这类常规话题,反而是两个美国黑客的汽车研究成果备受瞩目。Charlie Miller和Chris Valasek的名为《汽车网络和控制单元探秘(Adventures in Automotive Networks and Control Units)》的研究白皮书(以下均简称白皮书),曝光了攻击普锐斯和翼虎的详细攻略。
从理论上说,只要有相应的软硬件知识基础,只要你愿意,分分钟可以成为汽车黑客,不但对汽车的“隐私”了如指掌,还可以对其运行过程进行偷窥、监控、甚至篡改,堪称汽车版“棱镜门”!在IT界和汽车界同时掀起轩然大波。
黑客大会:不黑电脑改黑汽车
Charlie Miller博士是Twitter(一个不存在的网站)的一名安全工程师,也是IOActive(需科学上网才能找到)公司安全机构的主管。他从五角大楼研究机构DARPA(美国国防部高级研究计划局)的赞助的8万美刀的资助来研究这些新的弱点。
发表白皮书的主要目的是给所有研究人员一个开放的视野,去研究攻击汽车电子控制单元之后,究竟能够给车辆本身带来哪些影响。车云翻看了这份101页的白皮书,他们演示了在2010款丰田普锐斯和2010款福特Escape这两辆不同品牌不同类型的汽车上,通过黑进汽车的电子控制系统,来用电脑接管车辆的控制权,包括转向、制动、加速以及仪表显示等。
然而白皮书引起广泛争论最大的地方在于, Miller和Valasek不仅在其中公布了他们的研究成果,同时还附上了“攻击”所使用的编程源代码、编程软件环境以及整个过程中所需的所有软硬件,当然也包括检测入侵的方法。也就是说,任何能够看得懂白皮书的人,也就能够成为潜在的“汽车黑客”。
汽车是如何被黑掉的?
小品《心病》里面有句名言:“我不想知道自己怎么来的,我就想知道自己是怎么没的……”所以我们虽然无法学会白皮书的攻略,但是我们至少可以知道究竟我们那些技术先进的汽车是如何在黑客面前门户洞开的。
请大家先记住这几个关键词:ECU、CAN、OBD、ISO 15765-2。ECU(Electronic Control Unit)电子控制单元,又称“行车电脑”、“车载电脑”等,ABS系统、自动变速器、主动悬架、气囊等几乎每一个电控系统都有独立的ECU在各自为政,不妨理解成“诸侯”,正常情况下令诸侯的天子,是驾驶者的意志。ECU之间的信息传递的网络系统就是CAN。CAN是Controller Area Network的缩写,是ISO国际标准化的串行通信协议,我们不妨将其简化理解成“军令驿道”。有了“天子”、“诸侯”和“驿道”,我们需要的是“信函”,也就是CAN总线传递的数据,然而这些信函是不应该轻易让人看懂的,所以需要加密成“密函”,写密函也需要一定的规律,要么收信人也无法看懂,并且需要每一个诸侯都能够看懂的通用写法,于是就有了“密函”CAN总线标准协议ISO 15765-2(也称ISO TP)。
好了,每天诸侯和天子之间的无数密函在驿道上飞速传递,由于大家都要显示自己的忠心耿耿,每个诸侯都能收到其他诸侯收发的密函,都要拆开看看,事不关己高高挂起,事若关己立即执行。CAN总线永远都有无数的信号传递着,各个ECU都无时不刻不在等待指令。例如仪表ECU要持续接收车速传感器发来的信号,来把速度显示在仪表盘上并实时更新;变速器ECU要同时接收车速信号和发动机转速信号来判断自己是否该换挡。
紧接着问题又来了,前面说过大家每封密函都会收到,凭什么知道这封信究竟给不给自己呢?看收信人呗。ISO15765-2协议规定每个ECU也有自己的代号,所以属于不同ECU的专用信号都用固定代号开头,用以保证大家收到密函之后,第一时间就知道这封信要给谁,在同一辆车内,更不用担心重名问题。
不知道大家读到这里有没有发现漏洞:首先虽然信函是加密的,但是驿道是开放的,任何人都可以冒充信使传递假密函;其次,密函虽然加密了,但是加密方式固定,一旦学会解密,人人都会写密函,密函失去了机密,如果假密函恰好是圣旨,那么就是假冒圣旨啊!Miller和Valasek首先用数据线链接的方式,将自己的笔记本电脑接到了CAN总线上,等于明目张胆进入到了驿道中央,他们接入的方式并不难,正是驿道中的合法入口——驿站(端口)。
潜伏在驿道之后,他们并没急着去假传圣旨,因为他们还不知道密函写法,不同汽车厂商的写法略有不同。他们先是拦截正常的密函积累数据,试图找出密函的写作规律,与此同时再进行前后对比,此处省略几万字。他们最终找到了密函的加密手法,并开始策划“夺权”。他们先是尝试篡改“圣旨”,比如让丰田普锐斯的仪表盘显示车速199英里/小时,因为这是液晶屏幕所能显示的最大数字了,其实普锐斯就在原地,甚至没有点火启动;让福特Escape显示油箱空了、车门没关,真实情况是那车还有半箱油,车门也是关好的。
找到诀窍并小试牛刀之后,这对好基友又开始了更大胆更复杂的尝试。他们的丰田普锐斯配置了车道偏离辅助、碰撞预警以及自动泊车辅助,分别能够在车辆跑偏时自动纠正方向盘、在撞车前尽可能全力减速并勒紧安全带、自动打方向倒车入库。车辆若想实现上述功能,就证明自身有能力主动接管方向盘、刹车和安全带控制等功能,并且这些功能都能够独立进行且可以不理会驾驶员。
这些功能就成了被他们利用的弱点,例如他们假冒纠正方向盘的命令,将假密函送到驿道当中,告知掌管方向盘的ECU摆动一下方向盘,接到“圣旨”的ECU不敢怠慢,就立即执行,而其他的ECU诸侯则完全不知情。由于这种手段在所有的ECU看来都是合理合法的信号,所以不会有任何ECU站出来质疑,只有驾驶者会被突如其来的车辆状态变化吓到。利用这个原理,Miller和Valasek已经实现了对丰田普锐斯和福特Escape的完全控制,包括开锁/解锁、启动/熄火、灯光/喇叭控制、仪表显示、加速、制动、转向、安全带收紧等。
汽车厂商的文字游戏
丰田公司发言人表示:汽车控制系统被修改只能发生在硬件联接的前提下。如果操控的电脑脱开,车辆的功能就会立刻恢复正常。丰田并不认为这种通过电脑指令让车辆突然失控属于‘黑客入侵’,因为严格意义上来讲外接设备等同于以物理方式更改了车辆电子控制系统。无独有偶,福特公司发言人也称:福特认真看待其车辆的电子安全。但由于Miller和Valasek的攻击方法必须要坐在目标车辆里才能实现,因此实际风险是相对较低的……然而Miller和Valasek的白皮书一开始就郑重告知,攻击方法可以通过蓝牙、车联网等无线联接的方式来远程进行,但是他们没有深入研究远程攻击方式,因为已经有其他人做过这样的研究。
“汽车被黑”离我们还有多远?
也许有消费者会说,汽车黑客都是鼓捣最先进的汽车,我现在开的车还没先进到那种程度。市面上主流的汽车都有OBD接口,是用来故障检测的接口,Miller和Valasek正是通过这个接口实现对车辆的接管。并且我们也每天都有人尝试着给自己的车通过“刷电脑”来提升些许性能或者开启某些高配型号才有的预留功能,例如大众系的TPMS胎压监测不需要硬件,只需要开启一个隐藏属性就可以实现,这跟白皮书上写的属于同类技术,只是门槛较低、目的单纯罢了。
也许又有厂商会说,我们的车联网技术开放的权限非常低,也就是开放了导航路线、音乐播放等基本功能,太高级的功能都不会开放,权限我们自己掌控。那么OBD的漏洞同样可以将其驳倒,原本为故障检测而设计的OBD端口尚可轻易实现入侵,谁又敢保证通过车联网端口实现的远程解锁、远程启动等功能不会被破解呢?
车云小结:当IT思想用来造车之后
汽车工业的发展倒有点像若干年前的IT产业了,尤其是在中国市场,大家对于汽车的热情以及对于各种高科技配置的追捧近乎狂热,似乎偏离了对于一个交通工具的需求。汽车可以动力差点儿、品牌差点儿、做工差点儿,但定速巡航、GPS导航、车联网、语音识别、自动泊车、盲区辅助、可视影像等等最好一个都不能少,这样畸形的用车需求引发了汽车产业畸形的发展,也在电子安全上埋下了深深的隐患。Miller和Valasek是受争议的英雄,他们开启了潘多拉魔盒,同时也教会人们怎样驱魔。不幸的是,不是所有黑客都戴白帽。