写点什么

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

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

关注

评论

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

低代码为何这么“香”

华为云开发者联盟

低代码 开发 华为云 华为云开发者联盟 华为云Astro

与达沃斯同行 | XTransfer与达沃斯百位全球创新者“头脑风暴”

XTransfer技术

K8S学习指南(4)-minikube的使用

俞兆鹏

第五代英特尔至强可扩展处理器以强劲性能,打造更“全能”的计算

E科讯

集合-Java-笛卡尔积、平铺

alexgaoyh

Java 集合运算 笛卡尔积 数据平铺

解读|如何利用 NFTScan 解锁当前 NFT 生态走势

NFT Research

NFT\ NFTScan NFT开发

测试管理训练营马上开营! 快来免费领取试听课吧~

测试人

软件测试 测试 自动化测试 测试开发

分布式系统中的分布式链路追踪与分布式调用链路

天翼云开发者社区

分布式系统 网络

住宅代理IP在保护品牌形象中起到关键性作用

摘星星的猫

实战讲解|Trino 在袋鼠云数栈的探索与实践

袋鼠云数栈

大数据 前端 计算引擎 trino

Flask请求与响应-视图函数处理请求数据

测试人

软件测试 测试 自动化测试 测试开发

ICDM'23 BICE论文解读:基于双向LSTM和集成学习的模型框架

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 论文解读

工作中使用Redis的10种场景

快乐非自愿限量之名

数据库 redis 前端 开发

云行| 国云筑基 焕新启航,天翼云中国行·东莞站圆满举行!

天翼云开发者社区

云计算 数字化 云电脑

Hex-Rays IDA Pro(交互式反汇编工具) v7.7汉化版

南屿

IDA Pro 静态反编译工具

低功耗DC-DC电源模块的精细化PCB设计

华秋电子

面试官:SpringBoot如何实现缓存预热?

王磊

Java 面试

Solidity案例详解(一)存钱罐合约

BSN研习社

区块链 Solidity

淘宝/天猫店铺商品详情 API 实现实时数据获取:快速、稳定、高效

Noah

揭秘代币价值:Token Explorer 带您洞察市场,把握投资先机

Footprint Analytics

Token 代币

1688公司档案信息数据接口采集Python

tbapi

1688API接口 1688公司档案信息接口

推动SiCMOSFET国产化,华秋获“芯塔电子”优秀媒体合作伙伴奖

华秋电子

React Native性能优化指南

k8s探针详解

EquatorCoco

Kubernetes k8s 容器化

师爷,翻译翻译什么叫AOP

不在线第一只蜗牛

Java 数据库 前端 aop

MacOS远程管理软件哪款好?Royal TSX for Mac v6.0.2激活版

南屿

Royal TSX 教程 MacOS远程管理 Royal TSX mac破解版

一文教会你!如何利用火焰图快速定位内存泄漏?b

Greptime 格睿科技

数据库 rust 内存泄漏

如何利用容器与中间件实现微服务架构下的高可用性和弹性扩展

天翼云开发者社区

架构 微服务

Flink Kubernetes Operator 介绍

数新网络官方账号

flink

微信多开助手for mac下载

iMac小白

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