SPAM: Stateless Permutation of Application Memory
Mohamed Tarek Ibn Ziad, Miguel A. Arroyo, Simha Sethumadhavan

TL;DR
SPAM is a novel stateless software defense that permutes application memory to prevent a wide range of memory safety and hardware vulnerability exploits, applicable to multi-threaded applications with minimal performance overhead.
Contribution
It introduces a stateless memory permutation technique implemented as an LLVM pass, enhancing security against diverse memory attacks in multi-threaded C programs.
Findings
Effective in preventing memory safety violations
Comparable performance overhead to existing techniques
Proven scalable on multi-threaded benchmarks
Abstract
In this paper, we propose the Stateless Permutation of Application Memory (SPAM), a software defense that enables fine-grained data permutation for C programs. The key benefits include resilience against attacks that directly exploit software errors (i.e., spatial and temporal memory safety violations) in addition to attacks that exploit hardware vulnerabilities such as ColdBoot, RowHammer or hardware side-channels to disclose or corrupt memory using a single cohesive technique. Unlike prior work, SPAM is stateless by design making it automatically applicable to multi-threaded applications. We implement SPAM as an LLVM compiler pass with an extension to the compiler-rt runtime. We evaluate it on the C subset of the SPEC2017 benchmark suite and three real-world applications: the Nginx web server, the Duktape Javascript interpreter, and the WolfSSL cryptographic library. We further show…
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 · Cloud Data Security Solutions
