当前位置: 主页 - 浏览器资讯

win10浏览器Spartan和Chrome大比拼

时间:2015-4-27 15:01:52来源:未知 作者:
win10浏览器Spartan和Chrome大比拼
Windows10已经升级到最新的10061版本。里面自带了微软最新的Spartan浏览器,据说今后将会取代ie浏览器。那么这款最新的Spartan浏览器,和Chrome相比,在性能和安全性方面到底孰优孰劣呢?
如果不作特殊说明,以下用到的工具都是Process Explorer。
沙盒技术
大家都知道chrome浏览器实现了自有的沙盒(sandbox)技术,所谓沙盒,从安全的角度看和Docker类似,都是一种进程隔离技术。
win10浏览器Spartan和Chrome大比拼[多图]图片1
以下是Chrome沙盒原理示意图,具体解释可以参考以下网页。大致意思是Chrome会有一个高级进程,充当代理(Broker)。而每个网页,则独立封装在一个沙盒进程中,而类似保存文件等高特权的操作,都由Broker进程代劳。Broker进程和沙盒之间通过IPC机制通信。
而Spartan浏览器同样采用Windows 10自有的沙盒技术,叫做App Container技术。同样会有一个高级进程,充当代理,名称叫做browser_broker.exe。而每个网页对应的进程叫做spartan_edge.exe。代理进程负责启动网页,同时执行类似文件保存等高特权动作。
win10浏览器Spartan和Chrome大比拼[多图]图片2
对于Chrome来说,其Flash支持也作为一个独立的沙盒进程来实现,这样安全性更高。由于Chrome的子进程名称完全一样,所以可以从其线程中获知其Flash支持的进程是哪一个。
win10浏览器Spartan和Chrome大比拼[多图]图片3
而对于Spartan来说,其Flash支持也是作为一个普通的独立进程而存在,但并不是沙盒进程。
性能对比
Spartan浏览器和Chrome到底谁性能更好?
其实比较难对比,因为两者的渲染引擎不同,得看网页本身的支持,不能光看内存占用等指标。
为了公平起见,这里对空白网页的两个浏览器的内存占用进行比较,同时再比较启动新浪微博时的内存占用。
Spartan
当启动空白网页时,Spartan一共启动5个进程,其内存占用的截图如下。这些进程一共占用约43MB内存。
当我们把鼠标焦点指向地址栏并准备输入内容时,Spartan会启动一个新的Spartan_edge进程,其父进程为spartan。该进程专门用来接收地址栏操作。
输入新浪微博地址并回车,再查看内存占用,如截图所示。由于地址栏对应的进程过段时间会退出(也可以手动关闭)。所以一共消耗内存为182MB,如果算上地址栏进程,则一共为223MB。
整理如下表所示。
win10浏览器Spartan和Chrome大比拼[多图]图片4
Chrome
同理统计Chome的空白网页内存占用,共计消耗207MB内存,比Spartan多约150MB。
当打开新浪微博时,共计消耗338MB内存,如果不算Spartan的地址栏进程,则多出约150MB内存,如果算上的话,则多出约110MB内存。
整理如下表所示。
win10浏览器Spartan和Chrome大比拼[多图]图片5
这里还是得说明,内存占用不能作为两者性能的最终要素,不过Spartan还有杀手锏。当我们把网页最小化后,我们会发现其对应的Spartan进程马上暂停,从而把CPU占有率降到0。如果恢复网页大小,则进程立即恢复运行。
其实Spartan浏览器,完全是一个Metro风格的进程。
小编点评 两者的性能比较,单就访问微博的内存占用而言,Spartan更胜一筹。
安全对比
接下来再看看Spartan和Chrome安全能力的对比。
Spartan
Spartan采用了Windows 10 Metro风格进程的沙盒技术,可以看到其网页进程的完整性级别是Low,表示其采用了Windows保护模式。
小编从2006年开始接触到保护模式这个Feature,我的一篇文章曾经帮助支付宝解决和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连接、家庭和工作网络访问能力等等,如附图所示。
win10浏览器Spartan和Chrome大比拼[多图]图片6
开始菜单里的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。
win10浏览器Spartan和Chrome大比拼[多图]图片7
同时如果查看网页进程的句柄,可以发现其没有用户桌面的访问能力,在如下的截图中,我们可以看到该进程并没有WinSta0窗口站的访问能力。根据谷歌官网的说法,这可以防止网页进程里可能存在的恶意代码向用户桌面发动粉碎攻击的可能。
但是小编不太清楚,既然网页进程没有用户桌面的句柄,那这个网页又是如何显示在用户桌面上的呢?不知道是不是通过IPC机制让Broker进程代劳,很显然Broker进程拥有用户桌面的句柄。
小编点评 两者的安全对比,Spartan和Chrome都采用沙盒技术,都完全满足用户安全浏览的需求。两者难分伯仲,各擅胜场。
(责任编辑:浏览器家园)
------分隔线----------------------------

关于我们 发布软件 免责声明 网站地图 手机版

Copyright © 2014-2023 浏览器家园  鄂ICP备19028122号-1

浏览器家园提供的所有下载文件,如有内容侵犯您的版权或其他利益,请及时向我们提出删除。