article Open access

TIE: Principled Reverse Engineering of Types in Binary Programs

  • Figshare
  • Figshare (United Kingdom)
Research footprint

At a glance

Citations
169
References
15
Comments
0
Paper overview

Abstract

A recurring problem in security is reverse engineering binary code to recover high-level language data abstractions and types. High-level programming languages have data abstractions such as buffers, structures, and local variables that all help programmers and program analyses reason about programs in a scalable manner. During compilation, these abstractions are removed as code is translated down to operations on registers and one globally addressed memory region. Reverse engineering consists of “undoing” the compilation to recover high-level information so that programmers, security professionals, and analyses can all more easily reason about the binary code. In this paper we develop novel techniques for reverse engineering data type abstractions from binary programs. At the heart of our approach is a novel type reconstruction system based upon binary code analysis. Our techniques and system can be applied as part of both static or dynamic analysis, thus are extensible to a large number of security settings. Our results on 87 programs show that TIE is both more accurate and more precise at recovering high-level types than existing mechanisms.

Record transparency

Publication details

DOI
10.1184/r1/6469466.v1
OpenAlex
W191489030
Document type
article
Language
EN
Source
Figshare
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.