arrow
Return

DECAF: A Platform-Neutral Whole-System Dynamic Binary Analysis Platform

delete2017-02-01
delete39
delete
OA
AI
A
Andrew Henderson *
L
Lok Kwong Yan
X
Xunchao Hu
A
Aravind Prakash
H
Heng Yin
S
Stephen McCamant
DOI:10.1109/TSE.2016.2589242delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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, a semantic gap between the analysis code and the program being analyzed, architecture/OS specificity, being user-mode only, and lacking APIs. We present DECAF, a virtual machine based, multi-target, whole-system dynamic binary analysis framework built on top of QEMU. DECAF provides Just-In-Time Virtual Machine Introspection and a plugin architecture with a simple-to-use event-driven programming interface. DECAF implements a new instruction-level taint tracking engine at bit granularity, which exercises fine control over the QEMU Tiny Code Generator (TCG) intermediate representation to accomplish on-the-fly optimizations while ensuring that the taint propagation is sound and highly precise. We perform a formal analysis of DECAF's taint propagation rules to verify that most instructions introduce neither false positives nor false negatives. We also present three platform-neutral plugins-Instruction Tracer, Keylogger Detector, and API Tracer, to demonstrate the ease of use and effectiveness of DECAF in writing cross-platform and system-wide analysis tools. Implementation of DECAF consists of 9,550 lines of C++ code and 10,270 lines of C code and we evaluate DECAF using CPU2006 SPEC benchmarks and show average overhead of 605 percent for system wide tainting and 12 percent for VMI.
Keywords:
Dynamic binary analysis
dynamic taint analysis
virtual machine introspection
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

U
University of Minnesota Twin Cities
Scholars:
3.7W
Papers: 3.1W
Citations: 58
S
Syracuse University
Scholars:
5.4K
Papers: 5.2K
Citations: 8.3K
Cited Papers

Cited Papers

Micro FET pressure sensor manufactured using CMOS-MEMS technique
err2008-05-01
err0
PREAI
errChing-Liang Dai; Pin-Hsu Kao; Yao-Wei Tai; Chyan-Chyi Wu
errShare
errSave
Amifostine as a Radioprotectant
err2007-02-14
err0
PREAI
errTracy K. Gosselin; Beatrice Mautner; Kathy Wilkinson
errShare
errSave
Analysis of Genetic Damage in Lymphocytes of Former Uranium Processing Workers
err2015-11-26
err0
PREAI
errFriedo Zölzer; Renata Havránková; Zuzana Freitinger Skalická; Andrea Rössnerová; Radim J. Šrám
errShare
errSave
Lanthanide picolinate chelate stabilities
err2002-05-01
err0
errOAAI
errJ. E. Powell; J. W. Ingemanson
errShare
errSave
errShare
errSave
Late Bronze Age climate change and the destruction of the Mycenaean Palace of Nestor at Pylos
err2017-12-27
err0
errOAAI
errMartin Finné; Karin Holmgren; Chuan-Chou Shen; Hsun-Ming Hu; Meighan Boyd; Sharon Stocker
errShare
errSave
researcher View more