Abstract

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.

Details

Title
From proof-of-concept to exploitable
Author
Wang, Yan 1 ; Wu, Wei 2 ; Zhang, Chao 3 ; Xing Xinyu 4 ; Gong Xiaorui 5 ; Zou, Wei 5 

 School of Cyber Security, University of Chinese Academy of Sciences, Beijing, China (GRID:grid.410726.6) (ISNI:0000 0004 1797 8419); Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China (GRID:grid.458480.5) (ISNI:0000 0004 0559 5648); Key Laboratory of Network Assessment Technology, CAS, Beijing, China (GRID:grid.9227.e) (ISNI:0000000119573309); Beijing Key Laboratory of Network Security and Protection Technology, Beijing, China (GRID:grid.9227.e) 
 School of Cyber Security, University of Chinese Academy of Sciences, Beijing, China (GRID:grid.410726.6) (ISNI:0000 0004 1797 8419); College of Information Sciences and Technology, Pennsylvania State University, University Park, United States (GRID:grid.29857.31) (ISNI:0000 0001 2097 4281); Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China (GRID:grid.458480.5) (ISNI:0000 0004 0559 5648) 
 Institute for Network Sciences and Cyberspace, Tsinghua University, Beijing, China (GRID:grid.12527.33) (ISNI:0000 0001 0662 3178) 
 College of Information Sciences and Technology, Pennsylvania State University, University Park, United States (GRID:grid.29857.31) (ISNI:0000 0001 2097 4281) 
 School of Cyber Security, University of Chinese Academy of Sciences, Beijing, China (GRID:grid.410726.6) (ISNI:0000 0004 1797 8419); Institute of Information Engineering, Chinese Academy of Sciences, Beijing, China (GRID:grid.458480.5) (ISNI:0000 0004 0559 5648) 
Publication year
2019
Publication date
Dec 2019
Publisher
Springer Nature B.V.
e-ISSN
25233246
Source type
Scholarly Journal
Language of publication
English
ProQuest document ID
2430230921
Copyright
© The Author(s) 2019. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.