Guarder: A Tunable Secure Allocator
summary
Guarder guarantees a user-specified lower bound of randomization entropy and implements it with per-thread allocation/deallocation circular buffers sized at 2^(a+1) to ensure at least a bits, split into eight regions to avoid repeated empty-slot retries. It adds tunable heap over‑provisioning and random guard pages (default 10%) and keeps metadata segregated while detecting double and invalid frees. Configured with 9-bit default entropy, evaluations show stability across size classes and real apps with under <3% average overhead versus the default Linux allocator.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:43Vulnerabilities
- 4:36Alligators
- 5:59Problem Visualization
- 6:26DieHard
- 7:13Motivation
- 7:59Basic Approach
- 8:51Deallocation
- 10:50Overprovisioning
- 12:01Guard Pages
- 13:00Runtime Performance
- 13:40Why is Guarder Better
- 15:08entropy
- 16:21conclusion
- 17:27QA
related talks
15mTAILCHECK: A Lightweight Heap Overflow Detection Mechanism with Page Protection and...
08mChatGPT, Make a Secure Malloc for me
45mBreaking and Protecting Linux Kernel Stack
32mPoking Holes in Information Hiding
40mDeterministic Memory Management for Managed Runtimes
19mStarMalloc: Verifying a Modern, Hardened Memory Allocator
20mProtected DMAbufs and its dynamic memory assignment woes
38mKernel Hardening: Protecting the Protection Mechanisms
