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

page 1

page 2

page 3

page 4

research
12/01/2019

An Observational Investigation of Reverse Engineers' Processes

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

Modular Moose: A new generation software reverse engineering environment

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

Teaching Hardware Reverse Engineering: Educational Guidelines and Practical Insights

Since underlying hardware components form the basis of trust in virtuall...
research
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...
research
01/25/2022

PREVIS – A Combined Machine Learning and Visual Interpolation Approach for Interactive Reverse Engineering in Assembly Quality Control

We present PREVIS, a visual analytics tool, enhancing machine learning p...
research
10/02/2021

A Minimal Intervention Definition of Reverse Engineering a Neural Circuit

In neuroscience, researchers have developed informal notions of what it ...
research
03/06/2013

A Synthesis of Logical and Probabilistic Reasoning for Program Understanding and Debugging

We describe the integration of logical and uncertain reasoning methods t...

Please sign up or login with your details

Forgot password? Click here to reset