写点什么

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

  • 2009-07-14
  • 本文字数:1236 字

    阅读完需:约 4 分钟

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

2009-07-14 04:003899
用户头像

发布了 63 篇内容, 共 26.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

模块九作业

天琪实刚亮

简述服务量化分析体系

阿泽🧸

7月月更 量化分析

设计电商秒杀系统

Jadedev

「架构实战营」

【安全攻防】序列化与反序列,你了解多少?

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线

西柚子

架构实战营 - 第 6 期 毕业总结

乐邦

「架构实战营」

设计电商秒杀系统

大眼喵

「架构实战营」

OpenHarmony应用开发之ETS开发方式中的Image组件

坚果

HarmonyOS Open Harmony OpenHarmony 3.1 Release 7月月更 harmony

牛客java选择题每日打卡Day5

京与旧铺

7月月更

深入理解 SQL 中的 Grouping Sets 语句

元闰子

sql spark spark SQL

远程办公工具分享|社区征文

如浴春风

初夏征文

Python 入门指南之开胃菜

海拥(haiyong.site)

7月月更

一入“远程”终不悔,几人欢喜几人愁。| 社区征文

法医

初夏征文

【愚公系列】2022年7月 Go教学课程 002-Go语言环境安装

愚公搬代码

7月月更

毕业总结

天琪实刚亮

分布式CAP理论

源字节1号

软件开发 后端开发

NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线

小哈区块

疫情远程办公经验分享| 社区征文

乌龟哥哥

7月月更

SpingCloud集成zookeeper实现服务注册并访问

AI乔治

项目协作的进度如何推进| 社区征文

卢卡多多

初夏征文

远程办公之大家一同实现合作编辑资料和开发文档 | 社区征文

Tech技术攻关

远程办公 协同办公 7月日更 初夏征文

远程办公之如何推进跨部门项目协作 | 社区征文

Tech技术攻关

远程办公 7月日更 项目协调 初夏征文 工作协调

毕业总结

大眼喵

「架构实战营」

自动渗透测试工具核心功能简述

穿过生命散发芬芳

渗透测试 7月月更

聊聊支付流程的设计与实现逻辑

Java 架构

【LeetCode】在每个树行中找最大值Java题解

Albert

LeetCode 7月月更

NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线

股市老人

x86汇编语言-从实模式到保护模式 笔记

贾献华

7月月更

疫情常态化大背景下,关于远程办公的思考|社区征文

如浴春风

初夏征文

TCP拥塞控制详解 | 3. 设计空间

俞凡

算法 网络 TCP拥塞控制

微软的浏览器操作系统:Gazelle_.NET_Jonathan Allen_InfoQ精选文章