科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Windows Vista IE保护模式深度剖析(图)(3)

Windows Vista IE保护模式深度剖析(图)(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

原来Windows Vista为了能够让绝大多数加载项都能在IE浏览器上正常运行,IE保护模式采用一种虚拟重定向技术。原来IE保护模式在以下目录中,创建一个和[用户配置文件夹]完全一致的目录层次[拥有“Low”的完整性级别].

作者:安全中国 2007年10月29日

关键字: Windows 系统安全 vista安全 Vista

  • 评论
  • 分享微博
  • 分享邮件

  热 点:

  IE保护模式的文件虚拟重定向

  然而奇怪的是,为什么紫光拼音只是在我这台计算机上有点“水土不服”,而在别的计算机上却能够过得好好的?

  这就要说到IE保护模式的另外一个优势了:

  如果IE保护模式只有这点“防守”的能耐,那么它还不足于成为IE 7+浏览器最重要的安全特性。事实上,IE保护模式既具备严厉的安全措施(防守),同时又具备灵活的兼容性手段(进攻),可以说是攻守兼备。

  原来Windows Vista为了能够让绝大多数加载项都能在IE浏览器上正常运行,IE保护模式采用一种虚拟重定向技术。

  原来IE保护模式在以下目录中,创建一个和[用户配置文件夹]完全一致的目录层次[拥有“Low”的完整性级别]:

  %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized

  例如D:\Users\Admin,对于IE保护模式来说,还有一套完全一致的虚拟版本:

  D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\D\Users\Admin

  这样,如果IE加载项需要修改[用户配置文件夹]下的文件,系统就会自动重定向到该文件的“虚拟”版本,对于该加载项来说,它根本不知道自己被IE保护模式欺骗了。

  在其他正常的计算机上,当在IE保护模式下呼出紫光拼音输入法时,利用Filemon工具进行检测,会发现当紫光拼音想要修改D:\Users\Admin\AppData\Roaming\Unispim下的usrwl.dat文件时,实际上是修改D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\D\Users\Admin\AppData\Roaming\Unispim目录下的usrwl.dat文件,如下图所示,所以紫光拼音可以正常工作。

  

  

  提示

  不少读者朋友提到某些第三方的Web应用程序也有安全模式的功能。确实现在不少开发商都注意到安全的重要性,但是IE保护模式的安全效果,无疑更占上风。以电驴eMule为例,其安全模式是在系统里新增一个名为eMule_Secure的普通用户,然后借助runas的方法以该普通用户身份运行eMule,以达到安全目的。这种方法的安全级别,和Windows Vista的UAC处于同一层次,比起IE保护模式,其安全性还是有所不如。更重要的是,UAC和IE保护模式,既安全、又方便、且兼容。

  唯一遗憾的是,笔者的这台计算机,不知道出于什么原因,无论是Beta 2、5456,还是最新的5472.5版本,紫光拼音输入法无法正常触发IE的虚拟重定向功能,所以导致拒绝访问的错误。

  巧妙的解决办法

  作为一名狂热的Windows Vista爱好者,自然不能束手就擒,也不能把电脑砸了,所以咱还得好好想想解决办法。以下两个解决办法:

  1.假作真时真亦假

  由于暂时没有现成的工具可以修改目录的完整性级别,同时Windows Vista不能替我效劳实现虚拟重定向,那就我们就自己动手创建!

  假如我们把D:\Users\Admin\AppData\Roaming\Unispim目录设置为某个“Low”目录的软链接(Soft Link),那么每次紫光拼音试图访问D:\Users\Admin\AppData\Roaming\Unispim目录时,都会被NTFS文件系统自动重新定向到这个完整级别为“Low”的新目录中,这样就可以顺利达到目的了。

  由于我们知道D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low目录具有“Low”完整性级别,所以先在其下新建一个Unispim子目录,该子目录会自动继承“Low”完整性级别。

  先删除D:\Users\Admin\AppData\Roaming\Unispim目录下的所有内容,然后可以借助Linkd命令行工具,把D:\Users\Admin\AppData\Roaming\Unispim目录“映射”到D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Unispim目录,如下图所示。运行完命令后,记住必须重启或者注销后重新登录一下。

  

  

  /pic/31/a2006-7-31-734363.gif

  从《Windows Internals》里我们可以了解到,这种“映射”机制,实际上是给NTFS文件增加一个重解析点的属性。用Filemon工具可以检测到,当紫光拼音访问D:\Users\Admin\AppData\Roaming\Unispim目录下的某个文件时,会被自动“REPARSE”(重解析)到D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Unispim目录下,如下图所示。

  

  

  这种方法虽然是个特例,但是大家也可以借鉴用于其他IE加载项不能正常工作的情况。

  提示

  不推荐映射到D:\Users\Admin\AppData\Local\Microsoft\Windows\Temporary Internet Files\virtualized目录下,否则可能干扰正常的虚拟重定向功能。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章