Keen安全实验室一直坚持对特斯拉车辆的安全研究工作,并在Black Hat USA 2017和2018上连续分享了其研究成果。基于APE(特斯拉自动驾驶ECU,软件版本18.6.1)的ROOT权限,其对该模块做了一些进一步有趣的研究工作。分析了APE的CAN信息传递功能,并成功地以非接触的方式获得了对转向系统的远程控制。使用改进的优化算法来生成纯粹基于摄像头数据进行决策的功能(自动雨刷和车道识别)的对抗性例子,并成功实现了物理世界中的对抗性例子攻击。此外,我们还发现了车辆处于自动驾驶模式时,车道识别的潜在高风险设计弱点。整篇文章分为四个部分:首先是对自动驾驶的简单介绍,之后将介绍如何在汽车行驶时从APE发送控制命令来控制转向系统。在最后两部分,将介绍自动雨刷和车道识别功能的实现细节,以及在物理世界的对抗性例子攻击方法。
在其的研究中,认为做出了三个创造性的贡献。
1. 证明了可以远程获得APE的根权限并控制转向系统。
2. 证明了可以通过使用物理世界中的对抗性例子来干扰自动雨刷的功能。
3. 证明可以通过道路上的细微变化将特斯拉汽车误导到反向车道。
特斯拉自动驾系统,在第二个硬件版本开始出货后也被称为增强型自动驾驶系统,是特斯拉提供的高级驾驶辅助系统功能,提供复杂的L2 级自动驾驶。它支持车道居中、自适应巡航控制、自动泊车等功能,能够在司机的确认下自动改变车道,以及使汽车能够被召唤到车库或停车位上。特斯拉自动驾驶系统主要依靠摄像头、超声波传感器和雷达。此外,特斯拉自动驾驶系统还装载了来自Nvidia等制造商的计算硬件,使车辆能够利用深度学习处理数据,对情况作出实时反应。APE,即 "自动驾驶ECU "模块,是特斯拉自动驾驶技术的关键组成部分。尽管已经有很多文章谈到了它的硬件解决方案,但关于它的软件的讨论却少得多。正如所知,目前所有APE 2.0和2.5板都是基于Nvidia的PX2 AutoChauffeur(实际上是高度定制的)。其的测试车使用的是APE 2.5,因此,讨论主要集中在APE 2.5板上。APE和APE-B都是Tegra芯片,与Nvidia的PX2相同。LB,是英飞凌Aurix芯片。此外,还有一个来自Nvidia的Parker GPU(GP106)连接到APE。在APE和APE-B上运行的软件图像基本相同,而LB有自己的固件。在APE部分,LB是一个协处理器,支持诸如监测CAN总线上的信息、控制风扇速度、确定APE部件是否应该打开等功能。在最初的PX2板上,Aurix芯片有一个在串行端口上运行的控制台,具有若干有用的功能。但在APE 2.5上,这个芯片只在控制台上提供很少的命令。并非APE和APE-B都用于自动驾驶,特别是考虑到并非两个芯片都连接到所有传感器。来自雷达和其他传感器的信息通过一些CAN总线(包括P-CAN)传输,并由LB转发为UDP信息,这两个处理器都可以接收。然而,所有的相机,特别是主相机、窄相机和鱼眼相机,它们是自动驾驶功能的主要相机,只通过CSI接口连接到APE。另外,GPU芯片只与APE连接,没有看到足够的证据表明两个Tegra芯片(以及相机)在共享GPU芯片。因此,认为APE-B只是类似 "存根功能 "的东西,APE才是执行真正工作的实际芯片。后来对固件的调查显示,APE-B有时可能从用于启动APE的同一图像中启动。这个启动过程使我们相信,只要APE和APE-B运行相同的固件,就可以轻易地实现攻击。