写点什么

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

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

关注

评论

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

整整奋战6个月,入职字节跳动那一天,我泪目了

Java架构师迁哥

web messaging与Woker分类:漫谈postMessage跨线程跨页面通信

zhoulujun

Service Worker

【架构设计模块一】:微信业务架构图 & 学生管理系统

Ryoma

架构实战营

Java线程映射到操作系统线程原理浅析

CodeWithBuff

Java JVM

成功拿到饿了么offer后!我总结 5月上半月大厂面试真题,押题命中率高达 95%以上

Java 程序员 架构 面试

足足13万字,腾讯架构师纯手肝“JDK源码笔记”带你从入门到实战!

Java架构师迁哥

MySQL开篇

卢卡多多

架构 MySQL 数据库 7月日更

Redisson 分布式锁源码 02:看门狗

程序员小航

Java redis 源码 分布式锁 redisson

公开吧!腾讯技术专家手撸“Redis技术笔记”,下载量已突破30W

redis 编程 架构 面试

排序——冒泡排序

若尘

排序 冒泡排序 冒泡

WebFlux 操作 MySQL 是种什么体验?

完美收官!字节4面斩下2-2Offer,入职就是30K16薪,全凭这套“面试+架构进阶知识点”pdf

Java 程序员 架构 面试

先到先得先学!Spring Cloud Alibaba第三版耀世升级全彩PDF版

Java架构追梦

Java 阿里巴巴 架构 面试 SpringCloud

不收藏你就后悔吧!费了三天才从GitHub上扒下的阿里Java优化笔记

Java架构师迁哥

Hive解析Json数组超全讲解

五分钟学大数据

hive 7月日更

Git点赞82K!阿里量产的保姆级Spring Security笔记,一眼望穿干货满满!

Java 编程 架构 面试

IPFS矿机怎么挖矿IPFS矿机工作原理

比收费软件还良心的软件,这回藏不住了 | OBS

彭宏豪95

效率 软件 App 录屏软件

杀进腾讯你知道多难吗?6个小时,4 轮技术面+1 轮 HR面,面到吐才斩获40k*16 薪offer!

Java架构师迁哥

凌晨起来肝的一篇 Java 学习路线,保证学弟学妹们大三大四的时候顺利找到实习 Offer

啥,Vue又出新单曲?

wzx

Vue 大前端

毕业两年就拿到腾讯,字节offer,原来是看了这份BAT总结的面试核心知识点

Java架构师迁哥

微信业务架构图和“学生管理系统”毕业架构设计

NewBranSTONE

#架构实战营

三面遭SpringCloudAlibaba暴锤,含恨吃透大佬的手抄本笔记(听说Github都没有),终入阿里

Java 编程 架构 面试 微服务

【LeetCode】根据字符出现频率排序Java题解

Albert

算法 LeetCode 7月日更

Reactor响应式编程,你只差这个!

CodeWithBuff

Java reactor

🐬【MySQL技术导航】「索引技术」体验前所未有的技术探险,看穿索引的本质和技术体系(上篇)

码界西柚

MySQL 索引结构 7月日更 索引原理

《持之以恒的从事运动》一

Changing Lin

架构实战营模块一作业

Clarke

架构实战营

免费分享Java高并发与多线程的优秀图书

Java入门到架构

Java 推荐书籍

如何预防一个服务故障崩掉整个系统?【熔断】

我爱娃哈哈😍

微服务 架构设计 熔断

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