今天分享我们白泽实验室的最新研究成果:VioHawk: Detecting Traffic Violations of Autonomous Driving Systems through Criticality-Guided Simulation Testing。该工作是一个通过危险程度引导的仿真测试工具,专门用于检测自动驾驶系统(ADS)的交通违规行为。VioHawk通过模拟各种驾驶场景,并通过定向引导自动驾驶车辆进入可能违反交通法规的危险区域,显著提高了交通违规检测的效率和准确性。目前该研究已被顶级国际会议ACM SIGSOFT ISSTA 2024录用。
引言
交通法规的遵守是ADS商业化的基本要求,但现有的检测方法在发现ADS潜在违规行为方面存在一定的局限性。VioHawk通过引入基于危险程度的场景调度和变异指导机制,不仅有效提升了违规行为检测的效率,还提供了明确的场景变异指导策略,使得系统能够更精确地触发潜在的违规行为。
研究背景
随着自动驾驶技术的不断进步,ADS在提高出行安全性和便利性方面展现出巨大的潜力。然而,ADS的广泛部署仍然面临多重挑战,尤其是在确保其能够在复杂多变的实际驾驶环境中严格遵守全球各地复杂多样的交通法规方面。这些法规不仅在不同地区存在显著差异,而且涵盖了广泛的驾驶行为和情境,如直行、转弯、停车等。现有测试方法在处理这些复杂场景时,通常需要大量的场景变异和探索,导致资源浪费且难以有效覆盖所有违规场景。
图一 在Apollo 7.0上的交规违反场景
以图一中的违规场景为例,在纽约的交通法规中,禁止车辆跨越双黄线进行超车。然而,在模拟的场景中,装备了Apollo 7.0的自动驾驶车辆在双黄线道路上做出了非法的超车行为,导致了交通违规。这一违规行为是由于Apollo系统在判断道路条件时,只考虑了单实线作为禁止变道的条件,而忽略了双黄线。
研究内容
在上述背景下,VioHawk针对两个挑战提出了两项核心技术,如图二所示:
图二 VioHawk的工作流程
挑战一:交通法规的复杂性与多样性
现有的交通法规因其复杂性和多样性,给仿真测试场景的设计带来了巨大挑战。为此,VioHawk引入了基于分解的交通法规形式化方法,通过将复杂的交通法规分解为“驾驶意图”和“驾驶条件”两部分,从而生成明确的“危险区域”,并以此为基础对场景进行形式化处理。
挑战二:缺乏针对性的场景变异指导
现有方法在场景变异过程中缺乏明确的指导策略,导致测试资源分散使用,检测效率低下。VioHawk通过引入基于危险度的场景调度机制和变异引导策略,优化了场景搜索过程。具体而言,系统通过对车辆可能进入的危险区域进行评分,并逐步压缩其非危险区域,引导车辆进入更高风险的区域,从而更容易触发交通违规行为。
实验效果
我们通过两个方面验证了VioHawk在自动驾驶系统交通违规行为挖掘上的有效性和准确性:一是复现已知的ADS交通违规行为,二是识别先前未知的违规行为。如表格1所示,VioHawk在复现交通违规方面表现出色,成功率远高于基准工具,并能显著节省再现时间,平均只需15轮变异即可触发预期违规;如图3所示,通过使用VioHawk,我们发现Apollo 7.0和8.0中分别有9/10和8/10的交通法规可能被违反,这些违规行为从未被先前工作识别。
表一 VioHawk与现有工具的在违规行为复现中的表现比较
表二 Apollo上通过VioHawk新发现的交通违规行为
研究贡献
通过这项研究,我们做出了以下主要贡献:
1.交通法规形式化:提出了一种创新的方法,将复杂的交通法规形式化为“危险区域”。
2.VioHawk系统:开发了一个基于仿真的自动驾驶系统模糊测试工具,能够有效检测ADS中的交通违规行为。
3.实验验证:通过广泛的实验展示了VioHawk在实际应用中的有效性,特别是在工业级ADS中的应用效果。
4.开源贡献:我们公开了VioHawk的源码和基准数据集(详见:https://github.com/emocat/VioHawk ,或点击阅读原文),以促进学术界和工业界的进一步研究。
团队介绍
指导老师:戴嘉润,复旦大学计算机科学技术学院专任副研究员。主要的研究方向为软件安全,程序分析,无人驾驶系统安全等,相关的研究成果发表在CCS, USENIX Security, ICSE等网络安全领域和软件工程领域的知名会议。
个人主页:https://djrrr.github.io/
供稿:游年浩
润色、排版:gbf
审核:张琬琪、洪赓、戴嘉润、邬梦莹
复旦白泽战队
一个有情怀的安全团队
还没有关注复旦白泽战队?
公众号、知乎、微博搜索:复旦白泽战队也能找到我们哦~
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...