自2015年5月份毒液漏洞肆虐全球云平台之后,虚拟化安全开始被业界重视,这些直接影响云系统的漏洞会导致通用云系统被黑客攻破。当前云上已经存放着大量用户的个人隐私信息,企业数据信息,以及政府敏感信息,一旦云系统被攻破,就意味着这些重要的信息可能会被泄露。黑客利用虚拟化漏洞不但可以偷取到重要信息,甚至可以从一台虚拟机发起攻击控制宿主机,最终控制整个云环境的所有设备。
2016年4月25日,360MarvelTeam向官方提交了一枚可以让黑客通过kvm平台和xen平台控制整个云系统的的虚拟化安全漏洞。该漏洞自提交之日起,立即引起了平台官方的高度重视,5月9日官方正式对外宣布:这枚编号CVE-2016-3710的漏洞为高危漏洞,通过该漏洞虚拟机授权用户利用该漏洞可以在kvm平台和xen平台的宿主机上执行任意代码。同一天,漏洞的发现团队360Marvel Team将其命名为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漏洞和去年的“毒液漏洞”相似,毒液漏洞”可以实现堆缓冲区溢出,但是在实际利用过程中会遇到2个关键问题:
1、连续的堆内存覆盖,容易造成利用环境不稳定;
2、单一漏洞不能绕过aslr。
而DarK Portal漏洞本质上实现了内存越界读写,而且可以单字节读和写,从而有能力完成精准控制内存和信息泄露这两个关键步骤。
局限性方面,该漏洞受制于vga 设备内存之后48MB空间的内容,在我们的测试环境中,可以看到48M空间(图中黑色部分)包含了lib内存信息。而lib库内存信息的泄漏可以帮助黑客绕过aslr的限制。
漏洞评级:高危
信息链接地址:
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是国内首支云虚拟化系统安全研究团队,研究内容为云安全领域的主流虚拟化系统(xen,kvm,docker,vmware系列)攻防技术,致力于保持领先的脆弱性安全风险发现和防护能力,针对主流虚拟化系统提供漏洞检测和加固解决方案。
原文始发于微信公众号(奇安信集团):潜伏8年、危害超过“毒液”——深度分析云系统高危漏洞“Dark Portal”
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论