Practical Byte-Granular Memory Blacklisting using Califorms
Hiroshi Sasaki, Miguel A. Arroyo, M. Tarek Ibn Ziad, Koustubha Bhat,, Kanad Sinha, Simha Sethumadhavan

TL;DR
This paper introduces Califorms, a low-overhead hardware-assisted memory blacklisting technique that achieves practical, byte-granular memory safety with minimal performance impact by storing metadata in dead spaces within program memory.
Contribution
Califorms presents a novel approach to integrate blacklisting metadata into cache lines, significantly reducing overhead for byte-granular memory safety compared to existing methods.
Findings
Reduces performance overhead to ~1.02x-1.16x
Provides byte-granular memory safety with low hardware costs
Enables always-on memory safety for various object sizes
Abstract
Recent rapid strides in memory safety tools and hardware have improved software quality and security. While coarse-grained memory safety has improved, achieving memory safety at the granularity of individual objects remains a challenge due to high performance overheads which can be between ~1.7x-2.2x. In this paper, we present a novel idea called Califorms, and associated program observations, to obtain a low overhead security solution for practical, byte-granular memory safety. The idea we build on is called memory blacklisting, which prohibits a program from accessing certain memory regions based on program semantics. State of the art hardware-supported memory blacklisting while much faster than software blacklisting creates memory fragmentation (of the order of few bytes) for each use of the blacklisted location. In this paper, we observe that metadata used for blacklisting can be…
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 · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
