微软的浏览器操作系统:Gazelle

Google并不是唯一试图创建基于浏览器的安全操作系统的厂商。今年二月,来自微软的研究人员就透漏了Gazelle的细节。Gazelle被称为“使用多用户操作系统技术构造的安全浏览器。Gazelle的内核可以隔离不同来源的网页代码,并管理所有系统资源”。

与Chrome OS构建在Linux上一样,Gazelle并不是一个真正的操作系统。它是构建在操作系统级别的一个服务层,以便扩展浏览器的安全模型。Principal由协议、域名以及端口三部分组成,在进程级别不同的组合之间互相隔离,它是整个系统的关键部分。

为了防止跨网站脚本攻击等问题,页面只能直接渲染同一来源(Principal)的内容,其他来源的内容将根据来源被放到单独的进程中进行渲染,不同来源 的内容通过“浏览器内核”进行通信。浏览器内核实际上是一个受限的操作系统进程,用C#代码写成,它负责协调进程间的通信。浏览器内核与进程通过在命名管 道(named pipes)中发送XML消息进行通信。每个进程的渲染结果,将被浏览器内核组合在一起,成为最终的显示结果。

Gazelle拥有针对不同浏览器问题的特性,如插件、混合http/https,以及递归整合攻击(recursive mashup attack)。

插件:Gazelle在使用插件的内容上强制使用同源策略(same-origin policy),也就是说插件中的内容以它自己的来源运行(而不是放置它的页面的来源)。由于插件是浏览器漏洞增加的主要原因,因此在浏览器内核中对插件 强制执行策略非常重要。现有的插件需要改写(移植或重写)以调用浏览器内核来实现功能。Alexa前100的网站中有34个网站只使用了Flash,而没 有使用任何其它插件。这显示仅修改Flash就可以解决很大一部分插件的兼容性问题。

包含HTTP脚本和CSS的HTTPS:在Gazelle中,使用HTTPS来源的页面不能包含任何使用HTTP的脚本和CSS。其它类型的内容如图片和 插件,则会运行于页面来源的进程中。这在Gazelle中可以改变,但是为了防止HTTPS包含HTTP脚本和CSS,Gazelle强制执行更严格的安 全策略以对抗网络攻击。由于Alexa前100网站并不使用SSL,我们选择了另一些使用SSL的网站:amazon.com、 mail.google.com、mail.microsoft.com、blogger.com以及一些其它常见的银行网站。这些网站都没有违反我们的 策略。

限制框架导航:父框架(frame)只能访问它的子框架,而不能访问子框架的子框架或其它来源(principal)的框架。在Gazalle中那些访问 非子框架的代码将无法运行。通过限制导航范围,Gazelle可以防止在正常网站中访问到恶意网页。Barth等人分析了这一类攻击并称之为“递归整合攻击”。我们无法用我们的测试框架来自动测试是否有网站违反了这一策略。

这种隔离的代价颇为昂贵,对于mytime.com这种包含跨来源框架的复杂网页来说,渲染时间可能会翻倍。不过这些影响可以通过改进浏览器内核的组合显示内容部分来降到最低。

你可以在微软研究院的网站上查看论文全文,比较一下与现有的浏览器有什么不同,比如Google Chrome。

查看英文原文:Microsoft’s Web Browser-Based OS: Gazelle

你可能感兴趣的:(微软的浏览器操作系统:Gazelle)