微软 Edge 浏览器安全特性初探

  • 张天雷

2015 年 5 月 27 日

话题:安全语言 & 开发架构文化 & 方法

国家互联网应急中心(CNCERT)统计,仅 2015 年 3 月,国内监测发现的感染移动互联网恶意程序的用户数量就为 647 万余个、被木马或僵尸程序控制的 IP 地址为 92 万余个、针对境内网站的仿冒页面数量近 2 万个。其中,针对浏览器的恶意攻击与入侵占据了很大比重。鉴于此,微软公司在 Windows 10 系统集成的 Edge 浏览器中特别加强了安全方面的防护工作。

网络攻击可分被动式的钓鱼攻击和主动式的黑客攻击。据微软公司 Edge 研发团队透露,Edge 浏览器针对这两种攻击方式中的多种攻击行为设置了专门的防御机制。其针对被动式的钓鱼攻击所做的加强主要包含以下几个方面。

首先,Edge 浏览器直接利用很多 Windows 10 系统的新特性来应对钓鱼攻击。例如,针对很多网站要求用户明文输入用户名和密码的情况。Windows 10 提供了使用非对称加密算法的微软 Passport 服务来避免明文登陆。此外,针对很多网站本身就是钓鱼网站或者隐藏有恶意软件下载链接的情况, Microsoft SmartScreen 可以对用户所访问站点的信誉进行检查,对可能的钓鱼网站发出提醒。此外,SmartScreen 还可以对下载的的恶意软件进行检查。最后,针对恶意攻击导致证书颁发机构颁发欺诈性或未经授权数字证书的情况,微软去年已经宣布了Root Certificate项目。最近,微软又进一步扩展了该系统,允许网页开发人员通过 Bing Webmaster 工具来向微软汇报伪造证书的案例。这就使得用户之间可以相互帮助,有效避免恶意网站的攻击。

其次,Edge 浏览器本身也在应对钓鱼式攻击上进行了改进。微软 Edge 团队主持研发了一个新的渲染引擎——Microsoft EdgeHTML。使用该引擎,开发人员可以轻松建立一个适用于所有当前流行的浏览器的网站。通过该引擎,Edge 团队试图令开发人员可以在可靠性和安全性方面做更多的工作。

在针对主动式黑客攻击方面,Edge 浏览器还对浏览器内存中的 DOM 表示进行了修改,使得浏览器代码能够更好的防御黑客攻击。具体而言,Edge 浏览器所做的加强可以分为以下几个方面。

首先,针对 ActiveX 插件引入的安全问题,微软 Edge 团体提在新的浏览器中放弃了原有的 ActiveX 等技术,改为使用基于 HTML5 和 JavaScript 的扩展模式。HTML5 可以有效减少网站对于 VML、VB Script、Toolbars、BHO 以及 ActiveX 的需求。这样,兼容 HTML5 的微软 Edge 浏览器既能保证良好的用户体验,又能很好的提高安全性。

其次,Edge 浏览器在安全方面的一个巨大改变就是 Edge 浏览器本身就是一个 Universal Windows 应用程序,使其对外部管理器及内容的处理都限制在沙盒内。微软早在 Vista 系统上的 IE 7 中就开始使用沙盒机制,在 windows 8 上,微软引入了加强型保护模式(EPM)。EPM 能够提供比保护模式更强的沙盒功能,而且在系统自带的浏览器中是默认打开的。据报道,很多与保护模式不兼容的插件会主动关闭浏览器的保护模式。微软 Edge 浏览器进行了修改,使得 EPM 处于一直打开状态,从而保证了客户端的安全。

在另外一方面,内存溢出是黑客攻击常用的手段。微软从上世纪 90 年代开始已经提出了各种避免内存崩溃的方法。在 Visual Studio 2015 中,微软就推了一个新特征——控制流警卫(CFG)。该选项可以让 C++ 编译器在二进制文件中注入额外的安全检查代码,用来保证间接跳转只会指向函数的进入点。通过 CFG,系统限制了程序在崩溃时的跳转点,使得攻击者的攻击难度加大。目前,CFG 等技术都已经应用到了 Edge 浏览器中。

最后,微软 Edge 浏览器可以在 64 位模式下运行。一般情况下,64 位的进程,尤其是浏览器进程可以通过微软地址空间随机分配技术(ASLR)来加强安全性。微软在 Windows 10 的预览版中还集成了 Bug 汇报奖励程序,鼓励安全研究人员报告浏览器的安全漏洞。

目前,Edge 浏览器仍然处在调试阶段。今年夏天,它将随 Windows 10 操作系统正式发布。


感谢魏星对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

安全语言 & 开发架构文化 & 方法