发布网友 发布时间:2022-05-18 20:25
共1个回答
热心网友 时间:2023-09-15 06:53
影子系统的工作原理其实非常简单,就是把需要保护的硬盘已有内容,通过特有的技术保护起来(其实也就是弄成了只读),对已有内容的编辑操作等,均是在空白的硬盘区进行,并做有标记。重启机器的时候,放弃新编辑的内容。所有的这些操作只是做做标记而已,并没有真正备份拷贝什么文件内容,所以影子系统程序运行几乎没有影响到机器的速度。
当然,由于在被影子了的分区删除文件,其实并没有真正被删除,删除的只是一个影子的假象而已,所以在影子模式下,被保护的分区硬盘容量计算应该是另外一套算法。这一点现有的影子系统版本考虑有点不周,只要保障被影子保护了的分区有足够的剩余空间,一般3个G或以上,用影子系统,没有任何问题。 系统启动时,在windows加载之前,建立被保护磁盘的磁盘分配表副本,副本分配表中标记原已分配区域为只读,PowerShadow重新定向所有来自windows的磁盘修改操作到原空余区域,并且只刷新分配表副本。一旦系统重新启动,原分配表和原分配表标记的已分配区域数据毫无变化,以此达到在不增加任何额外的磁盘读写的前提下实现对原磁盘数据的保护。
原理上,PowerShadow的软件层面相当于bios扩展而不是windows的一部分,如果ps本身没有漏洞和bug,硬件没有故障和bug,任何windows程序都无法攻破PowerShadow的磁盘保护。而Power Shadow程序核心规模很小,做到无bug也是很容易的。
唯一难以解决的问题是如何让windows准确地报告剩余磁盘空间。例如8g磁盘,已经用掉4g,进入windows后删除2g数据,windows会报告剩余6空间,而实际上只有仍然只有4g可用空间。
还有一个功能类似的软件,也叫影子系统shadowuser,但是软件实现层面完全不同,健壮性和powershadow无法相提并论, powershadow相当于bios扩展不属于window控制范围,shadowuser则属于windows应用程序,尽管能实现更多样的程序功能,但是其健壮级别等同于windows自身,他只相当于windows磁盘api的扩展,理论上,任何windows级别的恶意程序都可以对他的保护实行致命的攻击,完全是自欺欺人的所谓保护。 与影子系统有些相似,但还是不同的是沙盘,Sandboxie运行的程序对系统作的任何改动(文件操作、注册表操作)都会被Sandboxie拦截并将其*在一个虚拟的环境里,例如,若程序要修改系统上某个文件时,Sandboxie会将此文件拷贝一份放在一个虚拟文件夹里让程序修改、访问,从而保护系统不会被真的修改。这样可以防止感染病毒。
与虚拟机不同之处在于,Sandboxie并不需要虚拟整个计算机,它只根据现有系统虚拟一个环境让指定程序运行在其中,因此,若真实系统是windows XP的,则在sandboxie中运行的程序也是在windowsXP环境中运行的,也可以访问磁盘上的现有文件,只是其改动会被虚拟。这样,会很省系统资源,一般的电脑都能流畅运行,而虚拟机对电脑配置要求很高,内存基本上要有1G才能顺利运行。
影子系统与沙盘的区别,影子系统会使整个系统在虚拟环境下运行,所有程序的改动都会被阻止。而Sandboxie只针对指定程序。。