Java deserialization vulnerability is a severe threat in practice. Researchers have proposed static analysis solutions to locate candidate vulnerabilities and fuzzing solutions to generate proof-of-concept (PoC) serialized objects to trigger them. However, existing solutions have limited effectiveness and efficiency. In this paper, we propose a novel hybrid solution ODDFUZZ to efficiently discover Java deserialization vulnerabilities. First, ODDFUZZ performs lightweight static taint analysis to identify candidate gadget chains that may cause deserialization vulner-abilities. In this step, ODDFUZZ tries to locate all candidates and avoid false negatives. Then, ODDFUZZ performs directed greybox fuzzing (DGF) to explore those candidates and generate PoC testcases to mitigate false positives. Specifically, ODDFUZZ applies a structure-aware seed generation method to guarantee the validity of the testcases, and adopts a novel hybrid feedback and a step-forward strategy to guide the directed fuzzing. We implemented a prototype of ODDFUZZ and evaluated it on the popular Java deserialization repository ysoserial. Results show that, ODDFUZZ could discover 16 out of 34 known gadget chains, while two state-of-the-art baselines only identify three of them. In addition, we evaluated ODDFUZZ on real-world applications including Oracle WebLogic Server, Apache Dubbo, Sonatype Nexus, and protostuff, and found six previously unreported exploitable gadget chains with five CVEs assigned.


翻译:Java反序列化漏洞在实践中是一种严重的威胁。研究人员提出了静态分析和模糊测试解决方案以定位候选漏洞和生成触发它们的序列化对象的概念证明(PoC)。然而,现有解决方案的有效性和效率有限。在本文中,我们提出了一种新型混合解决方案ODDFUZZ,以高效地发现Java反序列化漏洞。首先,ODDFUZZ执行轻量级静态污点分析,以识别可能导致反序列化漏洞的候选机构链。在此步骤中,ODDFUZZ试图找到所有候选者并避免假阴性。然后,ODDFUZZ执行定向灰盒模糊测试(DGF)以探索这些候选者并生成PoC测试用例以减少假阳性。具体而言,ODDFUZZ采用结构感知的种子生成方法来保证测试用例的有效性,并采用新颖的混合反馈和步进策略来引导定向模糊测试。我们实现了ODDFUZZ的原型,并对流行的Java反序列化存储库ysoserial进行了评估。结果表明,ODDFUZZ可以发现34个已知机构链中的16个,而两个最先进的基线仅识别其中三个。此外,我们还在Oracle WebLogic Server,Apache Dubbo,Sonatype Nexus和protostuff等实际应用程序上进行了ODDFUZZ的评估,并发现了六个之前未报告的可利用的机构链,其中五个CVE已被指定。

0
下载
关闭预览

相关内容

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。
49篇ICLR2020高分「图机器学习GML」接受论文及代码
专知会员服务
61+阅读 · 2020年1月18日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
RSA创新沙盒盘点 | Cycode——软件供应链安全完整解决方案
CCF计算机安全专委会
0+阅读 · 2022年6月2日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
【泡泡一分钟】DS-SLAM: 动态环境下的语义视觉SLAM
泡泡机器人SLAM
23+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
黑白之道
19+阅读 · 2018年12月23日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
92+阅读 · 2020年2月28日
VIP会员
相关VIP内容
49篇ICLR2020高分「图机器学习GML」接受论文及代码
专知会员服务
61+阅读 · 2020年1月18日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
RSA创新沙盒盘点 | Cycode——软件供应链安全完整解决方案
CCF计算机安全专委会
0+阅读 · 2022年6月2日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
【泡泡一分钟】DS-SLAM: 动态环境下的语义视觉SLAM
泡泡机器人SLAM
23+阅读 · 2019年1月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
黑白之道
19+阅读 · 2018年12月23日
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员