5 ms·
And of course, being OpenBSD, it's privsep and sandboxed from the very beginning.. cool. https://marc.info/?l=openbsd-cvs&m=144702840931345&w=2 https://marc.in
by notaplumber 10y ago
And of course, being OpenBSD, it's privsep and sandboxed from the very beginning.. cool.
https://marc.info/?l=openbsd-cvs&m=144702840931345&w=2 https://marc.info/?l=openbsd-cvs&m=144702840931345&w=2, https://marc.info/?l=openbsd-cvs&m=147578652321303&w=2 https://marc.info/?l=openbsd-cvs&m=147578652321303&w=2
Man pages:
http://man.openbsd.org/vmm.4 http://man.openbsd.org/vmm.4
http://man.openbsd.org/vmd.8 http://man.openbsd.org/vmd.8, http://man.openbsd.org/vm.conf.5 http://man.openbsd.org/vm.conf.5
http://man.openbsd.org/vmctl.8 http://man.openbsd.org/vmctl.8
- rwmj 10y agoQEMU/KVM on Fedora and RHEL uses seccomp, SELinux, namespaces and a separate user, and has done for about the past 5 years. It's more interesting if they've managed to fully protect the kernel part of this (ie. vmm on OpenBSD, KVM on Linux) from the rest of the kernel.
- JoachimSchipper 10y agoI'm not clear - do you want to protect the vmm driver in the host from attacks started by the rest of the host kernel? Or are you referring to attacks started by the guest on the http://man.openbsd.org/virtio.4 http://man.openbsd.org/virtio.4 interface? OpenBSD's VMs seem to be pledge()d to not call most host-side kernel interfaces...
- rwmj 10y agoI'm referring to a mistake in the kernel module corrupting some other in-kernel structures, especially if that can be triggered from guest code.
- 4ad 10y agoThere is no privilege separation between kernel modules. They all run in the same address space with the same CPU privilege. SELinux, seccomp, and all that protect a compromised user space thread in the host (responsible for running emulated guests, or one that provides virtual device support to guests) from other user space threads (other VMs). If there is a some problem in the KVM kernel module that stomps over memory, SELinux and seccomp can't do anything about it.
- rwmj 10y agoRight, exactly the point I made up-thread (https://news.ycombinator.com/item?id=12700045 https://news.ycombinator.com/item?id=12700045).
- brynet 10y agoOpenBSD has no kernel modules, everything compiled into the GENERIC kernel is expected to be using proper kernel interfaces, mucking around with kernel structures is a no-no. Nothing can really prevent driver bug causing a crash, this isn't a microkernel, but it can reduce exposure from userland, i.e: pledge restrictions on syscalls/ioctls/sysctls.
- snvzz 10y agoHowever, it is still a boring type-2 hypervisor, just like bhyve, vmware or kvm; no real progress whatsoever. I'm keeping an eye at seL4's VMM support, it looks promising, with the microkernel actually guaranteeing isolation, whereas the VMM runs with minimum privileges as a user process.
- bcook 10y agoNo progress? Perhaps that is true from a general virtualization perspective, but this is progress from an OpenBSD (virtualization) perspective, right?
- andreiw 10y agoVMware ESXi is a Type 1 hypervisor.
- allanjude 10y agoIs it really though? It is running on top of a stripped down version of Redhat.
- yellowapple 10y agoNo it's not. Once upon a time, ESXi (when it was still called ESX) shipped with a stripped-down Linux in a role similar to a Dom0 on Xen; nowadays, ESXi doesn't even use Linux in that capacity.