虚拟机到底有多安全?虚假的安全感?

信息安全 虚拟化 恶意软件
2021-08-22 23:11:34

我正在阅读这本CompTIA Security+ SYO-201 书,作者 David Prowse 声称:

无论您选择哪个 VM,该 VM 都无法跨越设置的软件边界。例如,病毒在执行时可能会感染计算机并传播到操作系统中的其他文件。但是,在 VM 中执行的病毒会通过 VM 传播,但不会影响底层的实际操作系统。

因此,如果我正在运行 VMWare 播放器并在我的虚拟机操作系统上执行一些恶意软件,我完全不必担心我的主机系统受到损害,是

如果虚拟机与主机共享网络,并且启用了共享文件夹怎么办?

难道蠕虫还不能以这种方式将自己复制到主机上吗?如果操作系统是 Windows 并且插入 USB 存储设备,用户是否仍然容易受到 AutoRun 的攻击?

虚拟机到底有多安全?它们在多大程度上保护主机免受恶意软件和攻击?

4个回答

虚拟机绝对可以跨越。通常你将它们联网,因此任何带有网络组件(即蠕虫)的恶意软件都会传播到它们的寻址/路由允许它们到达的任何地方。普通病毒往往只在用户模式下运行,所以虽然它们不能公开交流,但它们仍然可以建立一个隐蔽的通道。如果您共享 CPU,则一个 VM 上的繁忙进程可以有效地将状态传达给另一个 VM(这是您的原型时序隐蔽通道)。存储隐蔽通道会有点困难,因为虚拟磁盘往往对它们有硬限制,所以除非你有一个可以过度使用磁盘空间的系统,否则这应该不是问题。

保护 VM 的最有趣的方法称为分离内核这是 John Rushby 1981 年论文的结果,该论文基本上指出,为了使虚拟机以一种相当于物理分离的方式隔离,计算机必须以某种方式将其资源导出到特定的虚拟机,在这种方式下,任何资源都不能存储状态在虚拟机之间共享。这会产生深远的影响,因为它需要以一种可以以不可绕过的方式执行的方式来设计底层计算机架构。

在这篇论文发表 30 年后,我们终于有很少的产品声称可以做到这一点。x86 并不是它的最佳平台,因为有许多指令无法虚拟化,以完全支持“不共享”的想法。对于普通系统来说也不是很实用,因为有四个虚拟机,你需要四个硬盘驱动器,四个磁盘控制器,四个视频卡,四个 USB 控制器和四个鼠标等。

2020 年更新:最近所有基于硬件的漏洞(Meltdown、Spectre、Foreshadow、ZombieLoad、CacheOut、SPOILER 等)系列漏洞都是 VM 始终能够通信的很好例子,仅仅因为它们共享硬件(缓存、 TLB、分支预测、TSX、SGX)从未打算或准备进行分区和隔离。

多年来发表的一些白皮书描述了研究人员设法从 VM 感染主机操作系统的方式。这些通常被虚拟机供应商视为安全漏洞并被视为安全漏洞,这是正确的。自从我第一次看到这些论文以来,英特尔在允许分离 VM 和管理程序方面对处理器指令集进行了一些重大改进。

这些天我看到的少数漏洞更多地基于“vmtools”部分。这是您安装的软件,可以使来宾操作系统更有效地运行(对于 VMWare,这是允许动态光标捕获以及在没有网络的情况下在来宾和主机之间共享的软件)。这是一种特殊的感染软件途径;不要安装工具,没有漏洞。

一些恶意软件已经显示出能够检测到它们正在虚拟机内执行并因此改变它们的行为,这大大加剧了恶意软件研究人员试图使用虚拟机作为测试恶意软件的方式。不过,我不知道这几天有多流行。

在 Cloudburst 漏洞利用中可以找到来宾到主机代码执行的示例。有一段视频演示它,Immunity 的一篇论文详细介绍了他们在 Windows Vista SP1 上的 VMware Workstation 6.5.0 build118166、Windows Vista SP1 上的 VMware Workstation 6.5.1 build126130 以及(更可怕的)VMware ESX Server 4.0 上取得的成功。 0 构建 133495。

这可能提供不了多少安慰,但我从来没有听说过它在野外被使用,并且漏洞利用是从 2009 年开始的。那本书是在 2010 年出版的,所以作者应该清理那个声明。

虚拟机就是这样,一个逻辑上独立的机器,因此它必须具有与裸机系统相同的安全层。如果使用正常通道到达主机,使用虚拟机不会停止 vul。

虚拟化的真正魅力在于能够将虚拟机回滚到它们未受影响的状态,以及更好地管理可用资源的能力。

如果采取适当的措施来保护主机,虚拟化可以非常安全。诸如将 ESX/VM 服务器管理保留在不同的逻辑网络上以及不使用 VM 主机接口工具等做法将使攻击者大多忘记机器是虚拟的这一事实,更不用说如何访问主机了。

此外,还有一些影响 VM 主机的已知漏洞(我在 VMWare 和 Hyper-V 中使用过它们)。我目前只知道有关 hyper-v 的主机 DoS 攻击(请参阅内容),但我确信还有其他发现。VMWare 在它的历史中也有一些(即它是基于 VMWare 工具的,但它仍然适用)。

根据您所做的工作,有一些在线工具可能会消除您在自己的机器上进行分析的需要。这里有几个网站可以看看:
- Threatexpert.com
- anubis.iseclab.org
- virustotal.com