论文标题

hotfuzz:通过指导的微型填充发现算法拒绝服务漏洞

HotFuzz: Discovering Algorithmic Denial-of-Service Vulnerabilities Through Guided Micro-Fuzzing

论文作者

Blair, William, Mambretti, Andrea, Arshad, Sajjad, Weissbacher, Michael, Robertson, William, Kirda, Engin, Egele, Manuel

论文摘要

当代绒毛测试技术集中于识别记忆损坏漏洞,使对手能够实现远程代码执行或信息披露。同时,算法复杂性(AC)漏洞是拒绝服务攻击的常见攻击向量,仍然是一个研究的威胁。在本文中,我们提出了Hotfuzz,这是一个自动发现Java库中AC漏洞的框架。 Hotfuzz使用微填充,这是一种遗传算法,它会演变出任意的Java对象,以触发测试方法的最坏情况性能。我们将小递归实例化(SRI)定义为一种技术,以推导代表Java对象的种子输入到微型模糊。在微填充后,Hotfuzz合成了将AC漏洞触发到Java程序并监视其执行的测试用例,以便在模糊框架之外复制漏洞。 Hotfuzz输出了那些表现出高CPU利用率作为Java库中AC漏洞的证人的程序。我们评估了Hotfuzz对Java运行时环境(JRE)(JRE),这是MAVEN上100个最受欢迎的Java库,以及DARPA网络安全(STAC)计划中DARPA时空和时间分析中包含的挑战。我们通过比较微型模糊的性能与SRI的性能,以通过检测到的AC漏洞数量来评估SRI的有效性,以简单地将空值用作种子输入。在此评估中,我们验证了已知的AC漏洞,发现了以前未知的AC漏洞,我们负责向供应商报告,并收到了IBM和Oracle的确认。我们的结果表明,微型模糊在现实世界软件中找到了交流漏洞,并且使用空价值的Sri衍生种子输入的微型填充使用空价值优于空。

Contemporary fuzz testing techniques focus on identifying memory corruption vulnerabilities that allow adversaries to achieve either remote code execution or information disclosure. Meanwhile, Algorithmic Complexity (AC)vulnerabilities, which are a common attack vector for denial-of-service attacks, remain an understudied threat. In this paper, we present HotFuzz, a framework for automatically discovering AC vulnerabilities in Java libraries. HotFuzz uses micro-fuzzing, a genetic algorithm that evolves arbitrary Java objects in order to trigger the worst-case performance for a method under test. We define Small Recursive Instantiation (SRI) as a technique to derive seed inputs represented as Java objects to micro-fuzzing. After micro-fuzzing, HotFuzz synthesizes test cases that triggered AC vulnerabilities into Java programs and monitors their execution in order to reproduce vulnerabilities outside the fuzzing framework. HotFuzz outputs those programs that exhibit high CPU utilization as witnesses for AC vulnerabilities in a Java library. We evaluate HotFuzz over the Java Runtime Environment (JRE), the 100 most popular Java libraries on Maven, and challenges contained in the DARPA Space and Time Analysis for Cybersecurity (STAC) program. We evaluate SRI's effectiveness by comparing the performance of micro-fuzzing with SRI, measured by the number of AC vulnerabilities detected, to simply using empty values as seed inputs. In this evaluation, we verified known AC vulnerabilities, discovered previously unknown AC vulnerabilities that we responsibly reported to vendors, and received confirmation from both IBM and Oracle. Our results demonstrate that micro-fuzzing finds AC vulnerabilities in real-world software, and that micro-fuzzing with SRI-derived seed inputs outperforms using empty values.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源