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
Link To Document