CrowdStrike公司安全研究员称,一个名为“毒液(VENOM)”的QEMU漏洞使数以百万计的虚拟机处于网络攻击风险之中,该漏洞可以造成虚机逃逸,威胁到全球各大云服务提供商的数据安全。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版。
这个名为毒液(VENOM,编号 CVE-2015-3456 )的安全漏洞威胁到了整个安全行业,可以造成虚机逃逸。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版(包括Debian, Gentoo, SUSE, RedHat, CentOS等)。
VENOM漏洞由CrowdStrike高级安全研究员Jason Geffner发现,他解释说攻击者可能会利用该漏洞危害数据中心网络中的任何一台机器,并且数以百万计的虚拟机很容易受到利用此漏洞的攻击。Geffner在一篇 博文 中说道:
“VENOM(CVE-2015-3456)是一个存在于虚拟软盘驱动器(FDC)代码中的安全漏洞,该代码存在于许多计算机虚拟化平台之中。该漏洞可允许攻击者从受感染虚拟机中摆脱访客身份限制,并很有可能获取主机的代码执行权限。此外,攻击者还可以利用它访问主机系统以及主机上运行的所有虚拟机,并能够进行提升重要的访问权限,以使得攻击者可以访问主机的本地网络和相邻系统。”
客户操作系统通过想FDC的输入输出端口发送搜索、读取、写入、格式化等指令与FDC进行通信。QEMU的虚拟FDC使用一个固定大小的缓冲区来存储这些指令及其相关数据参数。FDC跟踪并预计每条指令需要多少数据,在指令所有预期的数据接收完成后,FDC就会执行下一条指令并清除缓冲区为下一条指令做准备。
在处理完所有的FDC指令(除了两个定义指令)之后,就会立即重置缓冲区。攻击者可以从客户系统发送这些指令和精心制作的参数数据到FDC,从而溢出数据缓冲区,并在主机的监控程序进程环境中执行任意代码。
VENOM是“虚拟环境中被忽视的业务操作”的缩写,这是一种能够影响QEMU软盘控制器驱动程序的漏洞,QEMU是一款用于管理虚拟机的开源电脑模拟器。攻击者可以从客户系统发送命令和精心编制的参数数据到软盘控制器,以此导致数据缓冲区溢出,并在主机管理程序进程环境中执行任意代码。
VENOM非常危险,因为如果能够利用该漏洞,那么将影响到世界范围内的大量虚拟化平台,并且其运行条件很简单,只需要在默认配置的虚拟机中就可以,最重要的是,它可以执行任意代码。专家解释说,VENOM将能够影响到成千上万的机构和数以百万计的终端用户。攻击者可以使监控程序崩溃,并能够获得目标机器以及其上运行的所有虚拟机的控制权。
“利用VENOM漏洞可以公开企业知识产权的访问权限,除了敏感数据和个人身份信息之外,还可能影响成千上万的相关机构和数以百万计的终端用户,这些机构和用户都依靠受影响的虚拟机来分配共享的计算资源、连接、存储、安全以及隐私服务。”
该漏洞存在于QEMU的虚拟软盘控制器(FDC)中,而FDC代码应用于众多虚拟化平台和设备中,尤其是Xen、KVM以及本地QEMU客户端。然而,VMware、微软hyper-V和Bochs管理程序并不受该漏洞的影响。
#include <sys/io.h> #define FIFO 0x3f5 int main() { int i; iopl(3); outb(0x0a,0x3f5); /* READ ID */ for (i=0;i<10000000;i++) outb(0x42,0x3f5); /* push */ }
如果你管理着一个运行Xen、KVM或本地QEMU客户端的系统,建议你审查并应用最新的漏洞补丁。
如果你在使用一个供应商的服务或者设备(受此漏洞影响),建议你尽快联系供应商的支持小组,并咨询该产品是否已经修复了此漏洞或者是否发布漏洞补丁。
* 参考来源 securityaffairs 、 crowdstrike 、 arstechnica ,有适当修改,FreeBuf编辑JackFree整理,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)