事情要从三年前说起。
2014年,360 董事长周鸿祎曾经和特斯拉的创始人马斯克进行了一次有趣的谈话。
富帅马斯克:特斯拉所有应用的代码都是自己写的,不安装任何第三方应用,所以不会被任何黑客攻击。
教主周鸿祎:智能汽车从根本上说像一部打手机,只要和外部通信,其中的协议就有可能被研究和破解,所以“干掉”特斯拉是有可能的。
这次谈话的结果是:两位大神打了一个赌,赌特斯拉究竟能不能被黑客攻击。故事由此展开。
传说,周鸿祎回国之后,马上购买了一辆特斯拉,就是下图这辆。
【特斯拉和汽车黑客刘健皓】
站在这辆拉风的特斯拉前面的人,正是负责“搞定”特斯拉的首席黑客,360 天行者实验室的老大刘健皓。
面对这辆特斯拉之前,刘健皓主要的研究方向是智能硬件安全,这位大牛曾经在2014年就预测了一个可怕的事实:全球范围内越来越多的智能摄像头可能被黑客控制,成为受人摆布的“僵尸”,对世界互联网进行大规模的攻击。可怕的是,这个残酷的预言终于成为了现实,在2016年,美国东西海岸同时遭受大规模互联网攻击,造成美国一半国土断网。攻击的罪魁正是黑客控制的全球几十万个摄像头。
所谓“目无全牛”,面前的特斯拉对刘健皓来说,只不过是另一个大的智能硬件。黑客的天职就是突破一切,而对于特斯拉的渗透攻击有两种方法:
1、黑客肉身先进入特斯拉,然后在核心控制软件里“做手脚”
2、远程攻击特斯拉,在不接触汽车的情况下, 拿到汽车的控制权。
对于刘健皓来说,如果黑掉一辆车需要先进入其中,显然没什么技术含量,而第二种方法才是真正有威胁的攻击。只用了几个月的时间,刘健皓和团队果然发现了突破口,那就是特斯拉车主使用的配套 App。通过对于特斯拉 App 的破解,刘健皓和小伙伴们成功地实现了远程控制特斯拉。
【2014年,刘健皓和团队成员获得的特斯拉致谢奖章】
利用这种方法,黑客可以远程控制汽车的车门,后备箱;通过对汽车钥匙的信号模拟攻击,可以进一步成功发动汽车。
这位黑客用行动证明了,特斯拉并不是无懈可击。从而让马斯克放下原来的自信,重新评价特斯拉的安全性。刘健皓,作为全球第一个远程成功攻破特斯拉的安全研究员,也因此进入了2014年特斯拉安全研究员名人堂。
【特斯拉创始人 埃隆·马斯克】
然而,事情还远没有结束。
刘健皓因为攻破特斯拉而在世界黑客圈名声大噪。全球黑客纷纷加入“黑”特斯拉的大军。
而与刘健皓的研究几乎同时,以特斯拉为代表的智能汽车以及自动驾驶技术开始在全球兴起。除了特斯拉之外,保时捷、通用、福特等传统汽车厂商纷纷涉足,福特甚至为自动驾驶技术豪掷10亿美金投资了一家AI公司。自动驾驶代表了汽车工业与人工智能相结合之后的技术高点,而广为追捧。
在这样的背景下,作为车联网安全方向的先驱,刘健皓却选择多走一步,他瞄准了特斯拉的辅助驾驶系统。在他的眼里,特斯拉的自动驾驶系统存在着更多系统级的风险,这些风险甚至会威胁人们的生命安全。
先来简单科普一下特斯拉的辅助驾驶系统(1.0):
整车周围散布着三类“眼睛”:毫米波雷达一枚、超声波传感器12枚,摄像头一枚。
【特斯拉 Model S车身上所有传感器的位置(蓝色为毫米波雷达,灰色为摄像头,红色为超声波传感器)】
详细解释一下:
毫米波雷达:
特斯拉装配的雷达,频率高达77GHz,这个超高频段的技术,曾经作为美国军方的保密技术,禁止对华出售。雷达被安装在特斯拉的前部,用以探测远距离的障碍物,可以识别最远达到150米的障碍物。
【毫米波雷达】
超声波传感器:
特斯拉周身布满12玫超声波传感器,用以感知车身周围大概五米范围的障碍物。
【超声波传感器以及在特斯拉上的位置】
高清摄像头:
这是特斯拉的诸多“眼睛”中唯一可以识别可见光的。摄像头被放置在汽车前面,用以识别车道线和限速、禁行一类的道路标志。
【高清摄像头在特斯拉上的位置和显示效果】
刘健皓告诉雷锋网宅客频道,
辅助驾驶系统就是根据这些传感器采集的数据,通过自动驾驶的算法,实现规划路径和自动巡航等所有功能。
他的天行者团队思路也很简单:只要攻击这些传感器,让数据的错误进入系统,就一定会让辅助驾驶系统产生严重错误的决策。
攻击超声波传感器,需要用设备制造超声波;
攻击毫米波雷达,需要用高频的毫米波雷达信号;
攻击摄像头,需要用超强的可见光。
事实证明,刘健皓的猜想是正确的,他和浙江大学的美女教授徐文渊和博士闫琛合作,对三种传感器分别进行了攻击,并且成功地“欺骗”传感器,让特斯拉汽车在辅助驾驶状态中突然“看到”前面有一辆车,从而紧急刹车,或者让特斯拉汽车“看不到”本来存在于车前的障碍物,一头撞上去。
有趣的是,他们用于发射超声波信号的所有硬件设备,都可以在淘宝上买到,总成本不过20块。
【刘健皓&闫琛,他们手上的设备,就是“造价”达20元人民币的超声波干扰器】
接下来,感兴趣的童鞋可以来详细看看他们是怎么做到的。
由于超声波传感器主要分布在车身周围,而且主要用来判断近距离物体的信息。所以在实际应用中,它们的主要作用是感知附近有没有障碍物向自己靠拢,从而向相反方向进行规避。
闫琛曾经告诉雷锋网宅客频道:
经过逆向研究,我们发现特斯拉使用的超声波传感器发射的波长为 40Khz,而这种波长的超声波在现实世界里并不常见。例如摇动钥匙串或者大卡车制动的时候,都会发出这样的超声波。
但是由于现实世界中的 40Khz 超声波不会长时间持续,强度也没有那么大,所以看样子特斯拉并没有认真研究人造超声波对辅助驾驶系统的影响。
他们于是尝试对特斯拉的超声波传感器实行一种噪音攻击(Jamming)。简单来说就是用更大的强度播放同样波长的噪音,这样就会使得超声波感应器无法回收自己发出的信号,从而没有办法测量周围物体的举例。
让人惊奇的是,在这种情况下,特斯拉并没有选择提示用户切换回手动模式,反而继续按照原速运动。此时如果有物体靠近特斯拉,即使发生碰撞,它都不会有任何反应动作。
【噪音攻击超声波传感器的实验现场】
通过信号分析仪进一步破解超声波信号,刘健皓和闫琛完全掌握了超声波的结构,于是他们尝试用信号发射装置欺骗传感器。
“实诚”的特斯拉果然上当,会向决策系统传递虚假的信号。于是在空无一车的地下车库,居然启动了自动跟车模式;
而当刘健皓向特斯拉发出了前方近距离有障碍物的虚拟信号后,特斯拉猛然来了一个刹车。
【传感器的数据最终会导致对汽车的刹车、方向盘、油门行为的控制】
黑客们找来了超声波吸附材料。超声波信号碰到这种海绵状材料,可谓肉包子打狗——有去无回。在试验中,无论什么凶险的障碍物,只要笼罩超声波吸附材料,在特斯拉眼中一律是一马平川,不撞南墙死不回头。
当然,刘健皓也觉得目前的吸波材料过于厚重,在现实中用来攻击有点搞笑。不过他说:“在未来如果实现材料的轻薄甚至透明,这种攻击就会变得非常危险了。”
【在演示视频中,闫琛躲在吸波材料里,传感器并未感知】
接下来,他们准备黑掉毫米波雷达。毫米波雷达是诸多特斯拉传感器中,最为精密的一个了。77GHz 的超高频率已经超出一般仪器可以解析的范围。
毫米波雷达的设备,由于已经到了军用级别,造价就非常高了。单单是借来研究毫米波雷达的设备,就可以买三辆特斯拉。刘健皓甚至开玩笑说,借这台设备是整个研究中的一个最大难点。
【毫米波攻击设备BCDE和特斯拉毫米波雷达的位置A】
然而,有了分析设备,只是万里长征的第一步。对 77GHz 的超高频信号进行降频之后的分析,也是一个非常艰难的过程。
对于毫米波雷达,同样可以实现噪音攻击和欺骗攻击。也就是说,可以让特斯拉在高速行驶中,完全忽略前面的障碍物,也可以凭空让特斯拉紧急制动。
理论上来说,这样的攻击可以在几十米开外进行。就像用手枪射击标靶。不过毫米波发射器的波束比较集中,在实际攻击中,要完美击中汽车的雷达,这需要非常好的精确度。“不过只要有足够的资金购买高级的设备,这些限制都不是问题。”闫琛说。
【毫米波雷达被攻击后,前车从仪表盘上瞬间消失,如果处于自动驾驶状态,后果不堪设想】
也许对于摄像头的攻击是唯一一种普通人都可以玩转的攻击。你只需要一个大功率手电,猛烈照射摄像头,就会造成它的短暂致盲,这个特性和所有的摄像头,以及人眼的原理都是一致的。
当然,特斯拉的摄像头也支持红外夜视,所以用红外线手电照射摄像头,同样会导致它“失明”。
【使用 LED 灯或激光笔,对特斯拉的攻击成本都在10美元左右】
2016年,刘健皓在世界顶级黑客会议 DEFCON 分享了以上这些研究成果,让世界再一次认识到中国黑客在汽车安全领域的创造力。
刘健皓用20块的设备,把自己和团队第二次送进了特斯拉安全研究员名人堂(2016)。
【刘健皓(右)和闫琛(左)在美国 DEFCON 讲台上面对来自世界的黑客分享他们的成果】
对于刘健皓和天行者实验室的黑客来说,“干掉”特斯拉并不是他们的本意,他们希望用自己的行动证明特斯拉自动驾驶系统存在可以被人利用的“漏洞”,这些漏洞可能被图谋不轨的人所利用,危及特斯拉和驾驶员的安全。甚至在偶然情况下,自然环境也会触发自动驾驶系统的漏洞,这就相当危险了。
以下是特斯拉历史上一个最著名的事故:
2016年7月,一辆拖挂车以垂直的方向穿越公路。一辆特斯拉 MODEL S 轿车正好从公路上驶来。
在强烈的日照条件下,辅助驾驶系统并没有识别出纯白色的拖挂车,
而用以判断远方障碍物的毫米波雷达恰恰从拖挂车的底部穿过,
超声波传感器探测到障碍物时,特斯拉已经来不及做出反应。
最终特斯拉以高速行驶的状态装上了横在前面的拖挂车,事故的结果是特斯拉驾驶员当场身亡。实际上,在这个案例中,日光恰恰扮演了攻击摄像头的“黑客”角色。
有关特斯拉辅助驾驶系统事故的案例五花八门,在中国也有不少。
2016年1月,一辆特斯拉高速撞上了在道路内侧停靠的道路清扫车,车主当场身亡。事故前,车主正是开启了辅助驾驶系统。根据现场调查,特斯拉根本没有刹车痕迹,而是以80-100迈的速度直接装上清扫车。这说明了一个可怕的事实:辅助驾驶系统根本没有识别出前方有障碍物。
【事故特斯拉行车记录议记下的最后画面,清扫车横跨在内侧实线上】
【几秒钟后的事故现场】
刘健皓说,旧有的特斯拉辅助驾驶系统,对于这种跨车道的“半辆车”经常会判断错误,这是一个致命的漏洞。
针对刘健皓和全球黑客对于特斯拉安全的研究,特斯拉对辅助驾驶系统进行了大版本升级,这就是不久前刚刚宣布的辅助驾驶系统 2.0。
【特斯拉官网名人堂页面,刘健皓和团队2014年和2016年两次入选】
刘健皓介绍说,
根据我掌握的资料,特斯拉辅助驾驶系统 2.0 在软硬件上都进行了升级。例如新的系统在硬件上升级到了8个摄像头,利用可见光对周围环境进行建模,降低了超声波传感器对周围环境感知的比重。
总体来说,特斯拉新的辅助驾驶系统的改进大概有以下几点:
1、硬件:8个摄像头增加了全新的环境感知模式,覆盖了之前系统的“盲点”。并且用一个 40 倍于普通 CPU 计算能力的 GPU 进行环境感知实时计算。
2、算法:针对之前发生事故最多的“半辆车”和其他特殊形态的障碍物,有了更先进的算法。
【特斯拉辅助安全驾驶传感系统包含8个摄像头,覆盖360度可视范围,对周围环境的监控距离最远可达 250 米。除此之外,车辆配备的12 个超声波传感器完善了视觉系统,探测和传感硬、软物体的距离接近上一代系统的两倍】
经过如上的改进,特斯拉修补了之前存在的系统级风险,换言之,刘健皓之前所使用的简单的攻击方法就失效了。他说,
之前我们进行实验时,特斯拉超声波传感器被“欺骗”,甚至会直接撞上我们的测试设备。增加了摄像头之后,很有可能更加“智能”,利用可见光判断出障碍物之后,系统可能会综合计算,最终选择刹车。
也就是说,特斯拉的自动驾驶系统可能变得比以前保守一点。
不过,刘健皓同时告诉雷锋网宅客频道,传感器多了,攻击的路径也变多了。理论上来说,传感器被攻击的原理没有变化,对于升级之后的传感器进行攻击,仅仅是一个成本变化的问题。
刘健皓目前关心的问题,又向前进了一步,那就是辅助驾驶系统的算法。说白了,这位黑客是要挑战特斯拉的“大脑”。
之前提到,特斯拉对于障碍物的识别,会出现误判。
2016年底,在中国武汉就发生了一起事故。一辆开启了辅助驾驶的特斯拉径直撞向了护栏。也就是说,在特斯拉的“意识”中,这样的护栏属于“未知物体”。这就造成了系统在判断过程中发生了失误。
【特斯拉行车记录议拍摄的撞击护栏的画面】
归根结底,这是算法的问题。
刘健皓和天行者团队想知道,究竟特斯拉的“大脑”里是怎样想的,究竟什么样的物体不在特斯拉的“知识储备中”,在障碍识别和路径规划方面,特斯拉又遵循了什么规则呢?
探寻这些问题的答案,正是天行者实验室今年的计划。
我们也许会根据我们的研究,让特斯拉去撞各种障碍物,从而判断究竟怎样障碍物的会造成特斯拉的误判;另外,我们还会对辅助驾驶系统进行逆向破解,从而探寻它究竟在用怎样的方式“思考”。
虽然整个故事的起源是周鸿祎和马斯克的一场“赌局”,但对于两度入选特斯拉名人堂的黑客刘健皓来说,攻破特斯拉并不是最终的目的。由特斯拉所代表的无数带有车联网和自动驾驶功能的汽车,正在飞速向我们驶来,而在每一辆车上,都是你我的朋友,亲人,活生生的生命。
保卫他们,让刘健皓深感责任重大。