3 ms·
What do VMs mean in this context? I did a pass of the codebase and it seems they’re just forking processes? It’s unclear to me where the safety guarantees com
by jumploops 2y ago
What do VMs mean in this context?
I did a pass of the codebase and it seems they’re just forking processes?
It’s unclear to me where the safety guarantees come from (compared to using e.g. KVM).
Edit: it appears the safety guarantees come from libriscv[0]. As far as I can tell, these sandboxes are essentially RISC-V programs running in an isolated context (“machine”) where all the Linux syscalls are emulated and thus “safe.” Still curious what potential attack vectors may exist?
[0] https://github.com/libriscv/libriscv/tree/dfb7c85d01f01cb38fb34b529894a2baaa902d04 https://github.com/libriscv/libriscv/tree/dfb7c85d01f01cb38f...
- RainyDayTmrw 2y agoSee also: Google's GVisor [1], which was used in Google App Engine. [1]: https://en.wikipedia.org/wiki/GVisor https://en.wikipedia.org/wiki/GVisor
- fwsgonzo 2y agoWell, the boundary between the host and the guest, the system call API, is always going to be the biggest vector of attacks no matter what the solution used is. But, if you find a problem and fix it, you're back to being safe again, unlike if you don't have any sandboxing at all. You can also put the whole solution in a jail, which is very common nowadays.
- jumploops 2y agoCan you expand on “put the whole solution in a jail”?
- fwsgonzo 2y agoFireCracker has a jailer: https://github.com/firecracker-microvm/firecracker/blob/main/docs/jailer.md https://github.com/firecracker-microvm/firecracker/blob/main...
- jumploops 2y agoAh, this is helpful, thanks!
- CartwheelLinux 2y agohttps://wiki.freebsd.org/Jails https://wiki.freebsd.org/Jails
- pjc50 2y agoThe whole thing could really do with an explanation of how it works.
- binary132 2y agolibriscv sounds amazing on paper, I’d love to learn more about it