一种基于动态迁移的虚拟机调度算法安全性验证方法

文档序号:9235332阅读:445来源:国知局
一种基于动态迁移的虚拟机调度算法安全性验证方法
【技术领域】
[0001] 本发明设及一种虚拟机调度算法安全性验证方法,尤其设及一种云环境下基于动 态迁移的虚拟机调度算法安全性验证方法,属于虚拟机及网络安全技术领域。
【背景技术】
[0002] 目前云计算技术得到广泛应用,在云计算基础架构中,虚拟机动态迁移已成为公 有云和私有云的必备功能。虚拟机动态迁移是指将一台虚拟机从一个物理机器迁移至另一 个物理机器,而迁移过程中虚拟机继续执行原有指令而不会中断的一种技术。云服务提供 商利用虚拟机动态迁移技术进行负载均衡、集中管理、容错等技术。虚拟机动态迁移在提供 可伸缩性和灵活性的同时,也带来了很多安全问题。当前业界通常把动态迁移的安全问题 归为=类;控制平面安全、数据平面安全和迁移模块安全。
[0003] 控制平面安全;虚拟机监控器(VMM)之间的用来发起和管理虚拟机动态迁移的通 信机制应该加入身份鉴别和防篡改机制。安全研究人员有可能通过攻陷VMM来影响虚拟机 动态迁移从而实现对虚拟机的完全控制。
[0004] 数据平面安全:虚拟机迁移的数据通信信道必须进行安全加固,来防止可能的监 听攻击和篡改攻击。被动的监听攻击可能导致被迁移虚拟机敏感数据的泄露,而主动的篡 改攻击则可能导致整个虚拟机被攻破。
[0005] 迁移模块安全:执行迁移功能的VMM模块必须具有抵御外部攻击的能力。如果安 全研究人员能够利用迁移模块中的漏洞攻陷VMM的话,安全研究人员就可W完全获取VMM W及VMM之上所有虚拟机的权限。
[0006] 目前安全研究人员已经针对数据平面安全提出了很多安全性验证方法,针对的实 验平台包括目前流行的Xen平台和VMware平台。而迁移模块安全主要是对虚拟机监控器 的安全漏洞的挖掘,与一般的软件漏洞挖掘无异,因此其安全分析方法可归于普通软件漏 洞挖掘一类。目前还没有针对控制平面安全挖掘的相关技术出现。
[0007] 动态迁移中控制平面的安全性验证方法
[0008] VMM之间的用来发起和管理虚拟机动态迁移的通信机制应该加入身份鉴别和防篡 改机制,另外,控制平面中所使用的协议应该能够防止监听攻击和重放攻击。缺乏访问控制 机制可能导致安全研究人员能够执行任意的虚拟机迁移。
[0009] 1.迁入控制;通过发起未授权的迁入,攻击者能够把目标虚拟机迁移到攻击者自 己的物理机上,从而实现对虚拟机的完全控制。
[0010] 2.迁出控制;通过发起未授权的迁出,攻击者能够将大量的虚拟机迁到一个合法 的物理机上,造成其过载,从而实现DoS拒绝服务攻击。
[0011] 3.虚假资源通告,在一个动态迁移自动在云主机之间执行的环境中,攻击者可W 通过控制平面通告虚假的可用资源,假装拥有很多空闲CPU,从而影响控制平面将虚拟机迁 入到攻击者所拥有的物理机上。
[0012] 目前大多数云平台都需要人工来发起虚拟机迁移,其控制平面的访问控制机制是 非常简单的。例如,Xen平台利用主机地址白名单来确定可W执行迁移命令的主体。然而 由于基于负载均衡的虚拟机之间的自动化迁移可能横跨了多个管理域,多个管理域内部的 主机地址是无法预知的,因此该个白名单机制实用性并不高,需要提出新型的控制平面的 策略机制。
[0013] 动态迁移中数据平面的安全性验证方法
[0014] 为了防止监听和篡改攻击,虚拟机迁移的数据平面必须进行安全加固。攻击者有 可能利用ARP欺骗、DNS污染、路由劫持等技术将自己置于迁移路径之间,此刻攻击者可W 发起中间人攻击。
[0015] 1.被动监听;针对数据平面的被动监听攻击可能导致敏感信息的泄露。通过监控 迁移路径W及相关的网络数据流,攻击者能够从被迁移虚拟机的内存中提取出很多数据, 包括密码、秘钥、应用数据W及其他重要资源。
[0016] 2.主动修改;内部攻击者可能在虚拟机进行网络迁移时对内存数据进行篡改,从 而造成巨大威胁。该样的中间人攻击可能导致虚拟机完全被攻陷。
[0017] 即使采用了适当的加密和身份鉴别管理机制,攻击者还是有可能通过监听迁移数 据流来捕获关键信息的。例如,攻击者可W通过迁移数据流的特征,如数据迁移大小和耗时 来鉴别是哪个虚拟机进行的迁移,从而确定该虚拟机迁移的目标主机。该个信息可能被攻 击者用来针对某个特殊虚拟机或者迁移虚拟机所在的主机发起第二轮攻击。
[0018] 目前主流的云平台,如Xen和VMware,默认都不开启数据平面保护功能,从而造成 安全隐患。
[0019] 动态迁移中迁移模块的安全性验证方法
[0020] 执行动态迁移功能的VMM模块需要能够抵御外部的攻击。迁移模块提供了虚拟机 迁移的网络服务。通用的软件漏洞,如找溢出、堆溢出、整数溢出等可能被远程攻击者用来 攻陷整个VMM。由于虚拟机迁移一般不认为是一个公用服务接口,因此迁移模块中的代码很 可能不像其他部分代码一样经过了严格的源代码安全审计,该就更有可能引发安全漏洞。
[0021] 该种软件漏洞攻击几乎在各种软件中都很常见,在VMM迁移模块中该种漏洞需要 格外注意。由于VMM控制着其上运行的所有虚拟机,因此VMM自身的漏洞相比其他普通软 件漏洞的危害要大得多。如果攻击者试图通过迁移模块来攻陷VMM,此VMM上运行的所有虚 拟机W及将来可能迁入到此VMM上的虚拟机都会被攻陷。在Xen平台上就曾经多次曝出整 数溢出漏洞,该些漏洞都有可能导致整个VMM被攻击者所完全控制,从而造成安全威胁。
[0022] 现有几种方法的缺点和局限性
[0023] 1)动态迁移中数据平面的安全性验证方法和动态迁移中迁移模块的安全性验证 方法只是针对数据平面和迁移模块进行渗透演示,但是一般的云平台的数据迁移都是经过 加密的,因此数据平面攻击不会奏效,而针对迁移模块进行渗透需要依靠迁移模块的安全 漏洞才能完成,随着云平台软件版本的不断提供,现有的安全漏洞会被不断修复,从而导致 无安全漏洞可用,针对迁移模块的安全性验证方法也就无法实现。
[0024] 2)现有的动态迁移中控制平面的安全性验证方法,只是提出了大概概念,缺乏具 体的实施方法,因此对实践中的云平台控制平面安全加固指导作用不大。

【发明内容】

[0025] 目前云环境下的虚拟机动态迁移安全问题,主要分为控制平面安全、数据平面安 全和迁移模块安全=类。现有的方案主要针对数据平面安全和迁移模块安全进行了安全防 护,缺乏对控制平面安全的分析。针对控制平面的安全性验证方法有=类;1)针对负载均 衡算法的安全性验证方法;2)针对调度算法的安全性验证方法;3)针对迁移执行指令的安 全性验证方法。本方案针对2)中的渗透给出了演示。
[0026] 本发明的目的在于提供一种云环境下基于动态迁移的虚拟机调度算法安全性验 证方法,本发明能够通过监听调度网络通信数据实现对调度算法中过滤器和称重器的逆 向,网络安全研究人员可W利用该方法获取云服务提供商的调度算法,从而为进一步安全 性验证做准备。虚拟机调度机制的基本原理如图1所示。
[0027] 本发明解决其技术问题所采用的技术方案为:
[0028] 一种云环境下基于动态迁移的虚拟机调度算法安全性验证方法,其步骤为:
[0029] 1)利用漏洞等方式进入目标云平台的控制平面网络中进行监听,监听内容为 AMQP协议的数据报文;
[0030] 2)利用上一步的监听报文,利用AMQP报文解析技术将其转换为本发明方法可识 别的文件格式,即主机信息文件和调度请求信息文件;
[0031] 3)调度算法主要通过过滤器和称重器的不同组合来实现不同的算法效果,其原理 如图1所示。在调度请求到来时,云平台首先利用过滤器集合实现对主机列表的过滤,过滤 掉不符合调度请求的要求的主机,接着利用称重器列表对每个主机进行打分,选取分数最 高的主机作为最终调度结果。由于过滤器和称重器都有多个,因此需要通过事先准备,收集 好可能的过滤器和称重器集合;
[0032] 4)由于最终的调度目的地肯定是经过了过滤器的,因此通过调度目的地主机可W 对过滤器进行筛选,选出最终有可能启用的过滤器。当调度请求越多时,本发明所筛选出的 过滤器集合也就越接近真实启用的过滤器集合,该时也就逆向分析出了目标云平台的调度 算法的过滤器该一部分;
[0033] 5)利用上一步逆向出的过滤器,我们可W得到每一次调度请求的过滤后的主机列 表,根据调度算法的原理,称重器会对过滤后主机列表中的每个主机进行打分,根据称重器 权重,加权得出每个主机的最终得分,最终该调度请求的调度结果就是最终得分最高的那 台主机。在每次调度过程中,由于新调度的虚拟机会占用所在主机资源。因此主机的得分 也会随之改变。我们发现在相同的过滤后主机列表中,调度目标主机会从某个主机跳转到 另一个主机,该种现象我们称之为主机转换现象。发生主机转换的原因是因为该两台主机 本来的得分相近,由于前一次调度,虚拟机占用了其中一个主机的资源,导致其在该一次调 度中得分降低,低过了另一台主机,我们称该种现象为"主机选择替换"。我们可W近似认为 发生"主机选择替换"的两台主机的得分在该两次调度中是大致相等的。主机得分的计算 公式为:
[0034] 主机得分=称重器1得分X称重器1权重+称重器2得分X称重器2权重+??? +称重器n得分X称重器n权重,
[00巧]其中各称重器的得分可W由各称重器根据主机信息文件和调度请求信息文件计 算出来,各称重器权重是未知数。
[0036] 假设发生主机选择替换的两台主机分别是主机1、主机2,该样就可W列出一个方 程,即;主机1前一次调度得分+主机1后一次调度得分=主机2前一次调度得分+主机2 后一次调度得分。主机得分该个方程项就是称重器加权得出的分数,因此方程的未知数就 是
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1