我想知道虚拟机的主机系统(在我的例子中是VM- VirtualBox OSE )执行恶意软件是否安全。
病毒能从主机系统中释放并读写数据吗?如果我在VM中禁用它,它能建立一个Internet连接吗?
VM是否是一个安全的环境,可以尝试找出病毒的作用?
如果我将内存减少到实际内存的1/4左右,分叉炸弹会“杀死”主机系统吗?它可以使用多少CPU时间/资源?
发布于 2011-11-18 01:26:59
从理论上讲,来宾系统被VM完全隔离,甚至无法“看到”主机,更不用说攻击它了;因此,来宾无法突破VM。当然,在实践中,它偶尔会发生 (网络存档链接)。攻击需要利用VM实现中的安全问题(即导致严重后果的编程错误),或者可能利用VM所基于的硬件特性。VM之外的数据很少有退出路由;例如,对于Internet访问,VM模拟的是一个虚拟网卡,它只处理最低级别的数据包,而不是完整的TCP/IP -因此,大多数IP堆栈问题仍然局限于VM本身。因此,导致VM崩溃的bug往往仍然很少发生。
有些类型的攻击,VM是非常有效的,例如叉炸弹。从主机系统的角度来看,VM是一个单一的进程。客户中的分叉炸弹将使客户操作系统中的调度程序屈服,但对于主机来说,这将是完全无害的。与内存类似: VM用给定数量的RAM模拟物理机器,并且需要大约那么多“真实”RAM才能有效地备份它。不管客户做什么,VM永远不会垄断更多的RAM。(您仍然希望将VM RAM大小限制在最多为物理RAM大小的1/2,因为额外的“真实”RAM用于磁盘缓存非常方便;主机操作系统也希望使用一些。)
发布于 2011-11-17 22:08:51
我在VM中做了相当多的恶意软件实验--主要是使用backtrack4从一个主机侵入另一个主机。我主要是一个VMware工作站用户。
最大的问题来自VM的网络连接传输回主机操作系统的可能性。您希望完全禁用网络和/或使用无法访问主机的网络。
限制记忆是最好的做法。我一般把它保持在四分之一左右,和你一样。CPU时间被限制在内核的数量或(如果软件中有更细粒度的控件)为特定VM定义的CPU时间的百分比。
能够突破虚拟环境的有针对性的攻击确实存在,而且可以在商业上获得--比如cloudburst @Hendrick提到的--但相对较少。更新您的虚拟化补丁是一个非常好的主意。
有关详细信息,请参阅这里、这里和这里。
发布于 2011-11-18 18:19:30
除了这里所有关于病毒是否能从VM中逃脱的好信息之外,让我指出另一个需要考虑的问题:
恶意代码有可能对检测它是否正在虚拟机中执行。进行攻击。这通常被称为虚拟机检测或“红丸”,并且有可用的许多 技法。
此外,一些病毒和其他恶意软件使用这些技术来检测它们是否在VM中运行,如果是的话,关闭它们的有效负载(避免采取任何恶意操作)。他们这样做是为了让人们的生活更加艰难,让他们能够反向设计或检测恶意软件。
因此,VM不是了解一件恶意软件所做的事情的好方法。恶意软件可能无法突破VM,但同时,当它在VM中运行时,它可能不会做任何事情。如果您在VM中运行它,看到它什么也不做,判断它是无害的,然后决定在VM之外运行它--您可以拥有它。在外面小心点。
https://security.stackexchange.com/questions/9011
复制相似问题