Windows 10最新浏览器Spartan和Chrome大比拼

前言 这篇文章最初由盆盆发表在华来四微信公众号(微信号:sysinternal)。Spartan是Windows 10里的最新浏览器,据说要取代统治已久的IE浏览器!那么我们来看看这个最新的Spartan浏览器和Chrome在性能和安全性方面的到底孰优孰劣呢?对了,盆盆还会顺手捎带Cortana的部分特性。

盆盆使用的Windows 10已经升级到最新的10061版本。里面自带了微软最新的Spartan浏览器,据说今后将会取代IE浏览器。

那么这款最新的Spartan浏览器,和Chrome相比,在性能和安全性方面到底孰优孰劣呢?

沙盒技术

大家都知道Chrome浏览器实现了自有的沙盒(sandbox)技术,所谓沙盒,从安全的角度看和Docker类似,都是一种进程隔离技术。

以下是Chrome沙盒原理示意图,具体解释可以参考以下网页。大致意思是Chrome会有一个高级进程,充当代理(Broker)。而每个网页,则独立封装在一个沙盒进程中,而类似保存文件等高特权的操作,都由Broker进程代劳。Broker进程和沙盒之间通过IPC机制通信。

https://www.chromium.org/developers/design-documents/sandbox

而Spartan浏览器同样采用Windows 10自有的沙盒技术,叫做App Container技术。同样会有一个高级进程,充当代理,名称叫做browser_broker.exe。而每个网页对应的进程叫做spartan_edge.exe。代理进程负责启动网页,同时执行类似文件保存等高特权动作。

对于Chrome来说,其Flash支持也作为一个独立的沙盒进程来实现,这样安全性更高。由于Chrome的子进程名称完全一样,所以可以从其线程中获知其Flash支持的进程是哪一个。

而对于Spartan来说,其Flash支持也是作为一个普通的独立进程而存在,但并不是沙盒进程。

性能对比

Spartan浏览器和Chrome到底谁性能更好?

其实比较难对比,因为两者的渲染引擎不同,得看网页本身的支持,不能光看内存占用等指标。

为了公平起见,这里对空白网页的两个浏览器的内存占用进行比较,同时再比较启动新浪微博时的内存占用。

Spartan

当启动空白网页时,Spartan一共启动5个进程,其内存占用的截图如下。这些进程一共占用约43MB内存。

当我们把鼠标焦点指向地址栏并准备输入内容时,Spartan会启动一个新的Spartan_edge进程,其父进程为spartan。该进程专门用来接收地址栏操作。

输入新浪微博地址并回车,再查看内存占用,如截图所示。由于地址栏对应的进程过段时间会退出(也可以手动关闭)。所以一共消耗内存为182MB,如果算上地址栏进程,则一共为223MB。

整理如下表所示。

Chrome

同理统计Chome的空白网页内存占用,共计消耗207MB内存,比Spartan多约150MB。

当打开新浪微博时,共计消耗338MB内存,如果不算Spartan的地址栏进程,则多出约150MB内存,如果算上的话,则多出约110MB内存。

整理如下表所示。

这里还是得说明,内存占用不能作为两者性能的最终要素,不过Spartan还有杀手锏。当我们把网页最小化后,我们会发现其对应的Spartan进程马上暂停,从而把CPU占有率降到0。如果恢复网页大小,则进程立即恢复运行。

其实Spartan浏览器,完全是一个Metro风格的进程。

盆盆点评 两者的性能比较,单就访问微博的内存占用而言,Spartan更胜一筹。

安全对比

接下来再看看Spartan和Chrome安全能力的对比。

Spartan

Spartan采用了Windows 10 Metro风格进程的沙盒技术,可以看到其网页进程的完整性级别是Low,表示其采用了Windows保护模式。

盆盆从2005年开始就开始研究保护模式,当时还帮助支付宝解决和IE的兼容性问题。完整性级别为Low的进程,只能访问以下资源:

.Read access to most files
    .Write access to %USER PROFILE%\AppData\LocalLow
    .Read access to most of the registry
    .Write access to HKEY_CURRENT_USER\Software\AppDataLow
    .Clipboard (copy and paste for certain formats)
    .Remote procedure call (RPC)
    .TCP/IP Sockets
    .Window messages exposed via ChangeWindowMessageFilter
    .Shared memory exposed via LI (low integrity) labels
    .COM interfaces with LI (low integrity) launch activation rights
    .Named pipes exposed via LI (low integrity) labels

同时在网页进程里,我们还可以看到该进程所具有的资源访问能力,例如指定Internet连接、家庭和工作网络访问能力等等,如附图所示。

开始菜单里的Cortana也是采用类似的沙盒技术。

可以看到Cortana进程要求更多的资源访问能力。通过这种对进程的资源访问能力加以限制,可以让Windows 10的沙盒进程获得更好的隔离能力。

再回到Spartan的安全属性对话框,可以看到其中有一个S-15-2开头的SID被标记为AppContrainer。

除了采用保护模式和限制资源访问能力,Windows 10沙盒还利用了远程桌面的会话隔离技术。

用WinObj工具可以看到,在当前的用户会话1中多出了一个名为AppContrainerNamedObjects文件夹,Spartan沙盒在其下创建了一个以上述S-1-15-2开头SID为名的子文件夹,Spartan沙盒进程所需的事件、信号对象以及RPC控制对象都会放在这里。

Chrome

Chrome的沙盒技术利用了Windows自有的安全技术,可以看到其进程的安全级别比Chrome更低,没有任何特权,而且几乎所有的SID都标记为Deny。

同时如果查看网页进程的句柄,可以发现其没有用户桌面的访问能力,在如下的截图中,我们可以看到该进程并没有WinSta0窗口站的访问能力。根据谷歌官网的说法,这可以防止网页进程里可能存在的恶意代码向用户桌面发动粉碎攻击的可能。

但是盆盆不太清楚,既然网页进程没有用户桌面的句柄,那这个网页又是如何显示在用户桌面上的呢?不知道是不是通过IPC机制让Broker进程代劳,很显然Broker进程拥有用户桌面的句柄。

盆盆点评 两者的安全对比,Spartan和Chrome都采用沙盒技术,都完全满足用户安全浏览的需求。两者难分伯仲。

时间: 2024-10-19 16:05:08

Windows 10最新浏览器Spartan和Chrome大比拼的相关文章

Windows 10将成为“Windows的最终版”?

微软终于猛回头了! 原文:http://digi.tech.qq.com/a/20150508/051180.htm [摘要]随着Windows 10的发布,今后Windows 10可能和谷歌的Chrome浏览器一样只做定期的更新,而没有人再去关注它的版本号. 腾讯数码讯(Hamish)"现在我们正在发布Windows 10,因为这是我们最后的一版Windows,所以我们仍在开发完善它."微软的一名开发者布道师杰瑞·尼克松(Jerry Nixon)在本周举办的Ignite大会上这样表示

Windows 10推送累积更新,版本号10532

Windows 10发布一个多月以来,已发布多个累积更新,如果你已经开启 Windows Update 自动更新,系统会自动安装并提示重启. Windows 10最新版本号为10532 版权声明:本文为博主原创文章,未经博主允许不得转载.

[]如何在Windows 10中更改文件夹背景颜色

ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Windows 8引入的新文件管理器不兼容. 由于某些原因,这些文件夹背景更改工具在Windows 10和Windows 8/8中不起作用.1.自从Windows 10发布以来,用户一直在要求我们提出一种将图片设置为文件夹背景或至少更改文件夹背景颜色的方法,我们决定提出本指南. 如果您在Windows

[转]如何在Windows 10中更改文件夹背景颜色

ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Windows 8引入的新文件管理器不兼容. 由于某些原因,这些文件夹背景更改工具在Windows 10和Windows 8/8中不起作用.1.自从Windows 10发布以来,用户一直在要求我们提出一种将图片设置为文件夹背景或至少更改文件夹背景颜色的方法,我们决定提出本指南. 如果您在Windows

Windows 10 Build 10041 试用 升级后有 Spartan 斯巴达浏览器功能

为了试用一下微软最新的 Spartan 斯巴达浏览器,本周在家花了三天时间下载了  Windows 10 Build 10041 32位系统,来看一下有什么新的功能,因为只是在虚拟机中装装,下载32位就够用了. 由于是beta版本,只有在虚拟机中试用了. 一般按照我选择默认的直接安装即可以. 点下一步,完成,启动后: 系统保留现在为350MB 大小了. 使用虚拟机,笔者电脑性能占用情况. I5+ 6GB 内存+ 240GB intel SSD+ 1TB USB3.0移动硬盘,虚拟机装在移动硬盘,

Windows 10 泄漏的照片暴露更多Edge浏览器内容

Windows 10 泄漏的照片暴露更多Edge浏览器内容 微软新Windows 10 浏览器应该可以保存你的网站密码,由于之前不支持第三方密码拓展,因此这变得非常必要. 从最新泄漏的测试版本截图可以看出,Windows 10中的Edge浏览器正取得更多进步. 由中国网站ITHome截取的一系列截图展示了一些Windows 10的新功能,大多是令人瞩目的一些微软Edge浏览器可用的功能.由ITHome列出的开发代码是10123,它比当前公布给Windows 10 技术预览用户知道的10074还要

2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:

14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映,最终发现问题是版本问题,最后手动安装2.4.0就成功了!下载地址:http://pear.php.net/package/PHP_CodeSniffer/download/2.4.02.加入环境变量:d:\dev\tools\PHP_CodeSniffer-2.4.03.下面的 @[email pr

最新 Windows 10 应用项目模板发布

以下是最新的Visual Studio 2015 Windows 10 应用程序模板. Windows 10中几乎所有的官方应用都遵循这样一个设计模板:在左上方有一个所谓的导航栏.点击该导航按钮,左侧会延生出一列菜单.比如Windows的计算器应用程序,Windows 10的新闻程序都符合这样的设计.   安装了上述模板以后,你就会在Visual Studio 2015的新建项目对话框中找到一个新的Nav Pane App模板. 新建此项目后,编译运行就会得到如下最基本的Windows 10导航

2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:5分钟安装 30分钟入门和浏览常用命令

14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映,最终发现问题是版本问题,最后手动安装2.4.0就成功了!下载地址:http://pear.php.net/package/PHP_CodeSniffer/download/2.4.02.加入环境变量:d:\dev\tools\PHP_CodeSniffer-2.4.03.下面的 @[email pr