Earlier quoted context omitted.
Yes the concept, as well as implementations, existed for decades. I think WASM is hype because it comes from the Web/JS community and they have good communication, but technically there is nothing new under the sun.
I would say that being a success instead of a failure is something new. The JVM was successful but not for plugins, nor for embedded safety. Also the fact that many vendors have reached a consensus on both a MVP and an update process to future features looks like a win. If Sun, Microsoft, Apple, and Google had all been on board with the (supposedly free software) JVM the story would have been very different.
The Bytecode Alliance: Building a secure, composable future for WebAssembly
261–265 of 265 posts
Re: The Bytecode Alliance: Building a secure, composable future for WebAssembly
#262I'm one of the folks working with the Alliance, and I'm incredibly excited about WebAssembly outside the browser. Happy to answer questions. Imagine extensions for applications or databases, written in any language you want, with no ability to exfiltrate data. Imagine supporting a safe plugin API that isn't just for C and languages that FFI to C, but works natively with safe datatypes. Today, if you want to be extens…
Re: The Bytecode Alliance: Building a secure, composable future for WebAssembly
#263Earlier quoted context omitted.
No. Marking memory as executable is a native machine level capability (as in x86_64 assembly machine instructions). Wasm is a stack machine interpreter that can read only Wasm binaries. The binary format is essentially just a compressed/minimized form of the bytecode format, which used to essentially be an AST of the original source code, but now I believe they modified it a bit to be more analogous to hypothetical m…
That's what I thought. Then that's one whole category of exploits that no longer applies, no?
Re: The Bytecode Alliance: Building a secure, composable future for WebAssembly
#264Earlier quoted context omitted.
internal memory corruption is different from external memory corruption.
It still gets a CVE award in the end.
Re: The Bytecode Alliance: Building a secure, composable future for WebAssembly
#265Earlier quoted context omitted.
This isn't entirely accurate. Exploitations in whatever code is converted to wasm instructions still work inside the wasm memory space. As in, if you write your program in c, python, whatever, and put it in wasm, then have a wasm extension system of some sort - if that c or python is exploitable, then whatever external access that wasm instance has is now useable. And whatever memory is in the memory space can be mod…
The point is that you can more easily and clearly sandbox the wasm plugin. If the python implementation tries to send http requests but the wasm sandbox has no network access you are safer in wasm than in python.