Title :
As-If Infinitely Ranged Integer Model
Author :
Dannenberg, Roger B. ; Dormann, Will ; Keaton, David ; Seacord, Robert C. ; Svoboda, David ; Volkovitsky, Alex ; Wilson, Timothy ; Plum, Thomas
Author_Institution :
Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
Abstract :
Integers represent a growing and underestimated source of vulnerabilities in C and C++ programs. This paper presents the As-if Infinitely Ranged (AIR) Integer model for eliminating vulnerabilities resulting from integer overflow, truncation, and unanticipated wrapping. The AIR Integer model either produces a value equivalent to that obtained using infinitely ranged integers or results in a runtime-constraint violation. With the exception of wrapping (which is optional), this model can be implemented by a C99-conforming compiler and used by the programmer with little or no change to existing source code. Fuzz testing of libraries that have been compiled using a prototype AIR integer compiler has been effective in discovering vulnerabilities in software with low false positive and false negative rates. Furthermore, the runtime overhead of the AIR Integer model is low enough that typical applications can enable it in deployed systems for additional runtime protection.
Keywords :
C++ language; program compilers; program diagnostics; security of data; C program vulnerability; C++ program vulnerability; C99-conforming compiler; as-if infinitely ranged integer model; fuzzy testing; integer overflow; runtime overhead; runtime protection; runtime-constraint violation; truncation; unanticipated wrapping; Atmospheric modeling; Charge carrier processes; Optimization; Program processors; Runtime; Semantics; Wrapping; empirical study; programming languages; security;
Conference_Titel :
Software Reliability Engineering (ISSRE), 2010 IEEE 21st International Symposium on
Conference_Location :
San Jose, CA
Print_ISBN :
978-1-4244-9056-1
Electronic_ISBN :
1071-9458
DOI :
10.1109/ISSRE.2010.29