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