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
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;
Conference_Titel :
Software Security and Reliability (SERE), 2012 IEEE Sixth International Conference on
Conference_Location :
Gaithersburg, MD
Print_ISBN :
978-1-4673-2067-2
DOI :
10.1109/SERE.2012.20