针 对影子/还原软件的“防穿透”能力,笔者做了一点对比测试。
文中推断不一定完全确切,但力求以实验结果说话,力求客观,有不同意见可以一起切磋。

1、参与测试的影子系统/还原软件:
1)DeepFreeze-2008.3.11.0
2)还原精灵-6.1
3)PowerShadow2009
4)Returnil RVS-2008-2.0.0.5011
5)ShadowDefender-1.1.0.264
6)ShadowUser-10.50.0.125
7)FreezeMagic冰冻精灵-2.0.0.9,新出的

2、参与测试的穿透工具:
a)SectorEditor1.06.exe --- 作者 Julie.Lau --- 基于scsi指令
b)PassDiskProtect_C.exe --- 作者 猪头三 --- 基于scsi指令
c)ReadSector.exe --- 作者 魔刀王子 --- 基于out指令
d)硬盘保护卡克星 --- 作者 汪登 --- 应该是基于out指令,没深入研究

出于时间原因,笔者并没有找机器狗的样本来参加测试。

3、测试环境:
vmware虚拟机,xpsp3操作系统,系统分区处于1)2)3)4)5)6)7)的保护状态

4、测试方法:
A)用SectorEditor1.06.exe修改硬盘的0扇区(MBR)
B)用SectorEditor1.06.exe修改系统分区的0扇区
C)用PassDiskProtect_C.exe运行一遍 --- 程序行为是向MBR写入N个01值
D)用ReadSector.exe修改硬盘的0扇区(MBR)
E)用硬盘保护卡克星快速格式化整个硬盘 --- 程序行为是向MBR写入N个00值

5、测试结果:
1)DeepFreeze-2008.3.11.0 : 全部穿透,得分0+0+0+0+0= 0,汗!
2)还原精灵-6.1 : 全部穿透,得分0+0+0+0+0= 0,可惜!
3)PowerShadow2009 : 全部穿透,得分0+0+0+0+0= 0,可惜!
4)Returnil RVS-2008-2.0.0.5011 : 得分0.7+0.0+0.7+0.7+0.7= 2.8
5)ShadowDefender-1.1.0.264 : 得分0.5+0.5+0.7+0.7+0.7= 3.1
6)ShadowUser-10.50.0.125 : 全部穿透,得分0+0+0+0+0= 0,可惜!
7)FreezeMagic冰冻精灵-2.0.0.9 : 可以顶住A)B)C),得分1+1+1+0+0= 3

6、简要分析:
* DeepFreeze/还原精灵/PowerShadow/ShadowUser似乎压根没想防这些,希望未来不断完善一下。
* RVS的0.7分是有原因的,因为笔者发现其内部采用的防御机制不够彻底,
似乎是定期轮巡或关机的时候回写了MBR。
具体的表现就是,当你穿它后,正常关闭机器,它可以“防”住;但是,当你穿它后立即关闭电源,
则RVS就挂了、防不住了。
* ShadowDefender的0.5分也是有原因的,因为A)B)穿透时,SD的策略是立即自动重启了,不够友好。
如果其内部用的是“白名单”机制,则分数应该更低;如果其内部用的是防scsi机制,
则会带来程序兼容性的潜在隐患。
ShadowDefender的0.7分的原因和RVS的原因一样,不再赘述。
* 冰冻精灵是后起之秀,除了对out的防御未做轮巡回写保护外,其他都是不错的。
* 从上面的结果看,所有的软件都没有彻底防御out指令导致的穿透。
这也说明这些软件都还不是完全的虚拟化实现,需要有新的策略加进来才能不断提升防御能力。

7、后记:
经过几十次的重启机器,终于完成了测试。
向vmware致敬!这才是最强大的虚拟化防穿透!没有它,我们是无论如何不能完成这个测试的。
不过,以上测试和评分仅仅针对于“防穿透”一个方面,所以,得分不高的也不能说明软件不好,
只是说在这方面有提高的空间,可以在未来使软件完善并提高到一个新的台阶。
软件的综合素质才是一个最值得衡量的指标。
欢迎大家一起讨论。