On-the-fly Code Activation for Attack Surface Reduction
Chris Porter, Sharjeel Khan, Santosh Pande

TL;DR
This paper introduces OCA, a runtime technique that dynamically disables specific functions to significantly reduce attack gadgets in software, enhancing security with minimal performance impact.
Contribution
OCA is a novel, general approach that reduces attack surface by on-the-fly function control without requiring user input or application modification.
Findings
73.2% gadget reduction on SPEC CPU 2017
87.2% gadget reduction on GNU coreutils
80.3% gadget reduction on nginx with 2% slowdown
Abstract
Modern code reuse attacks are taking full advantage of bloated software. Attackers piece together short sequences of instructions in otherwise benign code to carry out malicious actions. Eliminating these reusable code snippets, known as gadgets, has become one of the prime concerns of attack surface reduction. The aim is to break these chains of gadgets, thereby making such code reuse attacks impossible or substantially less common. Previous work on attack surface reduction has typically tried to eliminate such attacks by subsetting the application, e.g. via user-specified inputs, configurations, or features, or by focusing on third-party libraries to achieve high gadget reductions with minimal interference to the application. In this work we present a general, whole-program attack surface reduction technique called OCA that significantly reduces gadgets and has minor 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.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Parallel Computing and Optimization Techniques
