如需转载请注明出处,侵权必究。
本文发表于CCS 22,第一作者是来自佐治亚理工学院的Seulbae Kim博士。
背景
sensing:使用各种传感器获取周围环境的原始数据;
perception:融合捕获的传感器数据,以理解当前的位置和车辆周围的环境;
planning:根据感知到的状态,为给定的地图和目的地制定路径规划;
actuation:根据路径规划,建立一个具体的运动计划,包括方向盘角度、速度等,并将相应指令发送给车辆实现自动驾驶。
挑战
系统架构设计
工作流程
Mutation engine
Test executor
Test executor利用驾驶模拟器,在给定的驾驶场景下运行目标ADS,同时为模糊过程收集各种车辆状态。
Misbehavior detector
Misbehavior detector根据现实世界的交通法规检测自动驾驶过程中存在的错误行为,具体包括以下几种事件:碰撞、违规行为(包括超速、车道入侵、闯红灯)、非法停车。在检测到错误行为后,将生成bug报告,并在记录所有的车辆状态以进行后续检查后立即终止模拟过程。
Driving quality feedback engine
如果没有检测到错误行为,Driving quality feedback engine会对本次模拟的驾驶质量进行打分。作者参考了美国国家公路交通安全管理局运输部调查交通事故原因的报告和汽车保险公司的数据,确定了引发交通事故的几种主要的鲁莽驾驶行为,具体包括硬加速、硬刹车、硬转弯、转向过度和转向不足。DriveFuzz基于这些行为出现的次数,以及与其他参与者的最小距离来衡量驾驶质量。驾驶质量分数会作为反馈提供给Mutation engine,以引导下次突变产生更容易导致错误行为的输入场景。
实验评估
漏洞挖掘能力
对比最先进的测试方法
作者从定量和定性两个角度分析了DriveFuzz在漏洞发掘方面的能力优于最先进的ADS测试方法——AV-Fuzzer。首先,从定量角度分析,AV-Fuzzer的输入空间是DriveFuzz的一个子集,覆盖的输入场景数量远不如DriveFuzz;而且,AV-fuzzer只能检测碰撞,DriveFuzz还可以检测违反交规的行为。其次,从定性角度分析,DriveFuzz提供的反馈质量高于AV-Fuzzer,DriveFuzz考虑了车辆的物理状态,提供对鲁莽行为的细粒度反馈,而AV-Fuzzer只关注了车辆互相接近的情况,没考虑车辆的物理状态。
驾驶质量评估的正确性与有效性
在相同条件下运行具有驾驶质量反馈和没有驾驶质量反馈的两种fuzzer,结果如下图,具有驾驶质量反馈的fuzzer在相同时间内能够发现更多错误行为,证明了驾驶质量反馈的有效性。
本文提出了一个端到端的模糊框架,它将ADS的所有层作为整体进行测试,并提出了驾驶质量的概念以引导fuzzer的突变,从而检测ADS所有层中容易被攻击者利用的bug。从实验结果来看,DriveFuzz发现了两个ADS中的30个新漏洞以及CARLA模拟器中的3个漏洞,证明了该工具在漏洞挖掘方面的有效性,为提高ADS的整体安全性做出了贡献。
Q&A
Q1. 突变过程中施加的约束及目的是什么?
包括空间约束和时间约束,它们的目的是排除不切实际的场景,避免其引发错误行为导致的假阳性。具体来讲,空间约束通过规定不同参与者之间的最小距离实现,时间约束通过规定参与者的最大速度实现。
Q2. 为什么用驾驶质量作为反馈,而不用传统的代码覆盖度作反馈?
因为代码覆盖度主要应用于软件模糊测试,在这一场景下,代码覆盖度的提高确实能帮助发现更多的bug,而对ADS的模糊测试,目的是发现由bug引发的错误行为,错误行为不依赖于代码覆盖度,而是与驾驶过程中的鲁莽行为密切相关。驾驶质量综合考虑了几种容易引发事故的鲁莽行为,用其作反馈可以生成更容易触发错误行为的输入,有助于发现更多bug。
Q3. 驾驶质量反馈机制的主要贡献是什么?
-
1. 使用车辆的物理状态,可以量化驾驶过程中的鲁莽行为,而不需要代码分析。
-
2. 提供了细粒度的反馈机制,为驾驶场景的生成提供了有效的指导,有利于检测到实际的错误行为。
-
Q4. 如何识别错误行为的根本原因?
通过重放触发错误行为的数据进行组件级的数据流和控制流分析,具体包括分析sensing层是否准确地读取了环境信息、perception层是否正确解释了传感器捕获的数据、planning层是否找到了一条可行的路径、actuation层是否发出了恰当的控制命令。
Q5. 本文工作存在哪些不足?
-
1. 反馈驱动的fuzzer存在局部最优问题,可能导致遗漏了与feedback关系较小的其他潜在错误。
-
2. 可能存在不影响驾驶质量评分,但仍会导致错误行为的攻击。比如攻击者在一条直道上伪造一个弯曲车道,并引导车辆行驶在这条虚假车道上,车辆的驾驶质量评分很好,但会导致车道入侵等错误行为。
文案:刘智晨
排版:LC
戳“阅读原文”即可查看论文原文哦~
原文始发于微信公众号(复旦白泽战队):白泽带你读论文 | DriveFuzz