产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

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

关注

评论

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

S3基准测试工具 - Warp使用简介

天翼云开发者社区

测试 S3 开源云工具

Python循环控制

不在线第一只蜗牛

Python

K8S POD控制器:从基础到高级实战技巧

EquatorCoco

Kubernetes 容器 云原生

利用财务工具实现企业不同阶段的有效规划

智达方通

全面预算管理 预算管理 财务预算

第三季度加密市场动荡:市场缺乏炒作题材,波动加剧

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

什么是云抄表?

源字节1号

小程序 开源 后端‘’

某新员工大量使用Lambda表达式,老员工喷是炫技

源字节1号

小程序 开源 前端 后端

代码审查完整指南来了!

敏捷开发

编程 软件开发 代码审查 代码管理

rbd常用的配置参数

天翼云开发者社区

rbd 配置参数

基于快照的异步远程复制介绍

天翼云开发者社区

Java 前端 rbd

没有它,你的Scrum无法实现!

敏捷开发

项目管理 Scrum 敏捷开发

接入单元测试框架:原理与执行流程介绍

测吧(北京)科技有限公司

测试

Autobots应用探索:实践中的思考与发现

京东科技开发者

AI大模型深度对比:腾讯混元大模型 VS 百川大模型

幂简集成

AI API 大模型

天润融通用小改进,盘活大资产

天润融通

人工智能 天润融通

官宣!玲珑项目升级,如意玲珑(Linyaps)全新启航!

nn-30

Linux 开源 操作系统 deepin deepin V23

京东按图搜索商品新视角:jd.item_search_img API返回值解读

技术冰糖葫芦

API 安全 API 文档 API 开发 API 协议

etl 常用数据类型转换 元数据配置说明

weigeonlyyou

Go 大数据 物联网 ETL MySQL 8.0

Java/OC 语言知识讲解:反射与回调

测吧(北京)科技有限公司

测试

Objective-C 语言基础知识:编写测试代码

测吧(北京)科技有限公司

测试

欢迎来到 Mint Expedition:Web3 和 NFT 的新时代开始

NFT Research

blockchain NFT\

云灾备场景

天翼云开发者社区

公有云 容灾场景

抖音商品详情API实战指南:轻松获取并利用商品数据

tbapi

抖音商品数据采集 抖音API 抖音数据采集 抖音商品详情接口

C 语言中的 sscanf 详解

EquatorCoco

MySQL 数据库 C语言

在 Xcode 中运行和调试单元测试:使用 Debug 和日志

测吧(北京)科技有限公司

测试

为什么从 Demo 测试开始上手

测吧(北京)科技有限公司

测试

为什么要构建小程序生态

Geek_2305a8

Web 应用框架环境安装指南

测吧(北京)科技有限公司

测试

TaD+RAG-缓解大模型“幻觉”的组合新疗法

京东科技开发者

从校招新星到前端技术专家的成长之路

京东科技开发者

deepin Meetup 上海站回顾,揭秘如意玲珑(Linyaps)升级“内幕” | 附 PPT下载

nn-30

Linux 开源 操作系统 deepin deepin V23

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