LeanBin: Harnessing Lifting and Recompilation to Debloat Binaries
Igor Wodiany, Antoniu Pop, Mikel Luj\'an

TL;DR
LeanBin is a novel binary debloating tool that combines static and dynamic analysis to safely remove unnecessary code, improving security and efficiency without relying on heuristics or long execution times.
Contribution
It introduces a new approach that leverages lifting and recompilation, enabling effective debloating of binaries and shared libraries with improved accuracy and performance.
Findings
Achieves a 1.78× geomean slowdown on SPEC CPU2006 benchmarks
Reduces code size to as low as 53.59% of original
Debloated binaries run up to 1.24× faster with fewer gadgets
Abstract
To reduce the source of potential exploits, binary debloating or specialization tools are used to remove unnecessary code from binaries. This paper presents a new binary debloating and specialization tool, LeanBin, that harnesses lifting and recompilation, based on observed execution traces. The dynamically recorded execution traces capture the required subset of instructions and control flow of the application binary for a given set of inputs. This initial control flow is subsequently augmented using heuristic-free static analysis to avoid excessively restricting the input space. The further structuring of the control flow and translation of binary instructions into a subset of C enables a lightweight generation of the code that can be recompiled, obtaining LLVM IR and a new debloated binary. Unlike most debloating approaches, LeanBin enables both binary debloating of the application…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBusiness Process Modeling and Analysis
