论文标题
Ultrafuzz:在分布式模糊中提供资源储蓄
UltraFuzz: Towards Resource-saving in Distributed Fuzzing
论文作者
论文摘要
最近的研究试图通过并行计算提高模糊性能。但是,研究人员专注于提高效率,同时忽略测试资源的增加成本。分布式环境中的平行模糊扩大了由于造成模糊的随机性质引起的浪费资源问题。在并行模式下,由于缺乏适当的任务调度方案以及不同模糊实例之间的及时模糊状态同步,因此发生了任务冲突和工作负载不平衡,从而使资源浪费的问题严重。在本文中,我们设计了Ultrafuzz,这是一种用于分布式模糊资源的杂物。基于集中的动态调度,Ultrafuzz可以派遣任务并在全球且合理地安排功率,以避免浪费资源。此外,Ultrafuzz可以弹性地分配计算能力进行模糊和种子评估,从而避免了阻塞模糊过程的潜在种子评估瓶颈。使用现实世界程序对Ultrafuzz进行了评估,结果表明,使用相同的测试资源,Ultrafuzz优于AFL,AFL-P,PAFL和ENFUZZ等最先进的工具。最重要的是,该实验揭示了某些似乎是违反直觉的结果,即与单核模糊相比,平行模糊可以实现``超线性加速度''。我们进行了其他实验,以揭示这种现象背后的深刻原因,并深入研究平行模糊比串行模糊的固有优势,包括对种子能量调度的全球优化和局部最佳种子的逃脱。此外,使用Ultrafuzz发现了24个现实世界漏洞。
Recent research has sought to improve fuzzing performance via parallel computing. However, researchers focus on improving efficiency while ignoring the increasing cost of testing resources. Parallel fuzzing in the distributed environment amplifies the resource-wasting problem caused by the random nature of fuzzing. In the parallel mode, owing to the lack of an appropriate task dispatching scheme and timely fuzzing status synchronization among different fuzzing instances, task conflicts and workload imbalance occur, making the resource-wasting problem severe. In this paper, we design UltraFuzz, a fuzzer for resource-saving in distributed fuzzing. Based on centralized dynamic scheduling, UltraFuzz can dispatch tasks and schedule power globally and reasonably to avoid resource-wasting. Besides, UltraFuzz can elastically allocate computing power for fuzzing and seed evaluation, thereby avoiding the potential bottleneck of seed evaluation that blocks the fuzzing process. UltraFuzz was evaluated using real-world programs, and the results show that with the same testing resource, UltraFuzz outperforms state-of-the-art tools, such as AFL, AFL-P, PAFL, and EnFuzz. Most importantly, the experiment reveals certain results that seem counter-intuitive, namely that parallel fuzzing can achieve ``super-linear acceleration'' when compared with single-core fuzzing. We conduct additional experiments to reveal the deep reasons behind this phenomenon and dig deep into the inherent advantages of parallel fuzzing over serial fuzzing, including the global optimization of seed energy scheduling and the escape of local optimal seed. Additionally, 24 real-world vulnerabilities were discovered using UltraFuzz.