Lockdown: Dynamic Control-Flow Integrity
Mathias Payer, Antonio Barresi, Thomas R. Gross

TL;DR
Lockdown is a dynamic control-flow integrity system that protects legacy binaries by adaptively learning control-flow graphs and enforcing fine-grained security checks with minimal performance impact.
Contribution
It introduces a dynamic CFI approach that works on binary-only applications by leveraging trusted dynamic loader information.
Findings
Low performance overhead demonstrated in prototype
Protects legacy binaries without source code modifications
Enforces fine-grained control-flow restrictions
Abstract
Applications written in low-level languages without type or memory safety are especially prone to memory corruption. Attackers gain code execution capabilities through such applications despite all currently deployed defenses by exploiting memory corruption vulnerabilities. Control-Flow Integrity (CFI) is a promising defense mechanism that restricts open control-flow transfers to a static set of well-known locations. We present Lockdown, an approach to dynamic CFI that protects legacy, binary-only executables and libraries. Lockdown adaptively learns the control-flow graph of a running process using information from a trusted dynamic loader. The sandbox component of Lockdown restricts interactions between different shared objects to imported and exported functions by enforcing fine-grained CFI checks. Our prototype implementation shows that dynamic CFI results in low performance…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
