对恶意软件样本执行静态分析后,接下来可以在虚拟机中运行它。


这是否使恶意软件有机会传播到真实计算机上?
这使恶意软件有机会跨网络传播吗?
我可以按照哪些步骤/技巧来防止恶意软件从VM传播?

我使用VMwareW。

评论

我编辑了您的问题以阐明要点。我还尝试使它的范围不如以前宽,否则它将被关闭。进一步了解常见问题。

如何安全分析潜在有害的二进制文件的可能副本?

另请注意,恶意软件可能会检测到虚拟机并停止照常运行。然后,您需要将其安装在真实计算机上(或更改您的VM)。

#1 楼

在几种情况下,恶意软件可以从VM传播到主机:


如果VM软件中存在错误。这不是很常见,但是有可能。
如果主机操作系统中存在错误。专门允许恶意软件从VM爆发的错误是不太可能的,但再次可能。
如果处理器中存在错误。这是不太可能的,但在数学上仍然不是不可能。
如果恶意软件有办法与主机交换信息。这可以通过网络进行;在这方面,使用VM和使用单独的物理计算机之间没有区别,因此您需要对VM进行适当的防火墙保护(仅允许最低限度,不要做任何可能使服务器劫持客户端的操作,例如SSH) X转发)。另一个障碍是通过VM工具(例如文件和剪贴板共享):VM中运行的软件可能读写共享文件,访问主机剪贴板等。因此,在VM中运行恶意软件时,应禁用所有这些便利工具(禁用在VM配置中对其进行限制,仅阻止该客户端软件的安装是不够的,因为该恶意软件可能会附带它)。

有关该主题的更多信息,请阅读https://security.stackexchange.com / questions / 9011 / does-a-virtual-machine-stop-malware-from-doing-harm和https://security.stackexchange.com/questions/12546/is-it-safe-to-install-malware-in -a-vm

总而言之,大多数恶意软件都可以在正确配置的虚拟机中安全地进行分析。禁用所有来宾功能,并且不要使用任何允许服务器影响客户端的协议连接到VM。对VM进行防火墙防护,就好像它是敌对的一样;您应该使用仅主机网络,以便可以轻松控制那里的运行。

还有一个原因,您可能更喜欢物理机而不是虚拟机。有相当多的恶意软件试图检测是否正在对其进行分析,并且在被检测时不会表现出恶意。恶意软件试图检测的显而易见的常见现象是它正在调试器下运行的迹象:检查是否正在跟踪(或Windows等效),检查执行中是否突然暂停,……还有一些恶意软件寻找虚拟机的迹象,例如常见的VM软件可模拟的硬件驱动程序,或在模拟的CPU外部不存在或罕见的CPU异常。这并不是说您无法分析VM中的恶意软件:有时可以,有时不能,这取决于恶意软件。如果您在VM中启动却找不到任何内容,则无需准备转移到物理计算机。

请注意,物理计算机也存在风险:恶意软件可能会尝试将自身植入其中一台计算机中。主板和外围设备上的许多固件。诸如Rakshasa和Mebromi之类的工具包开始出现。因此,如果您在物理计算机上分析某些复杂的恶意软件,请永远不要再信任该物理计算机。

评论


>这是不太可能的,但在数学上仍然不是不可能的,这是非常真实和危险的,仅检查intel或AMD的错误,我发现的最佳错误是在Core2系列中,无法完全保护4GB以上的内存

– Quonux
13年7月28日在1:35

#2 楼

重播中有很多说法,但是我想从实际角度强调一些答案:




网络连接-不久前我会同意简单地将虚拟机与网络断开连接将解决通过网络传播的问题。如今,越来越多的恶意软件仅在建立与CnC的连接或至少可以与外部世界建立连接时才起作用,因此,我建议您应该考虑更严肃的解决方案,而不仅仅是断开电缆连接:

设置另一个充当网关的虚拟机,这也将帮助您记录流量。
使用iNetSim之类的网络仿真软件,在某些情况下需要伪造结果时可以提供帮助由CnC安装防火墙返回,并尝试不使用网络共享或至少使它们成为只读



VM设置-不安装vm工具是有原因的一种从恶意软件隐藏虚拟机的方法,但是在这种虚拟机上工作真的很困难。您至少应该做的是以更隐蔽的方式设置VM。我找到了一些可能有助于解决此问题的链接,但还有更多其他解决方案:


在VMWare工作站上绕过虚拟机检测-您可以在此处找到vmware的配置选项恶意工作和其他一些东西。

恶意软件反VM技术-关于什么可以帮助恶意软件检测vm的一些解释
下一步是开发可以帮助您进行研究的各种专有工具。以及更高级的反VM技术。
尝试通过这种方式设置环境,以使主机和来宾是不同的操作系统-主机是linux / unix / osx,来宾是Windows。这将进一步降低宿主感染的风险。



物理机器-从实际的角度来看,物理机器的使用非常烦人,并且会浪费时间并且要求很高的准确性,尤其是在处理未知的恶意软件时,我丝毫不会谈论感染计算机后的恢复开销。

希望这会有所帮助:)

#3 楼

如果您使用的是VMWare,建议您使用仅主机连接。通常,创建虚拟机时,它将使用NAT或桥接,共享主机IP和/或网络适配器。使用仅主机,可使VM仅在没有Internet连接的情况下仅本地连接到该特定适配器(已为其分配了自己的本地IP并使用了它自己的网关)

通常在运行恶意软件时要使用此设置。您的其他解决方案正在使用沙箱软件,例如布谷鸟沙箱或沙箱。他们具有记录恶意软件正在执行的操作并将其保留在沙盒中的附加功能(它通常不会触摸系统文件或以任何方式感染系统)

#4 楼

如果VM软件存在错误,则恶意软件也可以从VM中传播出去并感染主机。

基础处理器(如果使用硬件虚拟化)也可能存在bug。

如果您具有网络连接,则该恶意软件可能会散布在网络上。因此,为防止这种情况,您必须选择一个可能永远无法建立网络连接的设置。即使禁用来宾中的网络也是不够的。必须设置VM,以便无法建立网络连接。

要防止恶意软件传播,您必须从网络断开测试设备(主机)的连接,并为每个恶意软件重新设置它。另请注意,恶意软件可能会使用MBR或BIOS嵌套在您的计算机中。

#5 楼

使用最新和最好的VMWare版本。监视您的真实系统。 :)
为什么?好吧,我已经看到“突破” Vmware的恶意软件。怎么样?环-1开发。这不是您通常看到的东西。但这可能会发生,可能不会与您的样本一起出现,但可能会发生。

因此,请监视您自己的系统(ProcMon)。不要安装VMware工具(该示例更容易发现它可能处于休眠状态)。并尝试一些VirtualSystems,Qemu,VirtualBox的作品。

玩得开心:)