arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2002.10751cs.CR
收藏

二进制层次的有向Fuzzing算法在释放漏洞后再搜索中的应用

Binary-level Directed Fuzzing for Use-After-Free Vulnerabilities

Manh-Dung Nguyen, Sébastien Bardin, Richard Bonichon, Roland Groz, Matthieu Lemerre

摘要:

定向模糊测试侧重于通过利用附加信息(如(部分)错误堆栈跟踪、补丁或风险操作)自动测试代码的特定部分。主要应用包括错误再现、补丁测试和静态分析报告验证。虽然定向模糊最近受到了很多关注,但难以检测的漏洞,如释放后的加密(UAF)仍然没有得到很好的解决,特别是在二进制级别。我们提出UAFuzz,第一个(二进制级别)直接灰盒模糊专用于UAF错误。该技术具有针对UAF特性定制的模糊引擎,轻量级代码插装和高效的错误分类步骤。对真实案例的错误再现的实验评估表明,UAFuzz在故障检测率、暴露时间和错误分类方面明显优于最先进的定向模糊器。UAFuzz在补丁测试中也被证明是有效的,在Perl,GPAC和GNU Patch等程序中发现了30个新的bug(7个CVE)。最后,我们向社区提供了一个专门用于UAF的大型模糊测试基准,该基准建立在真实代码和真实错误的基础上。

英文摘要:

Directed fuzzing focuses on automatically testing specific parts of the code by taking advantage of additional information such as (partial) bug stack trace, patches or risky operations. Key applications include bug reproduction, patch testing and static analysis report verification. Although directed fuzzing has received a lot of attention recently, hard-to-detect vulnerabilities such as Use-After-Free (UAF) are still not well addressed, especially at the binary level. We propose UAFuzz, the first (binary-level) directed greybox fuzzer dedicated to UAF bugs. The technique features a fuzzing engine tailored to UAF specifics, a lightweight code instrumentation and an efficient bug triage step. Experimental evaluation for bug reproduction on real cases demonstrates that UAFuzz significantly outperforms state-of-the-art directed fuzzers in terms of fault detection rate, time to exposure and bug triaging. UAFuzz has also been proven effective in patch testing, leading to the discovery of 30 new bugs (7 CVEs) in programs such as Perl, GPAC and GNU Patch. Finally, we provide to the community a large fuzzing benchmark dedicated to UAF, built on both real codes and real bugs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑