Enhancing Memory Error Detection for Large-Scale Applications and Fuzz Testing

被引:20
作者
Han, Wookhyun [1 ]
Joe, Byunggill [1 ]
Lee, Byoungyoung [2 ]
Song, Chengyu [3 ]
Shin, Insik [1 ]
机构
[1] Korea Adv Inst Sci & Technol, Daejeon, South Korea
[2] Purdue Univ, W Lafayette, IN 47907 USA
[3] Univ Calif Riverside, Riverside, CA 92521 USA
来源
25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018) | 2018年
关键词
D O I
10.14722/ndss.2018.23312
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Memory errors are one of the most common vulnerabilities for the popularity of memory unsafe languages including C and C++. Once exploited, it can easily lead to system crash (i.e., denial-of-service attacks) or allow adversaries to fully compromise the victim system. This paper proposes MEDS, a practical memory error detector. MEDS significantly enhances its detection capability by approximating two ideal properties, called an infinite gap and an infinite heap. The approximated infinite gap of MEDS setups large inaccessible memory region between objects (i.e., 4 MB), and the approximated infinite heap allows MEDS to fully utilize virtual address space (i.e., 45-bits memory space). The key idea of MEDS in achieving these properties is a novel user-space memory allocation mechanism, MEDSALLOC. MEDSALLOC leverages a page aliasing mechanism, which allows MEDS to maximize the virtual memory space utilization but minimize the physical memory uses. To highlight the detection capability and practical impacts of MEDS, we evaluated and then compared to Google's state-of-the-art detection tool, AddressSanitizer. MEDS showed three times better detection rates on four real-world vulnerabilities in Chrome and Firefox. More importantly, when used for a fuzz testing, MEDS was able to identify 68.3% more memory errors than AddressSanitizer for the same amount of a testing time, highlighting its practical aspects in the software testing area. In terms of performance overhead, MEDS slowed down 108% and 86% compared to native execution and AddressSanitizer, respectively, on real-world applications including Chrome, Firefox, Apache, Nginx, and OpenSSL.
引用
收藏
页数:15
相关论文
共 39 条
[31]  
Shacham H, 2007, CCS'07: PROCEEDINGS OF THE 14TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, P552
[32]   SoK: Eternal War in Memory [J].
Szekeres, Laszlo ;
Payer, Mathias ;
Wei, Tao ;
Song, Dawn .
2013 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2013, :48-62
[33]  
T. A. S. Foundation, 2017, AB AP HTTP SERV BENC
[34]  
T. C. Projects, 2017, US CLUSTERFUZZ
[35]  
Tovalds L., 2004, MREMAP FEATURE DISCU
[36]   CHERI: A Hybrid Capability-System Architecture for Scalable Software Compartmentalization [J].
Watson, Robert N. M. ;
Woodruff, Jonathan ;
Neumann, Peter G. ;
Moore, Simon W. ;
Anderson, Jonathan ;
Chisnall, David ;
Dave, Nirav ;
Davis, Brooks ;
Gudka, Khilan ;
Laurie, Ben ;
Murdoch, Steven J. ;
Norton, Robert ;
Roe, Michael ;
Son, Stacey ;
Vadera, Munraj .
2015 IEEE SYMPOSIUM ON SECURITY AND PRIVACY SP 2015, 2015, :20-37
[37]  
Yin H, 2007, CCS'07: PROCEEDINGS OF THE 14TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, P116
[38]  
Zalewski M., 2017, american fuzzy lop
[39]  
Zhang C., 2016, ANN NETW DISTR SYST