I made a couple of short explainer videos on it:
- design goals and instruction set:https://youtu.be/VOaSaShAYb0
- mechanizing safety proofs for wasm: https://youtu.be/zsPVbmEPTlA
I made a couple of short explainer videos on it:
- design goals and instruction set:https://youtu.be/VOaSaShAYb0
- mechanizing safety proofs for wasm: https://youtu.be/zsPVbmEPTlA
“...provides access to several operating-system-like features, including files and filesystems, Berkeley sockets, clocks, and random numbers, that we'll be proposing for standardization.
It's designed to be independent of browsers, so it doesn't depend on Web APIs or JS, and isn't limited by the need to be compatible with JS.”
"Usenix Security '20-Everything Old Is New Again: Binary Security of WebAssembly"
> Notably, they don't appear to even try to break the WA-host memory barrier, which I actually find to be a validation of the core design goal of WebAssembly: isolate the damage a vulnerable program can inflict to the memory space (and thus also output) of that program. Protect the host from the program, but not the program from itself. Also, maybe don't dump WA output you can't validate directly into DOM.
> Protect the host from the program, but not the program from itself.
All nice and dandy, except that the goal of WebAssembly is to extend the host, and have the host be dependant on the program behaviour.
A host unaware that the program is compromised can be led to take decisions that it wouldn't otherwise do, like allow a basic user to acquire admin credentials, that were supposedly correctly validated by the program.
I am really eager to see the amount of CVE's on WebAssembly to start poping up, then the whole WebAssembly advocates can tell the world why we had to ditch PNaCL and CrossBridge, 10 years of regress, and get the same outcome in the end.
You could say that this is the most web-specific aspect of Web Assebly
If not, then it was just smoke and mirrors to sell an agenda and delay progress 10 years.
"Unreal Engine 3 Support for Adobe Flash Player - Epic Citadel" -> 2011
Regarding the "Everything Old Is New Again: Binary Security of WebAssembly" they find that compiling something like photoshop to a single wasm module forfeits many security features available in x86, but this also point toward a future where application can be compiled in dozens or more small isolated modules. It remains to be seen if this will suceed or fail...
WebAssembly is what the browsers now offer us, so I have to accept it, that doesn't mean I buy into the security story, specially when basic stuff like bounds checking inside the same linear memory segment is not considered as relevant.
That paper is just the first of many yet to come.