Visible to the public BinRec: Attack Surface Reduction Through Dynamic Binary Recovery

TitleBinRec: Attack Surface Reduction Through Dynamic Binary Recovery
Publication TypeConference Paper
Year of Publication2018
AuthorsKroes, Taddeus, Altinay, Anil, Nash, Joseph, Na, Yeoul, Volckaert, Stijn, Bos, Herbert, Franz, Michael, Giuffrida, Cristiano
Conference NameProceedings of the 2018 Workshop on Forming an Ecosystem Around Software Transformation
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-5997-9
Keywordsattack surface, attack surface reduction, binary lifting, LLVM, Metrics, pubcrawl, resilience, Resiliency, Scalability, symbolic execution
Abstract

Compile-time specialization and feature pruning through static binary rewriting have been proposed repeatedly as techniques for reducing the attack surface of large programs, and for minimizing the trusted computing base. We propose a new approach to attack surface reduction: dynamic binary lifting and recompilation. We present BinRec, a binary recompilation framework that lifts binaries to a compiler-level intermediate representation (IR) to allow complex transformations on the captured code. After transformation, BinRec lowers the IR back to a "recovered" binary, which is semantically equivalent to the input binary, but does have its unnecessary features removed. Unlike existing approaches, which are mostly based on static analysis and rewriting, our framework analyzes and lifts binaries dynamically. The crucial advantage is that we can not only observe the full program including all of its dependencies, but we can also determine which program features the end-user actually uses. We evaluate the correctness and performance of BinRec, and show that our approach enables aggressive pruning of unwanted features in COTS binaries.

URLhttps://dl.acm.org/citation.cfm?doid=3273045.3273050
DOI10.1145/3273045.3273050
Citation Keykroes_binrec:_2018