360MarvelTeam虚拟化漏洞第二弹 - CVE-2015-5279 漏洞分析

云计算目前已成为一种被大多数互联网公司接受的服务模式,它提供了定制化的硬件资源,应用,以及服务。作为实现云计算构想的最重要的技术基石,虚拟化系统提供了硬件资源的量化分配和灵活调度,保证云业务的顺利实施。因此,云业务的健康发展,离不开虚拟化系统的稳定运行。

360 Marvel Team将陆续公开一系列独立发现的针对虚拟化软件高危0day漏洞的分析文章,揭开虚拟化攻击技术的神秘面纱。在9月29日的360 ISC 2015大会上,该团队安全研究员唐青昊,将进行关于《云虚拟化系统的漏洞挖掘技术》议题的演讲,在该议题中将分享漏洞挖掘的核心技术。

本文为该系列的第二篇文章,将详细分析CVE-2015-5279 qemu网卡堆溢出漏洞的相关知识。关于第一篇文章针对CVE-2015-6815漏洞的分析,详见http://www.freebuf.com/vuls/77834.html

0x01 漏洞基础知识


CVE-2015-5279是qemu虚拟化环境中rtl8029网卡设备存在一处堆溢出类型漏洞。那么什么是qemu软件?qemu软件和kvm虚拟化存在什么样的关系?rtl8029网卡是怎样的一款设备呢?下面将逐一解答这些问题。

QEMU是一款处理器模拟软件,可以提供用户模式模拟和系统模式模拟。当处于用户模式模拟状态时,将使用动态翻译技术,允许一个cpu构建的进程在另一个cpu上执行。系统模式模拟状态下,允许对整个pc系统的处理器和所使用到的相关外围设备进行模拟。qemu提供的仿真外设包括硬件Video Graphics Array (VGA) 仿真器、PS/2 鼠标和键盘、集成开发环境(IDE)硬盘和 CD-ROM 接口,以及软盘仿真。也包括对E2000 Peripheral Controller Interconnect (PCI) 网络适配器、串行端口、大量的声卡和 PCI Universal Host Controller Interface (UHCI) Universal Serial Bus (USB) 控制器(带虚拟 USB 集线器)的仿真。除了仿真标准 PC 或 ISA PC(不带 PCI 总线)外,QEMU 还可以仿真其他非 PC 硬件,如 ARM Versatile 基线板(使用 926E)和 Malta million instructions per second (MIPS) 板。对于各种其他平台,包括 Power Macintosh G3 (Blue & White) 和 Sun-4u 平台,都能正常工作。

图1.qemu可%