IntPatch: automatically fix integer-overflow-to-buffer-overflow vulnerability at compile-time

  • Authors:
  • Chao Zhang;Tielei Wang;Tao Wei;Yu Chen;Wei Zou

  • Affiliations:
  • Institute of Computer Science and Technology, Peking University, Key Laboratory of Network and Software Security Assurance, Peking University, Ministry of Education;Institute of Computer Science and Technology, Peking University, Key Laboratory of Network and Software Security Assurance, Peking University, Ministry of Education;Institute of Computer Science and Technology, Peking University, Key Laboratory of Network and Software Security Assurance, Peking University, Ministry of Education;Institute of Computer Science and Technology, Peking University, Key Laboratory of Network and Software Security Assurance, Peking University, Ministry of Education;Institute of Computer Science and Technology, Peking University, Key Laboratory of Network and Software Security Assurance, Peking University, Ministry of Education

  • Venue:
  • ESORICS'10 Proceedings of the 15th European conference on Research in computer security
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Integer-Overflow-to-Buffer-Overflow (IO2BO) vulnerability is an underestimated threat. Automatically identifying and fixing this kind of vulnerability are critical for software security. In this paper, we present the design and implementation of IntPatch, a compiler extension for automatically fixing IO2BO vulnerabilities in C/C++ programs at compile time. IntPatch utilizes classic type theory and dataflow analysis framework to identify potential IO2BO vulnerabilities, and then instruments programs with runtime checks. Moreover, IntPatch provides an interface for programmers to facilitate checking integer overflows. We evaluate IntPatch on a number of real-world applications. It has caught all 46 previously known IO2BO vulnerabilities in our test suite and found 21 new bugs. Applications patched by IntPatch have a negligible runtime performance loss which is averaging about 1%.