《虚拟化安全解决方案》一1.2 虚拟环境的威胁

简介:

本节书摘来自华章出版社《虚拟化安全解决方案》一书中的第1章,第1.2节,作者[美]戴夫·沙克尔福(Dave Shackleford),更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 虚拟环境的威胁

为了恰当评估使用包括虚拟化技术在内的任何类型的信息技术对基础设施产生的风险安全和运行团队必须评价和估计技术中可能存在的漏洞,以及发现这些漏洞对虚拟环境产生的威胁和对安全事件产生的潜在影响。风险评估过程的结果往往涉及打补丁和配置系统,限制网络资源访问,限制可以访问管理平台和虚拟机的用户和其他控制和进程。为了扎实掌握虚拟环境的风险,理解为什么从2006年开始安全和合规专业人士如此关注虚拟化,就需要知晓多种威胁行为的表现。

1.2.1 运行威胁

所有IT环境都面临各种威胁,从本质上偶发的威胁,如员工的错误,到更恶意的威胁如内部人士想要窃取数据或者外部攻击者试图闯入。虚拟环境面临与物理基础设施同样类型的威胁,但在虚拟环境中威胁可以不同的方式表现。在这部分,我们将介绍一些评估虚拟环境风险时需要考虑的主要威胁。
VM蔓延 虚拟机可以在数秒内完成部署,使得创建未经批准的虚拟机非常容易(例如,短期测试系统)。实时动态创建的虚拟机可能没有及时地打补丁,更新或配置。一个暴露的未打补丁的虚拟机可能被泄露,因此变成环境中的一个漏洞。虚拟机蔓延很常见,尤其在监管进程松散的大型公司。在任何部署虚拟化技术而没有实行适当的变更、配置、分发等管理过程的环境中,这都是一个主要的、普遍的问题。
虚拟环境中缺乏能见度 许多虚拟网络环境没有被充分监控。用于转发流量到一个独立的混杂(嗅探)安全或网络监测传感器的虚拟交换机在多数环境中的应用仍是例外,许多虚拟网络还有相当一部分内部流量没有被外部安全和网络工具充分监控。并且客户虚拟机和下层管理程序平台间的流量通常也不被监测,这导致许多潜在的安全风险。未监控的虚拟网络环境是非常危险的。你可能忽略离开环境的敏感数据,在虚拟网络内部发生的攻击,或可能有助于重塑你的流量管理策略的有价值的性能数据。
没有保持职责分离 在虚拟化环境中经常缺乏分离管理系统、网络和应用程序的人的职责。可能需要许多不同的组来管理虚拟机:一个或多个组需要管理真正的虚拟基础设施,其他组可能需要访问数据库和存储组件、第三方插件和其他“活动部件”。谁管理这些任务,它们应该如何分配呢?这类问题经常以政治战争结束,不同的团队常常不知道他们应该怎样管理他们的那部分虚拟基础设施。网络管理员应该管理虚拟交换机和其他网络系统,还是应该由虚拟化团队处理这些?谁应该管理控制台系统比如VMware的vCenter——是Windows管理员还是一个专用的虚拟团队?
对任何一个组授予单向访问权将会带来巨大的安全风险。给某个管理员太多(或给虚拟机本身和它们的应用程序)权限是虚拟化环境中的另一个重大问题。为特定组的用例定义细粒度角色从管理视角来说是很有挑战性的,各种虚拟化提供商的产品中的技术控制可能不能充分满足安全需求。
变更和配置管理是虚拟化组织关注的重要区域,我们将在本书中涵盖主要的虚拟化产品和平台的广泛配置细节。
配置细节 对于管理程序可以包含大量设置和选项,包括那些涉及虚拟机管理和监视、安全硬化和锁定,以及用户和组与平台交互的部分。
网络设置 这也可以很复杂,尤其是当它们与外部物理网络设备比如交换机和路由器有关时。
安全特性设置 安全特性设置与防火墙、入侵监测和审计控制如登录有关的系统需要特别关注。
任何虚拟化数据中心最重要的目标之一是一致性,具有为管理程序、虚拟机和两者之间任何事物定义良好的模板。随着组织希望从虚拟化向私有云迁移,一致性要求将变得更加重要。开发和维护这个水平的均匀性和一致性对于成功完成私有云部署不可或缺。

1.2.2 恶意软件威胁

除了纯粹的操作威胁,还有许多其他的对于虚拟化技术的威胁已浮出水面,一些更加现实,其他一些则还是假设。
1.?VM-aware恶意软件
自2006年以来发生的更令人不安的趋势是VM-aware的恶意软件爆发,这在许多场合都见过了。不同变种和版本的木马、蠕虫、rootkits和其他形式恶意代码能够通过查看内存和硬件属性、内存位置、进程和函数的行为,确定它们是否运行在一个物理或虚拟主机上。当这些恶意变体检测到它们运行在虚拟环境中,它们常常拒绝运行或表现得与在物理主机上不同。因为许多安全专家使用虚拟机来分析恶意软件,这个恶意软件当然使这种分析更加困难!
Websense实验室在2007年描述了一种非常个性化的恶意软件,它不在虚拟机上运行,这绝对仅仅是长期趋势的开始。你可以从下面的网址获得更多信息:

2.?封装器应用程序
在最近几年可以看到的另一种趋势是商用封装器(压缩)应用程序的使用,恶意软件作者使用它压缩和混淆他们的代码。其中有些有内建的防虚拟机特性!一个例子是Themida,它包含一系列对封装的代码的保护措施。关于Themida的信息在下面的网址能找到:

3.?蠕虫
著名的蠕虫,比如Agobot和Phatbot都开始集成反虚拟机技术。一个关于这些蠕虫的很好的介绍可以在Honeynet项目的网站上找到(www.honeynet.org/node/53)。另一个例子是风暴蠕虫,一个特别讨厌的恶意软件,从2007年年初流行起来后已经形成了许多变种。它拥有社会工程学策略(反映当前新闻的电子邮件主题行)、p2p僵尸网络能力和其他许多高级特性。另一个方面,风暴蠕虫还能检测其是否运行在虚拟机上。一个关于风暴蠕虫虚拟机检测能力的Bojan Zdrnja的优秀报道能在SANS互联网风暴中心站点找到:

1.2.3 虚拟机逃逸

最常讨论的与虚拟机平台相关的安全问题之一是虚拟机逃逸,它属于一种安全缺口,利用它恶意代码可以在虚拟机中运行,并能够“逃逸”到底层的主机上运行。这是安全专业人士的最可怕的噩梦!在一个虚拟机逃逸中,信任区被入侵,访问控制被规避,一旦它发生,ESX主机的保密和完整性就受到怀疑。从前,虚拟机逃逸被认为是不可能的,但是今天,多数安全专家认为它是可能发生的,主要原因是已经注意到了非常相关的调用!
在2007年和2008年的大会上,发布、讨论了几款允许虚拟机间和虚拟机同底层主机间传输数据的工具。这些工具都没有被归入虚拟机逃逸的原因是代码必须运行在虚拟机和主机上工具才能运行正常。一个真正的虚拟机逃逸应独立于运行在主机上的代码。人们发现了一些允许相似行为的安全漏洞,可以通过利用用户应用程序和服务来影响主机。
下面部分讨论安全专家在过去的几年中所研究的几种虚拟机逃逸类型的攻击。
1.?目录遍历攻击
迄今报告的多数虚拟机逃逸缺陷与某些类型的目录遍历攻击有关。
第一个这种类型的报告在2007年4月由iDefense发布,描述为VMware工作站共享目录功能相关的问题。由于工作站解释文件名的方式问题,恶意用户能以运行在主机上的VMware工作站用户的权限从客户端内部向底层主机写文件。IntelGuardians(现在是InGuardians)在华盛顿特区举行的SANSFIRE 2007大会期间做了以此项研究为基础的有关虚拟机安全的前沿报告。在这次大会上,Tom Liston和EdSkoudis做了一个演讲,这让虚拟机逃逸的概念更加接近现实。他们编写了几个工具,用来演示虚拟机逃逸是可能的:
VMchat 这个简单的“聊天”程序使用VMware管理程序通信信道在用户虚拟机之间或用户虚拟机和主机之间相互传送信息。程序不需要安装任何特殊代码,也不需要利用任何网络功能。
VMcat 这个工具在VMchat创建的通信信道间发送标准输入(stdin)和标准输出(stdout)的简单输出。它可用于开辟主机和客户间的命令行。
VM Drag-n-Sploit 通过修改客户端称为VMwareService.exe的VMware组件,研究人员能够监视和改变所有移动通信信道的数据。这使得他们能够通过VMware工作站内建的“拖放”功能修改从客户端到主机拖动的数据。他们的演示使用这个功能来创建一个“拖放”漏洞,它能够从主机发送一个命令行到客户端。
VMftp 这个工具是当年早些时候发现iDefenese共享目录缺陷的工作漏洞。任何客户端具有任何等级权限的用户,都可以读写主机,只要共享目录可用并且至少一个目录在客户虚拟机上共享。
2008年2月,Core Security(制作Core IMPACT渗透测试工具的公司)的研究员在某些版本的VMware工作站、ACE和Player中发现了一个漏洞,这使得攻击者能够本地和远程浏览VMware共享目录功能(在客户端和主机间共享资源),读写底层主机操作系统的任何区域。想了解更多,参考下面的网址:

2.?蓝色药丸
2006年6月,波兰研究员Joanna Rutkowska揭开了概念验证型 (proof-of-concept)恶意软件“蓝色药丸”的面纱并引起了业界轰动。蓝色药丸本质上是一种木马程序,通过利用AMD处理器内建的SVM/Pacif?ica虚拟化能力,把Windows Vista操作系统作为攻击目标。这使得木马程序能够创建恶意虚拟机管理器,然后封装正在运行的Vista操作系统,并虚拟化它!其实,这表示可信的操作系统不再运行在物理硬件之上——它运行在基于处理器的管理器之上,这个管理器具有操作系统内及操作系统之上的每个事物的完全控制。
在Rutkowska的网站上有更多关于蓝色药丸的信息:

Rutkowska的声明称这个漏洞百分之百不能检测产生了许多争论——能创建完全无法检测的恶意软件吗?总的来说,多数信息安全社区不同意。许多顶尖的安全研究人员迎难而上,包括Anthony Liguori,IBM的软件工程师,他与Xen管理器的开发紧密相关。他就Rutkowska的声明提出质疑,他解释道,要使封装操作系统的操作无法检测需要的不仅仅是“虚拟化它”,而且你必须阻止操作系统“知道”它已经被虚拟化了。这样做是极端困难的,因为正常计算硬件相对于基于软件的VMM模拟执行指令的定时是有区别的。对Liguori的一个杰出访谈可以在下面的网址找到:

另一组在Matasano Security的著名安全研究人员挑战Rutkowska,让她在2007年黑帽大会上使用他们的Samsara木马检测技术测试她的蓝色药丸。Rutkowska拒绝了,安全社区许多其他人指出了许多方式,通过这些方式使用内存检查和指令定时技术可以检测蓝色药丸。
3.?可信执行技术入侵
在2009年黑帽大会上,Rutkowska和她在Invisible Thing Labs的同事Rafal Wojtczuk讨论了如何入侵英特尔vPro芯片内建的可信执行技术。根据他们的演示,他们首先找到了英特尔系统软件中的一个漏洞,紧接着攻击可信执行技术软件的缺陷。这使得攻击者能够在高度保护内存区,如系统管理模式(SMM)内存或SMRAM中插入代码。这甚至比环0或者操作系统内核下的硬件管理器程序的权限还高。TXT的机制是不检查这个内存的完整性和变化,而是插入的代码可以通过所有启动时的安全检查。Rutkowska和团队在2009年12月发现了另一个基于TXT的攻击方式。更多信息在下面的网址:

4.?多维安全:虚拟机缺陷的解决方案
2010年5月,北卡罗来纳州立大学的研究人员发表了一篇讨论被称为“多维安全”(HyperSafe)的概念验证型管理程序安全工具和监视技术的论文。通过利用硬件监视管理程序软件完整性的性能,HyperSafe可以确保没有恶意程序或其他邪恶的逃逸攻击可以从虚拟机用户或任何其他宿主修改运行中的管理器平台。本质上,HyperSafe监控与管理器有关的关键内存结构和缓存行为,因而可以,防止任何由内存溢出和其他常见的开发方法产生的修改。北卡罗来纳州立大学的论文可在下面的网址找到:

1.2.4 虚拟化平台漏洞

虚拟化平台目前还有相当多的漏洞,其中一些公认相当严重。
2009年5月和6月早些时候,安全界对免疫力公司发布的一个称为Cloud burst的工具议论纷纷。Kostya Kortchinsky,免疫力公司漏洞研究团队的成员之一,他在Cloud burst中整合了概念验证代码,该技术利用了2009年4月VMware的缺陷。这个缺陷是关于虚拟机显示驱动溢出的问题,它使得代码可以以客户身份在底层主机上运行。这可能是在现实世界中看到的最接近虚拟机逃逸之类的东西了。
2010年3月,VMware宣布了一系列主要的缺陷,这些缺陷可以影响它的ESX和ESXi管理程序,从服务控制台内核缺陷到无数在服务控制台内安装的开源软件包产生的问题。这些问题可能导致远程拒绝服务(Denial of Seivice,DoS)攻击,代码执行,权限提升和其他主要的安全问题。总之,对于这类缺陷产生了超过40种的常见缺陷(Common Vulnerabilities and Exposures,CVE)入口,所有VMware企业用户都被敦促尽快打补丁。
许多漏洞也在Xen和Hyper-V平台被发现,尽管他们不太轰动,可能是由于VMware占有大部分市场份额。想得到更多信息,参考下面的链接:

相关文章
|
8月前
|
负载均衡 安全 虚拟化
另一种虚拟化平台-NSX DC如何实现Openstack网络与安全
最近这两个月,工作强度陡然提升。前不久为了归纳和总结NSX DC分别与HOST-VM容器和裸金属容器的最佳实践和“特殊部署”,已经起早贪黑了两个多礼拜。因此,公众号的更新频率有所下降。好在功夫不负有心人,届时我也会推出专门的篇幅来介绍云原生场景的技术实现。 在今天的分享中,我将继续上一篇的内容,向大家展示管理员通过Openstack Horizon或者命令行执行配置的时候,NSX DC后端究竟发生了什么变化。
另一种虚拟化平台-NSX DC如何实现Openstack网络与安全
|
12月前
|
安全 Cloud Native 数据安全/隐私保护
带你读《2022龙蜥社区全景白皮书》——5.1.5 AMD安全虚拟化的增强
带你读《2022龙蜥社区全景白皮书》——5.1.5 AMD安全虚拟化的增强
125 1
|
安全 网络安全 虚拟化
2017年虚拟化的五大安全趋势
2017年虚拟化的五大安全趋势
116 0
2017年虚拟化的五大安全趋势
|
人工智能 物联网 大数据
 服务虚拟化及测试解决方案
 服务虚拟化及测试解决方案
 服务虚拟化及测试解决方案
润和软件携手Intel加速推进虚拟化解决方案
润和软件携手Intel加速推进虚拟化解决方案。
287 0
|
Web App开发 机器学习/深度学习 人工智能
NVIDIA再秀GPU虚拟化解决方案,助力用户工作流程加速
真正为用户提供高可用性,实现优质用户体验
1106 0