Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1198990
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 系统运维

2012-06-26 13:30:45

在第二次浏览器大战即将拉开序幕之时,微软除了推广IE外,还在研究一个下一代的浏览器:Gazelle

   

    

    paper
放出来 也有一个月了,从它公布开始我就一直在关注。 Gazelle 是一个专门为安全设计的浏览器,或者说大部分目的是为了解决现在混乱的安全问题。

   
前两天刚结束的 Pwn2own 2009 上,Google Chrome 成为了唯一幸存的浏览器,就是由于其采用了多进程、沙箱模式的设计。而Gazelle 同样也是采用这种设计,但是它比Google Chrome 做的更加彻底。

    Gazelle
重新绷紧了SOP,页面里的任意元素,都会审计其源地址,如果要执行cross的操作,则会经过IPC进行检查,在此之外,每个进程都有sandbox来保证不会影响到其他进程。

   
假设 上嵌入了一个来自iframe,那么这个iframe就会存在于另外一个浏览器进程里面,而不是在这个进程里面。 如果这个iframe里面挂了一个马,或者是其他恶意代码,那么也只会影响到这个进程,由于sandbox的限制,不会影响到浏览器内核以及其他进程。

   
其实类似的设计在IE8中已经出现了,IE8就采取了多进程,如果其中一个页面崩溃,只会崩溃那个tab页,而不会影响到其他tab页或者是整个浏览器。 但是IE8 Pwn2Own 上被攻破了,应该是由于缺乏 sandbox的原因。

    Gazelle
也是采用了IE Trident 作为渲染引擎,一个比较重要的概念就是 Browser Instance Trident 是在 Browser Instance 中进行渲染的,即便某一个 Browser Instance 被攻击了,由于sandbox的保护,限制了 Trident 对任何浏览器内核( Browser Kernel)中的敏感API进行调用, 所以也就会导致像 Google Chrome 那种有内存漏洞但是无法利用的情况。

   
同时Gazelle plugins同浏览器进程区分开,plugins只能访问系统资源,插件和浏览器实例的交互需要通过浏览器内核,走IPC(进程间通信),不能直接访问。

   
SOP方面,Gazelle 区分了每个对象的来源,细粒度的好处就是可以把原来很多混在一起的调用独立出来,从而可以对这些行为进行检查。 比如在目前的浏览器中,http下的script能够操作https下的对象,在Gazelle 中将解决这一问题。

   
跨域的标签像imgstylesheetiframescript,都将根据各自的来源存在于不同的实例(Browser Instance)中。这种区分将有效的缓解一些跨域的漏洞。

    Gazelle
甚至试图去解决一些视觉上的欺骗攻击,比如clickjacking等,通过对页面对象的访问控制以及来源检查来试图做到这一点。

   
不过做了许多安全措施,在性能上不是没有损耗的。和目前的IE对比起来,可以看到性能的损失还是比较大的。用户体验上也有待检验。作为一个在实验室里的模型,Gazelle在安全方面的功能是值得期待的。希望能得到进一步的消息,期待beta版能够早点出来。

阅读(1043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~