Efficient file fuzz testing using automated analysis of binary file format

被引:18
作者
Kim, Hyoung Chun [2 ]
Choi, Young Han [2 ]
Lee, Dong Hoon [1 ]
机构
[1] Korea Univ, Grad Sch Informat Management & Secur, Seoul 136701, South Korea
[2] Attached Inst Elect & Telecommun Res Inst ETRI, Taejon 305600, South Korea
关键词
Software testing; Fuzzing; Security testing;
D O I
10.1016/j.sysarc.2010.03.002
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Fuzz testing is regarded as the most useful technique in finding serious security holes in a software system. It inserts unexpected data into the input of the software system and finds the system's bugs or errors. However, one of the disadvantages that fuzz testing executed using binary files has is that it requires a large number of fault-inserted files to cover every test case, which could be up to 2(8xFILESIZE) files. In order to overcome this drawback, we propose a novel algorithm that efficiently reduces the number of fault-inserted files, yet still maintain the maximum test case coverage. The proposed approach enables the automatic analysis of fields of binary files by tracking and analyzing stack frames, assembly codes, and registers as the software system parses the files. We evaluate the efficacy of the new method by implementing a practical tool, the Binary File Analyzer and Fault Injector (BFAFI), which traces the program execution and analyzes the fields in binary file format Our experiments demonstrate that the BFAFI reduced the total number of fault-inserted files with maximum test case coverage as well as detected approximately 14 times more exceptions than did the general fuzzer. Also, the BFAFI found 11 causes of exceptions; five of them were found only by BFAFI. Ten of the 11 causes of exceptions that we found were generated by a graphic rendering engine (GDI32.d11): the other was generated by the system library (kerne132.d11.) in Windows XP SP2. (C) 2010 Elsevier B.V. All rights reserved.
引用
收藏
页码:259 / 268
页数:10
相关论文
共 25 条
[1]  
AITEL D, 2002, ADVANTAGE BLOCK BASE
[2]  
[Anonymous], 2011, About Debugging Tools for Windows"
[3]  
CABALLERO J, 2007, 14 ACM C COMP COMM S
[4]  
CABALLERO J, 2009, BIDIRECTIONAL PROTOC
[5]   Prospex: Protocol Specification Extraction [J].
Comparetti, Paolo Milani ;
Wondracek, Gilbert ;
Kruegel, Christopher ;
Kirda, Engin .
PROCEEDINGS OF THE 2009 30TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2009, :110-+
[6]  
Cui W., 2008, 15 ACM C COMP COMM S
[7]  
Cui Weidong, 2007, P 16 USENIX SEC S
[8]  
*FILEXT, FIL EXT SOURC
[9]  
Forrester Justin E, 2000, 4 USENIX WIND SYST S
[10]  
Intel Corporation, 2005, IA 32 INT ARCH OPT R