DocumentCode
1605507
Title
Data-Delineation in Software Binaries and its Application to Buffer-Overrun Discovery
Author
Gopan, Denis ; Driscoll, Evan ; Nguyen, Ducson ; Naydich, Dimitri ; Loginov, Alexey ; Melski, David
Author_Institution
GrammaTech, Inc., Madison, WI, USA
Volume
1
fYear
2015
Firstpage
145
Lastpage
155
Abstract
Detecting memory-safety violations in binaries is complicated by the lack of knowledge of the intended data layout, i.e., the locations and sizes of objects. We present lightweight, static, heuristic analyses for recovering the intended layout of data in a stripped binary. Comparison against DWARF debugging information shows high precision and recall rates for inferring source-level object boundaries. On a collection of benchmarks, our analysis eliminates a third to a half of incorrect object boundaries identified by an IDA Pro-inspired heuristic, while retaining nearly all valid object boundaries. In addition to measuring their accuracy directly, we evaluate the effect of using the recovered data for improving the precision of static buffer-overrun detection in the defect-detection tool CodeSonar/x86. We demonstrate that CodeSonar´s false-positive rate drops by about 80% across our internal evaluation suite for the tool, while our approximation of CodeSonar´s recall only degrades about 25%.
Keywords
program diagnostics; security of data; software tools; CodeSonar/x86; DDA; buffer-overrun discovery; data delineation analysis; defect-detection tool; memory-safety violation detection; software binary; software security; static analysis; Accuracy; Approximation methods; Benchmark testing; Layout; Libraries; Optimization; Registers; binary analysis; buffer overrun detection; data delineation; reverse engineering; static analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/ICSE.2015.36
Filename
7194569
Link To Document