主持人:非常感谢Nohl给我们带来的精彩分享。我们不仅仅看到了很多生动的案例和故事,而且听到了关于网络安全非常重要的解决方案。当然,他刚刚在演讲中也为我们预告了下一位演讲者,下一位演讲者也是大家非常非常期待的,因为我们参加过很多次网络安全的论坛,在这些论坛上我们会听到政府官员为我们解读政策,会听到业内专家讲解我们最前沿的安全技术,还会听到很多的互联网安全公司来为我们介绍他们最新的互联网安全解决方案。
但是在那些论坛上我们经常会有一个遗憾,这个遗憾是什么呢?就是没有黑客来到现场,因为我们知道“道高一尺,魔高一丈”这个词经常用来形容互联网防护和攻击之间的关系,而这些攻击通常都是由所谓的黑客完成的。我就想如果有黑客到现场来现身说法那将是非常值得期待的一个场景。今天就有黑客来到我们现场,而且不是一般的黑客,是世界上的顶级黑客。
刚才Nohl已经给我们介绍过他的名字叫“Charlie
Miller”,互联网圈的朋友对他的名字都已经如雷贯耳,因为他曾经用自己的技术黑进了吉普的系统,而且是迫使吉普公司召回了140万辆存在漏洞的吉普汽车。这还只是其中一个很小的案例,还有他曾经攻进了安卓的系统,进入了苹果的系统,还曾经是实现了苹果系统越狱的全世界的第一人。
在中国“黑客”这个词可能多多少少会带有一些贬义,其实最初“黑客”这个词是没有任何褒义或者贬义的,但是有一些人利用黑客技术进行网络攻击,甚至进行网络犯罪才让“黑客”这个词逐渐的被不明真相的群众认为这是一个贬义词。我们今天要请到的这位黑客他绝对不是一个进行网络犯罪和攻击的人,恰恰相反,他是用他的黑客技术帮助我们的互联网更加安全。
所以,在中国的语境中有另外一个词更适合他,这个词就叫“侠客”,是行侠仗义的“侠”。现在掌声有请通用汽车旗下Cruise自动驾驶安全首席架构师Charlie Miller,欢迎。他将给我们带来一个确保自动驾驶安全的演讲。
Charlie Miller:大家好,谢谢给我这个机会让我在这儿发言,很高兴来到中国,见到中国的观众,来了解一下中国现在发生了什么。刚才的介绍已经非常精彩,我就什么都不再补充了,我就是个黑客,我觉得叫我“黑客”没问题。现在我就再讲一讲关于防御这方面。
现在我们公司是做无人驾驶汽车的,主要让它变的更为安全,对于我来说,我说的这个车不是特斯拉,也不是奥迪,而是完全自动驾驶的这些车,那就是未来的这种汽车,你可能压根没法控制它,也没有刹车,也没有方向盘,看看这种汽车我们应该怎么样。
我在Uber做过,现在在Cruise。所有的这些经验教训在这儿我都会提一提。我们看看我们以前看到的不同的黑客所用到的这种技术。我们现在就开始。
大家都知道吉普的事情,事实上我们从2001年就开始了,我是从雪佛兰开始的,那时攻击的方式第一种是通过蓝牙,在一些情况下它会需要大约距离车30米,刚开始是这样子,后来有无线电上面有代码,它可以立刻向刹车发送指令,从无线电又进行了再编码,这些信号就发送到了刹车上。这是有一个30米限制的攻击。然后可以用到车联网的这个系统,这里没什么距离限制,你从哪儿都可以发动这个攻击,因为车联网的系统他们就不需要担忧网关,他可以遥控控制,然后给刹车发出指令,然后你看到这是他们攻击的一个视频。
这是2011年的,车路上,他们远程攻击,现在刹车被锁死。比这个还要糟糕的是它可以把个别的刹车也锁死,比如说前左轮锁死,这样车身就会打转倾斜。所以,这就给我的工作带来了灵感,这是我们2015年做的工作。
我们方式很像,还是远程攻击这个车,我们也有代码,我们会有一个HSCAN,就跟无线电一样的设备,我们也进行了再编程,在这个车重要的部分你可以发送指令,然后可以发送这样的信息,这是我们在做测试时的视频,我攻击到了这个车,然后方向盘被锁死,这个车就翻沟里了。
如果正常人这是很糟糕的一天,但是我们作为黑客证明我们做到了。这些研究人员大家可能都认识,这是他们的团队在特斯拉,这是2016特斯拉的,它的方式是通过浏览器,通过CID,这个代码一旦跑起来,就在因特网上他们发送信息,然后锁死刹车。所以,像这种研究越来越多。这是攻击所发生的类型,然后我们来看看怎么改进这个工作,然后这个团队,当然,我给大家提供的例子可以说一直一直往下走,有很多很多,也就是说它可以实现对车的远程控制。
现在我们再看一下宝马,2018年,它攻击的方式,他们可能有一个假的基站,然后发送短信息,然后他可以控制车联网系统,可以是短信,可以给这个高速网络,如果他们要是没有特别关注到这样的信息他们也可以关注到这种短信息。总而言之,他可以控制这辆车,然后这辆车被黑了。
所以,我们看了一下这些案例,我们再往后退来分析一下,我们来看看这里面到底怎么样体现出了这些他们的通用原则。首先,因为你要不攻击这个车的系统你就不会黑,大家可能已经注意到了,一般来说最糟糕的就是远程控制,我觉得这些远程控制一般都会有特别糟糕的结果。还有,很多的车他要是有网关的话,他想把外部的世界想分割开来,比如有些网关他会提供安全,涉及到刹车或者是方向盘这些都被绕过了。
还有如果你要自己没做过,我自己做过,其实很难。我大概花了两年的时间,要学术团队,很大规模的团队,可能花了一年多的时间来做这样的研究,团队规模很大,规模大可能人会多,速度就会快。所以,我们在做的这些问题都是比较棘手的问题,而且它涉及到很多的步骤。我们看一看怎么样能够设计这些步骤让黑客的攻击变的不可能或者极为困难。
我们来看一看那些互联的车子,现在我们来看一下自动驾驶这种汽车的安全问题,这就是自动巡航的车,没有方向盘,也没有刹车,也没有油门儿,你要是刚才看视频的话,我们看到对于吉普的攻击挺吓人的。如果对吉普的攻击我把方向盘启动了,然后我就可以控制这个车了,然后我们看到那个车,但是那个车比如它翻到沟里了,它之后还有机会再让这个车回归正常。但是这种自动驾驶的车呢?好像对于我们来说这里面问题会多如山。
我们再想一想这里面有很多有意思的地方。首先,大部分的自动驾驶车有以下特点,我们最开始的时候它的机会是这样子的,这些车一般都是不像客户销售的,像一般的汽车你是公司生产,然后你把它卖了有人在使用,自动驾驶的汽车目前的运作方式不是这样的,这些车一般都是属于一个公司,然后它基本上每天都回家,然后再充电等等。
与此同时,你可以检查车,看看有什么问题,然后软件可以进行更新,再加上一些新的硬件。所以,这里面有很多的机会。你可以让这个车一直保持一个比较好的状态,因为这个车属于你。所以,你一直可以管理它,你也有机会关注所有的实时的汽车,然后看它是不是有什么问题。比如他有什么行为奇怪的你们可以告诉你董事,你可以到车场再来看这个车到底它出什么问题。
如果你看到我们刚才所说的汽车的黑客攻击,它都是有一个主控制的地方,而自动驾驶的汽车它没有这样的一个媒介,比如它有手机或者有什么东西,所以,你不需要蓝牙。所以,蓝牙直接你车里就没有这个功能,你也不需要车里有wifi,因为像自动驾驶的汽车你根本就不需要wifi,你要wifi干嘛?像这些不需要的功能你直接从自动驾驶汽车中就去除了,对你的车来说这是更安全的机会。
还有这一点我不想完全依赖,但是我们可以看到一般来说这些黑客还没有机会接触到自动驾驶汽车,不是完全没有可能,但是他接触这车的话还比较难。所以,目前为止,像我这样的研究人员,因为我要黑飞机的话我觉得比较难,因为我没有飞机。所以,类似的道理,自动驾驶的汽车目前的安全度主要是来源于黑客还没有太多接触它的机会。所以,现在自动驾驶的汽车会有一些安全优势。
但是也有一些安全的状况我们来看一看,因为这个东西它并不是真实存在,它现在只是在开发阶段。所以,我们刚开始考虑安全,有很多东西都会发生快速的变化。比如你还在试,有可能安全就要与之相伴,要进行调整。还有如果自动驾驶汽车要保证它的安全的话,你的基础还是普通的汽车,所有的安全问题比如增加新的东西等等,有可能会带来的是比一般汽车还要多得多得问题。
还有一个问题你可能没想到,这个车的系统虽然它是一个自动驾驶汽车,但是我觉得并不是说那么的现代。比如车里的ECU你想让它安全,你想让它跟其他的模块单元进行沟通,可能它没有那么现代,而且它可能有以太网,有这种车联网的沟通,比如有的是不支持TLS,而且有的还连TCP都不支持。所以,像以太网上的可能都没有TCP站。这个也是一个新的情况。
我的工作是什么呢?我觉得像这些安全的元素我们以前都认为是理所当然的我们让他们加上或者去除,比如说像它的雷达,这些雷达非常贵,可能几万美金,你要是看这些设备的话,你要是在他们网站可能根本都看不到,如果像Gys出现的是两次,但是还是讲到以太网的安全。这些东西你想把它放到你的无人驾驶汽车上,但是好像这些做起来其比较难。这些是挑战。
说过优势,说过挑战,我们再来看一下,也不是说不可能的,我们再来看一看对于自动驾驶汽车有可能会发生的攻击,以及我们如何来防御。首先,我们最关注的就是远程攻击,如果你要是攻击这个车的话,如果我要是从远程可以攻击任何一辆车那就证明所有的车我可能都能攻击,也就是远程我可以实现这样的攻击。如果你距离比较近的话,也有可能会发生。比如说通过蓝牙等等,因为它也是挺吓人的,就是你不需要说真正的接触这个车,但是你需要足够近。另外一个可怕的攻击类型就是你必须物理接触这个汽车,通过插入或者安装上一些插件,然后对于它的电脑系统进行一些篡改。我们可能不注意这个类型的攻击,因为它很难规模化,顶多可以破坏3-5辆汽车,但是我们也不希望这样的事情发生。
另外一种攻击我们要担心的就是感应器。我们往往会有比较复杂的感应器在车上,动作研究我们知道这些感应器也可以被篡改,使得汽车用一种危险的方式来进行行驶。这里面有很多的新闻跟消息,比如这条,研究者指出通过对自驾车进行篡改,比如通过篡改激光雷达会使得汽车做出一些古怪的行为,我们不想被吓倒。
相比很多人的想法,我们知道自动驾驶汽车他们有非常细节的地图,关于周围环境的。他们能够做非常好的定位,不仅仅靠GPS,而且他们可以跟他们的内部地图进行比较,来了解自己的定位。同样,这些地图也有很多细致的标注。因此,你改变一个标识,你把这个标识从公路上移掉也不会让这些自动驾驶的车陷入迷惑,因为它有一个自己的地图。实际上这种黑客技术不会对自驾车有多大的影响。这是我的看法。
除此以外,大家认为定位的软件可能也会遭到篡改使得自驾车受到很大的破坏,但是要记住自驾车并不怎么依赖GPS,而是用内部地图。因此,这对自驾车来说也不是很大的危险。另外,我们的研究发现,你也会对激光雷达进行愚弄。
当然,这会很让人紧张,但是所有的实验室的研究表明除了激光雷达以外,还有一些自驾车的冗余的系统不是完全依靠激光雷达或者摄像机,它也会有其他的信息来源。仅仅是激光雷达愚弄的话,如果这种愚弄跟其他的感应器的信息不一致的话汽车也不会被愚弄的。因此,我们知道黑客的攻击会是什么样的,然后我们就知道如何进行防卫。
其中一件我们可以做的事情,大家可能没有想到的,其实任何汽车的安全,你不需要一些新的技术来保证让汽车更安全,我们可以通过数据中心,小的网络,通过控制器技术,所有这些技术如果你能进行很好的应用,应用在自驾车里以后也会很有效的。所以,第一件你可以做的在自驾车上是减少容易受到攻击的表面,如果你不需要蓝牙就把蓝牙去掉。同样,对于吉普非常危险的是收发器,这样的话不要让外面的通讯容易进入到你的汽车里,这样的话就可以减少任何缺陷的袭击可能会带来的黑客袭击,减少这种机会。
另外,我们要保证汽车在第一次启动的时候要有好的编码,而保证没有恶意编码。因此,在初步设计的时候就要从硬件,一直到应用的编码都要注意,这样的话你就可以对编码放心了。你早晨启动的时候你知道这些编码都是你自己写的,是你自己通过的,这样就安全了。
下面一个步骤就是要把密钥进行非常好的存放。比如你要请求一些外部服务的话就需要这些密钥,你要把这些密钥进行非常好的存放,如果他们被偷窃了以后就会给你带来很大的麻烦。因此,你要对这些密钥做非常好的保护。你又可以用道不同的密钥的技术。
另外,你发出的任何数据应该加密以后再进行传输,用LTS,你也不需要用一些新的技术,因为加密技术现在已经有了很成熟了。
刚才我提到这些汽车里会有一些内部的细节地图,我们要保证这些地图是有正当的地图,对它进行验证来核实才能对他们进行信任来使用。你还要保证重要的编码在你的系统上都是加密,如果它被偷窃了以后你也不需要担心,如果你想继续拥有这个汽车的话,这些加密的密码被偷走以后对于黑客来说也没有用了。
另外,在一个密钥,你要跟你整个系统分开,当你把车卖掉的时候你不要把密钥卖掉,这样就使这个密钥不对你构成任何的威胁。我们看到网关也起了很大的作用,在整个攻击链当中。因此,我们要进行非常好的隔离,我们可以用以太网,用控制器、局域网络来保证他们跟控制器的局域网有非常好的隔离。
我刚才没有提到自驾车的感应器,也要做到尽可能的安全。比如说在以太网里使用这些控制器。另外,你不需要最新的技术,你可以用一些成熟的技术,同时也是你信任的技术来进行加密。在汽车里有很多零部件,有TOS,还有一些零部件可能都不支持TCP,你可以用到ECP短信的方式,然后用CAN短信的方式来跟他们进行通讯来保证安全。
所以,我见到的自驾车都有一个平板电脑,你可以给汽车指示往什么方向开,但是这个平板电脑也是一个很大的安全的界面,我们要保证它的安全。另外,你不太注意到就是汽车的一个软件可能会卡住了,在车里你根本就没有办法进行重置,这时候要允许远程的援助,使得你控制不了的时候能让别的人在远程帮助你解锁。其中一部分要保证终端的安全,所有终端它不是通过互联网来控制汽车的,不需要读书拟稿的邮件就可以控制你的汽车。
另外,对车队进行管理要有非常好的追踪系统,你能够对整个车队进行追踪,这样的话还要保证黑客很难对整个车队进行追踪。另外,没有任何防卫是完美的,某一天总会有黑客能够攻克一个缺陷,这时候你要做出快速的反应才可以。另外,外部交流,外部资讯非常重要,但是你要对不需要的外部资讯进行切断。感应器刚才我讲到大家未来可能会担心的一个地方,一个担心点就是感应器。
最终我做个总结,对于自驾车进行安全保护的话,跟传统的方式有所不同,但是我们也看到也有一些共同的挑战,我们需要建立起一个控制的系统,有些控制系统能够使得我们的汽车更加安全,我们现在看到还没有到处都跑的是自驾车。所以,我们现在就要把安全的问题做好,使得自驾车在未来不要陷入安全很重大的问题。谢谢大家。