在本章中,我们已经了解了ActiveX所交付的激动人心的功能,以及引人注目的受到滥用的黑暗面。用户应该使用Internet Explorer 8中的加载项管理器限制或者禁用ActiveX控件。加载项管理器可以用于更新、禁用、启用或者报告有问题的ActiveX控件,如图9-6所示。加载项一般很好用,但是有时候会降低计算机的速度,或者迫使Internet Explorer意外关闭。如果加载项构建质量不佳或者是为早期Internet Explorer版本创建的,就可能出现这种情况。在某些情况下,加载项可能跟踪你的网上冲浪习惯。因为有些加载项是在你不知情时安装的,所以首先要选择工具选项观察当前版本的Internet Explorer包含了哪些加载项,然后才能加以管理。
图9-6 Internet Explorer 8中的加载项管理器
从开发人员的角度看,不要编写可能在用户系统上执行特权操作的可安全执行脚本控件。我们还鼓励开发人员试一下SiteLock工具,这个工具没有得到Microsoft的授权或者支持,但是可以在http://www.microsoft.com/downloads/details.aspx?FamilyID=43cd7e1e-5719-45c0-88d9-ec9ea7fefbcb找到。SiteLock添加到你的构造环境时,SiteLock首部使ActiveX开发人员能够限制访问,这样控件只有在预先确定的域列表中才被认为是安全的。
最近,Microsoft开始“杀死”有潜在危险的ActiveX控件——为给定的控件设置所谓kill-bit。希望简单地将ActiveX控件失效而不是修补的软件开发人员可以采用这一过程。希望进行这一请求的第三方可以联络secure@microsoft.com。Microsoft现在实现了一个Phoenix bit来补充kill-bit,强迫浏览器在旧的控件需要更新时重定向到新的控件。这使得开发人员只要安装一个Phoenix bit将引用改为新的GUID,而不需要把旧的引用改成最新的ActiveX GUID。单个用户也可以手工设置单个控件的kill-bit,具体的技术在“参考与延伸阅读”小节中描述。
Errata Security在2008年发布了一个工具,帮助用户设置已知危险的ActiveX控件的kill-bit。该工具叫做AxBan,对Microsoft推荐的技术来说是较好的用户界面,包括了对注册表的人工编辑。AxBan提供给用户安装在系统上的已知ActiveX控件的列表,将已知的危险控件标记为红色,如图9-7中第三行所示。
图9-7 AxBan用于设置已知的不安全ActiveX控件的kill-bit
用户可以用AxBan很轻松地右键单击一个ActiveX控件将其禁用,或者一次单击就禁用所有ActiveX控件。AxBan可在http://portal.erratasec.com/axb/AxBan.exe下载。