Effective Program Debloating via Reinforcement Learning

被引:96
作者
Heo, Kihong [1 ]
Lee, Woosuk [1 ,2 ]
Pashakhanloo, Pardis [1 ]
Naik, Mayur [1 ]
机构
[1] Univ Penn, Philadelphia, PA 19104 USA
[2] Hanyang Univ, Seoul, South Korea
来源
PROCEEDINGS OF THE 2018 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'18) | 2018年
关键词
program debloating; reinforcement learning;
D O I
10.1145/3243734.3243838
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Prevalent software engineering practices such as code reuse and the "one-size-fits-all" methodology have contributed to significant and widespread increases in the size and complexity of software. The resulting software bloat has led to decreased performance and increased security vulnerabilities. We propose a system called Chisel to enable programmers to effectively customize and debloat programs. Chisel takes as input a program to be debloated and a high-level specification of its desired functionality. The output is a reduced version of the program that is correct with respect to the specification. Chisel significantly improves upon existing program reduction systems by using a novel reinforcement learning-based approach to accelerate the search for the reduced program and scale to large programs. Our evaluation on a suite of 10 widely used UNIX utility programs each comprising 13-90 KLOC of C source code demonstrates that Chisel is able to successfully remove all unwanted functionalities and reduce attack surfaces. Compared to two state-of-the-art program reducers C-Reduce and Perses, which time out on 6 programs and 2 programs respectively in 12 hours, Chisel runs up to 7.1x and 3.7x faster and finishes on all programs.
引用
收藏
页码:380 / 394
页数:15
相关论文
共 29 条
[1]  
Agrawal Hiralal, 1990, P ACM SIGPLAN 1990 C
[2]  
[Anonymous], 2017, P 2017 11 JOINT M FD
[3]  
Bates S., 1993, P 20 ACM SIGPLAN SIG
[4]  
Bhattacharya Suparna, 2013, P 2013 ACM SIGPLAN I
[5]  
Carbin Michael, 2011, P 25 EUR C OBJ OR PR
[6]  
Ferles Kostas, 2017, P 2017 11 JOINT M FD
[7]  
Gulwani S, 2017, FOUND TRENDS PROGRAM, V4, P1, DOI 10.1561/2500000010
[8]  
Herfert Satia, 2017, P 32 IEEE ACM INT C
[9]  
Hindle Abram, 2016, COMMUNICATIONS ACM C
[10]  
Holler Christian, 2012, USENIX SEC S