什么是虚拟机?
比较通俗的回答(适合没有电脑基础的朋友)
虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心
对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。
比较专业的回答(适合有一点电脑基础的朋友)
虚拟机是指运行在Windows或Linux计算机上的一个应用程序,这个应用程序“模拟”了一个基于x86的标准PC的环境。这个环境和普通的计算机一样,都有芯片组、CPU、内存、显卡、声卡、
网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的“窗口”就是虚拟机的显示器。在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,
每台机器可以运行单独的操作系统而互不干扰,这些“新”机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操
作,还可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也
是唯一的能在Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的
作用。
目前主流的个人虚拟机软件有VMware Workstation ,Virtual PC,VirtualBox,Parallels Workstation 等。
什么是影子系统?
影子系统主要用于保护您的系统,它构建现有操作系统的虚拟影像(即影子模式),它和真实的系统完全一样,用户可随时选择启用或者退出这个虚拟影像。用户进入影子模式后,所有操作都
是虚拟的,不会对真正的系统产生影响,一切改变将在退出影子模式后消失。因此所有的病
毒、木马程序、流氓软件都无法侵害真正的操作系统,它们的所有操作都只是假象。
在您启动影子模式后,仍然和原系统完全一样使用,但是在下次启动前如果您遭到了病毒、木马的入侵,破坏了您的系统,您不必担心,一切的操作都是针对您的原系统的影子的。您的一切
操作,包括安装程序在下次用原系统启动时,也都是无效的,这对做程序安装测试非常有用,不会因为安装卸载而产生垃圾文件!
目前主流的影子系统有PowerShadow,Returnil,ShadowUser,Shadow Defender等。
因为有人问沙盘是什么,可能有些新人对沙盘还搞不清是什么东西,所以草草写了这篇小文,仅向新人简单介绍一下沙盘。
沙盘英文名sandbox,也叫沙箱,顾名思义可以看做是一种容器,里面所做的一切都可以推倒重来,军事上常用沙盘来进行一些战争区域的地形模拟,这个你见过吧?不用了可以把沙子推平重
来。
我们所说的沙盘是一种安全软件,可以将一个程序放入沙盘运行,这样它所创建修改删除的所有文件和注册表都会被虚拟化重定向,也就是说所有操作都是虚拟的,真实的文件和注册表不会
被改动,这样可以确保病毒无法对系统关键部位进行改动破坏系统。另外现在沙盘一般都有部分或完整的类似HIPS的程序控制功能,程序的一些高危活动会被禁止,如安装驱动,底层磁盘操
作等。目前沙盘主要有两大类,一是采用虚拟技术的传统沙盘,另一个就是采用策略限制的沙盘。
传统沙盘的典型代表之一就是sandboxie。看看它是怎么描述自己的,你就知道什么是沙盘了。
什么是sandboxie?
当你运行一个程序时,程序会读取硬盘上的数据,这时数据由硬盘流向程序,然后数据经过处理很显示后再由程序写回到硬盘中。
如果你运行一个游戏程序,它会先读取保存在硬盘中的数据记录,然后在你玩游戏的过程中显示出来,最后再写回硬盘以待下次使用。
sandboxie的作用就是改变了程序写入数据的地点,不让它写回到硬盘中,而是写到由sandboxie创造的一个虚拟区域。
上图展示了sandboxie的关键特性:一个虚拟的存储区域,或者称为沙盘。在读取数据时,数据由硬盘穿过沙盘到达程序,这个不受影响。但是在程序写入数据时,这些数据都被保存在沙盘中
而不会写入到硬盘。
如果你在沙盘环境下运行一个游戏,sandboxie会从硬盘读取数据并保存,然后游戏读取沙盘中的数据来满足它的需要。但是当游戏想写入数据时,sandboxie会拦截写入并把数据转移到沙盘
中。
sandboxie的应用
sbie会在一个被称为sandbox(沙盘)的隔离的虚拟区域运行程序。程序在此区域内运行不会受到影响,但是不能对系统做出永久的实际改变,程序所做的所有对文件和注册表的改动都仅仅在
沙盘中有效。
关于sandboxie的详细介绍请参考置顶教程帖中相关文章。
除了sandboxie这种利用虚拟技术的沙盘,还有另外一种采用策略限制的软件也可以称之为沙盘,因为它也具有可以恢复所有程序所生成的文件和注册表键值的功能,称之为ROLLBACK (回滚)
,而对于修改和删除操作和传统沙盘不同的是采用的是策略限制。典型代表有defensewall。
DW这种沙盘没有采用虚拟技术,因为虚拟技术目前还有一些缺陷的地方,如可能造成沙盘内程序的不稳定或资源占用升高等问题。所以在DW中运行的程序所生成的文件和注册表键值都是实机
生成,DW会对它们进行追踪,所有这些生成的东西都受到策略限制。如在DW内的一个程序生成了一个可执行文件,当运行这个可执行文件时,这个文件会被DW追踪到自动加入非信任区,受到
策略限制,这样一来确保了该文件不会对你的系统造成损害。而对系统重要文件和注册表键值的修改和删除同样会受到策略限制,禁止非信任程序进行操作。而传统沙盘对修改删除的操作是
采用的虚拟化重定向技术,也就是说所有的修改删除操作都是在虚拟区域中完成,真正的文件和注册表是没有被修改或删除的。从技术上说DW更接近于传统HIPS,只是增加了对生成项的追踪
限制功能,所以它是一个比较另类的沙盘。
有关defensewall的详细机制的介绍请参考置顶教程帖中相关文章。
目前比较主流的沙盘有sandboxie, defensewall, safespace, bufferzone, geswall.
所有这些软件本区置顶下载帖都有下载链接,另外置顶的教程帖里有有关这些沙盘的详细教程。
vmware虚拟机怎么使用沙箱和虚拟机有本质区别
沙箱中,所有的操作都是在本地系统中进行的,只不过沙箱会把所有操作记录下来,并在特定的时候将
所有这些操作撤销到之前记录的某一时间点去。沙箱其实只是通过加载相关驱动的方式,也就是说对于一个驱动开发的高手来说,穿透沙箱的保护其实并非难事。
而虚拟机则类似于一个计算机模拟器(虚拟机和模拟器还有区别),他实在你真实的计算机系统中通过软件手段虚拟出了一台假的计算机,这台计算机有完善的硬件体系——有CPU、有内存、有硬盘、有显卡、有声卡……总之一台真的计算机中有什么虚拟机中就有什么。而且它真实到了需要你在虚拟机里再安装一个系统——而不能使用你真实的系统。这就像是如来佛的手掌心,你病毒再这么折腾,再怎么底层,你也是在这个虚拟的环境中折腾在底层,但对于真实的系统,你什么都不是~~
沙箱和影子类似,和虚拟机有本质区别
沙箱和影子中,所有的操作都是在本地系统中进行的,只不过沙箱和影子会吧所有操作记录下来,并在特定的时候(沙箱是倒沙,影子是重启)将所有这些操作撤销到之前记录的某一时间点去。所以说影子系统又被成为多点恢复软件(与其对应的单点恢复软件就包括著名的Ghost还原)。而实现沙箱与影子其实只是通过加载相关驱动的方式,也就是说对于一个驱动开发的高手来说,穿透沙箱和影子的保护其实并非难事。
而虚拟机则类似于一个计算机模拟器(虚拟机和模拟器还有区别),他实在你真实的计算机系统中通过软件手段虚拟出了一台假的计算机,这台计算机有完善的硬件体系——有CPU、有内存、有硬盘、有显
卡、有声卡……总之一台真的计算机中有什么虚拟机中就有什么。而且它真实到了需要你在虚拟机里再安装一个系统——而不能使用你真实的系统。这就像是如来佛的手掌心,你病毒再这么折腾,再怎么底层,你也是在这个虚拟的环境中折腾在底层,但对于真实的系统,你什么都不是~~
当然,并不是说虚拟机就绝对安全了,穿透虚拟机的病毒依然存在,但绝不是上面穿透影子或沙箱那个级别的病毒可以比拟的,穿透虚拟机所要求的技术含量呈几何级的提升了。
如果你看过电影“黑客帝国”,那你可以在这里联想一下(没看过或对这电影没兴趣就直接跳过这一段,但“黑客帝国”确实是一个对虚拟机这个概念非常直观的诠释):其实不懂计算机——尤其是不懂虚拟机的人很难理解黑客帝国核心的东西。黑客帝国其实至少是四重世界(电影里只看到了两重,另外两重是推理出来的)——最顶层的是那个男主角Neo可以满天飞的世界,谁都能看出来这是个虚拟机,而Neo作为一个病毒,获得了虚拟系统中的特权(可以满天飞,还贼能打~)。而运行这个虚拟机的是很多观众认为的“现实世界”——锡安,但从Neo后来可以在锡安中发挥超能力干掉“大章鱼”来看,这其实还是在计算机里,Neo这些虚拟机中的病毒穿透了虚拟机,来到了运行虚拟机的系统中,并再次获得了特权。但三部“黑客帝国”的大结局却出人意料,那个疑似“上帝”的家伙说Ne o已经不是第一次这么做了,而大家认为是“现实世界”的锡安也被干掉好几次了,每次都是通过一个类似于重做系统的方式重新恢复的。我们知道,一个承担如此重任的计算机系统(要装下一个世界的系统……)是不能随便说重做就重做的,那唯一的解释是——锡安不仅依然是在计算机中,而且依然是一个虚拟机!那么后两重世界就很容易推
理的,需要有一个真实的计算机来运行“锡安”这个虚拟机,而这个真实计算机外面还有一个真正的“现实世界”。所以我强烈推荐,如果你有兴趣可以带着虚拟机的概念再把黑客帝国看一遍。
比较常见的虚拟机有VMware(多平台支持且功能强大,但占用资源高且收费)、Virtual PC(功能不错,物理机必须是Windows系统,虚拟机里装什么就随意了)、Virtual Box(多平台支持且开源免费,占用资源小运行流常,但功能不算强)
模拟器和虚拟机在设计思路上类似,但不同的是虚拟机采用了虚拟化技术(简单的说就是虚拟机使用的硬件有些其实还是你物理机的硬件,但被虚拟机用一种特殊的技术手段做了处理。具体的技术细节太深,我也不是很懂)而模拟器则是完全的用程序代码去编写所有的硬件——这样一来纯软件的模拟器的运行速度就慢了不少,但有些小型模拟器很适合用来测试一些小型系统,Bochs就是个不错的模拟器。