CSSV: Towards a realistic tool for statically detecting all buffer overflows in C

Nurit Dor*, Michael Rodeh, Mooly Sagiv

*Corresponding author for this work

Research output: Contribution to conferencePaperpeer-review

Abstract

Erroneous string manipulations are a major source of software defects in C programs yielding vulnerabilities which are exploited by software viruses. We present C String Static Verifyer (CSSV), a tool that statically uncovers all string manipulation errors. Being a conservative tool, it reports all such errors at the expense of sometimes generating false alarms. Fortunately, only a small number of false alarms are reported, thereby proving that statically reducing software vulnerability is achievable. CSSV handles large programs by analyzing each procedure separately. To this end procedure contracts are allowed which are verified by the tool. We implemented a CSSV prototype and used it to verify the absence of errors in real code from EADS Airbus. When applied to another commonly used string intensive application, CSSV uncovered real bugs with very few false alarms.

Original languageEnglish
Pages155-167
Number of pages13
StatePublished - 2003
EventACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: 9 Jun 200311 Jun 2003

Conference

ConferenceACM SIGPLAN Conference on Programming Language Design and Implementation
Country/TerritoryUnited States
CitySan Diego, CA
Period9/06/0311/06/03

Keywords

  • Abstract interpretation
  • Buffer overflow
  • Contracts
  • Error detection
  • Static analysis

Fingerprint

Dive into the research topics of 'CSSV: Towards a realistic tool for statically detecting all buffer overflows in C'. Together they form a unique fingerprint.

Cite this