Windows Vista博客 : Windows Vista IE保护模式深度剖析
来源:百度文库 编辑:神马文学网 时间:2024/07/01 13:15:57
Windows Vista IE保护模式深度剖析
文章作者 盆盆
技术难度 Level300
内容简介 深度剖析了IE保护模式为什么能够帮助Windows Vista 达到前所未有的安全级别(甚至大大超过UAC能够达到的保护程度),同时还介绍了IE保护模式是如何利用文件虚拟重定向帮助老的IE加载项解决兼容性问题,真正完美实现既安全、又方便、且兼容的目的。最后还将介绍如何利用建立NTFS软链接的方法巧妙解决IE保护模式的兼容性问题,让不兼容的输入法插件可以顺利地在IE 7中顺利运行。
如今这世上,可谓真假莫辨,真的可以变成假的,假的也可以宣称自己是真的。这不,这几天笔者就遇到了一个非常怪异的问题,差点被IE保护模式功能的虚拟重定向功能给搞糊涂了。不过总算藉此机会好好了解一下IE保护模式,对于Windows Vista的这个新增安全功能又平添了几分信心。
原理简述
IE保护模式(Protected Mode),以前也叫做IE低权利(Low Rights)。在拙作《您必须知道的IE 7安全特性》里,已经就IE保护模式的基本原理做了简单的论述。这里需要强调一下的是,IE保护模式可能是Windows Vista里最严厉的安全措施,比我们熟知的UAC(用户帐户控制)还要严厉。事实上,IE保护模式依赖于Windows Vista的以下三大特性:
(1) UAC(用户帐户控制)
相信大家已经很熟悉了,可以让管理员帐户自动获得一个标准用户的访问令牌,以减少Windows Vista系统的受攻击面。
(2) MIC(强制完整性控制)
这是Windows Vista安全架构中新增加的一种检测机制。大家知道,Windows 2000/XP安全体系里,安全子系统把进程的访问令牌和资源的访问控制列表进行匹配比较,以确认该进程是否具有访问该资源的权限。而在Windows Vista下,除了遵守传统的安全控制机制外,还必须检查进程和资源对象的完整性级别,完整性级别低的进程,不能写入完整性级别高的资源对象。
是不是有点晕?没事,下文就会对这个概念进行完整的实例阐述!
(3) UIPI(用户界面特权隔离)
完整性级别低的进程,不能向完整性级别高的进程发送Window消息。
怪异的权限问题
提示 假设Windows Vista安装在D盘(用户配置文件夹也在D盘),当前的登录帐户为管理员,帐户名是Admin。红色的命令提示符窗口表示命令行工具只能在管理员权限下运行,蓝色的命令提示符窗口表示可以在UAC权限下运行。
遇到这个案例也有一点运气的成分:不知为什么,在笔者的计算机上,无法在IE浏览器里正常打开“紫光拼音输入法”,非常麻烦。但是在其他朋友的机器上,并没有重复这个问题,甚至在虚拟机里也不存在这个问题!
这个问题困扰了我很长一段时间,甚至迫使我不得不改用其他输入法工具,这使得资质鲁钝、不懂得“灵活变通”的我感到非常郁闷……在IE页面里按Ctrl+Space组合键,尝试呼出“紫光拼音”的输入状态条,结果失败,在这个过程中,如果用Filemon工具进行监测,结果会看到当IE浏览器尝试往D:\Users\Admin\AppData\Roaming\Unispim目录里写入文件(例如usrwl.dat)时,会出现Access Denied错误,如下图所示。看来这就是问题的根源了,很显然紫光拼音把它的重要配置文件都存在[用户配置文件夹]里,只有具备读写权限,紫光拼音才能正常工作。
完整性级别的深远影响
看起来,只不过是IE进程没有D:\Users\Admin\AppData\Roaming\Unispim目录的写入权限。这还不简单,修改一下权限不就行了?
然而如果用AccessChk命令检查NTFS权限,发现当前帐户Admin对D:\Users\Admin\AppData\Roaming\Unispim目录拥有读写权限,如下图所示。
这就奇怪了,明明Admin帐户有权写入该目录,为什么系统要说“不”呢?这里就要应用到前面所说的MIC机制。原来在Windows Vista底下,系统不光是查看资源对象的ACL,还要查看进程和资源对象各自的完整性级别(Integrity Level),就算进程满足资源对象的ACL要求,如果进程的完整性级别更低,那么该进程还是无法拥有资源对象的写入权限。这就好比男女双方求爱,除了看对方的经济收入等条件(相当于ACL),还要看是否门当户对(相当于完整性级别)J。
而运行在保护模式下的IE浏览器,IE进程的完整性级别是Low,这可以从它的访问令牌里得知。借助Process Explorer查看IE进程属性的“安全”标签页,可以看到其访问令牌里有一个“Mandatory Label\Low Mandatory Level”的SID(相应的标志位是“Integrity”),这表明IE进程的完整性级别是“Low”。
看来D:\Users\Admin\AppData\Roaming\Unispim目录的完整性级别一定比IE进程高,所以IE进程才无法写入该目录。那么如何查看目录的完整性级别呢?非常可惜Windows Vista目前还没有提供查看的工具。不过幸运的是,Sysinternals所提供的AccessChk可以方便地进行查看。
提示 由于作者Mark(Sysinternals掌门,Windows Internals的合作者)已经就职于微软, 所以Windows Vista可能会内置这款工具喔。
在命令提示符下运行以下命令,就可以查看该目录下所有文件的完整性级别:
AccessChk -i D:\Users\Admin\AppData\Roaming\Unispim
可以看到该目录下的所有文件的完整性级别都是“Medium”,如下图所示,难怪IE进程要被拒绝了!
可见,IE保护模式有多厉害!在UAC模式下,应用程序会尽可能运行在普通用户权限下,但至少还是可以访问[用户配置文件夹]里的内容,因为这时候应用程序的完整性级别也是“Medium”,所以不会受到限制。
独立的四套班子
读者朋友可能会问,既然IE浏览器运行在“Low”的级别,那么它怎么能够访问IE临时文件、历史等工作目录,这些目录不都是在[用户配置文件夹]里,它们的完整性级别应该是“Medium”啊?
原来,对于保护模式下的IE浏览器来说,它拥有一套独立的“四套班子”:
(1) IE临时文件: %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low
(2) 系统临时目录: %userprofile%\AppData\Local\Temp\Low
(3) Cookies: %userprofile%\AppData\Roaming\Microsoft\Windows\Cookies\Low
(4) 历史: %userprofile%\AppData\Local\Microsoft\Windows\History\Low
这些目录的完整性级别都是“Low”,以便IE进程能够正常访问。
注意
值得一提的是,收藏夹并没有保护模式IE的独立版本,这又是为什么?
盆盆评注 据微软IE保护模式的开发团队领导Robert Gu的提示,IE收藏夹默认允许低级别的IE进程访问,因为收藏夹也具有“低级”的完整性级别。
代理进程的引入,充分体现了Windows安全设计中的特权分离思想:
Windows Vista把传统的IE进程一分为三,分别负责不同安全等级的任务。把最常用的、无需特权的网页浏览任务交给IE进程本身去完成;把中等特权的任务(例如保存图片),交给用户级代理进程(ieuser.exe)去完成;把高特权的任务(例如安装加载项),交给管理级代理进程去完成(ieinstal.exe)。而老版本的Windows则是把所有的任务,不管其所需的安全等级,都交由一个IE进程去完成。以下的截图源自微软官方网站,由笔者对其进行“汉化”,仅供参考。
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保护模式“欺骗”了。
在正常的Windows Vista系统上,当在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保护模式,既安全、又方便、且兼容。
而Firefox的安全模式,则类似于IE 7的NoAddons,和IE保护模式完全是两个概念,其安全性也远非IE保护模式可比。
唯一遗憾的是,笔者的这台计算机,不知道出于什么原因,无论是Beta 2、5456,还是最新的5472.5版本,紫光拼音输入法无法正常触发IE的虚拟重定向功能,所以导致拒绝访问的错误。
巧妙的解决办法
作为一名狂热的Windows Vista爱好者,自然不能束手就擒,也不能把电脑砸了,所以咱还得好好想想解决办法。以下两个解决办法:
1.假作真时真亦假
假如我们把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目录,如下图所示。
运行完命令后,记住必须重启或者注销后重新登录一下。
从《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目录下,否则可能干扰正常的虚拟重定向功能。
2.把网页添加到可信区域
如果不想那么麻烦,也可以把所需文字输入的网页添加到可信站点列表。因为在可信区域里,IE浏览器默认运行在非保护模式,也就是运行在普通的UAC安全级别。这样紫光拼音就可以正常访问D:\Users\Admin\AppData\Roaming\Unispim目录,因为这时候IE进程和该目录的完整性级别是一样的。
在下图中,可以看到IE浏览器的状态栏上显示该网页位于Internet区域,保护模式处于启用状态,这时候双击这里即可打开IE的安全设置。
可以看到,可信站点区域默认禁用“保护模式”,如下图所示。只要把指定的网站加入到可信站点列表中,就可以正常使用紫光拼音。
参考资料
1.本文的原理部分,参考自《Protected Mode in Vista IE7》,大家可以访问微软IE Team的官方Blog:
http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx
2.本文涉及的Process Explorer、Filemon和AccessChk等都是Sysinternals的工具,可以到www.sysinternals.com站点上下载。本文所述的Linkd命令行工具属于Windows Server 2003 Resource Kit Tools工具包,可以到微软官方站点搜索下载。
文章作者 盆盆
技术难度 Level300
内容简介 深度剖析了IE保护模式为什么能够帮助Windows Vista 达到前所未有的安全级别(甚至大大超过UAC能够达到的保护程度),同时还介绍了IE保护模式是如何利用文件虚拟重定向帮助老的IE加载项解决兼容性问题,真正完美实现既安全、又方便、且兼容的目的。最后还将介绍如何利用建立NTFS软链接的方法巧妙解决IE保护模式的兼容性问题,让不兼容的输入法插件可以顺利地在IE 7中顺利运行。
如今这世上,可谓真假莫辨,真的可以变成假的,假的也可以宣称自己是真的。这不,这几天笔者就遇到了一个非常怪异的问题,差点被IE保护模式功能的虚拟重定向功能给搞糊涂了。不过总算藉此机会好好了解一下IE保护模式,对于Windows Vista的这个新增安全功能又平添了几分信心。
原理简述
IE保护模式(Protected Mode),以前也叫做IE低权利(Low Rights)。在拙作《您必须知道的IE 7安全特性》里,已经就IE保护模式的基本原理做了简单的论述。这里需要强调一下的是,IE保护模式可能是Windows Vista里最严厉的安全措施,比我们熟知的UAC(用户帐户控制)还要严厉。事实上,IE保护模式依赖于Windows Vista的以下三大特性:
(1) UAC(用户帐户控制)
相信大家已经很熟悉了,可以让管理员帐户自动获得一个标准用户的访问令牌,以减少Windows Vista系统的受攻击面。
(2) MIC(强制完整性控制)
这是Windows Vista安全架构中新增加的一种检测机制。大家知道,Windows 2000/XP安全体系里,安全子系统把进程的访问令牌和资源的访问控制列表进行匹配比较,以确认该进程是否具有访问该资源的权限。而在Windows Vista下,除了遵守传统的安全控制机制外,还必须检查进程和资源对象的完整性级别,完整性级别低的进程,不能写入完整性级别高的资源对象。
是不是有点晕?没事,下文就会对这个概念进行完整的实例阐述!
(3) UIPI(用户界面特权隔离)
完整性级别低的进程,不能向完整性级别高的进程发送Window消息。
怪异的权限问题
提示 假设Windows Vista安装在D盘(用户配置文件夹也在D盘),当前的登录帐户为管理员,帐户名是Admin。红色的命令提示符窗口表示命令行工具只能在管理员权限下运行,蓝色的命令提示符窗口表示可以在UAC权限下运行。
遇到这个案例也有一点运气的成分:不知为什么,在笔者的计算机上,无法在IE浏览器里正常打开“紫光拼音输入法”,非常麻烦。但是在其他朋友的机器上,并没有重复这个问题,甚至在虚拟机里也不存在这个问题!
这个问题困扰了我很长一段时间,甚至迫使我不得不改用其他输入法工具,这使得资质鲁钝、不懂得“灵活变通”的我感到非常郁闷……在IE页面里按Ctrl+Space组合键,尝试呼出“紫光拼音”的输入状态条,结果失败,在这个过程中,如果用Filemon工具进行监测,结果会看到当IE浏览器尝试往D:\Users\Admin\AppData\Roaming\Unispim目录里写入文件(例如usrwl.dat)时,会出现Access Denied错误,如下图所示。看来这就是问题的根源了,很显然紫光拼音把它的重要配置文件都存在[用户配置文件夹]里,只有具备读写权限,紫光拼音才能正常工作。
完整性级别的深远影响
看起来,只不过是IE进程没有D:\Users\Admin\AppData\Roaming\Unispim目录的写入权限。这还不简单,修改一下权限不就行了?
然而如果用AccessChk命令检查NTFS权限,发现当前帐户Admin对D:\Users\Admin\AppData\Roaming\Unispim目录拥有读写权限,如下图所示。
这就奇怪了,明明Admin帐户有权写入该目录,为什么系统要说“不”呢?这里就要应用到前面所说的MIC机制。原来在Windows Vista底下,系统不光是查看资源对象的ACL,还要查看进程和资源对象各自的完整性级别(Integrity Level),就算进程满足资源对象的ACL要求,如果进程的完整性级别更低,那么该进程还是无法拥有资源对象的写入权限。这就好比男女双方求爱,除了看对方的经济收入等条件(相当于ACL),还要看是否门当户对(相当于完整性级别)J。
而运行在保护模式下的IE浏览器,IE进程的完整性级别是Low,这可以从它的访问令牌里得知。借助Process Explorer查看IE进程属性的“安全”标签页,可以看到其访问令牌里有一个“Mandatory Label\Low Mandatory Level”的SID(相应的标志位是“Integrity”),这表明IE进程的完整性级别是“Low”。
看来D:\Users\Admin\AppData\Roaming\Unispim目录的完整性级别一定比IE进程高,所以IE进程才无法写入该目录。那么如何查看目录的完整性级别呢?非常可惜Windows Vista目前还没有提供查看的工具。不过幸运的是,Sysinternals所提供的AccessChk可以方便地进行查看。
提示 由于作者Mark(Sysinternals掌门,Windows Internals的合作者)已经就职于微软, 所以Windows Vista可能会内置这款工具喔。
在命令提示符下运行以下命令,就可以查看该目录下所有文件的完整性级别:
AccessChk -i D:\Users\Admin\AppData\Roaming\Unispim
可以看到该目录下的所有文件的完整性级别都是“Medium”,如下图所示,难怪IE进程要被拒绝了!
可见,IE保护模式有多厉害!在UAC模式下,应用程序会尽可能运行在普通用户权限下,但至少还是可以访问[用户配置文件夹]里的内容,因为这时候应用程序的完整性级别也是“Medium”,所以不会受到限制。
独立的四套班子
读者朋友可能会问,既然IE浏览器运行在“Low”的级别,那么它怎么能够访问IE临时文件、历史等工作目录,这些目录不都是在[用户配置文件夹]里,它们的完整性级别应该是“Medium”啊?
原来,对于保护模式下的IE浏览器来说,它拥有一套独立的“四套班子”:
(1) IE临时文件: %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low
(2) 系统临时目录: %userprofile%\AppData\Local\Temp\Low
(3) Cookies: %userprofile%\AppData\Roaming\Microsoft\Windows\Cookies\Low
(4) 历史: %userprofile%\AppData\Local\Microsoft\Windows\History\Low
这些目录的完整性级别都是“Low”,以便IE进程能够正常访问。
注意
值得一提的是,收藏夹并没有保护模式IE的独立版本,这又是为什么?
盆盆评注 据微软IE保护模式的开发团队领导Robert Gu的提示,IE收藏夹默认允许低级别的IE进程访问,因为收藏夹也具有“低级”的完整性级别。
代理进程的引入,充分体现了Windows安全设计中的特权分离思想:
Windows Vista把传统的IE进程一分为三,分别负责不同安全等级的任务。把最常用的、无需特权的网页浏览任务交给IE进程本身去完成;把中等特权的任务(例如保存图片),交给用户级代理进程(ieuser.exe)去完成;把高特权的任务(例如安装加载项),交给管理级代理进程去完成(ieinstal.exe)。而老版本的Windows则是把所有的任务,不管其所需的安全等级,都交由一个IE进程去完成。以下的截图源自微软官方网站,由笔者对其进行“汉化”,仅供参考。
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保护模式“欺骗”了。
在正常的Windows Vista系统上,当在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保护模式,既安全、又方便、且兼容。
而Firefox的安全模式,则类似于IE 7的NoAddons,和IE保护模式完全是两个概念,其安全性也远非IE保护模式可比。
唯一遗憾的是,笔者的这台计算机,不知道出于什么原因,无论是Beta 2、5456,还是最新的5472.5版本,紫光拼音输入法无法正常触发IE的虚拟重定向功能,所以导致拒绝访问的错误。
巧妙的解决办法
作为一名狂热的Windows Vista爱好者,自然不能束手就擒,也不能把电脑砸了,所以咱还得好好想想解决办法。以下两个解决办法:
1.假作真时真亦假
假如我们把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目录,如下图所示。
运行完命令后,记住必须重启或者注销后重新登录一下。
从《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目录下,否则可能干扰正常的虚拟重定向功能。
2.把网页添加到可信区域
如果不想那么麻烦,也可以把所需文字输入的网页添加到可信站点列表。因为在可信区域里,IE浏览器默认运行在非保护模式,也就是运行在普通的UAC安全级别。这样紫光拼音就可以正常访问D:\Users\Admin\AppData\Roaming\Unispim目录,因为这时候IE进程和该目录的完整性级别是一样的。
在下图中,可以看到IE浏览器的状态栏上显示该网页位于Internet区域,保护模式处于启用状态,这时候双击这里即可打开IE的安全设置。
可以看到,可信站点区域默认禁用“保护模式”,如下图所示。只要把指定的网站加入到可信站点列表中,就可以正常使用紫光拼音。
参考资料
1.本文的原理部分,参考自《Protected Mode in Vista IE7》,大家可以访问微软IE Team的官方Blog:
http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx
2.本文涉及的Process Explorer、Filemon和AccessChk等都是Sysinternals的工具,可以到www.sysinternals.com站点上下载。本文所述的Linkd命令行工具属于Windows Server 2003 Resource Kit Tools工具包,可以到微软官方站点搜索下载。
Windows Vista博客 : Windows Vista IE保护模式深度剖析
Windows Vista博客 : Windows Vista用户帐户控制深度剖析
Windows Vista博客 : 话说 Windows 包装盒
Windows Vista系统安全模式应用技巧 - VISTA与WINDOWS7 - 木蚂...
Windows Vista博客 : 您必须知道的IE 7安全特性
Windows Vista最新预览
Windows Vista最新预览
怎样迎接Windows Vista?
Windows Vista 安装视频教程
Windows Vista自动登录
SSD in Windows Vista
SSD in Windows Vista
Windows Vista Audio(音频)
SSD in Windows Vista
Windows Vista操作系统快捷键
windows vista如何安装?
Windows Vista Audio(音频)
Windows Vista与XP...
Windows Vista博客 : Windows Vista的UAC也可以很方便
Windows Vista最新预览1
Windows Vista: Customer Preview Program
windows Vista系统快捷键大全
Windows Vista日历使用技巧
Windows Vista使用问题一贴打尽!