JIGSAW: Efficient and Scalable Path Constraints Fuzzing

2022 IEEE Symposium on Security and Privacy (SP)(2022)

引用 15|浏览74
暂无评分
摘要
Coverage-guided testing has shown to be an effective way to find bugs. If we model coverage-guided testing as a search problem (i.e., finding inputs that can cover more branches), then its efficiency mainly depends on two factors: (1) the accuracy of the searching algorithm and (2) the number of inputs that can be evaluated per unit time. Therefore, improving the search throughput has shown to be an effective way to improve the performance of coverage-guided testing.In this work, we present a novel design to improve the search throughput: by evaluating newly generated inputs with JIT-compiled path constraints. This approach allows us to significantly improve the single thread throughput as well as scaling to multiple cores. We also developed several optimization techniques to eliminate major bottlenecks during this process. Evaluation of our prototype JIGSAW shows that our approach can achieve three orders of magnitude higher search throughput than existing fuzzers and can scale to multiple cores. We also find that with such high throughput, a simple gradient-guided search heuristic can solve path constraints collected from a large set of real-world programs faster than SMT solvers with much more sophisticated search heuristics. Evaluation of end-to-end coverage-guided testing also shows that our JIGSAW-powered hybrid fuzzer can outperform state-of-the-art testing tools.
更多
查看译文
关键词
scalable path constraints fuzzing,model coverage-guided testing,search problem,searching algorithm,search throughput,newly generated inputs,JIT-compiled path constraints,multiple cores,prototype JIGSAW,magnitude higher search,simple gradient-guided search heuristic,sophisticated search heuristics,end-to-end coverage-guided testing,JIGSAW-powered hybrid fuzzer,state-of-the-art testing tools
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要