黑客如果想要欺骗无人车复杂的传感器融合系统,可能得造一个虚拟世界出来,不夸张地说,比“登天”还难。
自动驾驶汽车看起来就像是黑客们手下待宰的羔羊。
在一般人看来,毕竟普通汽车由司机手握方向盘、脚踏油门刹车踏板来控制,似乎多少提供了一点反入侵的保护。不像自动驾驶、或者配有辅助驾驶功能的汽车,貌似连这点保护都没有。
“恰恰相反“,同时身为(网络)安全研究员和汽车黑客的克莱格 史密斯说,”全自动驾驶汽车最有意思的事之一,就是它们无意之中被设计得比普通汽车更加安全,这正好与我们的猜测完全反了过来。“
除了白天在数据安全公司Rapid7担任首席交通研究员,史密斯还负责在全球Defcon黑客大会上运营“汽车黑客村“项目(一个汽车黑客专家和爱好者联系交流、切磋技能和相互学习的项目)。该会议是全球最大的黑客会议,每年在拉斯维加斯举办。
在那随便花上一点时间,你将会眼花缭乱地看到汽车能实现的各种奇特功能。今年是汽车黑客村运营的第三年,这里是汽车白帽黑客切磋交流的场所,他们或能够远程入侵吉普车并破坏其刹车功能,或者诱导特斯拉的Autopilot自动驾驶系统误认为车子前方有一根(实际并不存在)的柱子。
一开始,汽车制造商们对这些黑客的看法和我们普通人差不多:嫌他们烦已经是最轻的了,严重的时候会觉得他们是屡教不改的罪犯、故意想弄坏汽车产品、危害社会。
现在,车商们的态度逐渐缓和了,开始把白帽黑客看作打击网络犯罪、潜力巨大的同盟者,或者至少是不好相处的合作伙伴。那些被黑客攻击以入侵汽车系统的程序漏洞原本就在那儿,如果有这样的漏洞,当然是被史密斯这样的黑客发现比较好,而不是被一群无所顾忌的恶棍找到。否则他们会将其用作车载勒索软件的实验品。
与黑客关系开始破冰最明显的一个例子,是日本车企为Defcon黑客大会提供了一辆马自达2使用。但行百里者半九十,史密斯提醒说:“我当然很高兴他们把马自达送来,但在更包容地开发自家产品这一问题上,每家车企(不仅是马自达)都有很多可以做的。”
他进而解释说:“马自达汽车是很好的学习教材,因为车上所有的电子系统都通过唯一一个(数据)瓶颈——”高速总线“——传输信息。在很多别的车子上,总线只留给与安全相关的最重要信息,比如转向或刹车信号。但这样一来,黑客们就不敢随意摆弄相关的软硬件(否则再行车的话会非常危险)。但在马自达上,我们可以通过尝试涉及挡风雨刷之类小动作的指令来了解总线的工作方式。”
目前,这类总线功能还是汽车黑客研究的主要内容。大多数汽车的内在工作方式对外人来说是复杂和模糊的,当然还加密了。这就让研究者甚至弄不清车载电脑工作起来是什么样的,更不要说去触碰其功能的边界、寻找漏洞了。这种雾里看花的情况也许能带来短暂的汽车安全时期,却无异于饮鸩止渴,因为这也使车辆安全的相关研究既耗时间又费资金。结果,真正致命的系统漏洞便更有可能被那些想通过黑客行为赚钱的人找到,而不是发烧友式的研究者。
这方面最大的教训是2015-2016年一辆Jeep被黑客入侵的事。2015年,白帽黑客Charlie Miller和Chris Valasek找出了一种方法,能从与因特网相连的车载娱乐系统入侵更基础的车辆控制系统。通过这种方法,他们能够无线传送控制车辆转向或者刹车的指令。这件事引发了一次相关受影响车型大量召回的事件。2016年,这两个家伙又向Defcon展示了他们研究的最新进展,展示了在“逆向工程”了Jeep安全防护级别低的系统后,他们都能够做些什么“坏事”。比如,一开始他们只能在车子行驶速度低于8公里/小时的情况下入侵和控制车辆,后来他们居然可以随心所欲地控制车辆的行驶速度。
白帽黑客Charlie Miller和Chris Valasek在2015年Defcon黑客大会上演示如何入侵汽车
史密斯认为,这类精彩的表演充分表明他们已经开始从“人类驾驶汽车”向“电脑控制汽车”迈进了,这也是史密斯对汽车的未来出乎寻常乐观的原因之一。史密斯解释说:“当今的汽车都还只是基于少数几个传感器在工作。你可以在很多商业汽车广告中看到这样的画面:一辆车正在倒车或者泊车,它(通过摄像头)”看见“路上有个小朋友,于是自动停下了。”
“此时,车辆只接受到一个输入信号,内容是:‘传感器发现障碍物,请停车’。这时电脑的指令权重是大于驾驶员的。假如驾驶员说:‘我要车子继续前进,给油。‘汽车系统不仅会忽视这样的要求,更会反其道而行之。‘那又怎样,系统指示停车’。“
多少年来,这些信号全部都通过前文所述黑客入侵的那个基础系统传输。传输的路径叫做CAN总线。用这种传输系统的结果是,一旦黑客能够入侵这一系统,剩下的工作就基本上是通过逆向工程找出每个信号是在什么时候发送的了(然后加以利用和模仿)。换言之,一旦系统被入侵,车辆就能被完全控制。如同一家汽车巨头的汽车安全工程师所打趣的:“这个系统叫做‘能够总线’(can在英文中原本的意思即为‘可以,能够’)而不是‘不能总线’,意思就是说,一旦你能进入到系统中,就没有什么事不能做了。”
史密斯进一步解释,在黑客看来,如果采用单独工作的传感器,则传输的信号/事件更易被伪造,从而诱使车辆系统作出反应。不过,自动驾驶汽车总体来讲,更加智能。就像他说的:“自动驾驶汽车,尤其是全自动驾驶的,需要采用大量不同的传感器。”
因为,一辆没有人为干扰时能在不同外部条件和街道状况下行驶的汽车,不会因为单一而粗略的探测信号而触发其系统的反应动作。比如说,如何区分道路上的一堆落叶和从自行车上摔下倒在路上的一个儿童?遇到前者可以安全驶过,遇到后者则不能。没有一台单一的传感器能够区分这两者。
无人车感知系统对前方广告车背部图案的识别
“在无人驾驶研究领域,每个传感器都是为解决另一个维度的传感探测问题而存在的。“自动驾驶汽车测试公司Cognata的高层Danny Astmon这样说。他详细解释道,自动驾驶汽车上的摄像头曾被游行花车上的风景图所迷惑,也曾被汽车上贴着的自行车图片误导过。
“激光测距雷达(Light Detection and Ranging)不能识别玻璃的存在,雷达主要能探测金属,而摄像头很容易被图片误导。因此,在行业内决定采用传感器冗余,也即综合传感信号的方法来解决这个问题。但是,我们在这里提到每一个的极端情况有都提高了解决问题的门槛。“ Atsmon说。这种传感信号的综合利用不仅使车辆能更“清晰“地看到世界,也碰巧部分解决了前述的车辆安全问题。
“有意思的是,传感器们彼此互不信任。“史密斯说。雷达传感器不再能通过一个信号就让汽车来个急刹车了,因为摄像头和激光雷达很可能会纠正它的探测结果。如果想同时误导所有的探测子系统,仅靠假装几个信号是不够的,你得模拟出一整个虚拟世界来。
未来当然不会是没有黑客的理想国。软件是复杂的,问题是会发生的,黑客们也总会有方法偷偷绕过自动驾驶汽车的系统代码,这些方法也许还会被叫做”黑客攻击“,但有可能就不是入侵攻击车辆,而是攻击这个社会了。比如,想想那些被打印版的假停车标识牌糊弄的人们,汽车可看不懂标识牌哦。
但至少,坐在一辆被电脑控制的汽车里似乎比坐在看似被我们自己控制的汽车里安全。对笔者来说,这百分之百正确,因为我不会开车。当然,不论是更安全的汽车还是驾照,还是早弄到手为好。