写点什么

微软的浏览器操作系统: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:003637
用户头像

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

关注

评论

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

用Stylish精简极客时间专栏页面

Tao

CSS

Laravel来信|Event

LeastCoding

laravel Event 观察者模式

什么!?金三银四,2021年阿里最新面试题惨遭泄露?

Java架构之路

Java 程序员 架构 面试 编程语言

GitHub上已获赞百万!阿里架构师10年磨一剑打造的Java面试小抄(2021版)开源分享

Java架构师迁哥

还愁追不到女神吗?一键生成舔狗日记,一秒速成舔狗之王

不脱发的程序猿

程序人生 28天写作 二月春节不断更 舔狗文化

微信十年,弹指一挥间

彭宏豪95

微信 产品 互联网 写作

话题讨论 | 比特币攻击重现江湖,你准备好了吗?

程序员架构进阶

话题讨论 28天写作 2月春节不断更 话题王者 勒索攻击

Java岗四面字节跳动成功之前,我都刷了那些面试题以及做了那些准备!

Java架构之路

Java 程序员 架构 面试 编程语言

电影台词反向搜索视频片段,这个工具也太好用了吧|33 台词

彭宏豪95

效率 效率工具 电影

2021最新百度/平安/蚂蚁金服/腾讯/拼多多面经总结(附答案解析)

比伯

Java 编程 架构 面试 计算机

话题讨论 | 现实中程序员是怎样飞快敲代码的?

xcbeyond

程序人生 话题讨论

话题讨论 | 程序员是做前端开发好,还是后端开发好呢?

xcbeyond

程序人生 话题讨论

人人矿场APP开发|人人矿场系统软件开发

系统开发

阿里巴巴云原生应用安全防护实践与 OpenKruise 的新领域

阿里巴巴云原生

容器 运维 云原生 k8s 调度

浅谈nodejs进程和线程

梁龙先森

大前端 nodejs 2月春节不断更

使用doom-emacs三个月后, 春节期间从零配置一份自己的emacs(附详细文档)

lmymirror

话题讨论 | mongodb拥有十大核心优势,为何国内知名度不是很高?

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 话题讨论 分布式数据库mongodb

架构师不至于“架构”-《架构师应该知道的37件事》阅读笔记

Harris

读书笔记 架构 架构师

架构设计篇之微服务实战笔记(三)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

为图片添加Emoji,微信这隐藏功能让你不花冤枉钱

彭宏豪95

微信 效率 效率工具 emoji

算力蜂系统开发|算力蜂软件APP开发

系统开发

颠覆技术-智能合约的说明文

CECBC

区块链

为什么不推荐使用汉字作为密码?

不脱发的程序猿

程序人生 密码学 28天写作 二月春节不断更

Dapr 知多少 | 分布式应用运行时

圣杰

架构 云原生 k8s dapr

2021阿里总监最新手码BAT等大厂面经!GitHub已标星86.2K

比伯

Java 编程 架构 面试 程序人生

窝家恶补三月,字节跳动三面,终于喜提offer!分享面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

流媒体传输协议之 RTMP

阿里云视频云

TCP 音视频 RTMP 传输协议 流媒体;

JVM又曾放过谁,垃圾终将被回收!

Simon郎

Java 大数据 架构 后端 JVM

有赞 Flink 实时任务资源优化探索与实践

Apache Flink

flink

泰山版震撼来袭!阿里巴巴2021年Java程序员面试指导小册已开源

Java架构追梦

Java 架构 面试 金三银四 跳槽

话题讨论 | 你在互联网大厂是个啥级别?

架构精进之路

话题讨论 28天写作 话题王者

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