Artigo Acesso aberto Revisado por pares

Wasm-Mutate: Fast and effective binary diversification for WebAssembly

2024; Elsevier BV; Volume: 139; Linguagem: Inglês

10.1016/j.cose.2024.103731

ISSN

1872-6208

Autores

Javier Cabrera-Arteaga, Nicholas B. Fitzgerald, Martin Monperrus, Benoît Baudry,

Tópico(s)

Adversarial Robustness in Machine Learning

Resumo

WebAssembly is the fourth officially endorsed Web language. It is recognized because of its efficiency and design, focused on security. Yet, its swiftly expanding ecosystem lacks robust software diversification systems. We introduce Wasm-Mutate, a diversification engine specifically designed for WebAssembly. Our engine meets several essential criteria: 1) To quickly generate functionally identical, yet behaviorally diverse, WebAssembly variants, 2) To be universally applicable to any WebAssembly program, irrespective of the source programming language, and 3) Generated variants should counter side-channels. By leveraging an e-graph data structure, Wasm-Mutate is implemented to meet both speed and efficacy. We evaluate Wasm-Mutate by conducting experiments on 404 programs, which include real-world applications. Our results highlight that Wasm-Mutate can produce tens of thousands of unique and efficient WebAssembly variants within minutes. Significantly, Wasm-Mutate can safeguard WebAssembly binaries against timing side-channel attacks, especially those of the Spectre type.

Referência(s)