面向云工作流安全的任务调度方法
2018-06-08王亚文郭云飞刘文彦扈红超霍树民程国振
王亚文 郭云飞 刘文彦 扈红超 霍树民 程国振
(国家数字交换系统工程技术研究中心 郑州 450002) (15738321455@163.com)
云计算是一种以虚拟化技术为基础,以网络为载体提供基础架构、平台、软件应用等服务为形式,整合大规模可扩展的分布式计算资源进行协同工作的超级计算模式[1].在云计算模式中,用户不再需要硬件购买和软件部署,只需要支付一定的费用,通过网络就可以方便地获取所需要的计算和存储资源.正是由于云服务成本低廉以及操作简单等优点,越来越多的大规模科学计算任务被交付给云计算来完成.大规模的科学计算任务由成千上万个步骤组成,为了在云计算分布式系统框架中对这些步骤进行合理的编排、执行以及追踪,云工作流系统被提出.
为充分利用资源,云计算依托虚拟化技术,构建了多租户共享共存的运营模式,这种模式在带来利润的同时也引入了极大的安全隐患,比如攻击者可以合法地租用虚拟机作为跳板,利用虚拟平台漏洞窃取或篡改其他租户的数据或信息等[2].云工作流主要面向的是大规模的科学计算任务,如高能物理学、生物信息学,大气科学等[3-4],耗时长,因此攻击者拥有充足的攻击时间,并且对计算结果精确度有较高要求,一旦某一任务或数据被篡改,将直接导致整个云工作流的运行失败.
针对云计算安全问题,文献[5]提到可以构建多样化的系统环境,并通过动态的环境切换来提高系统的入侵容忍能力.但是系统环境切换时机的选择是一个难点,当一个任务正在执行时,强制性地切换执行环境难以保证切换前后任务状态的一致性,会导致任务中断或异常.而云工作流系统其结构分明的多层次任务划分方式,为任务执行的环境切换提供了良好的时机.因此本文为保障云工作流系统安全,提出一种面向云工作流安全的任务调度方法,以提高系统安全性作为任务调度的首要目标,引入多样性、动态性的思想,动态变换云工作流任务执行环境,降低系统漏洞暴露时间,提高云工作流的安全性.
本文围绕云工作流安全性进行研究,主要贡献有3个方面:
1) 目前针对云工作流的研究主要集中在提高任务处理效率、改善资源利用率等方面.本文以云工作流安全性作为研究重点,提出利用任务调度的方法来提高云工作流安全性.
2) 本文构建了多样化镜像库,并以此为基础动态部署异构任务执行体,然后通过任务调度的方式切换任务执行环境.
3) 为进一步提高异构系统的安全效益,提出利用系统共存漏洞数作为衡量执行体异构程度的依据,并将量化结果映射成调度选择概率,提高调度前后任务执行环境的差异性.
1 相关工作
近年来针对云工作流的研究主要集中在任务调度方面.例如,文献[6]利用任务执行代价和不同节点之间的接入代价对总体任务调度代价进行量化,并利用粒子群算法求解最优调度策略,使总体任务执行代价最小.然而传统的粒子群优化算法易陷入局部极值,对此文献[7]改进了传统粒子群算法中单个粒子的成功值计算公式,提高了粒子权重的自适应性,并将改进后的粒子群算法用于云工作流的任务调度.文献[8]中将资源节点执行任务的频度、任务的等待时间和执行时间作为评价标准构建推荐模型,并根据资源节点在推荐模型中的优先级来进行任务调度.除时间效率优化以外,文献[9-10]设计智能任务调度算法来改善云工作流的资源利用率,节约资源消耗.文献[11]提出了BaRRS(balanced and file reuse-replication scheduling)算法,利用数据复制方法降低任务在不同节点调度时的数据传输量,从而提高云工作流任务调度的效率.为了降低云工作流在任务调度时的数据交互量,文献[4]对任务调度时依赖数据之间相关度进行测量,将相关程度紧密的数据尽可能放置在同一数据中心中处理.文献[12]将云工作流看作是数据密集型系统,并引入ADAS(adaptive data-aware scheduling strategy)算法,使云工作流能够实现任务调度以及数据管理的并行化处理,从而提高云工作流的效率.为实现任务调度时数据传输的合理化管理,文献[13]利用软件定义网络(software-defined networking, SDN)对云工作流进行控制和资源配置.但是,以上文献皆以提高资源利用率、降低任务执行成本作为任务调度的主要目的,缺少安全方面的考虑.
移动目标防御(moving target defense, MTD)[14-15]的提出为解决云平台中的安全问题提供了有效的思路,其思想包括多样性和动态性等内容.多样性方面,文献[16]提出利用多样化的软件来保证应用和服务的安全性,并以多样化的Web服务器为例进行实验验证.文献[17-19]提出利用操作系统的多样性可以实现云系统入侵容忍能力的提升.作者从NVD(national vulnerability database)中收集操作系统漏洞数据,并根据系统之间的共存漏洞数来衡量系统之间的相似性.动态性方面,文献[20]提出了基于动态IP地址的MTD策略,该策略对执行体IP地址进行周期性轮换,并测试了在不同轮换速度下的系统安全性.文献[21]利用公式表征了执行体攻击面与时间的关系,并得出执行体攻击面将随时间推移而呈现增长的趋势,因此缩短执行体生命周期可以有效提高系统整体安全性.
2 云工作流建模及安全性分析
2.1 云工作流建模
本文利用有向无环图(directed acyclic graph,DAG)对工作流进行建模[6],并用G=(V,E)表示.其中,V={T1,T2,…,Tn}表示任务集合,每一个任务Ti需要在计算资源中被执行;E表示任务之间的数据依赖情况,例如用fj k∈E表示由任务Tj产生并用于任务Tk执行的数据.
Fig. 1 The example of workflow图1 工作流举例
现给出如图1所示的工作流系统,该系统由9个任务构成,任务T2和T3需要在T1完成之后才开始运行,任务T5需要在T2和T3都完成之后才开始运行,当任务T9运行结束后,整个工作流运行结束.本文将具有直接依赖关系的任务对称为父子任务,以任务对(T2,T5)为例,T2为父任务,T5为子任务.
2.2 云工作流威胁模型
虚拟机作为提供对外计算服务的载体,易受到攻击者的入侵,因此本文主要考虑针对虚拟机系统的入侵,暂不考虑针对Hypervisor以及物理设施的攻击.
为构建针对云工作流的威胁模型,结合实际情况,对攻击者的攻击行为进行建模:
现有m种不同操作系统(OS)的虚拟机作为候选任务执行体,承担计算任务,用O1,O2,…,Om表示.攻击者已知承担每个任务的执行体的操作系统必定是O1,O2,…,Om中的一种,但无法确定是哪一种.在每次进行攻击的时候,攻击者需要选择一种系统配置进行攻击,用Ai表示针对系统Oi的攻击策略.如果攻击者选择Ak作为攻击策略,而受到攻击的执行体系统恰好是Ok,则该执行体将以概率1被攻击者攻破.此外因为现在的攻击者往往以团体的形式存在,因此攻击者可以同时发动多个攻击.以图1为例,虽然任务T2和T3同时进行,但攻击者可以同时对它们发动攻击.
以上述攻击行为模型为基础,定义3种攻击模式:
1) 无记忆随机攻击模式.即每次攻击从m种攻击策略中等概率地选择一种进行攻击.
2) 有记忆随机攻击模式.该模式会记录已经攻击过的系统类型,在发动下一次攻击时,会等概率地从未攻击过的系统中选择一种进行攻击.
3) 探测攻击模式.每次攻击无论成功与否都能够获取攻击目标的系统类型.
2.3 云工作流安全性分析
本节假设云工作流系统中的所有任务都在同一个执行体中进行执行,并结合2.2节威胁模型,分析云工作流安全性.
针对无记忆随机攻击模式,攻击者前n次攻击成功的概率为
(1)
针对有记忆随机攻击模式,攻击者前n次攻击成功的概率为
(2)
针对探测攻击模式,攻击者前n次攻击成功的概率为
(3)
假设m=11,利用式(1)~(3)得到3种攻击模式的前n次攻击成功的概率曲线图,如图2所示:
Fig. 2 The curve of successful probability of three attack patterns图2 3种攻击模式成功概率曲线图
为了有效应对这3种攻击模式,可从3个方面进行改进来提高云工作流的安全性.
1) 降低攻击次数,可将任务在不同执行体间进行调度实现.假设攻击者成功发动一次完整攻击需要的时间为ta,而被攻击的执行体在tb(tb 2) 降低单次攻击成功概率,可通过构建异构执行体来实现.假设在攻击者每发动一次攻击之后,被攻击的执行体就等概率地随机更换一次系统环境,可以有效降低有记忆随机攻击模式和探测攻击模式的成功概率,有记忆随机攻击模式前n次攻击成功的概率由式(2)降为式(1),探测攻击模式前n次攻击成功的概率由式(3)降为式(1). 3) 降低条件攻击成功次数,可以通过减小任务调度前后执行体共同攻击面大小来实现.上面第1,2方面的分析都是建立在针对异构执行体的攻击成功概率相互独立的基础上,即认为p(Ok|At)=0,k≠t.但是事实上并非如此,在本文中,执行体的异构性主要体现在操作系统的差异上,但是操作系统之间或多或少都具备一定的相似性,这些相似性就成为了系统间的共同攻击面,当攻击者针对共同攻击面发动攻击时,各系统之间被攻破的概率就不再是相互独立的.以探测攻击为例,假设攻击者发动第1次完整攻击,探测出被攻击执行体的系统环境为Oa,然后执行体将系统环境更换为Ob,但是攻击者会以为攻击目标系统环境还是Oa,因此以Aa为攻击策略发动攻击,这时受攻击的执行体被攻破的概率转变为条件攻击概率p(Ob|Aa). 根据2.3节分析内容,本节将3种提高云工作流安全性的解决思路有机组合,提出基于异构执行体的云工作流任务调度方法,构建异构执行体来保证系统环境的多样性,并对异构度进行衡量,最后根据异构度量化结果制定任务调度策略. 异构执行体的构建依赖于多样化的计算资源池.而多样化计算资源池可以通过利用多种版本的操作系统来实现,比如OpenBSD,NetBSD,FreeBSD,Windows Server 2003,Windows Server 2008,Windows Server 2012,Ubuntu,Debian,Redhat,Solaris,OpenSolaris等. 针对基于Openstack的云计算环境,可将不同版本的系统镜像通过Glance服务上传至镜像库中,然后通过镜像实例化来生成异构执行体. 在本文中,执行体的异构性体现在操作系统的差异上,因此为便于描述,利用操作系统类型对执行体进行表示,即执行体Oi表示对应操作系统为Oi的任务执行体. 异构是相对而言的,任何系统之间都不可能做到完全异构而没有一点共性,而系统之间的共性一旦被攻击者利用,那么异构执行体的防御作用将会大打折扣.比如当攻击者对执行体Oi和Oj的共同攻击面f(Oi,Oj)发动攻击时,执行体Oi和Oj的异构性在攻击者面前就不起作用了,因此执行体间的异构度与其之间共同攻击面大小息息相关,但是如何衡量共同攻击面大小是一个难点. 本文利用CVE(Common Vulnerability Enumeration)公布的数据[22],记录了OB(OpenBSD),NB(NetBSD),FB(FreeBSD),W03(Windows Server 2003),W08(Windows Server 2008),W12(Windows Server 2012),U(Ubuntu),D(Debian),R(Redhat),S(Solaris),OS(OpenSolaris)系统1994—2017年被公开的所有漏洞编号,并利用Excel统计出系统之间存在的共同漏洞数量,统计结果如表1所示: Table 1 The Statistics of the Vulnerabilities in Each OS and the Vulnerabilities Coexisting Between the Different OS表1 各系统漏洞总数以及系统之间共存漏洞数统计 Notes: The bold values indicate the total number of vulnerabilities of the corresponding operating systems. 2个系统之间共存漏洞数v(Oi,Oj)越大,表明执行体间的共同攻击面f(Oi,Oj)越大,从而说明执行体间异构度d(Oi,Oj)越小[5].因此本文提出利用系统之间的共存漏洞数来量化执行体异构度. 为了便于量化分析,本文假设v(Oi,Oj)与f(Oi,Oj)成线性关系且为正相关,v(Oi,Oj)与d(Oi,Oj)成线性关系且为负相关,分别如式(4)(5)所示: f(Oi,Oj)=k1v(Oi,Oj),k1>0, (4) d(Oi,Oj)=V1-k2v(Oi,Oj), (5) k2>0,V1>k2v(Oi,Oj). 其中,k1,k2,V1均为常数. 由于不同系统之间存在着共同攻击面,因此不同执行体被攻击者瘫痪的概率也不再是相互独立的[5].定义以Aj为攻击策略攻击执行体Oi的条件攻击概率为 (6) 其中,符号f(Oi,Oj)表示执行体Oi和Oj之间的共同攻击面;v(Oi,Oj)表示系统Oi和Oj之间的共存漏洞数,且v(Oj,Oj)=v(Oj).因此根据表1统计结果可以得到系统间条件攻击概率. 为了提高云工作流的安全性、降低条件攻击成功次数,本文根据执行体的安全性以及执行体间异构度对其选择概率进行映射. 用符号s(Ot)表示执行体Ot的安全性,定义执行体安全性与系统漏洞数成线性关系且为负相关: s(Ot)=V2-k3v(Ot), (7) t>0,V2>k3v(Ot), 其中,v(Ot)表示系统Ot的漏洞数量,k3和V2为常数. 在云工作流选择初始执行环境时,将执行体的安全性映射成选择概率,则执行体Oi对应的选择概率为 (8) i=1,2,…,m, k3>0,V2>max[k3v(Ol)],l=1,2,…,m, 在进行任务调度时,将执行体间异构度映射成选择概率.假设承载父任务的执行体为Oj,则针对子任务执行体Ok对应的选择概率为 (9) k=1,2,…,m, k2>0,V1>max[k2v(Oj,Ol)],l=1,2,…,m, 通过这种随机化、概率化的方式选择执行体,让攻击者难以获取任务执行环境先验信息,并且根据执行体间异构关系对选择概率进行映射,保证调度前后执行体间共同攻击面最小,降低条件攻击对云工作流安全的影响. 因为在任务执行过程中切换系统环境难以保证任务状态一致,因此本文方法仅在云工作流某一父任务结束而子任务还未开始执行时触发调度机制.其具体流程如图3所示. ① 当控制节点接收到任务执行请求时,调度管理模块根据式(8)选择对应镜像构建初始任务执行体. ② 当执行体构建完毕后,调度管理模块通过管理网络,将输入数据下发到对应的执行体中执行任务. ③ 当执行体任务执行完毕后,向调度管理模块发送通知,触发调度机制. ④ 调度管理模块利用式(9)选择子任务执行体镜像,并进行实例化,待实例化结束后,将子任务执行体相关网络信息告知父任务执行体. ⑤ 在获得子任务执行体网络信息后,父任务执行体将任务依赖数据传输给对应的子任务执行体. ⑥ 待任务依赖数据传输完毕后,父任务执行体自行销毁,然后重复③直到云工作流结束. Fig. 3 The implementation process of the task scheduling strategy图3 任务调度策略实施流程 实验部分将分为2部分内容:1)利用matlab仿真软件测试本文方法在不同攻击模式下的安全增益;2)利用实际任务对本文改进的云工作流系统进行性能测试,统计任务执行时间和任务执行费用. 此仿真以图1中的工作流系统为例,9个任务执行时间随机分配但需满足所有任务执行时间总和为90 h,且最长任务执行时间不大于最短执行时间的3倍.假设攻击者攻破任何系统所需时间相同,并以所需时间为变量,参照2.2节的威胁模型模拟攻击.内容包括测试任务调度带来的安全增益、测试异构执行体带来的安全增益、测试基于异构度的任务调度策略带来的安全增益以及测试在攻击方已知系统防御策略情况下本文系统的防御效果. 4.1.1 任务调度安全增益测试 本节实验设计2种云工作流系统:1)采用任务调度机制的云工作流,且调度候选执行体采用同质化的运算环境;2)不采用任务调度的云工作流,所有任务均在同一执行体中完成.为了测试任务调度机制带来的安全增益,本节实验利用2.2节介绍的无记忆随机攻击方式(攻击R)、有记忆随机攻击方式(攻击M)以及探测攻击方式(攻击D)进行攻击模拟.假设工作流中任意一个任务被攻击成功即宣告防御失败,定义防御成功率如下: rate=1-fN, (10) 其中,N表示实验次数,本文设N=1 000,f表示防御失败次数.测试结果如图4所示: Fig. 4 The test results of security gain brought by task scheduling图4 任务调度安全增益测试结果 从图4可以直观地看出,随着攻击者发动一次完整攻击所需时间越短,即在有限时间内,攻击者发动的完整攻击次数越多,系统的防御成功率越低.整体对比图中实线和虚线的分布可以发现,采用任务调度机制能有效提高系统的安全性. 针对探测攻击模式,采用无调度机制的工作流防御成功率始终为0,因为无论云工作流处于何种系统环境,在云工作流结束之前,探测攻击只需2次攻击就一定能成功.而采用有调度机制的工作流以后,攻击者发动完整攻击的次数变少,只要保证在每个任务执行阶段攻击者的攻击次数小于2次,就有概率保证云工作流顺利结束. 对比无记忆和有记忆的随机攻击模式曲线,有记忆的攻击更难防御.因为对于静态化的系统环境,采用有记忆的攻击可以逐步排除错误选项,不断提高攻击成功率,但无记忆的攻击则成功率始终不变. 4.1.2 异构执行体安全增益测试 本节实验依然设计2种云工作流系统,2种系统均采用调度机制:1)系统的调度候选执行体采用同质化的运算环境;2)系统则利用3.1节提到的11种操作系统构建11个异构执行体,且所有异构执行体具有相同的选择概率.为了测试异构执行体带来的安全增益,本节实验依然利用3种不同的攻击方式进行测试,测试次数为1 000次,测试结果如图5所示: Fig. 5 The test results of security gain brought by heterogeneous executors图5 异构执行体安全增益测试结果 对于无记忆攻击模式,是否采用异构的调度候选执行体效果并不明显.因为无论是否采用异构执行体,攻击者每次攻击的成功率都是111. 对于有记忆攻击和探测攻击模式,采用异构执行体的安全增益的防御效果要比采用同构执行体的效果要略好,在2.3节我们已经分析过,利用异构执行体可以降低有记忆攻击和探测攻击模式单次攻击成功率. 4.1.3 基于异构度的任务调度策略安全增益测试 本节实验依然设计2种云工作流系统,2种云工作流均采用异构候选执行体的调度机制,其中一种云工作流根据执行体异构度赋予不同的选择概率,另一种云工作流则赋予不同执行体相同的选择概率.为了测试基于异构度的调度策略带来的安全增益,本节实验依然利用3种不同的攻击方式进行测试,测试次数为1 000次,测试结果如图6所示: Fig. 6 The test results of security gain brought by heterogeneity based task scheduling图6 基于异构度的任务调度策略安全增益测试结果 针对探测攻击模式,和等概率调度策略相比,本文提出的基于异构度的调度策略能进一步提高探测攻击下的云工作流安全性能.这是因为通过基于异构度的任务调度策略可以保证调度前后任务执行环境的差异最大化,从而有效干扰探测攻击获取信息的准确度. 针对无记忆和有记忆随机攻击模式,采用基于异构度的调度策略和等概率的调度策略所带来的安全增益基本相同,其原因是基于异构度的任务调度策略主要针对前后具有依赖性的攻击方式,而随机攻击模式攻击前后相互独立. 为了更进一步分析基于异构度的任务调度策略能有效防御探测攻击的原因,我们统计了针对探测攻击,当攻击者发动完整攻击所需时间为8 h,10 h,12 h且测试次数为1 000时,2种云工作流系统被条件攻击攻破的次数,其结果如图7所示.从图7中可以看出:和等概率调度策略相比,基于异构度的任务调度策略能有效降低探测攻击的条件攻击成功次数,从而改善系统在受到探测攻击时的防御效果. Fig. 7 Comparison of successful conditional attack times图7 条件攻击成功次数对比 4.1.4 攻击方已知系统调度策略的系统安全性测试 本节实验假设一种攻守双方极不平衡的场景,即攻击方不仅能够发动探测攻击,而且已知工作流系统采用基于异构度的任务调度策略,这样当攻击者发现攻击目标进行任务调度时,可以根据系统异构度来选择攻击策略(用攻击H表示这种攻击).针对此场景,云工作流采用基于异构度的任务调度策略,依然以攻击者发动完整攻击所需时间为变量,测试1 000次,统计防御成功次数,并将测试结果与无记忆、有记忆随机攻击和探测攻击作对比,其结果如图8所示: Fig. 8 Comparison of defensive effect against different attack modes图8 针对不同攻击模式的防御效果对比 从图8中不难看出,在4种攻击模式中,当攻击者采用基于异构度的攻击策略时,防御效果最差.但只要攻击者发动完整攻击所需时间大于一定阈值,或者说在固定时间内,攻击者发动完整攻击的次数少于一定阈值,依然可以将防御成功率维持在较高的水平上.此外,从整体来说,本文对探测攻击的防御效果最好,因为对于探测攻击,相邻攻击之间存在着依赖性,而本文采用的调度方法可以利用攻击间的依赖性,有针对性地切换任务执行环境.但是随着探测攻击时间的减小,防御效果急剧下降,这是因为一旦探测攻击能在云工作流中的某个任务执行阶段发动2次攻击,该工作流就会以概率1被瘫痪. 此实验利用实际任务(图像中的目标分类)对改进的云工作流系统进行性能测试.为了使该任务能够适应云工作流系统,我们将其拆分成多个子任务,如图9所示,各子任务之间只存在数据依赖关系. Fig. 9 The actual cloud workflow task图9 实际的云工作流任务 根据子任务不同运算量,分别采用小型、中型和大型虚拟机进行完成,3种虚拟机的配置情况如表2所示.图9中虚线框子任务交付给小型虚拟机完成,实线框子任务交付给中型虚拟机完成,点线框子任务交付给大型虚拟机完成. 4.2.1 任务执行时间测试 本节实验设计2种系统进行对比实验:1)单执行体系统,即整个目标分类任务只在一个执行体(大型虚拟机)中完成,不进行任务调度;2)本文改进的云工作流系统,即图9中划分的每个子任务都交付给不同的执行体完成.以3种大小的数据集作为输入(50 GB,100 GB,150 GB),记录2种系统完成任务所用时间,其结果如表3所示. Table 2 Configurations of Virtual Machines inDifferent Types表2 不同型号的虚拟机配置 Table 3 The Comparison of Task Execution Time表3 任务执行时间对比 h 从表3结果可以看出,和单执行体系统相比,改进的云工作流系统在任务执行时间方面并未有明显的增加.这是由于尽管改进的云工作流系统在数据传输、执行体动态生成和销毁过程中会带来一定的时间开销,但云工作流可以实现任务的并行处理,从而降低花费的时间. 4.2.2 任务执行成本统计 本节实验采用亚马逊EC2计价标准,如表4所示.以计价标准为基础,分别统计在不同输入下,单执行体系统和本文改进的云工作流系统完成任务所需费用,统计结果如表5所示. Table 4 The Pricing Standard of Amazon表4 亚马逊计价标准 Table 5 The Comparison of Task Execution Costs表5 任务执行成本对比 USD 从表5结果可以看出,改进的云工作流系统会提高任务执行成本,有2个原因:1)在任务调度期间,父子任务对应执行体必须同时在线,这就会产生双重费用;2)一些并行任务处理需要多个执行体同时在线,尽管并行任务处理会一定程度提高任务执行效率,但任务执行费用则会成倍增加. 针对现有云工作流系统安全性低的问题,本文提出一种面向云工作流安全的任务调度方法.该方法首先构造多样化的系统镜像库,并以此为基础动态部署和销毁异构执行体,保证任务执行环境的多样性.然后通过在异构执行体间进行任务调度,降低攻击者发动有效攻击的次数,并且还可实现任务执行环境的动态切换,让攻击者难以获取任务执行环境的先验信息.此外为了进一步提高异构系统的安全效益,根据执行体系统安全程度以及执行体间异构程度进行选择概率映射,保证调度前后任务执行环境的差异最大化.实验结果表明:在一定程度提高任务执行时间和成本的条件下,本文方法能有效提高云工作流系统的安全性. [1]Wang Binfeng, Su Jinshu, Chen Lin. Review of the design of data center network for cloud computing[J]. Journal of Computer Research and Development, 2016, 53(9): 2085-2106 (in Chinese)(王斌锋, 苏金树, 陈琳. 云计算数据中心网络设计综述[J]. 计算机研究与发展, 2016, 53(9): 2085-2106) [2]Khorshed M T, Ali A B M S, Wasimi S A. Trust issues that create threats for cyber attacks in cloud computing[C]Proc of the 17th IEEE Int Conf on Parallel and Distributed System. Piscataway, NJ: IEEE, 2011: 900-905 [3]Zhang Weimin, Liu Cancan, Luo Zhigang. A review on scientific workflows[J]. Journal of National University of Defense Technology, 2011, 33(3): 56-65 (in Chinese)(张卫民, 刘灿灿, 骆志刚. 科学工作流技术研究综述[J]. 国防科技大学学报, 2011, 33(3): 56-65) [4]Liu Shaowei, Kong Lingmei, Ren Kaijun, et al. A two-step data placement and task scheduling strategy for optimizing scientific workflow performance on cloud computing platform[J]. Chinese Journal of Computers, 2011, 34(11): 2121-2130 (in Chinese)(刘少伟, 孔令梅, 任开军, 等. 云环境下优化科学工作流执行性能的两阶段数据放置与任务调度策略[J]. 计算机学报, 2011, 34(11): 2121-2130) [5]Guo Minzhe, Bhattacharya P. Diverse virtual replicas for improving intrusion tolerance in cloud[C]Proc of the 9th Conf on Annual Cyber and Information Security Research. New York: ACM, 2014: 41-44 [6]Pandey S, Wu Linlin, Guru S M, et al. A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments[C]Proc of the 24th IEEE Int Conf on Advanced Information Networking and Applications. Piscataway, NJ: IEEE, 2010: 400-407 [7]Li Xuejun, Xu Jia, Zhu Erzhou, et al. A novel computation method for adaptive inertia weight of task scheduling algorithm[J]. Journal of Computer Research and Development, 2016, 53(9): 1990-1999 (in Chinese)(李学俊, 徐佳, 朱二周, 等. 任务调度算法中新的自适应惯性权重计算方法[J]. 计算机研究与发展, 2016, 53(9): 1990-1999) [8]Yuan Youwei, Yu Jia, Zheng Hongsheng, et al. Cloud workflow scheduling algorithm based on novelty ranking and multi-quality of service[J]. Journal of Zhejiang University: Engineering Science, 2017, 51(6): 1190-1196 (in Chinese)(袁友伟, 余佳, 郑宏升, 等. 基于新颖性排名和多服务质量的云工作流调度算法[J]. 浙江大学学报: 工学版, 2017, 51(6): 1190-1196) [9]Li Xuejun, Xu Jia, Wang Futian, et al. Energy aware task scheduling algorithm in cloud workflow system[J]. Pattern Recognition and Artificial Intelligence, 2016, 29(9): 790-796 (in Chinese)(李学俊, 徐佳, 王福田, 等. 云工作流系统中能耗感知的任务调度算法[J]. 模式识别与人工智能, 2016, 29(9): 790-796) [10]Lee Y C, Han H, Zomaya A Y, et al. Resource-efficient workflow scheduling in clouds[J]. Knowledge-Based Systems, 2015, 80: 153-162 [11]Casas I, Taheri J, Ranjan R, et al. A balanced scheduler with data reuse and replication for scientific workflows in cloud computing systems[J]. Future Generation Computer Systems, 2017, 74: 168-178 [12]Zeng Lingfang, Veeravalli B, Zomaya A Y. An integrated task computation and data management scheduling strategy for workflow applications in cloud environments[J]. Journal of Network and Computer Applications, 2015, 50: 39-48 [13]Aktas M F, Haldeman G, Parashar M. Scheduling and flexible control of bandwidth and in-transit services for end-to-end application workflows[J]. Future Generation Computer Systems, 2016, 56: 284-294 [14]Zhuang Rui, DeLoach S A, Ou Xinming. Towards a theory of moving target defense[C]Proc of the 1st ACM Workshop on Moving Target Defense. New York: ACM, 2014: 31-40 [15]Wright M, Venkatesan S, Albanese M, et al. Moving target defense against DDoS attacks: An empirical game-theoretic analysis[C]Proc of the 3rd ACM Workshop on Moving Target Defense. New York: ACM, 2016: 93-104 [16]Thompson M, Mendolla M, Muggler M, et al. Dynamic application rotation environment for moving target defense[C]Proc of the 2nd IEEE Int Conf on Resilience Week. Piscataway, NJ: IEEE, 2016: 17-26 [17]Garcia M, Bessani A, Gashi I, et al. Analysis of operating system diversity for intrusion tolerance[J]. Software- Practice and Experience, 2014, 44(6): 735-770 [18]Thompson M, Evans N, Theel-Joyce A. Effectiveness of OS diversity in a moving target defense platform, DE-AC02-06CH11357[R]. Chicago, Illinois: Argonne National Laboratory, 2015 [19]Garcia M, Bessani A, Gashi I, et al. OS diversity for intrusion tolerance: Myth or reality[C]Proc of the 41st IEEE Int Conf on Dependable Systems & Networks. Piscataway, NJ: IEEE, 2016: 17-26 [20]Al-Shaer E. Moving Target Defense[M]. Berlin: Springer, 2011: 153-159 [21]Peng W, Li F, Huang C T, et al. A moving-target defense strategy for cloud-based services with heterogeneous and dynamic attack surfaces[C]Proc of IEEE Int Conf on Communication. Piscataway, NJ: IEEE, 2014: 804-809 [22]Common Vulnerability Enumeration. The ultimate security vulnerability datasource[OL]. [2017-04-20]. http:www. cvedetails. com WangYawen, born in 1990. PhD candidate. His main research interests include cloud computing, intrusion tolerance and cyber security. GuoYunfei, born in 1963. PhD supervisor and professor. His main research interests include cloud security, telecommunication network security and cyber security (gyf@ndsc.com.cn). LiuWenyan, born in 1986. PhD, lecturer. His main research interests include cloud computing, software-defined networking and cyber security (lwyndsc@163.com). HuHongchao, born in 1982. PhD, associate professor. His main research interests include cloud computing, software-defined networking and cyber security (13633833568@139.com). HuoShumin, born in 1985. PhD, lecturer. His main research interests include cloud computing, software-defined networking and cyber security (huoshumin123@163.com). ChengGuozhen, born in 1986. PhD, lecturer. His main research interests include cloud computing, software-defined networking and cyber security (chengguozhen1986@163.com).3 基于异构执行体的云工作流任务调度方法
3.1 异构候选执行体的构建
3.2 执行体异构度量化
3.3 条件攻击概率表述
3.4 异构执行体选择概率映射
3.5 任务调度策略实施流程
4 实验分析与讨论
4.1 安全增益测试
4.2 系统性能测试
5 总 结