Token-based scanning of source code for security problems

  • Authors:
  • John Viega;J. T. Bloch;Tadayoshi Kohno;Gary McGraw

  • Affiliations:
  • Virginia Tech, Falls Church, VA;University of Chicago, Chicago, IL;University of California, San Diego, CA;Cigital, Dulles, VA

  • Venue:
  • ACM Transactions on Information and System Security (TISSEC)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe ITS4, a tool for statically scanning C and C++ source code for security vulnerabilities. Compared to other approaches, our scanning technique stakes out a new middle ground between accuracy and efficiency. This method is efficient enough to offer real-time feedback to developers during coding while producing few false negatives. Unlike other techniques, our method is also simple enough to scan C++ code despite the complexities inherent in the language. Using ITS4, we found new remotely exploitable vulnerabilities in a widely distributed software package as well as in a major piece of e-commerce software.We also describe functionality in more recent tools modeled after ITS4, and discuss algorithms that could easily be used to augment these kinds of tools. Particularly, we describe a solution we have prototyped that allows for more rigorous analysis of C and C++ source code, without failing to analyze parts of the program due to preprocessor conditionals.