下面是我在其他线程(在VM内部运行VM是否是研究病毒等的更安全的方法?)中给出的关于嵌套虚拟化安全性的答案的副本。我想知道我的答案是否正确。我想知道半虚拟化驱动程序是否实际上是一种安全风险,以及SELinux (作为sVirt)是否可以对此做任何事情。
Me:(这是在2012年年中,在对嵌套虚拟化的良好支持之前)
您可以在VM中运行VM,但可能无法使用硬件虚拟化。它仍然可以工作,但是您可能需要使用不同的管理程序(例如: VirtualBox用于第一个VM,VMware用于第二个)。我认为这是不必要和不安全的。RHEL和Fedora (可能还有其他)已经内置了对运行KVM和使用SElinux限制主机上VM进程的支持。SElinux提供了充分的保护,但不针对半虚拟化驱动程序漏洞。为了获得最大的安全性,不要使用半虚拟化驱动程序。
X:
我找不到任何证据表明,当半虚拟化驱动程序在KVM上使用时,SELinux是无效的,而快速的Google搜索也没有发现任何东西。你有消息来源吗?
两年多过去了
我:
我认为最后一部分是我自己的想法,没有其他来源。IMO,半虚拟化驱动程序不受SELinux安全控制,因为SELinux控制用户空间进程、文件等。我认为半虚拟化驱动程序是通过来宾内核和管理程序之间的直接通信来工作的,这会带来更好的性能,但会向来宾公开一部分虚拟机管理程序,否则这是无法实现的。我没有证据证明,所以我可能完全错了。
发布于 2015-02-20 18:25:06
只有在半虚拟化接口设计为向来宾泄漏管理程序状态或信息的情况下,半虚拟化驱动程序才会面临安全风险。它没有比在操作系统中进行系统调用或让应用程序与设备驱动程序对话更安全或不安全。如果您考虑一下,来宾与虚拟机监控程序的对话类似于应用程序与内核的对话。添加到管理程序中的入口点越多,攻击面就越大,安全性也就越低。
https://security.stackexchange.com/questions/73522
复制相似问题