• DocumentCode
    3008428
  • Title

    Automated Detection of Code Vulnerabilities Based on Program Analysis and Model Checking

  • Author

    Wang, Lei ; Zhang, Qiang ; Zhao, Pengchao

  • Author_Institution
    Comput. Sch., Beijing Univ. of Aeronaut. & Astronaut., Beijing
  • fYear
    2008
  • fDate
    28-29 Sept. 2008
  • Firstpage
    165
  • Lastpage
    173
  • Abstract
    Ensuring the correctness and reliability of software systems is one of the main problems in software development. Model checking, a static analysis method, is preponderant in improving the precision of vulnerabilities detection. However, when applied to buffer overflow and other bugs, it is hard to automatically construct the model for detecting the vulnerabilities. To address this problem we propose an approach that combines constraint based analysis and model checking together. We trace the memory size of buffer-related variables and instrument the code with corresponding constraint assertions before the potential vulnerable points by constraint based analysis. Then the problem of detecting vulnerabilities is converted into the problem of detecting vulnerabilities to verifying the reach ability of these assertions by model checking. In order to reduce the cost of model checking, program slicing is introduced to reduce the code size. CodeAuditor is a prototype implementation of our approach. With CodeAuditor, several yet unreported vulnerabilities are discovered in several open source software, and the performance is shown to be improved significantly with the help of program slicing.
  • Keywords
    formal verification; program slicing; software reliability; CodeAuditor; buffer-related variable; code vulnerability detection; constraint based analysis; program analysis; program slicing; software model checking; software system reliability; static analysis method; Buffer overflow; Computer bugs; Costs; Formal verification; Instruments; Open source software; Programming; Prototypes; Software prototyping; Software systems; Model Checking; Program Analysis; Vulnerabilities Detection;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on
  • Conference_Location
    Beijing
  • Print_ISBN
    978-0-7695-3353-7
  • Type

    conf

  • DOI
    10.1109/SCAM.2008.24
  • Filename
    4637549