我的主机是否与受病毒感染的虚拟机完全隔离?

Dio*_*ogo 55 windows security virus anti-virus virtual-machine

如果我在使用 VMWare 或 VirtualBox(或其他任何东西)的 Windows 7 主机上运行 Windows 7 虚拟机,并且虚拟机完全被病毒和其他恶意软件过载,我应该担心我的主机吗?

如果我在主机上安装了防病毒程序,它会检测到任何问题吗?

cp2*_*141 65

到目前为止,每个答案都遗漏了更多的攻击媒介,而不仅仅是网络连接和文件共享,还有虚拟机的所有其他部分——尤其是在虚拟化硬件方面。下面显示了一个很好的示例(参考文献 2),其中来宾操作系统可以使用模拟的虚拟 COM 端口脱离 VMware 容器。

几乎所有现代处理器上通常包含并有时默认启用的另一个攻击向量是x86 虚拟化。虽然您可能会争辩说在 VM 上启用网络是最大的安全风险(实际上,这是一个必须考虑的风险),但这只会阻止病毒在其他每台计算机上传播的方式(通过网络)。这就是您的防病毒和防火墙软件的用途。话虽如此...

已经有病毒,可实际上是“打出来”的虚拟机,它的爆发已经在过去被证实(见参考文献1和2以下详细说明/例子)。虽然一个有争议的解决方案是禁用 x86 虚拟化(并降低运行虚拟机的性能),但任何现代(体面的)防病毒软件都应该能够在有限的范围内保护您免受这些病毒的侵害。甚至DEP将在一定程度上提供保护,但仅当病毒在您的实际操作系统上(而不是在虚拟机中)执行时。同样,请注意下面的参考资料,除了网络适配器或指令虚拟化/转换(例如虚拟 COM 端口或其他模拟硬件驱动程序)之外,恶意软件还有许多其他方式可以从虚拟机中脱离出来。

最近,大多数新处理器都添加了I/O MMU 虚拟化,这允许DMA。除了能够直接在 CPU 上运行代码之外,计算机科学家不需要看到允许带有病毒的虚拟机直接访问内存和硬件的风险。

我提出这个答案只是因为所有其他答案都暗示您相信您只需要保护自己免受文件侵害,但在我看来,允许病毒代码直接在您的处理器上运行是一个更大的风险。一些主板默认禁用这些功能,但有些则不会。减轻这些风险的最佳方法是禁用虚拟化,除非您确实需要它。如果您不确定是否需要它,请禁用它

虽然某些病毒确实可以针对您的虚拟机软件中的漏洞,但当您考虑处理器或硬件虚拟化时,这些威胁的严重性会急剧增加,尤其是那些需要额外主机端仿真的病毒。


  1. 如何恢复 Themida 的虚拟化 x86 指令(Zhenxiang Jim Wang,Microsoft)

  2. 通过 COM1 逃离 VMware Workstation(Kostya Kortchinsky,Google 安全团队)

  • 从“过去已有记录”文本链接的文章*与突破 VM 无关*。(这是关于恶意软件混淆的 x86 虚拟化,以及此类的逆向工程) (4认同)
  • 谢谢,到目前为止,您得到了最好和最完整的回答(其中包括参考资料和有关该主题的一些理论基础)。谢谢你。 (2认同)

squ*_*man 17

如果您正在使用共享文件夹或在 VM 和主机之间进行任何类型的网络交互,那么您可能需要担心一些事情。潜在地,我的意思是这取决于恶意代码的实际作用。

如果你不使用共享文件夹并且没有启用任何类型的网络,你应该没问题。

除非您共享内容,否则主机上的防病毒软件不会在您的 VM 中进行任何类型的扫描。

  • 虽然这是真的,但您忘记了启用 x86 虚拟化时会发生什么。无论您是否在虚拟机上安装了网络控制器,存在的病毒都可以通过这种方式从您的虚拟机中爆发出来。 (7认同)

Rig*_*uez 7

如果 VM 感染了旨在利用 VMWare 工具等 VM 软件的病毒,它可能会被感染,但我认为目前没有任何东西能够做到这一点。如果主机易受攻击,它还可以通过网络利用主机。

主机系统上的防病毒软件不应在 VM 中发现病毒,除非它们位于共享文件夹中。

  • 有一些漏洞利用可以做到这一点。人们可以单独浏览 VMware 安全建议并找到一些:http://www.vmware.com/security/advisories/ 其他供应商也有问题。 (4认同)