理解 IE 浏览器的保护模式

0x01

便利之于安全,二者不可得兼,舍便利而取安全也。

保护模式最早起源于 Windows Vista 上的 IE7 浏览器版本中(可以在 Vista 更新的操作系统和 IE7 更新的浏览器上运行),它通过严格限制的权限运行 IE 进程来保护用户免受攻击,明显降低了对用户机器上的数据进行写入、改写或安装恶意代码等攻击的可能性。在保护模式下,限制运行在 IE 进程下的代码不不能修改系统部分文件,从而保护计算机安全,这样即使一个恶意网页利用了 IE 插件中的一个代码注入漏洞,注入的代码也不能对系统造成破坏。

这里写图片描述

一般的,在 IE 浏览器打开后依次点击:工具 -> Internet 选项 -> 安全,就可以选择启动或者禁用保护模式。保护模式分为禁用、中级、中高级(默认)和高级四个等级。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

有人说了,为了安全那就把 IE 保护模式设置为最高等级吧。这样做虽然安全了,但是付出的代价就是要你的上网体验将会大打折扣,因为一些本来要加载的资源都被拦截下来了。所以我们通常不会将保护模式设为最高等级。

要理解 IE 浏览器的保护模式,可以类比用户账户控制(User Account Control)进行理解。用户账户控制的原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。UAC 和 IE 保护模式,都在 Windwos Vista 发行版中由微软公司推出应用。如果你还不明白,再试着类比 Linux 系统的 sudo 命令,如果你是一个低权用户这个命令同样可以让你暂时以高权限用户的身份运行某个程序。

这里写图片描述

UAC 和 IE 浏览器的保护模式一样,都是可以手动关闭的。这里我们再介绍另一种启动/关闭保护模式的方法:通过修改注册表实现。

当你使用上面方法成功修改了保护模式的状态,事实上是修改了下面的注册表项的子项值。

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\

在这里插入图片描述

打开上面的注册表项后,导航到名为 Zones 的子项。图下图所示,它一共有 5 个子项,用数字 0~4 表示,分别对应本地计算机、局域网、受信任的站点、互联网和受限制的站点区域。

在这里插入图片描述

如果你想要禁用某个范围内(0~4)的安全模式,只要在该项下创建一个名为 2500 的 REG_DWORD,并赋值 —— 0 表示启用,3 表示禁用。比如下面这张图,我在名为 2 的子项下创建了一个名为 2500 的 REG_DWORD并将其赋值为 3,这表明对整个 Internet 区域禁用保护模式。

在这里插入图片描述

0x02

保护模式相对于传统模式,建立于新的(指 2010 年)完整性机制之上,以限制对安全对象(如,具有更高完整性级别的进程、文件和注册表项)的写入权限。当以保护模式运行时,Internet Exporter 是一个低完整性进程;因此它无法获得对用户配置文件或系统位置中文件和注册表项的写入权限。低完整性进程只能写入已经分配的低完整性强制性标签的文件夹、文件和注册表。因此,以保护模式运行的 Internet Exporter 和扩展程序只能写入低完整性位置,例如,新的低完整性 Internet 临时文件文件夹、历史记录文件夹、cookie 文件夹、历史记录文件夹、收藏文件夹和 Windows 临时文件文件夹。此外,Windows Vista 投入市场时,保护模式进程以低完整性级别运行,这样可以防止其将特定的窗口消息发送到完整性更高的进程。通过阻止对用户系统敏感区域进行未经授权的访问,保护模式可限制由受损 IE 进程造成的损失程度。例如,攻击者无法消无声息地将击键记录安装到用户的“启动”文件夹。同样,受损的进程也无法通过窗口消息操作桌面上的应用程序。

保护模式的关键是低完整性进程,而低完整性进程的关键在于强制完整性控制(英语:Mandatory Integrity Control)。在微软 Windows 操作系统中从 Windows Vista 开始引入,并沿用到后续版本的核心安全功能。强制完整性控制通过对完整性级别标签来为运行于同意登陆会话的进程提供隔离。此机制的目的是在一个潜在的不可信的上下文(与同一账户运行的其他较为可信的上下文相比)中选择性地限制特定进程和软件组件的访问权限。

0x03

另一方面,这些防御措施也限制了对更高完整性位置的合法更改。对此,保护模式提供了可降低对现有扩展程序影响的兼容体系结构。IE保护模式兼容性体系结构“兼容层”处理许多现有扩展程序的需求。(如图所示)

这里写图片描述

兼容层截取对中等完整性资源(如用户配置文件夹中的“文档”文件夹和 HKEY_CURRENT_USER 注册表配置单元)的写入尝试。兼容层使用 Windows 兼容性修补程序将这些操作自动重新定向到下列完整性位置。

Documents and Settings\%userprofile%\LocalSettings\TemporaryInternet Files\Virtualized
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\InternetRegistry

两个具有更高权限的代理程序进程允许 Internet Explorer 和扩展程序执行经用户许可的提权操作。例如,用户权限代理程序(IEUser.exe)进程提供以一组允许用户将文档保存到低完整性区域之外的区域之功能。另外,管理员权限代理程序(IEInstal.exe)进程允许 Internet Explorer 安装 ActiveX 控件。

0x04

在 Windows 8中,微软又引进了新技术。默认的在 Windows 8.1 的 IEv11 中采纳了该技术。它在原有个保护模式上更进一步,开启后只有和那些和增强保护模式兼容的浏览器插件、扩展可以被加载。现在较为流行的 Windos 10 系统,也默认采用该技术对浏览器进行保护措施。

在这里插入图片描述

参考

http://www.iefans.net/yanjiu-raoguo-ie-baohumoshi

https://en.wikipedia.org/wiki/Mandatory_Integrity_Control

https://www.exploit-db.com/docs/english/15672-escaping-from-microsoft’s-protected-mode-internet-explorer.pdf

https://jingyan.baidu.com/article/5225f26b2ce876e6fb090868.html

https://support.microsoft.com/en-us/help/2864914/enhanced-protected-mode-add-on-compatibility

猜你喜欢

转载自blog.csdn.net/abc_12366/article/details/82733425