Egalito: Layout-agnostic binary recompilation

63Citations
Citations of this article
52Readers
Mendeley users who have this article in their library.
Get full text

Abstract

For comprehensive analysis of all executable code, and fast turn-around time for transformations, it is essential to operate directly on binaries to enable profiling, security hardening, and architectural adaptation. Disassembling binaries is difficult, and prior work relies on a process virtual machine to translate references on the fly or inefficient binary code patching. Our Egalito recompiler leverages metadata present in current stripped x86_64 and ARM64 binaries to generate a complete disassembly, and allows arbitrary modifications that may affect program layout without any constraints from the original binary. We utilize our own layout-agnostic intermediate representation, which is low-level enough to make the regeneration of output code predictable, yet supports a dual high-level representation for sophisticated analysis. We demonstrate nine binary tools including a novel continuous code randomization technique where Egalito transforms itself, and software emulation of the control-flow integrity in upcoming hardware. We evaluated Egalito on a large set of Debian packages, completely analyzing 99.9% of a selection of 867 executables and libraries; a majority of 149 applicable Debian packages pass all tests under Egalito. On SPEC CPU 2006, thanks to our binary optimizations, Egalito actually observes a 1.7% performance speedup.

Cite

CITATION STYLE

APA

Williams-King, D., Kobayashi, H., Williams-King, K., Patterson, G., Spano, F., Wu, Y. J., … Kemerlis, V. P. (2020). Egalito: Layout-agnostic binary recompilation. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 133–147). Association for Computing Machinery. https://doi.org/10.1145/3373376.3378470

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free