360 Marvel Team虚拟化漏洞第五弹 - CVE-2016-3710 Dark Portal漏洞分析

阅读量163813

|

发布时间 : 2016-05-12 10:09:57

作者:360 Marvel Team 安全研究员 唐青昊 (新浪微博:SunSky0101;微信:702108451)

前言:

自2015年 5月份毒液漏洞肆虐全球云平台之后,360 Marvel Team累计在kvm,xen,vmware平台上公开了高达22枚的高危安全0day漏洞,这些漏洞均会导致通用云系统被黑客攻破。目前云上已经存放着大量用户的个人隐私信息,企业数据信息,以及政府敏感信息,一旦云系统被攻破,就意味着这些重要的信息可能会被泄露。黑客利用虚拟化漏洞不但可以偷取到重要信息,甚至可以从一台虚拟机发起攻击控制宿主机,最终控制整个云环境的所有设备。

目前云虚拟化系统已经与PC安全,移动设备安全,智能设备安全并列成为最火热的安全研究方向。在安全领域最负盛名的PWN2OWN比赛中,今年新加入了Vmware Workstation的逃逸项目。在CanSecWest 2016(温哥华)和Syscan 2016(新加坡)会议中,360 Marvel Team团队也受邀分享了有关云虚拟化系统的漏洞挖掘和利用的前沿课题。相信世界范围内对云虚拟化系统的安全研究将会在2016走上一个新的高峰。

《360 Marvel Team虚拟化漏洞》系列文章,针对团队独立发现的云虚拟化系统软件中的高危0day漏洞进行深度分析,希望以此揭开虚拟化攻击技术的神秘面纱。360 Marvel Team团队结合在漏洞挖掘和漏洞利用过程中的相关经验,针对云计算平台提供了完善的云虚拟化系统防护解决方案,持续保证云生态的安全。

本文为该系列的第五篇文章,将详细分析已经潜伏了编号CVE-2016-3710(英文名:Dark Portal,中文名:传送门)的越界读写内存漏洞的相关知识,该漏洞存在于xen和kvm系统的qemu模块中的vga显卡组件,黑客在一台虚拟机中利用该漏洞,就可以在宿主机中执行恶意命令。360 Marvel Team于 4月22日提交该漏洞,官方于5月5号公开了漏洞信息及修复补丁。

关于之前的四篇文章,链接如下:

http://www.freebuf.com/vuls/77834.html

http://blogs.360.cn/blog/360marvelteam虚拟化漏洞第二弹-cve-2015-5279-漏洞分析/

http://bobao.360.cn/learning/detail/2423.html

http://www.freebuf.com/vuls/91603.html

一. 关于qemu和vga

QEMU是一款存在于xen和kvm系统中的用以实现设备模拟的软件,它实现了在虚拟机中使用键盘,网络通信,磁盘存储等诸多需要硬件设备参与的功能,并且可模拟的硬件设备类型非常丰富,如它提供了10种以上类型设备的网卡设备模拟组件,包括pcnet,rtl8139,ne2000,eepro100,e1000等。

vga组件模拟了vga显示卡功能。vga模块是qemu中默认使用的显卡模块,在xen中则需要在video选项处进行选择:

                                             

https://p2.ssl.qhimg.com/t01fc57ba290c44e259.jpg

二. DarK Portal漏洞原理分析

DarK Portal漏洞是由于qemu/hw/display/vga.c文件的数组索引处理不当造成的。

首先看vga设备对应的读操作函数vga_mem_readb(),该函数会根据索引返回设备内存中的1个字节。但是由于对索引的边界值缺少判断,因此会导致越界读取内存。

https://p0.ssl.qhimg.com/t01fc6ec70423191c24.png

那么能越界读到多少内存呢?根据下面的计算,在默认的配置中,正常的设备内存为16mb。

https://p1.ssl.qhimg.com/t010d52d153589c4898.png

https://p2.ssl.qhimg.com/t01a1bb03321ddd53b7.png

由于是通过   s->latch = ((uint32_t *)s->vram_ptr)[addr];   这句代码进行读内存,因此可以越界读48MB的内存。

同样在vga设备的写操作函数vga_mem_writeb()中,也存在同样原因导致的越界写入内存。并且可以逐一字节写的内存也为48MB。

三. DarK Portal漏洞危害&漏洞利用方案

黑客可以利用DarK Portal漏洞在虚拟机中发动攻击,控制宿主机中的进程执行恶意代码。

DarK Portal漏洞和去年的“毒液漏洞”相似,毒液漏洞”可以实现堆缓冲区溢出,但是在实际利用过程中会遇到2个关键问题:

1.连续的堆内存覆盖,容易造成利用环境不稳定;

2.单一漏洞不能绕过aslr。

而DarK Portal漏洞本质上实现了内存越界读写,而且可以单字节读和写,从而有能力完成精准控制内存信息泄露这两个关键步骤。

局限性方面,该漏洞受制于vga 设备内存之后48MB空间的内容,在我们的测试环境中,可以看到48M空间(图中黑色部分)包含了lib内存信息。而lib库内存信息的泄漏可以帮助黑客绕过aslr的限制。

https://p3.ssl.qhimg.com/t01bd460a5e799b0a7d.png

四. DarK Portal时间表

4.23       发现漏洞,完成poc代码

4.25       将完整报告向官方安全团队披露

4.29       讨论披露时间

5.9         官方披露信息

五.官方信息汇总

       漏洞评级:高危

             

https://p0.ssl.qhimg.com/t0193b0ae29cdfb11d0.png

信息链接地址:

http://www.openwall.com/lists/oss-security/2016/05/09/3

https://access.redhat.com/security/cve/cve-2016-3710

漏洞危害描述:

虚拟机授权用户利用该漏洞可以在kvm平台和xen平台的宿主机上执行任意代码.

https://p5.ssl.qhimg.com/t0107fce863809d8a6e.png

漏洞修复方案:

              1.云厂商可以使用打补丁的方式修补该漏洞。

              2.使用”360云加固”等虚拟化漏洞防护产品自动免疫

补丁链接为:

http://www.openwall.com/lists/oss-security/2016/05/09/3

小结:针对360 Marvel Team独立发现的虚拟化安全漏洞CVE-2016-3710(英文名:Dark Portal,中文名:传送门),本文完整分析了漏洞相关的原理,利用方案,危害说明,以及修复方案。希望此文可以引起更多使用公有云和私有云企业的关注,重视云虚拟化系统安全问题。

关于360 Marvel Team:

 360 Marvel Team是国内首支云虚拟化系统安全研究团队,研究内容为云安全领域的主流虚拟化系统(xen,kvm,docker,vmware系列)攻防技术,致力于保持领先的脆弱性安全风险发现和防护能力,针对主流虚拟化系统提供漏洞检测和加固解决方案。

本文转载自: 360 Marvel Team

如若转载,请注明出处:

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
360MarvelTeam
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66