ODDFUZZ:通过结构感知的定向灰盒模糊测试发现 Java 反序列化漏洞
密码学与安全
2023-04-11 v1
摘要
Java 反序列化漏洞在实践中是一种严重威胁。研究者已提出静态分析方案来定位候选漏洞,以及模糊测试方案来生成概念验证(PoC)序列化对象以触发它们。然而,现有方案的有效性和效率有限。本文中,我们提出一种新颖的混合方案 ODDFUZZ,以高效发现 Java 反序列化漏洞。首先,ODDFUZZ 执行轻量级静态污点分析,以识别可能导致反序列化漏洞的候选 gadget 链。在此步骤中,ODDFUZZ 试图定位所有候选并避免漏报。然后,ODDFUZZ 执行定向灰盒模糊测试(DGF)来探索这些候选并生成 PoC 测试用例以降低误报。具体而言,ODDFUZZ 应用一种结构感知的种子生成方法来保证测试用例的有效性,并采用一种新颖的混合反馈和逐步前进策略来引导定向模糊测试。我们实现了 ODDFUZZ 的原型,并在流行的 Java 反序列化仓库 ysoserial 上对其进行了评估。结果表明,ODDFUZZ 能发现 34 条已知 gadget 链中的 16 条,而两个最先进的基线仅能识别其中的 3 条。此外,我们在包括 Oracle WebLogic Server、Apache Dubbo、Sonatype Nexus 和 protostuff 在内的真实应用上评估了 ODDFUZZ,发现了六条先前未报告的可利用 gadget 链,并分配了五个 CVE。
引用
@article{arxiv.2304.04233,
title = {ODDFUZZ: Discovering Java Deserialization Vulnerabilities via Structure-Aware Directed Greybox Fuzzing},
author = {Sicong Cao and Biao He and Xiaobing Sun and Yu Ouyang and Chao Zhang and Xiaoxue Wu and Ting Su and Lili Bo and Bin Li and Chuanlei Ma and Jiajia Li and Tao Wei},
journal= {arXiv preprint arXiv:2304.04233},
year = {2023}
}
备注
To appear in the Main Track of IEEE S&P 2023