近日,阿里云安全漏洞研究团队的栾尚聪(好风)发现并提交了一处 Xen平台 下的 虚拟机逃逸漏洞 。利用该漏洞,攻击者可以完全掌握宿主机及其他虚拟机的控制权,严重威胁系统及数据的安全。Xen平台迅速推出了相应的补丁,国家互联网应急中心也相应发表 安全公告 。
作为领先的开源虚拟化平台,Xen为诸多云平台提供着基础建设。因此,保证Xen平台的安全具有十分重要的意义。Xen项目的安全团队也一直在努力进行这方面的工作。然而,阿里云安全漏洞研究团队近日发现的虚拟机逃逸漏洞,却已经在Xen中存在了7年。该漏洞编号为XSA-148/ CVE-2015-7835 ,代号“破天(Dome Breaking)”。
“破天”漏洞从Xen 3.4版本开始引入,后续版本包括最新发布的Xen 4.6都受该漏洞的影响。该漏洞只在32位或者64位的x86系统中存在。其基本原理为:当满足一定条件,用于控制验证level 2影像页表(Xen Page)的代码可被绕过,导致PV模式下的普通用户(如Guest)可使用超级页表(2MB)映射权限重新定义可写入的映射。由此,攻击者可以突破Xen对虚拟机只能以只读权限拥有Page
Tables的限制,实现了任意物理内存读写。这样,攻击者就可以最终绕过软硬件上的所有安全机制的限制,在
Xen Hypervisor上下文环境和Dom0上下文环境执行任意代码。综合利用该漏洞,恶意攻击者可提升普通用户权限,进而控制整个虚拟机系统,构成用户主机数据泄漏风险。
国家信息安全漏洞共享平台(CNVD)对该漏洞的综合评级为“高危”。而Amazon和其他云服务提供商之前已经收到了Xen的通知。因此, Linode 和 Amazon 都向客户发表声明,对系统进行了重启升级或者免重启升级。目前,针对Xen 的4.6.x、X4.5.x和X4.4.x/X4.3.x版本,Xen官方给出了不同的漏洞补丁: xsa148.patch 、 xsa148-4.5.patch 和 xsa148-4.4.patch 。
安全研究公司Invisible Things Lab的高级系统开发者 Marek Marczykowski-Górecki表示 ,该漏洞给予了准虚拟化的虚拟机对系统的完全控制权。此漏洞为他所见到的Xen hypervisor中出现的最严重的漏洞。而该漏洞竟然存在了7年之久没有被Xen团队发现。Marek认为,有理由怀疑Xen团队是否对安全方面足够重视以及Xen是否足够安全。同时,这也是继7月份QEMU开源机器仿真器之后的第二个逃逸漏洞。作为一个理应成熟、稳定的平台,Xen频频爆出的漏洞实在让人怀疑其安全性。
Xen项目安全团队的Ian Jackson则在 官方博客 发文表明了自己对此事的看法。他认为,此次漏洞的确说明Xen在安全方面还有缺陷,但是并不说明Xen就不比其他虚拟技术安全。Ian透露,作为一个开源项目,Xen一方面会经常受到很多新的分析技术的挑战,另一方面也需要公开所发现的漏洞。这两方面都容易让公众产生错觉,以为Xen存在很多漏洞。Ian坚持认为,相比于其他的虚拟技术,Xen仍然要安全很多。他最后表示,希望用户能够继续支持Xen,并欢迎提出更多安全方面的意见和建议。
感谢魏星对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。