其实我更为看重这篇blog:
http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
Eric Lawrence在此文中提到了IE8里的深度防御,也让我们初次剖析了IE 8的安全架构。
IE 8里分别从三个方面防护
Web应用防护:
有上篇说的 XSSFilter
除此之外,还有很重要的特性就是:
Html Sanitization 和 JSON Sanitization
就如示例代码中的一样,跨域调用html和请求页面,脚本会被过滤掉
- document.attachEvent('onmessage',function(e) {
- if (e.domain == 'weather.example.com') {
- spnWeather.innerHTML = window.toStaticHTML(e.data);
- }
- }
- Calling:
- window.toStaticHTML("This is some HTML with embedded script following... !");
- will return:
- This is some HTML with embedded script following... !
其中关键的是 toStaticHTML 这个函数,JSON的例子类似。
这个函数又是MS自己搞出来的东西,严重违反标准,强烈BS一下。
不过从安全性来说,这个效果确实不错!
然后很重要的一个特性就是MIME Sniffing
能够识别下载文件的类型了
以往可能会有这种通用XSS:
在IE6中,把一个JPG或者TXT内容写为
直接访问该JPG或者TXT的会,会直接执行脚本的内容。
但是在IE 8里,由于MIME Sniffing的存在,这种攻击直接失效了
IE会去判断文件类型,如果不识别,或者认为是图片,则不会当作脚本或者HTML执行
其次还为网站开发者提供了这个HTTP HEADER里的字段
authoritative=true;
加了这个之后,网站觉得不可信任的内容都会在IE8中以纯文本执行
- HTTP/1.1 200 OK
- Content-Length: 108
- Date: Thu, 26 Jun 2008 22:06:28 GMT
- Content-Type: text/plain; authoritative=true;
-
-
- This page renders as HTML source code (text) in IE8.
-
本地浏览器保护:
本地浏览器的保护,需要关注以下内容:
首先是DEP和NX、ASLR支持,结合OS层面的保护,溢出会比较困难
然后有特色的就是前面早就说过的,activex的安全改进,开始支持针对域的activex,和可以非admin安装的activex,这些都是很积极的措施。
对于一些应用协议的解析这次也改进过了,估计是被之前的URL Handling 漏洞搞怕了,现在凡是在IE 8里调用其他应用协议的,都会出来个提示框框,聊胜于无啊~~!
社交工程学保护:
其实主要就是防范钓鱼来着,和IE 7一脉相承的保护思想。
地址栏里的域名着色显示。这个比较 有意思,看下图
高亮显示了主域名,这样Pharming基本就失效了。
最后增强了Phishing Filter,现在叫做 SmartScreen了,原因是也是出提示框框的做法来警示用户。
改进的主要是针对 Malware 的一些特征库,包括了 Windows Defender, Live
Onecare 这些的特征库,但很是怀疑这种保护的作用到底有多少。不过,聊胜于无吧!
最后,强烈建议仔细阅读下我在最上面link的那篇文章。
阅读(1143) | 评论(0) | 转发(0) |