9.3.1 低权限浏览

主流的浏览器供应商慢慢地明白浏览器在许多场合下拥有的权限太大了,它们开始采取措施限制这些软件的特权,抵御难以避免的零日漏洞攻击。

Internet Explorer安全模式

Internet Explorer有一个从安全模式启动的选项。如果用户在附加程序上遇到了麻烦,可以选择启动|运行,输入iexplore-extoff,在禁用附加程序的情况下启动IE。这个选项可用于检测设计运行于其他浏览器版本的插件的兼容性问题。

Firefox安全模式

Firefox的安全模式是用于故障检查和调试的一个清洁模式。安全模式提供的缩水的功能也削减了产品的攻击面,因为可能有漏洞的扩展和主题都被禁用了。

以安全模式启动Firefox可以通过运行带有安全模式参数的Firefox可执行文件来完成。例如,在Windows上,你可以点击启动|运行,输入如下命令行:


"C:\Program Files\Mozilla Firefox\firefox.exe" -safe-mode

标准的Firefox安装程序也会创建一个Windows快捷方式图标,将这项工作简化为一个次单击。

警告  以安全模式启动Firefox时,你应该确定Firefox或Thunderbird没有在后台运行。Firefox 1.5及更新版本会弹出一个窗口,让你知道正在运行于安全模式。

ESC和保护模式IE

在Windows Server 2003和更新的服务器操作系统版本中,Microsoft默认部署的IE运行于增强安全配置(ESC)。这种极度受限的配置要求在访问任何网站时进行交互式的用户校验。实际上,用户必须手工将每个网站添加到信任区域,即使这些网站只需要一般的活动功能。虽然这种用户体验对于偶然的Web浏览来说无法接受,但是我们高度建议服务器使用这种模式,从策略上说,服务器上应该禁用Web和电子邮件浏览之类的活动。更多关于ESC的内容,包括使用组策略实施ESC的方法,请参见“参考与延伸阅读”小节。

对于最终用户,保护模式IE(PMIE,以前称做低权限IE,LoRIE)是IE7和更新版本的一个特性,利用了Windows Vista及其后续版本的“用户账户控制”(User Account Control,UAC)架构限制IE的默认权限。(UAC以前称为最小权限用户账户(Least-Privilege User Account,LUA))。PMIE使用UAC的强制完整性控制(Mandatory Integrity Control,MIC)功能,所以不能写入较高完整性的对象。实际上,这意味着PMIE只能写入给定用户的临时互联网文件(Temporary Internet Files,TIF)和Cookie文件夹。它不能写入其他文件夹(如%userprofile%或%systemroot%)、敏感注册表区域(如HKEY Local Machine或HKEY Current User),甚至其他较高完整性的进程。因此,PMIE为浏览不可信资源提供了一个很好的沙箱。在Vista和后续版本中,为浏览互联网、受限和本地机器区域默认配置了PMIE。在编写本书期间,Microsoft没有计划将PMIE随Vista之前的Windows版本(如XP SP2)交付,因为这个功能需要Vista UAC基础架构。这是放弃Windows XP的又一个好理由!

沙箱中的应用

除了保护模式IE外,技术界公认互联网使用中有效的预防手段是为其他应用运用沙箱。运行在真正的沙箱中时,恶意的脚本和下载似乎能成功运行,但是仅仅感染系统的一个模拟的副本。之后,这个沙箱可以抛弃,而不会对“真正”的宿主系统造成永久的影响。

Sandboxie是一个通用的计算机安全实用程序,在隔离的空间里运行你的程序,预防它们对计算机中的其他程序和数据造成永久的变更。Sandboxie源于其制作者遭到恶意软件感染而导致无法挽回损失的经历。如果在沙箱中的程序试图打开一个具有写入权限的文件,Sandboxie透明地将该文件复制到沙箱中,将所有访问重定向到这个副本而不是系统上的原始文件。这种概念扩展到系统的所有方面,例如注册表。试图作出更改的程序感觉到操作已经成功,而不知道修改的只是模拟的副本。在某种程度上,Sandboxie建立了真实系统的一个分支,为沙箱中运行的程序建立了一个隔离的视图。Sandboxie管理下列系统对象:文件、磁盘设备、注册表键值、进程和线程对象、驱动器对象和用于进程间通信的对象,例如命名管道和邮箱对象、事件、互斥体、信号量、分段和LPC端口。

Sandboxie的使用很简单:右键单击任何程序,选择Run Sandboxed。该程序将在一个包含Sandboxie的环境中启动。使用Sandboxie是比通过虚拟机(VM)浏览更好的恶意软件保护方案,因为不需要安装新操作系统、新的应用程序集合,也不需要维护主机器和辅助的虚拟机。使用独立的VM会占用系统的RAM。Sandboxie是透明的,大部分常见的可用性问题已经得以解决。例如,使用Sandboxie运行浏览器时,下载文件将导致一个“恢复”沙箱环境之外文件的提示。

Sandboxie是一个最为用户友好的、文档完备的、免费的Windows沙箱工具。免费版本在启动时会显示一个为时几秒的烦人的屏幕。付费则能让你得到终生在个人使用的任何机器上使用该工具的许可。Sandboxie已经存在了6年,有着成熟产品的感觉。只需要不多的学习,就能够得到可用性和保护的良好平衡。

从管理员的角度看,应用白名单的吸引力也正在增加。应用白名单根据中央定义的策略控制应用的运行许可。这种技术的例子包括McAfee的Application Control以及Microsoft的AppLocker。总体来说,这都是开关类型的策略实施工具,对最终用户体验可能有戏剧性的影响:所谓的动态白名单允许基于分类的授权,对用户可能更友好。