• DocumentCode
    2845116
  • Title

    CRAX: Software Crash Analysis for Automatic Exploit Generation by Modeling Attacks as Symbolic Continuations

  • Author

    Huang, Shih-Kun ; Huang, Min-Hsiang ; Huang, Po-Yen ; Lai, Chung-Wei ; Lu, Han-Lin ; Leong, Wai-Meng

  • Author_Institution
    Inf. Technol. Service Center, Nat. Chiao Tung Univ., Hsinchu, Taiwan
  • fYear
    2012
  • fDate
    20-22 June 2012
  • Firstpage
    78
  • Lastpage
    87
  • Abstract
    We present a simple framework capable of automatically generating attacks that exploit control flow hijacking vulnerabilities. We analyze given software crashes and perform symbolic execution in concolic mode, using a whole system environment model. The framework uses an end-to-end approach to generate exploits for various applications, including 16 medium scale benchmark programs, and several large scale applications, such as Mplayer (a media player), Unrar (an archiver) and Foxit(a pdf reader), with stack/heap overflow, off-by-one overflow, use of uninitialized variable, format string vulnerabilities. Notably, these applications have been typically regarded as fuzzing preys, but still require a manual process with security knowledge to produce mitigation-hardened exploits. Using our system to produce exploits is a fully automated and straightforward process for crashed software without source. We produce the exploits within six minutes for medium scale of programs, and as long as 80 minutes for mplayer (about 500,000 LOC), after constraint reductions. Our results demonstrate that the link between software bugs and security vulnerabilities can be automatically bridged.
  • Keywords
    program debugging; safety-critical software; symbol manipulation; CRAX; automatic exploit generation; concolic mode; control flow hijacking vulnerabilities; end-to-end approach; format string vulnerabilities; fuzzing preys; medium scale benchmark programs; mitigation-hardened exploits; off-by-one overflow; security knowledge; software bugs; software crash analysis; software security vulnerabilities; stack-heap overflow; symbolic continuation; symbolic execution; uninitialized variable; whole system environment model; Arrays; Computer crashes; Concrete; Registers; Security; Software; Testing; automatic exploit generation; bug forensics; software crash analysis; symbolic execution; taint analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Security and Reliability (SERE), 2012 IEEE Sixth International Conference on
  • Conference_Location
    Gaithersburg, MD
  • Print_ISBN
    978-1-4673-2067-2
  • Type

    conf

  • DOI
    10.1109/SERE.2012.20
  • Filename
    6258297