5. Killbit和Phoneix Bit
Killbit是注册表标志,告诉IE及其组件不要加载具有指定CLSID的控件。微软通常会对存在安全隐患的控件或者那些因为某种原因而不应当加载到浏览器内部的控件发出killbit。第三方也将这一机制用于安全和结束支持目的。
Killbit是一种阻止加载控件的有效方法,但可能会导致与已有内容的兼容性问题(例如,烧录到DVD上的HTML)。为了降低killbit的兼容性影响,设计了Phoneix Bit。在请求一个带有killbit CLSID的控件时,这些标志将该请求发送到一个替代CLSID,从而可以有效地用新控件来代码旧控件,保持与已有内容的兼容性。
注意:
我最初以为Phoneix Bit是根据亚利桑那州的首府来命名的,后来才知道它们是根据腓尼基、埃及和希腊神话中的一种鸟来命名的。
6. 兼容性警告
对那些已知会导致IE挂起或崩溃的加载项,可以使用兼容性警告来阻止。这些加载项也许不能被攻击,但加载它们可能导致安全漏洞或影响用户的浏览体验。为了对抗这些类型的加载项,IE在启动时会禁用那些已知的不兼容加载项,并通过一个模式对话框来通知用户。
1.7.4 隐私和社会工程保护
并不是所有的攻击者都是精通技术的黑客;其中一些只是试图诱导用户做出错误的信任决定。IE采取了很多措施,通过使用用户界面通知、文件和下载阻止、隐藏限制和客户端脚本保护,以缓解针对用户采取的社会工程攻击。
1. 窗口和框架限制
为了保护用户免受用户界面欺骗,禁止脚本执行一些可能会欺骗用户以及伤害浏览器、数据和系统总体完整性的操作。例如,脚本不能关闭状态栏或地址栏,在浏览器用户界面上方弹出窗口(例如地址栏),或者将窗口放置在屏幕外。
2. 恶意软件和钓鱼筛选器
在从Internet区域加载页面或者下载文件时,IE将它的URL发送到自己的SmartScreen服务,以查看其中是否有已知的钓鱼网站和恶意软件。在页面加载场景中,如果查找到该页面,将会给出一个阻止页面;而下载时,将会通过“不安全下载”对话框来阻止该文件(见图1-26)。
图1-26 SmartScreen阻止网站和下载警告
在每一种情况下,用户都可以忽略IE的建议,不过要忽略这些建议需要另外付出一点工作量,通过“组策略”可以禁用忽略。在IE 8中,没有公开的API可以用来访问SmartScreen筛选器结果。
3. 隐私首选项平台
W3C中的隐私首选项平台(P3P)是一种选择加入方法,用于将网站cookie策略与用户或组织的隐私要求相匹配。从本质上来看,P3P是一种隐私策略的XML版本,这种隐私策略在很多软件中都是存在的,但它只涉及一个网站通过cookie来使用个人可识别信息(PII)的方式与位置。如果一个用户或组织为网站实施了P3P要求,如果所访问网站返回的P3P XML与这些要求冲突,就会阻止这些冲突cookie。这些设置是根据区域设定的。
cookie的加载项应当通过InternetSetCookieEx()API进行修改;这种修改方法确保能够遵循在系统中所发现的P3P设置。
4. 弹出窗口阻止程序
到了Windows XP SP2上的IE 6,浏览器就包含了一种机制,用于防止从Internet区域页面打开那些不是由用户初始化的弹出窗口。IE使用一种专用算法来确定哪些弹出窗口允许打开,哪些不允许打开。用户和开发人员可以在一个例外列表中添加或删除站点。这一功能本身是使用URLAction或功能控制键来切换的。