Charlie Miller是黑客界的一名传奇。出现在他介绍页面中的,是一连串的黑客大奖。
让Charlie Miller真正名声大噪的是他对汽车系统的攻破。
2015年,Charlie Miller和搭档Chris Valasek还在LOActive和Twitter就职,黑客工作只是他们兴趣爱好。就在当年的黑客大会DEFCON上,两人合作成功入侵JEEP操作系统,实现了通过网络远距离攻击和控制汽车。这一举动直接导致福特召回了140万台车辆。
此后,Miller又发现了菲亚特克莱斯勒汽车的漏洞,再次导致百万量级的车辆召回。
让汽车行业松一口气的是,如今,Charlie Miller已近决定从一名“掘墓人”变成“守墓人”。他先是加入了Uber,专攻汽车驾驶系统相关的网络安全。2017年3月,Charlie Miller又跳槽至滴滴硅谷实验室,担任自动驾驶安全领域负责人。同年7月,Charlie Miller转投通用公司旗下自动驾驶公司Cruise Automation, 担任自动驾驶安全领域首席工程师。
作为一名资深黑客和汽车界的安全工程师,Charlie Miller对处于自动驾驶和智能网联浪潮中的汽车行业,有着独到见解。日前,在腾讯举办的CSS信息安全论坛上,Charlie Miller分享了他对智能驾驶安全问题的看法。
黑客们攻击汽车的手段在升级
汽车安全问题从2001年就十分明显,不过那时候主要以物理接触和近距离控制为主,攻击手段有OBD盒子、蓝牙钥匙等。当时,黑客们曾试图攻击过一辆雪佛兰,他们通过破解蓝牙传输中的密码指令,控制刹车。受限于蓝牙的传输距离,这一攻击方式有30米的距离限制。
后来,汽车上开始增添“车联网”的这个系统,而且,早期的车联网系统几乎没有做安全保护设计,黑客们不再受到距离限制,在任何地方都可以发动攻击,通过遥控控制,向刹车发出指令。
Charlie Miller在一个2011年的视频中展示出,一辆汽车遭到黑客攻击后,刹车被锁死。更糟糕的是,黑客可以针对个别刹车进行控制,比如说把前左轮锁死,导致车身打转侧翻。
2015年,Charlie Miller攻击Jeep的手段与上述方式很像,Jeep的弱点也是让娱乐系统不经过网关,直接连接CAN总线上,Charlie Miller攻破了娱乐系统后就直接把CAN指令写入到CAN总线里,导致方向盘被锁死。
腾讯的科恩实验室在2016年也“远程入侵”了特斯拉,将中控大屏界面换成了该实验室LOGO。除了这些“小动作”,他们还可以远程解锁车辆、打开天窗,甚至实现远程刹车。
2018年,黑客们通过一个假基站发送短信息控制了宝马的车联网系统。
所以,通过以上案例,Charlie Miller总结了两点:
首先,如果不攻击车的系统就黑客不了这辆车,而最糟糕的结果是车辆被远程控制;
其次,很多车如果装上网关,会减少风险。因为网关连接了娱乐系统和控制系统,它会对传输和控制进行一定分离。
自动驾驶汽车会更安全?
在Charlie Miller看来,自动驾驶没有刹车、没有方向盘等等设计,甚至没有蓝牙、wifi等媒介,所以会更安全。
更重要的是,自动驾驶车目前的运作方式与一般汽车不同。“大部分的自动驾驶车一般都是不向一般客户销售的。一般的汽车是公司生产,然后卖出后有人在使用,而自动驾驶的汽车目前的运作方式不是这样的,这些车一般都是属于一个公司,然后它基本上都有固定维护。”Charlie Miller说道。
自动驾驶车的智能性也让汽车安全多了保障。“比如软件可以进行更新,可以增加一些新的硬件,有很多的机会。让自动驾驶车一直保持一个比较好的状态。”
Charlie Miller解释道,“我们刚才所说的汽车的黑客攻击,都有一个主控制的地方,而自动驾驶的汽车没有这样的一个媒介,比如它不需要蓝牙、也不需要车里有wifi,这对你的车来说这是更安全的机会。”
此外,Charlie Miller还给出了一个自动驾驶车更安全的理由,即现在自动驾驶技术还不够普及,接触到自动驾驶车的机会很少。
“目前为止,像我这样的研究人员,要黑飞机的话我觉得比较难,因为我没有飞机。所以,类似的道理,自动驾驶的汽车目前的安全度主要是来源于黑客还没有太多接触它的机会。所以,现在自动驾驶的汽车会有一些安全优势。”
当然,自动驾驶汽车出于技术的完善阶段,一些安全薄弱环节也需要注意。
未来可能产生的对自动驾驶的攻击
随着激光雷达、以太网、GPS被应用,也给自动驾驶汽车带来了一些新挑战。此外自动驾驶汽车用到传统汽车的底层架构也是一个问题:比如你想让车里的更安全,想跟其他模块单元进行沟通,可能还不支持TLS,甚至TCP都不支持,这些都是新的情况。
针对自动驾驶可能会出现的黑客攻击,Charlie Miller将其分为以下几类:
首先是远程攻击,这是最为严重的,“如果我从远程可以攻击一辆车,那就证明所有的车我可能都能攻击”;
其次是近程攻击,比如说通过蓝牙等等,不需要真正接触这个车;
第三种是物理接触攻击,通过插入或者安装上一些插件,然后对于它的电脑系统进行一些篡改。这种攻击很难规模化,顶多可以破坏3-5辆汽车,但我们也不希望它发生。
而第四种就是我们要担心的感应器攻击,现在往往会有比较复杂的传感器出现在智能汽车或者自动驾驶汽车上。但通过研究,Charlie Miller发现,这些感应器也可以被篡改,而成为一种攻击汽车的手段。比如,研究人员可以通过对自动驾驶车的激光雷达数据进行篡改,让会使得汽车做出一些古怪的行为。
Charlie Miller也指出,冗余结构设计会减少攻击的风险。例如,在感知方案中,一般的冗余感知不完全是通过雷达和摄像头来做,所以不会产生太大风险。
同样,针对高精地图和GPS的攻击也不会产生太大问题。“因为汽车一般有自己的内部地图,定位也依靠内部的高精地图,因此攻击GPS不会带来太大问题。” 当然,Charlie Miller提到一个前提,是这些地图都是经过验证核实以后使用的。
针对自动驾驶汽车的安全建议
“任何汽车的安全,都可以通过数据中心,小的网络,通过控制器技术等现有技术进行优先保障。”Charlie Miller总结道。
因此,针对自动驾驶的汽车安全,Charlie Miller也给出了一系列建议:
第一,减少容易受到攻击的接口,比如把不必要的蓝牙去掉,对于吉普车来说,非常危险的是收发器。这样的话,外界通讯就不容易进入到汽车里,也会减少缺陷和黑客袭击的机会。
第二,要保证汽车在第一次启动的时候有好的编码,而保证没有恶意编码。因此,在初步设计的时候就要注意从硬件、一直到应用的编码。“你早晨启动的时候你知道这些编码都是你自己写的,是你自己通过的,这样就安全了。”
第三,要把密钥进行非常好的存放。“比如你要请求一些外部服务的话就需要这些密钥,你要把这些密钥进行非常好的存放,可以用不同的密钥加密技术,如果它们被偷窃了以后就会给你带来很大的麻烦。”
第四,车主发出的任何数据应该加密以后再进行传输,用LTS。这样的行为也不需要用一些新的技术,因为加密技术现在已经很成熟。同时,要保证重要的编码在系统上都是加密,这样即便它被偷窃了以后车主也不需要担心,这些加密的编码被偷走以后对于黑客来说也没有用了。
此外,Charlie Miller也提到,保障终端安全、切断不必要的外部通讯也是提升汽车安全的重要手段。
最终,Charlie Miller总结道,对于自动驾驶车车进行安全保护的话,跟传统的方式有所不同,但是我们也看到也有一些共同的挑战,我们需要建立起一个控制系统,使得我们的汽车更加安全,我们现在看到还没有到处都跑的是自驾车。所以,我们现在就要把安全的问题做好,使得自动驾驶车在未来不要陷入重大的安全问题。