Mutation-Based Testing of Integer Overflow Vulnerabilities

Integer overflow vulnerability is a kind of common software vulnerabilities, there has been no effective way to detect integer overflow vulnerabilities. Because of the lack of dynamic execution, static analysis can not determine the run-time distribution of memory, and may miss the detection of possible security issues; source code auditing is an expensive and time consuming process. Although there has been applying mutation analysis for testing ANSI C programs, and lots of mutation operators have been designed with respect to specific questions, there are not any of operators specifically designed for integer overflow. In this paper, we propose some new mutation operators to force the generation of adequate test data set for integer overflow vulnerabilities. The results indicate that the proposed operators are effective for detecting integer overflow vulnerabilities.

[1]  Jacob West,et al.  Secure Programming with Static Analysis , 2007 .

[2]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[3]  Eugene H. Spafford,et al.  Extending mutation testing to find environmental bugs , 1990, Softw. Pract. Exp..

[4]  Aditya P. Mathur,et al.  Foundations of Software Testing , 2007 .

[5]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

[6]  M. Ellims,et al.  The Csaw C Mutation Tool: Initial Results , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[7]  Mohammad Zulkernine,et al.  Mutation-Based Testing of Buffer Overflow Vulnerabilities , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[8]  Pascal Meunier,et al.  Can source code auditing software identify common vulnerabilities and be used to evaluate software security? , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[9]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.