原文始发于看雪论坛(星舆实验室):自动驾驶欺骗 之 幻影攻击
0x00 前言
大家好, 我是星舆车联网实验室Kevin2600。星舆取 “星辰大海, 舆载万物”之意, 是专注于车联网技术研究, 漏洞挖掘和工具研发的安全团队。团队成员在漏洞挖掘, 硬件逆向与AI大数据方面有着丰富经验, 连续在GeekPwn等破解赛事中斩获奖项, 并获众厂商致谢。团队研究成果多次发表于DEFCON等国内外顶级安全会议。
笔者之前有幸参观了2020北京国际车展, 展会主题是“软件定义汽车”. 几乎每个参展车企都推出至少一款智能汽车. 而最能体现智能汽车的一个功能就是自动驾驶. 从小鹏; 蔚来到特斯拉均以其拥有自动驾驶作为宣传热点. 除了传统车企, 很多互联网背景的公司也纷纷入坑. 2020年10月百度宣布即日起,在北京全面开放自动驾驶出租车(Robotaxi)服务. 这是百度的无人车Apollo继长沙; 沧州后该项服务常态化的第三个城市.
百度表示Apollo目前水平已经达到L4级别. 这意味着在特定的道路环境中,Apollo可以独自完成全部驾驶任务. 作为租凭业务的老大滴滴也同样在自动驾驶领域发力. 传统电商企业也不甘示弱, 诸如京东等企业也纷纷布局自动驾驶领域, 测试自己的无人配送货车. 于是一夜间自动驾驶似乎成为了比拼各大企业技术实力的标准之一。作为业界翘楚的特斯拉甚至宣称它们的FSD 自动驾驶解决方案比人类驾驶员还有要安全9 倍。
那么问题来了这些自动驾驶安全性能究竟如何? 这是安全研究人员和大众非常关注的问题. 无独有偶在2020年10月24日的GeekPwn2020新基建安全大赛上, 白帽黑客利用自制的雷达干扰设备, 成功欺骗毫米波雷达使自特斯拉”致盲” 径直撞向前方障碍物.
0x01 ADAS科普
为了方便理解文章后面的攻击目标, 我们先来了解下自动驾驶以及ADAS高级驾驶辅助系统的基础知识吧. ADAS 俗称 Advanced Driving Assistance System 高级驾驶辅助系统. 包括了紧急制动系统、车道保持系统、驾驶员监测系统等功能在内的ADAS功能,能够有效的解决上述问题,从而降低事故的发生率。换句话说ADAS就是利用安装在车上的各式各样传感器收集数据,并结合地图数据进行系统计算,从而预先为驾驶者判断可能发生的危险,保证行车的安全性。
ADAS 按具体功能又可以分为:提示预警类、控制类、网联类。网联类ADAS功能是随着智慧交通、智慧城市、车辆智能网联技术的发展而出现的高级辅助驾驶功能,目前尚在不断拓展完善。 ADAS功能主要包括:ACC、AEBS、LDW、DMS、FCW、盲区监测等。通过激光, 毫米波雷达和摄像头系统的协作,ADAS能够在特定条件下识别前车、静止障碍物以及路面上的各种行人状态,如迎面而来、横穿马路、走在路上或突然停下的行人等。所以说自动驾驶是为了提供更加方便安全的驾驶体验而生的。这里来看两个特斯拉的自动驾驶视频, 更直观的感受下吧。
视频1 特斯拉自动驾驶 – 召唤功能
(https://v.qq.com/x/page/i3300toi870.html)
视频2 特斯拉自动驾驶 – 泊车功能
(https://v.qq.com/x/page/o33000d839q.html)
0x02 ADAS攻击原理
事实上在自动驾驶安全研究上, 已有不少团队做了相关研究. 其中比较有趣的是由以色列本.古李安大学的研究员做的幻影攻击。其实所谓的幻影攻击就是使用投影仪在物体表面投影出人像或汽车的图像, 以其达到欺骗自动驾驶汽车摄像传感器的效果。
虽说自动驾驶汽车都有多传感器的数据融合设计, 由于现实世界场景的复杂性,并且涉及到生命安全, 很多厂商比如特斯拉抱着宁可误报绝不漏报的原则, 物体检测算法的阈值设置的相对宽松, 而这也带来了负面的效果, 如上图中特斯拉竟把远处的月亮识别成了交通灯, 巴士广告上的人像识别成了真人。大多数读者可能会觉得很搞笑, 但是如果攻击者滥用这种特性进行恶意攻击, 带来的可怕后果就不乐观了。 如下图本.古李安大学的研究员成功通过投影仪欺骗了特斯拉, 使其将投放的人像误认为真人从而自动刹车。
0x03 ADAS攻击实战
本着实战出真理的原则, 笔者也分别针对理想ONE 和特斯拉Model X 俩款汽车的ADAS系统进行了幻影攻击复现测试。 结果可喜可忧, 目前的L2自动驾驶很容易欺骗成功. 不过幸运的是欺骗的条件相对苛刻. 因为大多数时候攻击只能在夜晚进行且对攻击角度也有苛刻的要求。以下是攻击测试视频, 第一个视频理想汽车ADAS欺骗, 注意这还是在大白天, 攻击却依旧成功。(https://v.qq.com/x/page/g3300i5r9hu.html)
第二个为特斯拉ADAS欺骗视频 (https://v.qq.com/x/page/s33001cu5of.html)有意思的是大家可以看出其识别算法并不区分人类的具体性别, 事实上通过调整投放物体的大小, 特斯拉分别将美女图像识别成了小轿车或卡车等物体。
0x04 总结
目前全球范围内发生了多起跟自动驾驶相关的交通事故. 大家一定要清醒的认识到目前所谓的自动驾驶, 大多只是 L2 级别辅助驾驶。行驶过程中驾驶员必须随时关注道路并接管,但还是有很多人无视这一现实情况, 人类社会对于新技术的一大挑战, 就是技术本身还没有准备好, 人类却高估了技术能做的事情。曾经轰动一时的 “自动驾驶杀人案” 在2020年有了初步判决结果. 检察官表示坐在驾驶位的安全员被控过失杀人罪. 但她所在的公司 Uber 在这起事件中不会面临刑事指控. 这是全世界范围内第一起自动驾驶汽车撞人致死的交通事故. 这起事故本身反映的问题更值得我们思考, 人与机器共同犯下的错误, 要由人来承担所有罪过吗?
马斯克在2020 年10月发推宣布,特斯拉将给部分用户推送完全自动驾驶(FSD)测试版软件. 这不仅仅是简单的功能更新, 而是对基础架构进行了重写. 用户可以从家到公司全程开启,几乎不用干预. 新增功能可以让特斯拉识别交通信号灯和停车标志并做出反应. 但很快有用户发现在某些场景下, 特斯拉的表现并不尽人意. 其将画有圆圈的旗杆识别成了交通信号灯. 显然特斯拉及所有车企的终极目标是实现 L5自动驾驶, 但从目前来看能走多远仍是一个未知数。不过笔者认为未来绝对可期. 真正黑客精神也正是如此, 一次又一次挑战不可能, 从而推动人类社会进步。