作者: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选项处进行选择:
二. DarK Portal漏洞原理分析
DarK Portal漏洞是由于qemu/hw/display/vga.c文件的数组索引处理不当造成的。
首先看vga设备对应的读操作函数vga_mem_readb(),该函数会根据索引返回设备内存中的1个字节。但是由于对索引的边界值缺少判断,因此会导致越界读取内存。
那么能越界读到多少内存呢?根据下面的计算,在默认的配置中,正常的设备内存为16mb。
由于是通过 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的限制。
四. DarK Portal时间表
4.23 发现漏洞,完成poc代码
4.25 将完整报告向官方安全团队披露
4.29 讨论披露时间
5.9 官方披露信息
五.官方信息汇总
漏洞评级:高危
信息链接地址:
http://www.openwall.com/lists/oss-security/2016/05/09/3
https://access.redhat.com/security/cve/cve-2016-3710
漏洞危害描述:
虚拟机授权用户利用该漏洞可以在kvm平台和xen平台的宿主机上执行任意代码.
漏洞修复方案:
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系列)攻防技术,致力于保持领先的脆弱性安全风险发现和防护能力,针对主流虚拟化系统提供漏洞检测和加固解决方案。
发表评论
您还未登录,请先登录。
登录