WADE: An LSTM-Based Anomaly Detection Engine for WebAssembly Applications
Organizations: Politecnico di Milano, Milan, Italy · Northeastern University, Boston, MA, USA
Abstract
WebAssembly (Wasm) enables near-native performance for web applications through a portable and sandboxed execution model. However, its limited runtime protection mechanisms (e.g., the lack of stack canaries and address space layout randomization (ASLR)) leave Wasm applications vulnerable to traditional attacks. We present WADE (WebAssembly Anomaly Detection Engine), a system that detects anomalous runtime behaviors in browser-executed WebAssembly applications. WADE monitors function-level execution traces collected under benign conditions and trains a Long Short-Term Memory (LSTM) network to learn the normal execution behavior of each application. At runtime, the model flags deviations from these learned patterns as potential attacks. Unlike signature-based approaches, WADE builds application-specific behavioral models, enabling detection of both known and previously unseen attacks without per-vulnerability signatures. We evaluate WADE on a dataset of 67 WebAssembly applications spanning ten vulnerability classes, achieving zero false negatives and a 0.42% false positive rate.
Figures & tables
| Vulnerability class | Programs in dataset |
|---|---|
| Buffer Overflows | 34 |
| Stack-Based Buffer Overflows | 23 |
| Heap Metadata Corruption | 22 |
| Overwriting Heap Data | 22 |
| Overwriting Stack Data | 22 |
| Redirect Indirect Calls | 22 |
| Metric | Value |
|---|---|
| Accuracy | |
| Precision | |
| Recall | |
| Specificity | |
| F1-Score | |
| False Positive Rate |
| Method | Accuracy | Recall | Precision | Specificity | F1-Score |
|---|---|---|---|---|---|
| Markov Chain | 82.1% | 7.1% | 50.0% | 82.9% | 12.5% |
| WADE | 99.62% | 100% | 96.90% | 99.58% | 98.42% |
Software Security
Software security studies how to find, prevent, validate, and repair vulnerabilities in code, systems, dependencies, and software supply chains.
See all 95 papers