从虚拟到现实的威胁:我们来谈谈自动驾驶的安全问题

2016-08-04 10:41:21     作者:Song      来源:雷锋网

当计算机开始掌控人的生命,虚拟的威胁也开始变得现实。

雷锋网按:本文为雷锋网独家首发文章,作者song,西雅图Newsky Security公司联合创始人兼CTO,业内知名防病毒专家,黑客,雷锋网专栏特约作者。

这次特斯拉的自动驾驶事故导致驾驶员死亡。事件已经过去近两个月了,但是在媒体上大规模发布是这几天的事情。按照官方分析,事件发生的原因是自动驾驶传感器将底盘很高的大货车误判为桥梁等建筑物。我们可以看出,计算机的错误,已经不再局限于虚拟世界,而是可以导致人类生命的损失。作为计算机安全研究人员,我们不仅要问,车载计算机可能会有哪些情况会被攻击,导致严重的事故呢

我们先从美国的车载诊断系统OBD II说起OBD II是On-Board Diagnositics Version II的意思,正巧今年是OBD II在美国实施20周年。美国规定,从1996款开始,在美国销售的汽车必须有OBD II系统。OBD II是连接汽车控制器网络的接口,一般在司机左膝盖前方。

比如特斯拉Model S的OBD II接口长这样:

(图1:特斯拉Model S的OBD II接口)

大多数美国跑的车子,不管是美国造的、日本造的还是欧洲造的,都是用这样的接口。

连上这个接口,就能连上车的控制机网络总线CAN Bus,然后和车里面的各种计算机聊天,比如让引擎控制器告诉你今天喝了几壶啊,问问机油是不是太烫啊,告诉刹车ABS控制器该放手了啊之类的。

问题来了。当年在建立OBD II标准的时候,车子上面还没有什么无线的接口需要指出的是,有线网络和无线网络完全是不一样的安全玩法。因为有线网络的信号连接,通过线缆构建了一个隐含的信任架构。只有被信任的计算机才能连接到网络中。这就像一群在重点学校长大的孩子,大家彼此都规规矩矩,客客气气,完全不知道外面世界的险恶。

而无线网络,则是一片丛林,谁都可以偷听,谁都可以说话,谁都可以模仿别人。把有线网络里的设备接入无线网络,就等于把一群乖孩子直接扔到菜市场,被骗走几个是肯定的。不信?你不妨静心听一下2.4G赫兹的频段,那里有蓝牙,BLE和Zigbee的浅吟,有WiFi的低唱,有无线鼠标的咕哝,有遥控玩具的喧闹,有无绳电话的碎碎念,忽然大家都安静下来了,耳边只有微波炉的咆哮。

而车载的那些计算机,在20年以后,发现身边的各种器件都能通过无线接口,不论是车载电话,还是车载WiFi或者蓝牙,连到CAN bus上面,告诉那个引擎控制器该休息了,或者ABS控制器该放手了。而黑客们也能通过这些无线接口,和一辆正在行驶的车上面的控制器聊天,细思极恐。

对于这种可能有严重后果的攻击方式,我们还是有分寸的,这里就讲一个不那么严重的例子。

前一段国内创新热潮里面,有不少人搞车联网。所谓车联网,很多方案其实就是买个这种小盒子插到车的OBD II接口上,然后用手机和小盒子里面的蓝牙配对,手机上的APP就可以通过OBD II的接口读取CAN bus上面的各种信息,包括耗氧量,发动机转速等等。

OBD II plug

问题是,无论是这个小盒子还是CAN bus,都没有足够的防范措施来阻挡黑客的攻击。我们做的第一个攻击,就是开着车子在路上跑,用手机来扫描这种小盒子的无线信号。一旦发现,就破解去配对(《疑犯追踪》里面宅总上身,强制配对的既视感)。然后就可以读取车的某些敏感信息了。我们其实也不拿别的什么敏感信息,就是找ECU问问车的VIN号(相当于车的身份证)啊,问问车子热不热啊之类的。这些都可以在等红灯的半分钟里面,从旁边的车子里面问来。还有一次是在开车的过程中让旁边的车告诉我们它的车速是多少。

在让OBD II和车载控制机隔离方面,特斯拉其实是做的很不错的。特斯拉的OBD II接口只是按照法律规定,提供了电压和接地,但是并没有和车载控制器有数据连接。相反,特斯拉的控制计算机是有wifi和以太网接口的。这些接口,也能成为黑客攻击的界面。

前面讲了传统车载控制器可以被黑客攻击的方法。在自动驾驶方面,汽车又增加了传统汽车所没有的新的传感器和计算机。比如计算机视觉用的摄像头,用来检测是否在车道内部以及周围的物体;比如以前不和驾驶控制器连接的GPS现在也作为数据输入连入了驾驶控制网络;还有激光雷达等。所有这些新的传感器,都会将数据源源不断的输入控制计算机。当输入数据被干扰,就有可能扰乱驾驶控制网络中的计算机正常工作,造成事故。

第三种会造成车载系统故障的是第三方程序。大家或许还记得,在iPhone快发布的时候,乔布斯仍然不希望有App Store。原因其实很简单,一个开放式计算机系统中,大约有四分之三以上的系统崩溃来自第三方程序。我读书时候有位教授曾经给我们看过一篇paper,统计表明微软的Windows系统中,第三方的驱动程序造成了80%左右的系统崩溃。乔布斯对第三方程序的威胁也是领会的非常清楚。现在,很多车载系统需要第三方程序来进行娱乐操作,比如播放网络音乐,展示目的地天气等等,这些第三方程序往往不能保证和系统的其他部分一样安全。

作为国际Web标准化组织W3C车联网工作组的特邀安全专家,我在车联网工作组的会议中也对第三方程序的安全性提出了一些建议,并得到了重视。参与标准建立的业界人士,对车载系统的安全性还是相当重视的,我们会有专门的安全会议来探讨车载系统的安全性。

雷锋网(搜索“雷锋网”公众号关注)注:转载请联系雷锋网授权,并保留出处和作者,不得删减内容。

返回沙发首页  
沙发管家微信
扫描关注沙发管家微信 QQ群: 沙发网官方群 微博:

资讯评论

亲,你需要登录后才能进行评论喔!

还没有评论,快来抢沙发吧!

提示

热门设备安装方法 查看更多>>

最新设备

智能电视 / 盒子评测

安装指南

应用

热门专题