Proceedings of the 2014 International Symposium on Software Testing and Analysis 2014
DOI: 10.1145/2610384.2610407
|View full text |Cite
|
Sign up to set email alerts
|

Make it work, make it right, make it fast: building a platform-neutral whole-system dynamic binary analysis platform

Abstract: Dynamic binary analysis is a prevalent and indispensable technique in program analysis. While several dynamic binary analysis tools and frameworks have been proposed, all suffer from one or more of: prohibitive performance degradation, semantic gap between the analysis code and the program being analyzed, architecture/OS specificity, being user-mode only, lacking APIs, etc. We present DECAF, a virtual machine based, multi-target, whole-system dynamic binary analysis framework built on top of QEMU. DECAF provid… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
29
0
2

Year Published

2016
2016
2024
2024

Publication Types

Select...
5
2
2

Relationship

1
8

Authors

Journals

citations
Cited by 80 publications
(31 citation statements)
references
References 16 publications
0
29
0
2
Order By: Relevance
“…One could define the ground truth semantics of an instruction set for all possible states, and prove the above properties. In fact, recent work on the DECAF engine has manually specified instruction semantics for the integer arithmetic subset of instructions in SMT theories and has proved comparable properties of manually engineered taint rules [28]. While it is a laudable goal, scaling this approach to entire complex instruction sets (e.g.…”
Section: A the Taint Inference Problemmentioning
confidence: 99%
See 1 more Smart Citation
“…One could define the ground truth semantics of an instruction set for all possible states, and prove the above properties. In fact, recent work on the DECAF engine has manually specified instruction semantics for the integer arithmetic subset of instructions in SMT theories and has proved comparable properties of manually engineered taint rules [28]. While it is a laudable goal, scaling this approach to entire complex instruction sets (e.g.…”
Section: A the Taint Inference Problemmentioning
confidence: 99%
“…Since its introduction over a decade ago, numerous taint analysis engines have been developed. Most of these taint analysis engines have been based on a deductive approach [11], [15], [20], [28], [32], [42], [51]. A taint engine has a set of static rules called taint propagation rules capturing how the inputs of a program statement influence (or taint) its outputs.…”
Section: Introductionmentioning
confidence: 99%
“…Due to the rise of symbolic execution, some researchers attempt to provide a combination method of dynamic taint analysis and symbolic execution, such as DTA++ [10], BitBlaze [11], and DECAF [12], which can improve the path coverage of dynamic taint analysis. Lai et al [13] mark each byte of external input data to perform fine-grained taint analysis, which improves the granularity of dynamic taint analysis.…”
Section: Related Workmentioning
confidence: 99%
“…Figure 1 depicts the workflow to build our reference extractor. We first open three classes of labeled PDF samples (i.e., well-formed PDFs with JavaScript, well-formed PDFs without JavaScript and malformed PDFs) with Adobe Reader in an execution monitor [20] to collect memory access and execution traces. In the end, we perform offline analysis on the traces to identify three tap points that are associated with JavaScript extraction, PDF processing termination and processing error.…”
Section: A the Need For A New Techniquementioning
confidence: 99%