Re:A few thoughts on Fuchsia security
by kaba0 on Sunday June 13, 2021 @03:27AM
(#27490545)
What is only running safe code? How could then we build a browser with JIT compilation?
[ Parent
| on HN ]
First thing that comes to mind is the approach that Jurassic javascript [1] does using .Net IL generation, run that on a .Net based OS like Singularity [2].
1. https://github.com/paulbartrum/jurassic
2. https://en.wikipedia.org/wiki/Singularity_(operating_system)
Re:A few thoughts on Fuchsia security
by CyberRabbi on Monday June 14, 2021 @03:47AM
(#27500307)
Inferno is another example of a system that did not expose the ability to dereference raw pointers to user programs: https://en.m.wikipedia.org/wiki/Inferno_(operating_system)
So just run a different JIT compiler? Also, the Jurassic name is quite funny when talking about security :D
The point is your jitting to an intermediate language thats verified and a system level jit actually turns that into machine code, you are never allowed to write machine code directly to memory and execute.
V8 basically does this internally with its bytecode, if your whole system was built on that bytecode then you can do software isolation rather than hardware.