Windows Vista IE保护模式深度剖析
2008-08-22 17:24:09 来源:WEB开发网内容简介
深度剖析了IE保护模式为什么能够帮助WindowsVista达到前所未有的安全级别(甚至大大超过UAC能够达到的保护程度),同时还介绍了IE保护模式是如何利用文件虚拟重定向帮助老的IE加载项解决兼容性问题,真正完美实现既安全、又方便、且兼容的目的。最后还将介绍如何利用建立NTFS软链接的方法巧妙解决IE保护模式的兼容性问题,让不兼容的输入法插件可以顺利地在IE7中顺利运行。
如今这世上,可谓真假莫辨,真的可以变成假的,假的也可以宣称自己是真的。这不,这几天笔者就遇到了一个非常怪异的问题,差点被IE保护模式功能的虚拟重定向功能给搞糊涂了。不过总算藉此机会好好了解一下IE保护模式,对于WindowsVista的这个新增安全功能又平添了几分信心。
原理简述
IE保护模式(Protected Mode),以前也叫做IE低权利(Lowcenters)。在拙作《您必须知道的IE7安全特性》里,已经就IE保护模式的基本原理做了简单的论述。这里需要强调一下的是,IE保护模式可能是WindowsVista里最严厉的安全措施,比我们熟知的UAC(用户帐户控制)还要严厉。事实上,IE保护模式依赖于WindowsVista的以下三大特性:
(1) UAC(用户帐户控制)
相信大家已经很熟悉了,可以让管理员帐户自动获得一个标准用户的访问令牌,以减少Windows Vista系统的受攻击面。
(2) MIC(强制完整性控制)
这是WindowsVista安全架构中新增加的一种检测机制。大家知道,Windows2000/XP安全体系里,安全子系统把进程的访问令牌和资源的访问控制列表进行匹配比较,以确认该进程是否具有访问该资源的权限。而在WindowsVista下,除了遵守传统的安全控制机制外,还必须检查进程和资源对象的完整性级别,完整性级别低的进程,不能写入完整性级别高的资源对象。
是不是有点晕?没事,下文就会对这个概念进行完整的实例阐述!
(3) UIPI(用户界面特权隔离)
完整性级别低的进程,不能向完整性级别高的进程发送Window消息。
怪异的权限问题
提示假设WindowsVista安装在D盘(用户配置文件夹也在D盘),当前的登录帐户为管理员,帐户名是Admin。红色的命令提示符窗口表示命令行工具只能在管理员权限下运行,蓝色的命令提示符窗口表示可以在UAC权限下运行。
遇到这个案例也有一点运气的成分:不知为什么,在笔者的计算机上,无法在IE浏览器里正常打开“紫光拼音输入法”,非常麻烦。但是在其他朋友的机器上,并没有重复这个问题,甚至在虚拟机里也不存在这个问题!
这个问题困扰了我很长一段时间,甚至迫使我不得不改用其他输入法工具,这使得资质鲁钝、不懂得“灵活变通”的我感到非常郁闷……在IE页面里按Ctrl+Space组合键,尝试呼出“紫光拼音”的输入状态条,结果失败,在这个过程中,如果用Filemon工具进行监测,结果会看到当IE浏览器尝试往D:UsersAdminAppDataRoamingUnispim目录里写入文件(例如usrwl.dat)时,会出现AccessDenied错误,如下图所示。看来这就是问题的根源了,很显然紫光拼音把它的重要配置文件都存在用户配置文件夹里,只有具备读写权限,紫光拼音才能正常工作。
更多精彩
赞助商链接