机房360首页
当前位置:首页 » 虚拟化 » 白皮书:虚拟化数据中心的安全问题

白皮书:虚拟化数据中心的安全问题

来源:网络 作者:机房360整理 更新时间:2010/8/13 15:25:22

摘要:应用和操作系统虚拟化所包含的概念并非新概念,它们在服务器设备和桌面PC得到广泛普及的很长一段时间之前就已经出现。然而在过去几年内,虚拟化普及的速度(尤其是软件操作系统虚拟化)迅速提高。据EMC®公司CEOJoeTucci称,大部分VMware®客户已经计划在未来三年内实现其50%的IT基础设施的虚拟化2。虚拟机最终盛行起来,并且正迅速进入企业数据中心,成为各个地方的IT部门内所有人员和小组的通用工具。

  
我们看一下使用vmware-tools从主机向客户端上的虚拟CD加载ISO文件的情况。首先,主机上的VMware进程必须能够接入ISO文件。这一般不是问题,因为VMware进程作为一个高级用户运行,具有较高的权限(Linux机器中的“根用户”,或者Windows机器上的“系统用户”)。接下来,客户端上必须有一个进程知道如何与主机上的进程通信。这要求在客户端上安装软件,通过Hypervisor进行命令调用而与主机VMM通信。客户端管理子系统向主机发起呼叫,一般通过指定的管道发起,要求主机代替客户端启动硬件调用,“欺骗”客户端认为它正在通过物理驱动器接入物理CD。这是VMware通过实施vmware-tools从主机向客户端加载CD的基本例子。这个过程很简单,但对安全性极为重要,因为我们创建了一个在主机和客户端上作为超级用户运行的未检查的系统,可以被恶意攻击者操纵和利用。再看一下现实世界的例子:运行10个Windows2003虚拟事例的LinuxVMM主机。每个虚拟主机都是运行财务部会计Web应用的冗余HTTP服务器组的一分子。每个虚拟客户端上的内容和数据在虚拟驱动器之间复制,而且始终保持完全一样。无论最终用户接入哪个HTTP服务器,后端数据始终保持一样。用户不知道自己在任何特定时间接入多个服务器,也不知道这些Web服务器都是虚拟服务器。例子中的这家公司没有为这些数据构建一个完全冗余的后端数据块,而是构建了一个极为低价的虚拟基础设施来管理这些财务数据的分发。

每星期,这家公司的Linux主机上的计划任务加载一个新CD,其中包含这星期的财务报表。每个Windows虚拟客户端上都设定了计划任务,以拷贝虚拟加载的CD上的这些财务报表(记住,通过vmware-tools加载),允许在财务服务器之间复制数据。Alice,恶意攻击者,采用弱密码攻击和她最爱用的本地权限提升漏洞——ELF'uselib'漏洞——去攻击Linux主机,以获得对该主机的全面根用户级远程接入权限。虽然她的主要目的是窃取每周的财务数据进行勒索,但她很快认识到,她有机会威胁数据和包含数据的应用。Alice有大量的攻击和选项来攻击客户端系统。例如,她可以用包含AutoRun功能的一个文件替换ISO文件,迫使虚拟CD上的内容在Windows客户端加载时立即运行。然后,她只需等待ISO在指定时间加载到客户端上,在客户端上运行她所希望的任何恶意应用程序,例如攻击工具、病毒、窃听程序,或者可能是netcat程序。利用netcat,她可以在任何时候直接接入客户端系统(远程接入)。这种延迟接入使她能够偷偷地在客户端Web服务器上实施破坏性报复行动,窃取有权登录到服务器请求财务报表的所有主管人员的密码,然后将证书数据传送回位于西弗吉尼亚的森林中的隐身之处。最初简单的数据拦截攻击可能很快演变为对整个虚拟化数据基础设施的全面攻击。

通过客户端攻击Hypervisor避开虚拟机以上面的架构场景为例。但这次,Alice攻击的是VMware客户端,而不是主机。即使没有做到,Alice也攻击了一个虚拟系统,而不是物理系统。从表面上讲,攻击产生的影响非常相似。但对于客户端HTTP服务器,Alice能够访问她正在寻找的财务数据,在这种情况下,她的攻击仅限于这一个客户端;她并未认识到自己在一个虚拟服务器组中的一个虚拟机上。在她能够对整个虚拟基础设施发起攻击之前,她1)需要认识到自己位于由主机VMM管理的虚拟机中,而且2)避开该虚拟机。一旦她避开了虚拟机,就可以接入基础设施的其它部分,继续实施她的破坏计划。要避开虚拟机,需要依次迂回进入硬件和操作系统设计。在基于x86的CPU,ring0(通常指内核模式)是CPU的一部分,在这里管理内核级进程。同样,ring3(或用户模式)是对用户级进程分配处理空间的地方。虚拟化操作系统要求ring0接入CPU,就如同真正的本地安装的操作系统。物理和虚拟操作系统都需要一定数量的内核代码(例如中断表格和视图)在ring0中运行,并且始终知道这些代码在RAM中位于何处。与物理操作系统不同的是,虚拟客户端不可能像独立的机器那样,将中断表格放置在RAM中的同一个位置;主机的中断表格已经占用了内存中的该位置。因此,尽管客户端认为其中断表格可能位于其虚拟RAM中的0x0000ffff处(表格始终存储在这个特定操作系统中),但主机实际上已经通过透明的Hypervisor将这个位置映射到物理RAAM中的0x1234abcd位置,对虚拟系统隐藏了实际位置。每次当虚拟客户端操作系统需要参考0x0000ffff处的中断表格时,Hypervisor透明地将呼叫转换为0x1234abcd处的实际位置,然后在指令结果返回到客户端时再转换回来。客户端不知道Hypervisor已经处理了中断表格的位置。然而,这是一个内核级空间,因此,即使主机Hypervisor已经针对客户端处理了中断表格的实际位置,虚拟表格仍必须从实际CPU上有权限的ring0运行(并驻留在其中)。大多数情况下,任何针对客户端虚拟CPU的攻击很有可能造成客户端瘫痪,这实质上是虚拟DoS。这与通过主机操作系统利用物理CPU中的CPU微代码并没有太大不同,但直接向CPU注册表读写信息并不简单。对于虚拟化环境,情况有些不同。现在,不仅CPU寄存器本身实现了虚拟化,而且还包括更多的方面。如上文所述,这些方面的大部分都对用户隐藏。例如,VMware不向vmware-tools或Hypervisor公开其源代码,因此,一般用户也无法知道当客户端向Hypervisor请求其中断表格中的数据时,在VMware的虚拟ring0中发生了什么。我们知道,VMM翻译该呼叫,并通过IPC将该呼叫交付给运行在主机上的超级用户,但问题就在于此。如果攻击者找到利用虚拟微代码的方式,则他们可能会操纵主机内核和CPU。这叫做虚拟机躲避:跳出虚拟环境的限制,并进入物理环境。虚拟机检测

在攻击者发起对虚拟环境的攻击之前,攻击者必须知道虚拟机在何处,以及他目前是否在一个虚拟机上。如果可以从本地接入平台,例如通过SSH接入控制终端,就会有信号指出机器已被虚拟化。MAC地址、进程列表、机器上安装的文件、驱动程序等容易检测到的项目,只需敲击几下键盘即可访问。然而,除了这些基本项目之外,有许多攻击可帮助攻击者检测机器是否运行在虚拟环境中,有时甚至返回关键信息,例如客户端的中断表格的当前位置。两种常用的虚拟检测工具是redpill5和scoopydo6,每种工具都可以通过CLI在后台默默地运行,就好像不会制造怀疑,然后利用netcat等工具通过网络隧道交回攻击者。攻击者可在他们破坏的每台机器上利用这些工具,创建一个已知虚拟环境的列表,以发起有针对性的攻击。

在知道机器是否有虚拟CPU之前,没必要浪费时间利用具有破坏性的微代码尝试攻击一个虚拟CPU。redpill等工具是全面虚拟机攻击的第一步。攻击客户端和避开虚拟机已经真正成为针对虚拟环境发起攻击的制胜法宝。如果或者当针对虚拟机的攻击随时可以发起时,攻击者只需花时间攻击一台虚拟机,这样就可以破坏一个闭合网络中的其它虚拟机,并最终避开虚拟VMM环境,接入主机。记住:虚拟机必须考虑其内核运行在CPU和RAM中受保护并且有权限的空间内,而且必须由Hypervisor授予接入主机上这些物理位置的权限。但虚拟化并不是一个内核运行在一个CPU平台上,而是要求多个内核共享接入并互相交互,即使虚拟化并没有实现这一点。如果攻击者的目的是攻击尽可能多的机器,而且攻击者知道某个系统组全是虚拟系统,则基于Hypervisor的攻击将提供最有利的攻击池。这种多个虚拟内核之间受保护的接入共享可能为所有类型的攻击打开了方便之门,例如:

•将破坏性的微代码从虚拟CPU传送到物理CPU

•向虚拟机添加特洛伊木马,从Hypervisor传送到主机,在主机的ring0中安装并运行resident"

•操纵虚拟机管理接口本身,越过客户端和主机之间的验证

•采用Hypervisor接入软件网络子系统,并且使客户端和主机网络接口进入混乱模式,以通过客户端透明地探查主机网络

•利用虚拟硬件驱动器操纵主机上的驱动器

•可能最具破坏性且最有利可图的就是攻击和操纵Hypervisor本身。如果攻击者可以操纵并控制多平台虚拟化主机上的Hypervisor,则攻击者就可以控制每个接入Hypervisor的客户端的所有软硬件命令。这种攻击相当于拥有了数据中心内的每一台服务器,可深入到CPU和总线级别。它是整个数据中心上的核心工具包,可以在主机和每台客户端之间转换核心内核操作。

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2010813/n02639166.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片