前言
本文根据英文原文“ DoubleStar: Long-Range Attack Towards Depth Estimation based Obstacle Avoidance in Autonomous Systems”整理撰写。原文发表在31st USENIX Security Symposium (USENIX Security 22). 2022. 本文较原文有所删减,详细内容可参考原文。
01介绍
障碍物检测和避让被广泛应用于自动驾驶车辆 ,机器人车辆, 和无人机等自动驾驶系统。通常,避障系统通过不同的传感器检测周围的障碍物,如:相机、激光雷达和超声波传感器,并将感知数据转换为障碍物距离、障碍物类型等信息。接着,自动系统做出适当的驾驶/飞行决定,或发出警报,或在障碍物前刹车或远离它。
近年来无人机和自动驾驶汽车的发展推动了避障系统的普及,伴随而来避障算法的潜在安全风险引起了广泛的关注。多年来,科研人员对自动控制系统以及其传感器进行了大量安全研究。在这项工作中,我们首次研究了立体相机(又名 3D 深度相机)的潜在安全风险,并提出了一种新型的攻击方式双星攻击,其攻击目标是立体相机的核心功能——深度估计。相较于先前的研究,这项工作的主要贡献与科研亮点是:通过对立体相机深度攻击算法的攻击,实现对自动驾驶系统较远距离且持续的攻击效果。
双星攻击建立在对相机传感器安全性的丰富研究基础之上。早期的以拒绝服务 (DoS) 为目标的攻击可以很容易被检测发现。近期的相机安全研究尝试克服这种攻击的局限性,其中一种新型攻击是利用镜头炫光效应来欺骗自动驾驶汽车中的图像分类系统,使其对实际物体进行错误分类或感知不存在的物体。然而,由于白盒攻击设计产生的像素级别的位置瞄准问题,这种方法受限于无法维持连续的攻击。我们通过实验进一步表明,此攻击方法对于具有常用抗反射涂层的相机来说更难以实现。除此以外,更重要的是,所有现有的攻击都针对单目相机。迄今为止,本文提出的双星攻击是第一个在自主系统上利用立体摄像头漏洞的攻击。
一方面,立体摄像头广泛用于机器人车辆的导航和 3D 跟踪系统中。另一方面,由于无人机规模较小,功能需求较少,其导航通常需要来自立体摄像头的深度信息。同时,由于激光雷达尺寸大、成本高,所以一般不应用于无人机上。因此几乎所有的高端无人机都配备了立体摄像头,例如DJI精灵系列、DJI御系列、Skydio R1、Yuneec Typhoon 系列、Autel Evo II 系列等。先前研究人员对于无人机安全的探索主要在两方面,他们要么通过在近距离攻击范围(约 10 cm)内向惯性测量单(IMU) 注入超声波来对无人机发起 DoS 攻击,要么尝试在攻击范围有限(不超过 3m)的室内环境中控制无人机。“如何远程控制无人机”仍然是一个悬而未决的问题。在这项工作中,我们展示了 双星攻击在远距离连续控制无人机的能力。如图 1 所示,攻击者使用两台投影仪向距离7m远飞行中的 DJI 无人机上使用双星攻击。在此过程中,我们揭露了在避障系统中针对立体相机的新安全隐患。
图 1a攻击者使用两台投影仪向距离7m远飞行中的 DJI 无人机上使用双星攻击,创造了一个 0.5m 的假深度,并在白天被 DJI 无人机检测为真正的障碍物。
图1b
双星攻击包括两种攻击形式:beams攻击和orbs攻击。他们主要利用深度估计算法中的虚假立体匹配和光学成像中的镜头眩光效应来实现。beams 攻击利用了立体匹配的漏洞,攻击者将两个不同的光源注入每个摄像头,注入的光源在一台相机中将变得比另一台更亮、更突出。由于立体匹配试图在图像中找到与同一点对应的像素,因此它将左右图像中注入的强光源识别为同一对象,从而产生伪造的对象深度。Orbs 攻击利用镜头眩光效应,这种现象是强光源多次折射和反射,从而在相机图像中产生绿色多边形形状的伪影。当两个光源注入每个相机时,将为每个图像创建一个绿色orbs。深度估计算法错误地将两个图像中的两个orbs匹配为同一个对象,从而导致虚假的障碍物深度。
实现双星攻击有两个主要难点:(1)如何设计攻击方式,使算法识别出不同的假障碍深度值?(2) 如何在不接入立体相机的情况下估计人工障碍物的位置?为了解决这两个难点,我们为beams和orbs攻击设计了 3 种不同的攻击模式,一共有6种不同的攻击模式组合。我们将不同类型的攻击合并起来,相互补充,扩大攻击范围,同时保持较高的攻击成功率。
我们在模拟和实际实验中验证了双星攻击的功效。在验证过程中,我们在最受欢迎的无人驾驶车辆项目之一 Ardupilot 上运行模拟,以展示对无人机和车辆的潜在攻击。对于概念验证实验,我们对两台专为自主系统(例如机器人车辆、无人机、机器人)设计的商用立体相机 ZED 和英特尔 RealSense D415 以及一款流行的无人机 DJI Phantom 4 Pro V2 进行了攻击。评估结果表明,双星攻击在夜间可以达到15m的距离,白天可以达到8m的距离,假障碍物的深度从0.5m到16m,覆盖了DJI无人机避障系统中障碍物深度的整个范围。模拟和物理世界实验都表明,一旦我们启动攻击,受攻击的设备就会失控。我们建立了一个网站(https://fakedepth.github.io/)来展示模拟结果和演示视频。
本文做出以下贡献:
■ 我们提出双星攻击,这是第一次针对机器人车辆和无人机避障系统中基于立体视觉的深度估计的攻击。
■ 我们是第一个对自治系统发起远程和持续攻击的人。通过仿真,我们展示了双星攻击实现了对无人机的运行轨迹操纵。
■ 不同环境光条件下,我们在两台专为机器人车辆和无人机(ZED 和Intel RealSense D415)设计的商用立体相机,和最先进的无人机之一(DJI Phantom 4 Pro V2)上成功实现了我们的攻击。
02背景
1. 深度估计与镜头炫光效果
图 2 立体视觉中的深度估计
深度估计算法主要用于自治系统中以检测和避开障碍物。基于立体视觉的深度估计将 2D 图像转换为 3D 深度图,其中包含了场景对象与立体相机的距离相关的信息。如图 2所示,立体相机类似于人类的双目视觉,使用立体相机进行深度估计主要涉及立体匹配和三角测量的概念。
图 3 (a) 镜头眩光效应;(b) 光源与炫光位置的关系。
镜头眩光效应是一种由强光通过非理想镜头系统的散射和反射引起的现象,其中图像上会出现炫光(图 3(a))。理想情况下,所有光源都应直接通过镜头到达图像传感器,它们会在图像中形成明亮的眩光。然而,由于镜头的缺陷,一小部分光线在到达图像传感器之前会在镜头系统内多次反射, 这种反射将导致图像上出现多个炫光。在正常光照条件下,这些炫光通常是不可见的。但是,当存在强光源(例如,太阳、灯泡、投影仪)时,镜头炫光会变得非常明显。根据我们的实验,炫光的位置与光源之间的关系是中心对称的,如图 图 3(b) 所示。
2. 深度感知的漏洞
图 4 双星攻击白天攻击 ZED 立体相机。
深度估计算法容易被攻击的主要原因是它们缺乏高阶感知。与人类感知不同,此类算法的决策并非基于个人经验。相反,它们旨在以高置信度将相似的特征(例如,形状、颜色)匹配为立体对应,只要它们在左右图像中处于相对合理的位置即可。因此,大多数深度估计算法都会受到物理扰动的影响。
在双星攻击中,由于错误的光源匹配与错误的炫光匹配,强光源和镜头眩光球会导致错误的深度感知。我们的实验表明 (图 4),由于光源(图 4a)和炫光的错误匹配(图 4d),强光源和镜头眩光会导致错误的深度感知,从而形成一个虚假的深度(图 4b和e),从图 4c和f中,我们可以进一步清晰地看到由于错误的图像匹配产生的虚假物体的位置。
(本文只选取原文中部分章节,更多精彩内容敬请期待后续出版的《网络安全研究进展》)
作者简介
严奇犇,密歇根州立大学计算机科学与工程系的助理教授,弗吉尼亚理工大学计算机科学博士。他曾担任网络安全公司Shape Security的安全研究员,并参与建造了世界第一个商用“botwall”。在加入密西根州立大学前,他曾在内布拉斯加大学林肯分校任教。Qiben Yan是2016年NSF CRII奖的获得者,并获得了ACM CCS 2022最佳论文荣誉奖、IEEE SECON 2021和ACM SenSys 2021最佳论文奖。他目前的研究领域涉及物联网系统、区块链系统安全、移动和物联网安全以及无线通信和安全。Qiben Yan所带领的团队的研究成果屡获各种高影响力媒体关注和报道,包括BBC Radio、Scientific American、Science Daily、Forbes、Popular Mechanics、Gizmodo、The Register等。他最近的研究得到了NSF SaTC, NeTS, SpecEES,DoE和Ford的资助。同时,他也是IEEE高级会员和ACM会员。