当前位置: X-MOL 学术Cybersecurity › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
From proof-of-concept to exploitable
Cybersecurity Pub Date : 2019-03-29 , DOI: 10.1186/s42400-019-0028-9
Yan Wang , Wei Wu , Chao Zhang , Xinyu Xing , Xiaorui Gong , Wei Zou

Exploitability assessment of vulnerabilities is important for both defenders and attackers. The ultimate way to assess the exploitability is crafting a working exploit. However, it usually takes tremendous hours and significant manual efforts. To address this issue, automated techniques can be adopted. Existing solutions usually explore in depth the crashing paths, i.e., paths taken by proof-of-concept (PoC) inputs triggering vulnerabilities, and assess exploitability by finding exploitable states along the paths. However, exploitable states do not always exist in crashing paths. Moreover, existing solutions heavily rely on symbolic execution and are not scalable in path exploration and exploit generation.In this paper, we propose a novel solution to generate exploit for userspace programs or facilitate the process of crafting a kernel UAF exploit. Technically, we utilize oriented fuzzing to explore diverging paths from vulnerability point. For userspace programs, we adopt a control-flow stitching solution to stitch crashing paths and diverging paths together to generate exploit. For kernel UAF, we leverage a lightweight symbolic execution to identify, analyze and evaluate the system calls valuable and useful for exploiting vulnerabilities.We have developed a prototype system and evaluated it on a set of 19 CTF (capture the flag) programs and 15 realworld Linux kernel UAF vulnerabilities. Experiment results showed it could generate exploit for most of the userspace test set, and it could also facilitate security mitigation bypassing and exploitability evaluation for kernel test set.

中文翻译:

从概念验证到可利用

漏洞的可利用性评估对防御者和攻击者都很重要。评估可利用性的最终方法是制作一个有效的漏洞利用。然而,这通常需要大量的时间和大量的手动工作。为了解决这个问题,可以采用自动化技术。现有解决方案通常深入探索崩溃路径,即触发漏洞的概念验证 (PoC) 输入所采用的路径,并通过沿路径查找可利用状态来评估可利用性。然而,可利用的状态并不总是存在于崩溃路径中。此外,现有解决方案严重依赖符号执行,并且在路径探索和漏洞利用生成方面不可扩展。在本文中,我们提出了一种新的解决方案来为用户空间程序生成漏洞利用或促进制作内核 UAF 漏洞利用的过程。从技术上讲,我们利用定向模糊测试从漏洞点探索不同的路径。对于用户空间程序,我们采用控制流拼接解决方案将崩溃​​路径和发散路径拼接在一起以生成漏洞利用。对于内核 UAF,我们利用轻量级符号执行来识别、分析和评估对利用漏洞有价值和有用的系统调用。我们开发了一个原型系统,并在一组 19 个 CTF(捕获标志)程序和 15 个真实世界中对其进行了评估Linux 内核 UAF 漏洞。实验结果表明,它可以为大多数用户空间测试集生成漏洞利用,并且还可以促进安全缓解绕过和内核测试集的可利用性评估。对于用户空间程序,我们采用控制流拼接解决方案将崩溃​​路径和发散路径拼接在一起以生成漏洞利用。对于内核 UAF,我们利用轻量级符号执行来识别、分析和评估对利用漏洞有价值和有用的系统调用。我们开发了一个原型系统,并在一组 19 个 CTF(捕获标志)程序和 15 个真实世界中对其进行了评估Linux 内核 UAF 漏洞。实验结果表明,它可以为大多数用户空间测试集生成漏洞利用,并且还可以促进安全缓解绕过和内核测试集的可利用性评估。对于用户空间程序,我们采用控制流拼接解决方案将崩溃​​路径和发散路径拼接在一起以生成漏洞利用。对于内核 UAF,我们利用轻量级符号执行来识别、分析和评估对利用漏洞有价值和有用的系统调用。我们开发了一个原型系统,并在一组 19 个 CTF(捕获标志)程序和 15 个真实世界中对其进行了评估Linux 内核 UAF 漏洞。实验结果表明,它可以为大多数用户空间测试集生成漏洞利用,并且还可以促进安全缓解绕过和内核测试集的可利用性评估。分析和评估对利用漏洞有价值和有用的系统调用。我们开发了一个原型系统,并在一组 19 个 CTF(捕获标志)程序和 15 个真实世界的 Linux 内核 UAF 漏洞上对其进行了评估。实验结果表明,它可以为大多数用户空间测试集生成漏洞利用,并且还可以促进安全缓解绕过和内核测试集的可利用性评估。分析和评估对利用漏洞有价值和有用的系统调用。我们开发了一个原型系统,并在一组 19 个 CTF(捕获标志)程序和 15 个真实世界的 Linux 内核 UAF 漏洞上对其进行了评估。实验结果表明,它可以为大多数用户空间测试集生成漏洞利用,并且还可以促进安全缓解绕过和内核测试集的可利用性评估。
更新日期:2019-03-29
down
wechat
bug