Declarative Demand-Driven Reverse Engineering

01/12/2021
by   Yihao Sun, et al.
0

Binary reverse engineering is a challenging task because it often necessitates reasoning using both domain-specific knowledge (e.g., understanding entrypoint idioms common to an ABI) and logical inference (e.g., reconstructing interprocedural control flow). To help perform these tasks, reverse engineers often use toolkits (such as IDA Pro or Ghidra) that allow them to interactively explicate properties of binaries. We argue that deductive databases serve as a natural abstraction for interfacing between visualization-based binary analysis tools and high-performance logical inference engines that compute facts about binaries. In this paper, we present a vision for the future in which reverse engineers use a visualization-based tool to understand binaries while simultaneously querying a logical-inference engine to perform arbitrarily-complex deductive inference tasks. We call our vision declarative demand-driven reverse engineering (D^3RE for short), and sketch a formal semantics whose goal is to mediate interaction between a logical-inference engine (such Souffle) and a reverse engineering tool. We describe aprototype tool, d3re, which are using to explore the D^3RE vision. While still a prototype, we have used d3re to reimplement several common querying tasks on binaries. Our evaluation demonstrates that d3re enables both better performance and more succinct implementation of these common RE tasks.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

12/01/2019

An Observational Investigation of Reverse Engineers' Processes

Reverse engineering is a complex process essential to software-security ...
11/22/2020

Modular Moose: A new generation software reverse engineering environment

Advanced reverse engineering tools are required to cope with the complex...
10/01/2019

Teaching Hardware Reverse Engineering: Educational Guidelines and Practical Insights

Since underlying hardware components form the basis of trust in virtuall...
07/23/2020

On Manually Reverse Engineering Communication Protocols of Linux Based IoT Systems

IoT security and privacy has raised grave concerns. Efforts have been ma...
10/02/2021

A Minimal Intervention Definition of Reverse Engineering a Neural Circuit

In neuroscience, researchers have developed informal notions of what it ...
05/31/2021

An Exploratory Study of Hardware Reverse Engineering Technical and Cognitive Processes

Understanding the internals of Integrated Circuits (ICs), referred to as...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.