ShadowBound: Efficient Heap Memory Protection Through Advanced Metadata Management and Customized Compiler Optimization
Zheng Yu, Ganxiang Yang, Xinyu Xing

TL;DR
ShadowBound is a novel, efficient heap memory protection system that uses shadow memory and compiler optimizations to prevent out-of-bounds and use-after-free vulnerabilities with minimal overhead.
Contribution
It introduces a new heap protection design that integrates with existing defenses, utilizing shadow memory and customized compiler optimizations for improved efficiency.
Findings
Provides robust heap protection with minimal overhead
Compatible with various use-after-free defenses
Effective in real-world program security
Abstract
In software development, the prevalence of unsafe languages such as C and C++ introduces potential vulnerabilities, especially within the heap, a pivotal component for dynamic memory allocation. Despite its significance, heap management complexities have made heap corruption pervasive, posing severe threats to system security. While prior solutions aiming for temporal and spatial memory safety exhibit overheads deemed impractical, we present ShadowBound, a unique heap memory protection design. At its core, ShadowBound is an efficient out-of-bounds defense that can work with various use-after-free defenses (e.g. MarkUs, FFMalloc, PUMM) without compatibility constraints. We harness a shadow memory-based metadata management mechanism to store heap chunk boundaries and apply customized compiler optimizations tailored for boundary checking. We implemented ShadowBound atop the LLVM framework…
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
TopicsParallel Computing and Optimization Techniques · Security and Verification in Computing · Advanced Data Storage Technologies
