16 ms·
> since the code is now in ring 0, you get all the consequences of that No you don't. Because WASM does not provide many of the facilities that real assembly p
by candiodari 8y ago
> since the code is now in ring 0, you get all the consequences of that
No you don't. Because WASM does not provide many of the facilities that real assembly provides. So, for instance, there is no way to stack-smash using WASM instructions, regardless of the any security problems in the code itself, or even outright malicious code. It just can't do it.
More generally for VMs, there are secure VMs which provide a mathematical proof that the code will, for instance, observe memory safety. Such a proof is much better than ring-level protection, because :
1) You can verify the proof. Good luck verifying the hardware implementation of ring-level security in processors
2) It doesn't take any resources at runtime
3) the proof can be verified at code load time, so insecure code (accidentally insecure or otherwise) just doesn't start executing, ever
4) It doesn't allow for manufacturers to hide "secure coprocessors" or any other bullshit like that