Building a Wasm-in-Wasm Virtualizer (with JIT decrypted paged memory)
The article discusses the development of a WebAssembly-in-WebAssembly virtualization engine. It highlights the security vulnerabilities of standard WebAssembly and outlines a step-by-step approach to building a custom instruction set architecture. The end goal is to create a secure environment for executing sensitive code without exposing it to potential threats.
- ▪WebAssembly is designed for portability and speed but is not inherently secure.
- ▪The article proposes building a virtualization engine to enhance the security of WebAssembly applications.
- ▪A custom instruction set architecture will be defined to obscure the code and protect sensitive logic.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3938710) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } TrustSig Posted on May 18 Building a Wasm-in-Wasm Virtualizer (with JIT decrypted paged memory) #webassembly #compiling #security #nieche Intro WebAssembly was built for portability and raw speed. It was definitely not built for keeping secrets. To really protect your code, you have to compile it down to a custom, undocumented bytecode and ship it with a tiny internal interpreter to run it securely.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).