Walma: Learning to See Memory Corruption in WebAssembly
Oussama Draissi, Mark G\"unzel, Ahmad-Reza Sadeghi, Lucas Davi

TL;DR
Walma introduces a machine learning-based framework for detecting memory corruption in WebAssembly, providing a practical, low-overhead method to verify runtime integrity against malicious tampering.
Contribution
The paper presents Walma, a novel ML-based approach for WebAssembly memory attestation that improves detection of memory corruption with configurable overheads.
Findings
CNN-based classification effectively detects memory corruption.
Coarse-grained boundary checks have low overhead (~1.07x).
Fine-grained monitoring incurs higher overhead (1.5x–1.8x).
Abstract
WebAssembly's (Wasm) monolithic linear memory model facilitates memory corruption attacks that can escalate to cross-site scripting in browsers or go undetected when a malicious host tampers with a module's state. Existing defenses rely on invasive binary instrumentation or custom runtimes, and do not address runtime integrity verification under an adversarial host model. We present Walma, a framework for WebAssembly Linear Memory Attestation that leverages machine learning to detect memory corruption and external tampering by classifying memory snapshots. We evaluate Walma on six real-world CVE-affected applications across three verification backends (cpu-wasm, cpu-tch, gpu) and three instrumentation policies. Our results demonstrate that CNN-based classification can effectively detect memory corruption in applications with structured memory layouts, with coarse-grained boundary checks…
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 · Software Testing and Debugging Techniques
