SpartanBrowser产品和安全特性简介
电脑管家的网页防火墙已经第一时间对Spartan浏览器进行安全支持,管家用户可以安全浏览上网。下载地址:http://guanjia.qq.com/win10/?ADTAG=web.gj.qj.banner2
微软为什么要开发新浏览器?
IE的一些不好评价,尤其是安全性上的评价,已经直接在影响业界对微软技术能力的评价,很多软件公司甚至不愿意开发与IE兼容的软件。事实上,由于IE浏览器在网页响应速度、抵挡黑客或病毒攻击、对最新技术的兼容度、人性化浏览设置等方面一直存在缺陷,使得近年来软件业围绕浏览器的争夺战愈演愈烈。谷歌、火狐、360等中外软件企业都开发出了自己的浏览器,并各自吸引了一批用户,导致IE的市场份额持续下滑。
新的Spartan浏览器主打轻快安全特点,刚好对应IE的重慢不安全等不良因素,微软计划凭借Spartan扭转在浏览器市场的地位,同时塑造更好的企业形象。
全球浏览器市场份额一览(时间点:2014年11月)。
统计方法不同导致市场份额有较大差异,但是不变的是IE的市场份额在持续下滑。
Spartan在这场角力中将扮演继续沉沦还是逆袭的角色,让我们拭目以待。
产品特性
1、取代IE这是肯定的,正式版本将取代IE11的位置,被固定在任务栏。
2、Spartan支持网页标注,并且可以与其它Spartan用户分享。
解读:这是要给浏览器带上社交属性啊,但不得不说这是一种很好的分享途径。
标注的结果可以存放在本地,也可以放到oneNote,前提是你安装了oneNote(Windows默认集成),拥有这一个功能之后,你可以和别人分享你的标注结果。
4、阅读模式。
解读:用过Chrome的扩展“印象笔记”的应该很熟悉这一应用,简直就是逆天。开启阅读模式之后,浏览器通过摘要算法提取当前页面的正文内容之后,覆盖原页面新起一个窗口进行浏览,广告,杂乱的信息都没了,只剩下干净的正文,大家可以通过下面的图片对比体验一下。
开启阅读模式之后。
5、使用全新的EDGE渲染引擎。
解读:抛弃IE的兼容性包袱,跑得更加轻快,对网页新特性支持得也更好,估计能更好的吸引Web开发者。另外值得称道的是Edge引擎的接口(包括EdgeHtml.dll渲染引擎和Chakra.dll JS引擎)完全和IE的引擎一致(MsHtml.dll和jscript*.dll),因此实际上IE是可以直接使用Edge引擎的,实际上也确实可以的,目前Windows10上面的IE11是通过实验功能提供的。在IE地址栏输入about:flags,然后将EnableExperimental Web Platform Features功能设置为已启用,然后应用更改(要禁用设置为Disabled即可)。即上演替代大法,IE的渲染引擎就完全被Edge替代了。
从这里也可以看出国内其它的IE内核浏览器(譬如QQ浏览器)要使用Edge引擎也是轻而易举的。
6、网络模型上沿用了IE11的最新架构,效率极高。
解读:IE11的成功给了Spartan很多借鉴。网络模型上沿用了IE11的最新架构,效率极高。
HTTP请求使用了完成端口模型,并用系统高效线程池优化数据收发,每次收数据时,预收1K数据,合理控制收包数量。对HTTP Response也进行了解析优化,只认为第一个回包是HTTP头,其它都是数据,显然这是一个策略上合理改变,同时也提升了解析效率(这个改变导致管家网页防火墙的拦截出现问题,费了不少力气才解决)。
7、号称将支持新的扩展。
解读:截至发文前Spartan浏览器还不支持扩展和插件(现在还是Project Spartan呢)。微软之前曾经号称Spartan要兼容Chrome的扩展,如果微软真的能兼容一部分Chrome的扩展,已经很不错了。Chrome的扩展已经被证明是易开发,易使用的,而且不像Native插件饱受漏洞的困扰。
安全特性
这两张图片来之微软的一篇Paper《SpartanDisclosure.pdf》,从图中大概可以嗅探到Spartan将用到一些安全新特性,当然IE11已经启用的安全特性,Spartan也是继续延续的,希望能甩掉IE的不安全帽子,每月的补丁日都来个IE累积安全更新,一年还来一两次IE紧急更新也是醉了。
下面我们简单了解下这些新的安全特性。
1、Spartan的框架进程也运行在了AppContainer完整性权限。
解读:完整性权限并不是一个新东西。从已有一些浏览器的架构来说,框架进程一般都是Medium权限,Spartan的做法是再次从系统层面降低了框架进程的权限,框架进程运行在AppContainer完整性权限的好处是整个浏览器访问系统资源更加受限。在进行沙箱突破时也会更加困难,在突破Chrome的沙箱时,一种思路就是利用Chrome的框架进程和渲染进程的IPC通信来进行突破,因为Chrome的框架进程的权限还是Medium,权限相对AppContainer来说高了几个等级。
2、Spartan的渲染进程(tabs)缺省情况下都是运行在增强保护模式下(沙箱)。
解读:IE11一般情况下需要启动EPM(增强保护模式)才能让渲染进程运行在AppContainer权限(进沙箱),默认进入显然更加安全。
3、IE下的Toolbars、BHO等浏览器扩展都不再支持。
解读:减少攻击平面,安全性更高。BHO等Native插件本身可能没有什么漏洞,但是BHO使用的一些技术手段,譬如常用的detours等库,因为本身有一些实现上的缺陷,导致漏洞利用变得容易,譬如detours修改了PE头的可执行属性,跳板代码放置在内存中的固定位置等等,直接不支持这些插件,可能对插件作者是一个打击,但是对安全性来说显然是更高的,不用再去考虑这些不可控的东西。
4、ActiveX控件受到更加严格的限制,权限极低。
解读:ActiveX控件的泛滥严重影响着IE的安全,虽然一些ActiveX控件的漏洞严格来说不属于浏览器的漏洞,但是严重影响着IE的口碑,看来Spartan是要在这块下很手了。
5、禁用vbscript,减少攻击利用手段,安全性更高。
解读:利用vbscript来绕过nozzle已经是比较成熟的技术,直接禁用vbscript则是从源头上堵死了这种利用手段。2014年有一个神一般的漏洞被曝光,CVE-2014-6332,这个漏洞通杀IE3.0~IE11,破坏性可见一斑,这个漏洞本身并不是vbscript的漏洞,但是它利用vbscript的一些语言上的特性,关闭了vbscript的SafeMode模式(传说中的开启上帝模式),然后直接获得系统权限,不用绕什么DEP,ASLR了,也不用布置什么精巧的shellcode,在IE里面想干啥就干啥。
当然Spartan上面应用的安全特性远远不止上面这些,还有很多已经在IE11里面实现,Spartan直接就沿用过来了,这里就不再做过多解读,有兴趣的童鞋可以去看看隔离堆(反heapspay),内存延迟释放(反UAF攻击),CFG(反UAF攻击),沙箱等等安全知识。
参考文档
[1] http://www.mydrivers.com/
[2] http://www.cnbeta.com/articles/381555.htm
[3] SpartanDisclosure
[4] Living on the edge – our next step in helping the web just work http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx
[5] Project Spartan and the Windows 10 January Preview Build http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx
[6] http://www.199it.com/archives/261940.html
[7] 有关IE VB神洞CVE-2014-6332 http://blog.vulnhunt.com/index.php/2014/11/18/about_cve-2014-6332/
[8] 斯巴达浏览器http://baike.baidu.com/item/%E6%96%AF%E5%B7%B4%E8%BE%BE%E6%B5%8F%E8%A7%88%E5%99%A8