在虚拟机上运行简单病毒是否安全?

信息安全 恶意软件 虚拟化 vmware
2021-08-17 16:44:22

我刚刚制作了一个非常简单的批处理病毒,它可以自行运行并在启动时运行。我想测试它,因为我想把它发送给一个 YouTuber,他拍摄自己在虚拟机上运行这些病毒。

问题是,我怎样才能让虚拟机安全地运行它而不使用我的实际计算机?另外,由于 VM 使用主机 PC 的 RAM,如何使 RAM 不受此病毒的影响?

(病毒会自行运行 5 次,还会将自身复制到用户的文档文件夹、桌面和其他地方,造成很多延迟。)

我绝对无意将病毒传播给公众。

3个回答

大多数虚拟机的默认设置足以保持一切隔离,这就是它们的设计目的。

根据您使用的软件,具体设置可能会有所不同,但您可以在 VM 的设置中检查以下几项以确保计算机安全:

  • 禁用文件共享、共享剪贴板和拖放
  • 设置内存和处理器使用率以及虚拟硬盘大小的上限
  • 确保您的网络设置设置为断开连接或 NAT
  • 确保您的所有串行和 USB 端口都已禁用/未共享
  • 检查与您的 PC 关联的打印机和其他无线设备是否未共享

为防止病毒从 VM 的虚拟化硬盘中逸出,您需要确保不连接 VM 和主机文件系统(没有“共享驱动器”或“共享文件”或任何东西)。您还应该确保 VM 没有映射任何具有写访问权限的网络驱动器。

RAM 的使用不是问题。VM 使用的 RAM 由其主机专用于 VM;只要 VM 运行,RAM 就不会用于除VM 之外的任何东西。当 VM 停止运行时,它放入 RAM 中的数据可能会保留在那里(或可能会被删除),但这无害;在使用之前初始化内存(不假设它的旧值)在软件开发中是完全理解的,事实上,许多语言的编译器甚至不会让你访问未初始化的内存。

显然,不要让虚拟机使用你机器的所有资源;对 VM 可以访问的 RAM、CPU、虚拟磁盘大小等设置一个限制,这样它就不会让你的主机瘫痪。

是的,只要您遵守以下规定,它就是安全的:

  • 主机和来宾之间没有共享外围设备/端口
  • 主机和来宾之间没有共享服务(如文件/打印共享)
  • 主机和来宾之间没有网络连接(如果您不需要使用它,请从来宾中完全删除 NIC)

如果确实需要网络连接,则必须隔离、防火墙和监控;不要使用与主机相同的 VLAN/子网。

内存不是问题,因为分配给 VM 的内存量实际上已从主机访问中删除。对于主机来说,它是一个不可用/保留的内存区域,根本不会被访问。