中文

SnapFuzz:一种高效的网络应用模糊测试框架

密码学与安全 2022-05-31 v2 软件工程

摘要

近年来,模糊测试受益于计算能力的提升和重要的算法进展,产生了能够在生产软件中发现许多严重缺陷和漏洞的系统。尽管取得这些成功,并非所有应用都能被高效模糊测试。特别是,有状态应用(如网络协议实现)受其低模糊测试吞吐量的制约,且需要开发能够重置状态并隔离副作用的模糊测试 harness。在本文中,我们提出 SnapFuzz,一种面向网络应用的新型模糊测试框架。SnapFuzz 提供了一种稳健的架构,将缓慢的异步网络通信转换为快速的同步通信,在最新且安全的时刻对目标进行快照,通过将全部文件操作重定向到自定义内存文件系统来加速,并消除了许多脆弱修改的需要(例如配置时间延迟或编写清理脚本),以及其他若干改进。使用 SnapFuzz,我们对五个流行的网络应用进行了模糊测试:LightFTP、TinyDTLS、Dnsmasq、LIVE555 和 Dcmqrscp。我们分别报告了 62.8x、41.2x、30.6x、24.6x 和 8.4x 的显著性能加速,且在所有情况下 harness 都显著简化。凭借其性能优势,SnapFuzz 还在这些应用中比 AFLNet 多发现了 12 个崩溃。

关键词

引用

@article{arxiv.2201.04048,
  title  = {SnapFuzz: An Efficient Fuzzing Framework for Network Applications},
  author = {Anastasios Andronidis and Cristian Cadar},
  journal= {arXiv preprint arXiv:2201.04048},
  year   = {2022}
}