1.3 安全必须适应虚拟化
攻击几乎不独立发生。如果人们尽力保护系统,那么一个成功的系统妥协包含对多个协同攻击的权衡处理。把虚拟化特性加入基础设施引入了一个完全新的各种可能混合的攻击类型。
对攻击者来说,妥协的系统管理工作站是梦寐以求的。系统管理员的工作站经常包含网络和系统信息,比如IP地址、密码、网络拓扑图等。通过安装机器人软件或键盘记录器,攻击者可以访问敏感的凭据和其他密码。这些工作站可能位于网络中的敏感部分,能访问管理段或其他管理接口,这为攻击者提供了较其他方式更多的利用价值。一个妥协的系统管理工作站可以用于任何的虚拟攻击类型,可以在任何环境中造成无数的灾难。
1.3.1 安全虚拟化环境的挑战
总体上来说,虚拟化环境的风险多少因基于硬件的环境不同而不同。在计算堆栈上有更多的层:硬件、操作系统、网络、管理员程序、应用程序和虚拟化组件。总之,有很多安全漏洞和攻击影响的“表面区域”,这可以导致准确评估和保护环境的并发症。
虚拟化技术也极大地改变了信息安全领域——例如网络访问控制和防火墙。我们大多数人都熟悉的屏蔽子网或非军事区(DMZ)是防火墙和其他网络访问控制设备(路由器等)采用的基本架构。在所有传统网络架构模型中,敏感系统和网络子网是与网络的其他部分是分隔的,这允许细粒度控制的数据流进出定义好的特定区域。尽管这些通用的概念仍然适用于虚拟化环境,但是这些环境可能需要新的工具和技术来完成同样的分隔和访问控制目标。
当你保护你的虚拟网络的时候,有一件事你需要考虑,就是在你的虚拟基础设施内是否使用物理或虚拟防火墙(或两者都用)。物理防火墙与虚拟主机的物理网卡(Network Interface Card,NIC)相连,对使用这些接口的虚拟交换机进行访问控制。另一方面,虚拟防火墙在虚拟基础设施内作为虚拟机或集成组件。对于这些技术有安全和运行的考虑,包括易管理,信任区隔离,单点失效问题,和虚拟防火墙虚拟机和组件相关的资源消耗。
正如本章之前“运行威胁”章节提到的,虚拟化安全设备、虚拟机和虚拟交换机上监控数据流的设置系统的管理是很重要的。许多商用的解决方案可以使监控更稳健,包括Ref?lex Security和Catbird。也有一些你可以使用却不用购买的任何商用解决方案的方法。其中一些包含在第3章和第4章中。
1.3.2 虚拟化环境中脆弱性测试的挑战
漏洞评估渗透测试的执行在虚拟化环境中可能多少有些不同。最简单的漏洞评估和渗透测试循环通常由侦查、扫描、利用、旋转,然后重复这个循环组成,如图1-4所示。
可以如下定义阶段:
侦查 在这个阶段,攻击者使用公开的可用资源搜索目标的信息,比如网站,搜索引擎查询或社交媒体。而且,使用服务如域名系统(DNS)和简单邮件传输协议(SMTP)之类的服务进行基础设施查询,也通常都是在这个阶段进行。这个阶段的目标是了解目标人,系统和应用程序。
扫描 网络、漏洞和应用程序的扫描是扫描阶段的所有变量,这个阶段使用自动化或半自动化工具查找开放网络端口和系统或应用程序的漏洞。之后,这些信息被用来确定最佳攻击方法。
利用 在这个阶段,攻击者利用上一阶段收集到的信息,积极尝试挖掘系统和应用程序中的漏洞。
跳转 跳转是获得系统和应用程序的访问,然后建立一个“据点”,从那个高点上再次开始循环的简单行动。好的攻击者可以以此为中心转移到许多系统,得到他们寻找的数据。
1.?侦查挑战
对于侦查,它通常从远处完成,实际不需要与目标系统交互,虚拟化并不是真正的因素。DNS查询,WHOIS记录等都可能是相同的,无论目标系统是虚拟机的或是物理机。然而在这个阶段,在VMware论坛和其他在线站点上查找管理员和其他IT运营人员发布的敏感信息是很有趣的。
2.?扫描挑战
扫描活动肯定会有点不同。如网络映射器(NMAP)和其他类似的工具可以进行端口扫描和远程操作系统识别。它们能区分一个系统是物理的或虚拟的吗?可能有一些线索,包括开放的端口,运行的服务,介质访问控制(Media Access Control,MAC)地址(在本地子网中),甚至是分组字段和他们的值。Chris Brenton,一个著名的存储区域网络(SANS)指导者,在一篇博客文章标题为“被动识别VMware虚拟系统”中讨论了这其中的一些:
而且,我们需要考虑这些扫描将对虚拟机和底层主机产生影响的因素。进行扫描的新方式可能包括使用一个装有扫描工具的虚拟机在虚拟基础设施内部扫描。一些扫描器也可以登录本地系统,进行额外的评估。这些工具中的一些可以被扩展或脚本化,检查虚拟物或其他标识符。就实际的跳转能力而言,有许多新工具,可以在虚拟化基础设施上渗透测试期间,促进跳转。虚拟评估工具箱(Virtualization Assessment Toolkit,VASTO)是一套Claudio Criscione和参与者在2010年发布的Metasploit模块。这套模块允许Metasploit用户完成渗透测试,扫描和识别虚拟资源,尝试对他们的许多攻击。若干知名的跳转被包含在这个工具箱,包括对VMware更新管理器和Tomcat组件的攻击、VILurker攻击(VILurker欺骗VI客户端用户下载一个运行它们的认证信息的伪造“更新”)和许多其他攻击。
3.?为主机和客户提供合适的反恶意软件工具
反恶意软件工具也需要适应虚拟化基础设施。反恶意软件保护的两个重要考虑包括主机扫描和客户扫描。对于底层主机(例如VMware ESXI和Microsoft的Hyper-V),主要问题是性能影响和完整性问题,它们是由扫描特定的虚拟化相关文件结构造成的,例如VMware环境中虚拟机硬盘文件(VMDK)。性能影响是一个重要问题——受影响的主机会很容易导致多个虚拟机客户性能变差,这在多数运营环境中是不能接受的。这里,计划扫描变得非常重要。而且,要排除在扫描之外的文件和目录需要仔细的规划,确保虚拟化相关文件不以任何方式受到扫描影响。例如,要注意扫描VMDK文件产生的不利影响。
客户可以直接安装杀毒软件,就像任何正常的平台(Windows、Linux等)那样,但资源消耗和可用性甚至比任何时候都更重要,特别是如果使用工具如动态资源调度器(DRS)开启了资源共享。它是在基于资源可用性的集群主机间迁移虚拟机的一种VMware技术。虚拟机文件结构可能在扫描的时候也表现的各不相同,导致更多的误报和漏报,这是任何安全管理员的痛苦之源。最后,离线客户也需要被扫描,尤其是它们一段时间之后被带回投入生产时(它们可能丢失补丁或其他安全更新)。新产品如VMware vShield端点和McAfee MOVE杀毒软件被设计授权多数杀毒软件扫描运行在管理器上的虚拟机,来最小化这些性能影响。
还有许多其他特定的虚拟化安全风险和控件,更深入的细节将包含在本书的后续章节。