什么是影子系统
影子系统是隔离保护Windows操作系统,同时创建一个和真实操作系统一模一样的虚拟化影像系统。进入影子系统后,所有操作都是虚拟的,所有的病毒和流氓软件都无法感染真正的操作系统。系统出现问题了,或者上网产生垃圾文件,只需轻松的重启电脑,一切又恢复最佳状态。
影子系统介绍
影子系统技术,是一种实时虚拟计算机操作系统,并用虚拟替身———“影子系统”来接管原真实系统的操作,实现对计算机系统瞬间隔离保护的技术。
1.影子系统概念模型
一般情况下,病毒侵扰或误操作都直接由计算机真实操作系统作出响应。其操作流程如图1所示。
图1
当操作导致系统崩溃,计算机工作就只能停止,等待人工处理。理想的途径是存在简单的方法,如图1中虚线箭头所示,能使系统在最短时间内恢复至初,但这种想法在单个系统实体上很难实现。如果根据真实系统,实时虚拟一个功能等同的操作系统,使所有操作发生在虚拟系统上,与真实系统分离开来,问题就迎刃而解了。其操作流程如图2所示。
图2
虚拟系统对操作的响应结果正常,则可以将“虚”转“实”,把正确结果导入真实系统中,实现后继虚拟系统内容的更新;如果响应结果不正常,则可以由“实”转“虚”,抛弃受影响的虚拟系统,借由原真实系统重新生成新的虚拟系统。这就是影子系统的概念模型。
2.影子系统工作原理
计算机启动时,在真实操作系统(比如Windows2000,WindowXP,Vista等等)加载之前,建立被保护磁盘(一般指系统盘)的磁盘分配表副本,副本分配表中标记原已分配区域为只读,如图3所示。
图3
在影子系统模式下,所有针对真实系统的磁盘操作被重新定向到副本分配表,并且只刷新副本分配表。写入新数据到保护区时,数据存入保护区的自由空闲区,并刷新副本分配表以建立相应的映射关系。如果修改原分配表中标记为已分配区域的数据,例如图3中的原数据1,修改后的结果同样被保存到保护区的自由空闲区,并刷新副本分配表与之建立相应的映射关系,而不是修改原分配表中标记为已分配区域的数据,也不刷新原分配表;读取保护区数据时,则根据副本分配表上的映射关系去寻找磁盘存储区上对应的数据。一旦系统重新启动,原分配表和原分配表标记为已分配区域的数据毫无变化(实现系统还原),而先前的副本分配表消失,其相对于原分配表所建立的所有新映射关系也不复存在,取而代之的是新生成的副本分配表。这样,虽然先前写入保护区的新数据以及修改原保护区数据后转存的结果在计算机重启后依然存在于磁盘保护区上,但由于其没有与新副本分配表建立映射关系,用户读取不到,从而在分配表和用户实际观察看来,它们所占存储区就是自由空闲区,是可以供来写入新数据的。换言之,它们不再是有用数据,顶多是残留在存储区上的垃圾电信号而已了。
“实”向“虚”的有规则转化,由上面的讨论知,重启计算机就能实现;“虚”向“实”的转化,则根据用户需求在相应规则下,去掉原分配表中标记为已分配区域的只读属性,并根据副本分配表的记录刷新原分配表以及修改原已分配区域的数据。值得注意的是,由“虚”向“实”的操作要慎用,否则会让影子系统工作模式对计算机系统的保护作用失去意义。
基于副本分配表运行的操作系统,感觉上如同与原系统相分离的克隆版本,故称之为影子系统。
3.影子系统工作模式的优越性
针对计算机系统自身的防护,早先软件技术主要采取备份正常系统,出现故障后利用备份还原的方法,相关软件有ghost、还原精灵等等。这类技术较之影子系统,主要存在以下不足:一是实时性差,不能及时地还原或动态更新系统;二是操作繁琐,比如使用ghost进行相关操作需要在纯DOS系统环境下进行;三是费空间,备份文件需要占用额外的磁盘空间或其他存储介质;四是稳定性差,如果备份文件损坏或丢失,则系统恢复终止。
硬件技术方面,主要就是硬盘保护卡(还原卡)。保护卡的主体是一种硬件芯片,插在主板上或集成于主板上与硬盘的MBR(主引导扇区)协同工作,其接管BIOS的INT13中断,将CMOS信息、引导区、FAT、中断向量表等信息都保存到卡内的临时存储单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时存储单元中,用来应付对硬盘内数据的修改;最后是在硬盘中找到一部分连续的磁盘空闲区,将修改的数据保存其中。保护卡的工作原理大体上类似影子系统,其不足之处主要在于:一是需要额外的硬件开销,对普通用户来说并不经济;二是影响系统的启动速度,对保护卡检测和状态初始化都需要额外的时间开销;三是发生硬件异常的几率增加,对于插入式保护卡而言,时有发生系统启动中止并提示“找不到硬件”的错误,当然,处理方法也很简单,一般只需重新插拔保护卡使其与电脑主板接触良好即可。