Sound input filter generation for integer overflow errors

We present a system, SIFT, for generating input filters that nullify integer overflow errors associated with critical program sites such as memory allocation or block copy sites. SIFT uses a static pro- gram analysis to generate filters that discard inputs that may trigger integer overflow errors in...

Full description

Bibliographic Details
Main Authors: Long, Fan (Contributor), Sidiroglou-Douskos, Stelios (Contributor), Kim, Deokhwan (Contributor), Rinard, Martin C. (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery (ACM), 2014-10-08T14:32:12Z.
Subjects:
Online Access:Get fulltext
LEADER 02260 am a22002653u 4500
001 90625
042 |a dc 
100 1 0 |a Long, Fan  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Long, Fan  |e contributor 
100 1 0 |a Sidiroglou-Douskos, Stelios  |e contributor 
100 1 0 |a Kim, Deokhwan  |e contributor 
100 1 0 |a Rinard, Martin C.  |e contributor 
700 1 0 |a Sidiroglou-Douskos, Stelios  |e author 
700 1 0 |a Kim, Deokhwan  |e author 
700 1 0 |a Rinard, Martin C.  |e author 
245 0 0 |a Sound input filter generation for integer overflow errors 
260 |b Association for Computing Machinery (ACM),   |c 2014-10-08T14:32:12Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/90625 
520 |a We present a system, SIFT, for generating input filters that nullify integer overflow errors associated with critical program sites such as memory allocation or block copy sites. SIFT uses a static pro- gram analysis to generate filters that discard inputs that may trigger integer overflow errors in the computations of the sizes of allocated memory blocks or the number of copied bytes in block copy operations. Unlike all previous techniques of which we are aware, SIFT is sound -- if an input passes the filter, it will not trigger an integer overflow error at any analyzed site. Our results show that SIFT successfully analyzes (and therefore generates sound input filters for) 56 out of 58 memory allocation and block memory copy sites in analyzed input processing modules from five applications (VLC, Dillo, Swfdec, Swftools, and GIMP). These nullified errors include six known integer overflow vulnerabilities. Our results also show that applying these filters to 62895 real-world inputs produces no false positives. The analysis and filter generation times are all less than a second. 
520 |a United States. Defense Advanced Research Projects Agency (Grant FA8650-11-C-7192) 
546 |a en_US 
655 7 |a Article 
773 |t Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '14)