Analyzing String Buffers in C

  • Authors:
  • Axel Simon;Andy King

  • Affiliations:
  • -;-

  • Venue:
  • AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A buffer overrun occurs in a C program when input is read into a buffer whose length exceeds that of the buffer. Overruns often lead to crashes and are a widespread form of security vulnerability. This paper describes an analysis for detecting overruns before deployment which is conservative in the sense that it locates every possible buffer overrun. The paper details the subtle relationship between overrun analysis and pointer analysis and explains how buffers can be modeled with a linear number of variables. As far as we know, the paper gives the first formal account of how this software and security problem can be tackled with abstract interpretation, setting it on a firm, mathematical basis.