原理简述
IE保护模式(Protected Mode)以前也叫做IE低权利(Low Rights)事实上IE保护模式依赖于Windows Vista的以下三大特性
() UAC(用户帐户控制)
其可以让管理员帐户自动获得一个标准用户的访问令牌以减少Windows Vista系统的受攻击面
() MIC(强制完整性控制)
这是Windows Vista安全架构中新增加的一种检测机制大家知道Windows /XP安全体系里安全子系统把进程的访问令牌和资源的访问控制列表进行匹配比较以确认该进程是否具有访问该资源的权限而在Windows Vista下除了遵守传统的安全控制机制外还必须检查进程和资源对象的完整性级别完整性级别低的进程不能写入完整性级别高的资源对象
() UIPI(用户界面特权隔离)
完整性级别低的进程不能向完整性级别高的进程发送?Window消息
完整性级别的深远影响
在Windows Vista底下系统不光是查看资源对象的ACL还要查看进程和资源对象各自的完整性级别(Integrity Level)就算进程满足资源对象的ACL要求如果进程的完整性级别更低那么该进程还是无法拥有资源对象的写入权限
而运行在保护模式下的IE浏览器IE进程的完整性级别是Low这可以从它的访问令牌里得知借助Process Explorer查看IE进程属性的安全标签页可以看到其访问令牌里有一个Mandatory Label\Low Mandatory Level的SID(相应的标志位是Integrity)这表明IE进程的完整性级别是Low
独立的四套班子
读者朋友可能会问既然
原来对于保护模式下的
() IE临时文件: %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low
() ?系统临时目录: %userprofile%\AppData\Local\Temp\Low
() Cookies: %userprofile%\AppData\Roaming\Microsoft\Windows\Cookies\Low
() ??历史: %userprofile%\AppData\Local\Microsoft\Windows\History\Low
这些目录的完整性级别都是Low以便IE进程能够正常访问
注意
值得一提的是收藏夹并没有保护模式?IE的独立版本
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保护模式欺骗了