• 快捷搜索
  • 全站搜索

云计算环境虚拟化层面安全风险分析

2016-05-03 19:51:27作者:中国工商银行股份有限公司数据中心(上海) 刘方明编辑:金融咨询网
云计算的发展主要依赖虚拟化技术的发展。相对传统的架构,云计算环境由于大规模使用了虚拟化技术,面临着新的安全风险和挑战。云计算环境虚拟化层面需要考虑以下六方面的安全性:Hypervisor层、虚拟机层、虚拟网络层、虚拟机移动性、恶意代码和虚拟机可用性。

云计算技术的发展为金融机构提供了一个全新的信息系统架构。云计算技术对大量用网络连接的计算资源进行统一调度和管理,按需向用户提供服务,实现资源共享,降低运营成本。“云计算”以其低成本、高效率、高可靠性等特点,为金融机构后续科技发展提供了动力和方向。美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)在云计算中明确定义了三种服务模式:软件即服务(Software as a Service,SaaS)、平台即服务(Platform as a Service,PaaS)和基础架构即服务(Infrastructure as a Service,IaaS)。Paas和IaaS源于SaaS,可以直接通过SOA/Web Services向平台用户提供服务,也可以作为SaaS模式的支撑平台间接向最终用户服务。同时NIST也定义了云计算提供的四种部署模型:公有云(Public Cloud),私有云(Private Cloud),社区云(Community Cloud)和混合云(Hybrid Cloud)。通常,大型金融机构会选择自己建设私有云,中、小型金融机构会选择租用公有云或混合云,以便降低IT基础资源投入和运维成本。

        云计算的发展主要依赖虚拟化技术的发展。相对传统的架构,云计算环境由于大规模使用了虚拟化技术,面临着新的安全风险和挑战。云计算环境虚拟化层面需要考虑以下六方面的安全性:Hypervisor层、虚拟机层、虚拟网络层、虚拟机移动性、恶意代码和虚拟机可用性。

一、Hypervisor层

        正如物理环境下操作系统充分信任底层物理硬件一样,虚拟环境下操作系统也充分信任虚拟硬件。理论上,Hypervisor层应对虚拟机操作系统完全透明,无法感知或探测。但是,Hypervisor作为基础操作系统,不可避免地存在一些Bug。云计算环境下,绝大多数的攻击是利用Hypervisor层的漏洞,通过一台虚拟机作为跳板,攻击其他虚拟机或底层Hypervisor。虚拟机逃脱攻击(VM Escape Attack)就是这样的一种攻击(如图1所示),用户或黑客通过一台虚拟机的操作系统非法获取底层Hypervisor的部分或全部控制权限,即可查看其他虚拟机的状态,比如CPU、内存利用率,甚至关闭或入侵其他虚拟机。特别是在公有云环境下,一台物理服务器上通常会有不同租户的虚拟机,存在比较高的跨虚拟机攻击的风险。如果攻击成功,则攻击者可非法修改配置或文件,泄漏敏感信息等。典型的虚拟机逃脱攻击有SubVirt和BluePill。Xen系统不久前暴露了一个漏洞(编号:CVE-2013—1920),允许恶意代码向内核注入任意事件或破坏其他虚拟机管理程序的状态,可以被虚拟机逃脱攻击利用。

图片1.jpg

         一些专家和学者提出了基于可信赖执行技术或基于实时内核防护技术防范通过虚拟机操作系统入侵Hypervisor。对于企业用户来说,应使用最新版本的底层操作系统并及时安装安全补丁。

二、虚拟机层

        通过管理软件,管理员可以方便地开启、关闭、挂起虚拟机,并将虚拟机的状态(包括系统的进程、内存和数据)保存为镜像文件。由于大多数虚拟机内部的数据及虚拟机镜像文件在底层均为一个文件,因此在云环境下,传统的信息防泄漏方法和技术无法判断虚拟机文件或镜像文件内部是否包含企业敏感数据或机密文件。同时,由于虚拟机文件或镜像文件通常比较大,文件加密面临比较大的性能瓶颈,使得传统的文件加密技术不适用于虚拟机文件或其镜像。因此,很难通过传统的信息防泄漏技术和文件加密技术有效防止信息泄漏。此时,要求管理员对虚拟机存储做好严格的访问控制,确保虚拟机文件或镜像文件不被非法拷贝。

        对于镜像文件的发布者、使用者和管理者,三者所关注的安全风险有所不同。镜像文件不仅包括基本的操作系统,还包含安装并配置好的应用程序,甚至有可能包含病毒或恶意代码。部署受感染的镜像文件相当于将攻击者的机器绕过防火墙和IPS的防护直接放入网络,降低了整个云环境的安全性。因此对于发布者来说,需确保镜像文件的可靠性和安全性;对于使用者来说,需确保镜像文件安装最新的安全补丁,升级最新的病毒库;对于管理者来说,需确保虚拟机镜像文件的合法性,防范非法篡改或非授权的访问。

        此外,用户在使用完云服务后退租时,如果服务提供者只是对用户磁盘文件进行简单的删除操作,当下一次新用户使用相同的磁盘空间时,旧用户的数据可能会被恶意恢复,从而导致信息泄漏的发生。对于云计算环境提供者,需做好磁盘数据清理工作,确保在用户退租后,相关数据无法被恢复。

三、虚拟网络层

        基于纯物理设备的以太网存在很多问题,比如二层环路导致的广播风暴等。物理和虚拟混合的网络面临的问题则更多,比如哪些安全策略是要在Hypervisor上通过虚拟化的策略部署,哪些安全策略要在物理网络设备上实现。传统网络的安全模型并不适用于虚拟化的网络环境。因此很多安全厂商推出了虚拟网络设备,比如虚拟交换机,虚拟路由器,虚拟防火墙和虚拟负载均衡等。这些虚拟化网络设备通常比传统的网络设备能更好地适用于云计算环境。

        Hypervisor通常会提供一些基础的网络功能,包括桥接虚拟网卡和物理网卡、VLAN隔离、流量镜像等。由于同一物理机内部的虚拟机之间流量可以在内部直接转发,对于外层网络设备不可见,因此网络嗅探和ARP欺骗攻击难以被外层物理安全设备发现和防范。相比传统网络,云环境下的虚拟网络安全性有所降低。在云环境下,为增强安全性,需将安全防护边界由物理层转移到虚拟层(如图2所示),将安全防护措施和策略直接部署在虚拟交换机或Hypervisor内核上,以防范网络嗅探和ARP欺骗等网络层面的攻击。

图片2.jpg

         此外,传统基于IP控制的安全控制策略无法满足IaaS云架构下关于虚拟机漂移等需求,需要考虑引入基于应用的安全控制策略,即将安全策略与具体的应用绑定,无需关注应用具体使用的IP地址。

四、虚拟机移动性

        虚拟机可以很方便地在不同的硬件服务器上拷贝或迁移,这个过程又叫做虚拟机克隆或虚拟机迁移。虚拟机克隆虽然加快了服务器的部署速度,但是带来了克隆的虚拟机会和原始虚拟机存在同样的初始化状态的问题。在OpenStack平台上,基于相同Linux源服务器克隆的虚拟机会有相同的伪随机数初始化种子。对于依赖随机数产生密钥的SSH和DNSSEC来说,不同的虚拟机可能产生相同的密钥对。

        虚拟机实时迁移通常在两台不同的物理服务器之间进行。在实时迁移过程中,虚拟机上运行的应用并不中断对外提供的服务。但在此过程中,面临中间人攻击的风险。虚拟机迁移中间人攻击主要分为两类:控制层面的攻击和数据层面的攻击。

        (1)控制层面的攻击

        攻击者可以通过Hypervisor的控制层影响虚拟机的迁移过程,甚至获得虚拟机操作系统的控制权限。因此,在两台物理设备Hypervisor层之间初始化和管理虚拟机迁移必须要有认证过程,防止第三方的攻击。

        (2)数据层面的攻击

        数据层面的攻击主要有两种:主动攻击和被动攻击。主动攻击有可能导致虚拟机操作系统被攻陷,被动攻击有可能会导致敏感信息泄漏。因此在虚拟机迁移过程中,必须对传输的数据进行加密,防止窃听和篡改。

五、恶意代码

        虚拟机的快照功能可以对虚拟机进行回滚操作,结合沙箱技术,很适合用于分析恶意代码或病毒。但随着技术的发展,恶意代码或病毒自身也会检测系统是否运行在物理机环境、虚拟机环境或者沙箱环境中。为规避沙箱检测,某些恶意代码会故意推迟若干小时或若干天运行,或者利用技术手段检测是否运行于沙箱中以判断是否启动,以便减少被发现和分析的可能性。因此为避免此类恶意代码的破坏,需及时更新杀毒软件的版本和病毒库。

        云计算环境下,除了虚拟机,Hypervisor层也面临拒绝服务攻击的风险。一个非法的虚拟机会占用尽可能多的资源(CPU、内存),使得物理层没有足够的资源供其他虚拟机使用,导致拒绝服务的发生。因此需要严格限制每个租户的虚拟机或单个虚拟机可用资源的总量,以尽可能减少这种情况的发生。

        云计算以其方便、快捷、低成本等特性占据越来越多的市场。随之而来的安全性也不断被提及并被考虑。针对本文所分析的安全隐患,云计算环境需建立安全加固流程,重点加强Hypervisor管理层的安全防护,提供虚拟机入侵检测和补丁自动更新等服务以保障虚拟机的安全性,采用分布式虚拟防火墙或安全组防范跨虚拟机的攻击,同时在租户的虚拟机销毁及迁移后,及时消除原有物理服务器上磁盘和内存数据,使得虚拟机数据无法恢复。

(文章来源:《中国金融电脑》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章