一种内生安全的云任务执行装置及方法与流程

文档序号:16514569发布日期:2019-01-05 09:32阅读:225来源:国知局
一种内生安全的云任务执行装置及方法与流程

本发明涉及网络空间安全技术领域,尤其涉及一种内生安全的云任务执行装置及方法。



背景技术:

云计算是一种以虚拟化技术为基础,以网络为载体,整合大规模可扩展的分布式计算资源进行协同工作的超级计算模式。在云计算模式中,用户不再需要硬件购买和软件部署,只需要支付一定的费用,通过网络就可以获取所需要的计算和存储资源。同时,服务提供商为了更好的提供服务、节省资源,后台多以云数据中心的形式搭建。正是由于云服务成本低廉以及操作简单等优点,越来越多的服务在云端完成,云服务作为一种模式越来越普及。

现实世界中一个任务的很多环节都在云中完成,比如搜索、邮件、杀毒、数据处理、通信等服务。完成一个任务可能需要网络环境中的多个环节进行处理,这些环节便构成了云任务链。比如,云化的通信过程中,为完成一次通话需要不同网络功能参与,这些不同功能组件以虚拟化的形式如虚拟机、容器等在云中部署,一次通话就可以被视为一次云任务;又如,大规模的科学计算任务由成千上万个步骤组成,在云计算分布式系统框架中需要对这些步骤进行合理的编排、执行以及追踪。

为充分利用资源,云计算依托虚拟化技术,构建了多租户共享共存的运营模式,这种模式在带来利润的同时也引入了极大的安全隐患,比如攻击者可以合法的租用虚拟机作为跳板,利用虚拟平台漏洞窃取或篡改其他租户数据或信息等。云任务作为云的主要应用形式,成为了主要攻击目标,攻击者通过攻击云任务的执行过程,可以窃取信息甚至进行篡改,同时,一旦某一子任务或数据被篡改,将直接导致整个云任务的执行失败。因此,云任务链面临的安全形势极为严峻。

现有云安全防护技术尤其是云网络和虚机防护技术有两个显著特点:一是依赖于先验知识,比如云中大量采用的虚拟防火墙、入侵检测系统等大都沿用传统思路,基本遵循“威胁感知、认知决策、问题移除”的防御模式,这和攻击先验知识难以准确获取本身是一对矛盾,成为制约安全防御效果的重要障碍。二是依赖于边界。现有云主流安全防护技术以边界设防为主,如在网络边界部署防火墙、入侵检测等,以抵御来自内外部的网络威胁和风险。由于云内资源的共享与多租户机制,导致云内部威胁更易滋生,例如内网致瘫、致乱等攻击;即使是新型防护技术思路如微分段、软件定义边界等也基本依赖于边界,而在云环境下,云虚拟化导致边界模糊。因此,基于边界的安全防护思路在云环境下难以有效实施。对此,需要采取新的防护手段保障云任务的安全执行。



技术实现要素:

为解决云环境中多租户共存对云任务执行带来的安全问题,本发明提供一种内生安全的云任务执行装置及方法,提高云任务执行的安全性和可靠性。

一方面,本发明提供一种内生安全的云任务执行装置,该装置包括:异构化云数据中心、执行体资源池和执行体资源池管理模块;

所述异构化云数据中心包括多个异构化层次,每个异构化层次配置有至少一个资源;

所述执行体资源池包括多个执行体,每个执行体通过将所述多个异构化层次的资源以预设载体为执行体载体进行资源组合得到;

所述执行体资源池管理模块包括执行体资源池管理器、任务管理器和多个子任务管理器,所述执行体资源池管理器与所述执行体资源池连接,所述多个子任务管理器分别与所述执行体资源池管理器和所述任务管理器连接。

进一步地,所述异构化层次包括物理机操作系统、虚拟化软件、虚拟机操作系统、应用软件、网络配置和数据存储。

另一方面,本发明提供一种基于上述内生安全的云任务执行装置执行云任务的方法,该方法包括:

步骤11.任务管理器将接收到的任务划分成多个子任务,为每个子任务配置一子任务管理器;并设置所述任务的安全等级,根据所述安全等级,制定所述多个子任务的执行策略;

步骤12.每个子任务管理器根据各自负责的子任务的执行策略通过执行体资源池管理器向执行体资源池申请执行体,管理子任务的执行过程,并向任务管理器报告子任务执行状态信息;

步骤13.任务管理器接收各子任务管理器发送的子任务执行状态信息,定时记录当前时刻的任务执行阶段和任务执行状态;并在所有子任务结束后,输出任务执行信息。

进一步地,所述步骤11中的根据所述安全等级,制定所述多个子任务的执行策略具体包括:

若所述任务的安全等级为a级,则每个子任务的执行策略均为拟态化执行策略;

若所述任务的安全等级为b级,则预设关键子任务的执行策略为拟态化执行策略,其余子任务的执行策略为动态化执行策略;

若所述任务的安全等级为c级,则每个子任务的执行策略均为动态化执行策略;

若所述任务的安全等级为d级,则预设关键子任务的执行策略为动态化执行策略,其余子任务的执行策略为单一执行体静态执行策略;

其中,所述a级、b级、c级和d级的安全等级依次降低。

进一步地,所述拟态化执行策略具体包括:

步骤21.确定子任务所需的执行体数量,通过执行体资源池管理器向执行体资源池申请相应数量的执行体,并指定代理执行体、裁决执行体和多个处理执行体,所述相应数量的执行体之间互为异构;

步骤22.所述代理执行体接收输入的子任务,将所述子任务复制转发至所述多个处理执行体;

步骤23.所述多个处理执行体接收到代理执行体发送的子任务后,各自并行处理所述子任务得到多个处理结果,并将所述多个处理结果发送至裁决执行体;

步骤24.所述裁决执行体根据预设裁决规则对所述多个处理结果进行裁决得到一致性结果,并将所述一致性结果输出至下一子任务的代理执行体;

步骤25.将所述一致性结果输出后,释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器。

进一步地,所述拟态化执行策略具体还包括:

若所述裁决执行体在裁决过程中发现不一致结果,则将产生不一致结果的处理执行体进行标记,发送异常消息至执行体资源池管理器;

若所述裁决执行体在裁决过程结束后未能得到一致性结果,则判定裁决失败,将所有的处理执行体进行标记,发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放所有的原处理执行体并申请新的处理执行体后,从子任务断点继续执行,或者重启子任务进入步骤23。

进一步地,所述拟态化执行策略具体还包括:

若监测到代理执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原代理执行体并申请新的代理执行体后,从子任务断点继续执行,或者重启子任务进入步骤22;

若监测到裁决执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原裁决执行体并申请新的裁决执行体后,从子任务断点继续执行,或者重启子任务进入步骤24。

进一步地,所述动态化执行策略具体包括:

步骤31.确定子任务所需的动态化层次,通过执行体资源池管理器向执行体资源池申请相应动态化层次的执行体;

步骤32.所述执行体接收输入的子任务并处理所述子任务;

步骤33.在所述子任务执行结束后,释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器。

进一步地,所述动态化执行策略具体还包括:

估计子任务的工作时间,若所述工作时间大于预设时长,则根据预设执行体选择方法通过执行体资源池管理器向执行体资源池动态申请相应动态化层次的执行体。

进一步地,所述动态化执行策略具体还包括:

若监测到执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原执行体并申请新的执行体后,从子任务断点继续执行,或者重启子任务进入步骤32。

本发明的有益效果:

本发明提供的内生安全的云任务执行装置及方法,基于多样性和动态性思想,通过构建多层次异构冗余的虚拟化执行体资源池,避免单一执行体的脆弱性影响任务的执行;通过构建云任务子任务链,制定子任务的优化执行策略,兼顾关键子任务的执行环境安全性和普通子任务的执行效率,同时使得云任务具有可回滚、可恢复的灵活性;并且通过采用动态化执行和拟态化执行相组合的执行机制,减少了子任务执行体的漏洞暴露时间,降低了子任务执行单元的单一性、静态性,使得子任务在执行过程中难以被攻击者定位和攻击,充分保障了子任务执行的安全性和可靠性,从而提高了云任务的安全性。

附图说明

图1为本发明实施例提供的内生安全的云任务执行装置的结构示意图;

图2为本发明实施例提供的云任务执行装置执行云任务的方法的流程示意图;

图3为本发明实施例提供的拟态化执行策略的流程示意图;

图4为本发明实施例提供的动态化执行策略的流程示意图;

图5为本发明又一实施例提供的云任务执行方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的内生安全的云任务执行装置的结构示意图。如图1所示,该装置包括:异构化云数据中心、执行体资源池和执行体资源池管理模块;其中,

所述异构化云数据中心包括多个异构化层次,每个异构化层次配置有至少一个资源;

所述执行体资源池包括多个执行体,每个执行体通过将所述多个异构化层次的资源以预设载体为执行体载体进行资源组合得到;

所述执行体资源池管理模块包括执行体资源池管理器、任务管理器和多个子任务管理器,所述执行体资源池管理器与所述执行体资源池连接,所述多个子任务管理器分别与所述执行体资源池管理器和所述任务管理器连接。

本发明实施例提供的内生安全的云任务执行装置,基于多样性和动态性思想,通过采用异构化云数据中心构建多层次异构冗余的虚拟化执行体资源池,避免单一执行体的脆弱性影响任务的执行,并且通过构建执行体资源池管理模块实现对各执行体进行实时监控、控制并及时维护。

进一步地,所述异构化层次包括物理机操作系统、虚拟化软件、虚拟机操作系统、应用软件、网络配置和数据存储。

具体地,下面通过该内生安全的云任务执行装置的构建流程对其进行进一步阐述。该构建流程具体如下:

s101、在云环境下,根据不同任务所涉及到的服务功能需求,选择要进行异构化的层次,可选层次如物理机操作系统、虚拟化软件、虚拟机操作系统、应用软件、网络配置、数据存储等。

s102、根据不同任务所涉及到的服务功能需求,选择每种异构化层次中的资源,如物理机操作系统可选择的资源有centos、ubuntu、windows以及其他相关的不同版本操作系统,虚拟化软件可供选择的资源有xen、kvm、docker,应用软件可供选择的资源有不同版本的应用软件,不同开发商的应用软件,网络配置以动态网络的形式,可采用动态ip地址,动态mac地址技术,数据存储可采用多种数据格式、多种数据存储方式,最终形成每个异构化层次中的多样化选择资源池。

s103、选择执行体载体,可选载体如虚拟机、容器等。执行体的构筑可使用多种异构的虚拟化软件,如xen、kvm、docker。

s104、根据不同任务对系统环境的要求,结合异构化层次所具备的资源,基于选定载体进行各层资源组合,搭建功能完备的执行体。在搭建完成执行体资源池后,测试各执行体的可用性,保证通过资源组合搭建而成的执行体能够独立执行其上的应用功能。

s105、建立执行体资源池管理模块,包括执行体资源池管理器、任务管理器和多个子任务管理器。其中,执行体资源池管理器用于监测执行体资源池中各执行体的运行状态、使用状态以及异构化配置信息;接收子任务管理器对执行体资源的申请和释放,为其分配符合需求的执行体和回收被释放的执行体,并更新执行体资源占用信息;控制执行体的启动、停机、清洗、恢复和复制等,便于对执行体进行有效的管理和维护。

图2为本发明实施例提供的云任务执行装置执行云任务的方法的流程示意图。如图2所示,该方法包括以下步骤:

s201、任务管理器将接收到的任务划分成多个子任务,为每个子任务配置一子任务管理器;并设置所述任务的安全等级,根据所述安全等级,制定所述多个子任务的执行策略;

具体地,任务管理器接收任务输入,对任务进行划分。同一任务可分为不同的执行阶段或者不同的子任务。例如,将工作流任务进行阶段划分,或者将任务依据服务功能需求进行划分,构成云服务链。不同阶段或不同服务功能需求的子任务构成一条任务执行链,链上每一节点称作一个子任务,前一节点的输出为后一节点的输入。然后,任务管理器为执行链上的每个子任务配置均配置一个子任务管理器,用于管理控制每个子任务。

同时,任务管理器可根据任务的安全需求,设置任务安全等级,并依据安全等级,通过优化分析,制定任务链上每一子任务的执行策略。

s202、每个子任务管理器根据各自负责的子任务的执行策略通过执行体资源池管理器向执行体资源池申请执行体,管理子任务的执行过程,并向任务管理器报告子任务执行状态信息;

具体地,任务管理器为每一个子任务创建子任务管理器,所述子任务管理器依据其负责的子任务的执行策略,向执行体资源池管理器发送申请执行体的请求,所述执行体资源池管理器根据请求向执行体资源池为子任务管理器分配符合策略要求的执行体;同时,子任务管理器负责管理子任务的执行过程,并向任务管理器报告子任务执行的状态信息,如执行中、执行完毕。

s203、任务管理器接收各子任务管理器发送的子任务执行状态信息,定时记录当前时刻的任务执行阶段和任务执行状态;并在所有子任务结束后,输出任务执行信息。

具体地,任务管理器收集子任务执行状态信息,定时记录当前任务执行阶段和状态。待全部子任务结束后,输出任务执行相关信息,包括执行时长、异常报告、任务执行结果,以便于管理员了解任务执行信息。

本发明实施例提供的云任务执行方法,基于多样性和动态性思想,通过构建多层次异构冗余的虚拟化执行体资源池,避免单一执行体的脆弱性影响任务的执行;通过构建云任务子任务链,根据任务的安全等级制定子任务的优化执行策略,充分保障了子任务执行的安全性和可靠性;并且通过为每个子任务配置子任务管理器和执行体资源池管理器,一方面可利用子任务管理器实现多个子任务的并行独立管理,另一方面利用执行体资源池管理器协调各子任务管理器的请求,避免多个子任务抢占同一执行体而降低任务执行效率。

在上述实施例的基础上,步骤s201中的根据所述安全等级,制定所述多个子任务的执行策略具体包括:

若所述任务的安全等级为a级,则每个子任务的执行策略均为拟态化执行策略;

若所述任务的安全等级为b级,则预设关键子任务的执行策略为拟态化执行策略,其余子任务的执行策略为动态化执行策略;

若所述任务的安全等级为c级,则每个子任务的执行策略均为动态化执行策略;

若所述任务的安全等级为d级,则预设关键子任务的执行策略为动态化执行策略,其余子任务的执行策略为单一执行体静态执行策略;

其中,所述a级、b级、c级和d级的安全等级依次降低。

具体地,任务管理器可将任务安全等级划分为a、b、c、d四种级别。对于a级安全任务链,即最高安全等级任务链,每一个子任务均采用拟态化策略执行;对于b级安全任务链,选取部分关键子任务采用拟态化策略执行,其他子任务采用动态化策略执行;对于c级任务链,每一个子任务均采用动态化策略执行;对于d级任务链,选取部分关键子任务采用动态化策略执行,其余子任务采取一般执行。

本发明实施例提供的云任务执行方法,基于多样性和动态性思想,通过构建多层次异构冗余的虚拟化执行体资源池,避免单一执行体的脆弱性影响任务的执行;通过构建云任务子任务链,制定子任务的优化执行策略,兼顾关键子任务的执行环境安全性和普通子任务的执行效率,同时使得云任务具有可回滚、可恢复的灵活性;并且通过采用动态化执行和拟态化执行相组合的执行机制,减少了子任务执行体的漏洞暴露时间,降低了子任务执行单元的单一性、静态性,使得子任务在执行过程中难以被攻击者定位和攻击,充分保障了子任务执行的安全性和可靠性,从而提高了云任务的安全性。

在上述实施例的基础上,所述拟态化执行策略如图3所示,图3为本发明实施例提供的拟态化执行策略的流程示意图,具体包括以下步骤:

s301.确定子任务所需的执行体数量,通过执行体资源池管理器向执行体资源池申请相应数量的执行体,并指定代理执行体、裁决执行体和多个处理执行体,所述相应数量的执行体之间互为异构;

具体地,每个子任务管理器先确定各自负责的子任务所需的执行体数量,然后各自向执行体资源池管理器发送请求;执行体资源池管理器接收到请求后,根据各请求从执行体资源池选择相应数量的异构执行体分配至各子任务管理器;各子任务管理器分别在各自的执行体集合中指定任务代理执行体、裁决执行体以及处理执行体。

s302.所述代理执行体接收输入的子任务,将所述子任务复制转发至所述多个处理执行体;

具体地,代理执行体接收子任务输入,即接收上一子任务执行体的输出,并将其复制转发至所有的处理执行体并行处理。

s303.所述多个处理执行体接收到代理执行体发送的子任务后,各自并行处理所述子任务得到多个处理结果,并将所述多个处理结果发送至裁决执行体;

具体地,处理执行体接收代理执行体发送的请求并处理,然后将得到的处理结果按请求到达的顺序发送至裁决执行体。

s304.所述裁决执行体根据预设裁决规则对所述多个处理结果进行裁决得到一致性结果,并将所述一致性结果输出至下一子任务的代理执行体;

具体地,任务裁决执行体将所有处理执行体对同一输入的处理结果进行比较和裁决,裁决规则可采取大数表决、加权表决等常见的表决方法,然后将裁决后得到的一致性结果输出到下一子任务的代理执行体。

s305.将所述一致性结果输出后,释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器。

具体地,子任务执行结束后,子任务管理器释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器,由执行体资源池管理器记录相关信息并对执行体进行必要的维护,如恢复失效的执行体、清洗发生异常的执行体使其回滚至正常状态。

在上述实施例的基础上,所述拟态化执行策略具体还包括:

若所述裁决执行体在裁决过程中发现不一致结果,则将产生不一致结果的处理执行体进行标记,发送异常消息至执行体资源池管理器;

具体地,若裁决中发现不一致结果,子任务管理器则将产生不一致结果的处理执行体进行标记,并发送异常消息至执行体资源池管理器。

若所述裁决执行体在裁决过程结束后未能得到一致性结果,则判定裁决失败,将所有的处理执行体进行标记,发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放所有的原处理执行体并申请新的处理执行体后,从子任务断点继续执行,或者重启子任务进入步骤s303。

具体地,若裁决执行体裁决后未能得到一致性输出,子任务管理器则判定该次裁决失败,标记各处理执行体状态,发送异常信息至执行体资源池管理器,保存子任务执行断点及现场,释放原处理执行体,同时申请新的处理执行体,子任务管理器从任务断点继续执行或重启子任务,进入步骤s303。

在上述各实施例的基础上,所述拟态化执行策略具体还包括:

若监测到代理执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原代理执行体并申请新的代理执行体后,从子任务断点继续执行,或者重启子任务进入步骤22;

若监测到裁决执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原裁决执行体并申请新的裁决执行体后,从子任务断点继续执行,或者重启子任务进入步骤24。

具体地,在子任务执行过程中,若子任务管理器监测到代理执行体或裁决执行体出现异常或故障而导致子任务中断或失败,则保存任务断点及现场执行体资源池管理器发送执行体异常信息并释放该失效执行体,同时申请新的子任务执行体,子任务管理器从任务断点继续执行或重启子任务,若更换了代理执行体,进入步骤s302,其他情况进入步骤s304。

在上述各实施例的基础上,所述动态化执行策略如图4所示,图4为本发明实施例提供的动态化执行策略的流程示意图,具体包括以下步骤:

s401、确定子任务所需的动态化层次,通过执行体资源池管理器向执行体资源池申请相应动态化层次的执行体;

具体地,子任务管理器选择子任务所需的动态化层次,可选择的范围包含动态化数据、动态化软件、动态化网络、动态平台和动态运行环境中的一层或多层。例如,异构化数据格式或存储平台、多版本软件、随机化ip和端口、启用地址随机化和指令随机化。

子任务管理器通过执行体资源池管理器向子任务执行体资源池申请相应动态化层次的执行体处理子任务,实现同一执行体上的动态化过程。

s402、所述执行体接收输入的子任务并处理所述子任务;

s403、在所述子任务执行结束后,释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器。

具体地,子任务执行结束后,释放已占用的执行体,并发送执行体状态信息至执行体资源池管理器,由执行体资源池管理器记录相关信息并对执行体进行必要的维护,如恢复失效的执行体、清洗发生异常的执行体使其回滚至正常状态。

在上述实施例的基础上,所述动态化执行策略具体还包括:

估计子任务的工作时间,若所述工作时间大于预设时长,则根据预设执行体选择方法通过执行体资源池管理器向执行体资源池动态申请相应动态化层次的执行体。

具体地,子任务管理器估计其负责子任务的工作时间,若该子任务的工作时间足够长,大于预设时长,子任务管理器可通过执行体资源池管理器动态申请新的执行体,并释放原执行体,使子任务执行过程进一步动态化,这种动态化过程可以采用随机选择方法、轮询方法或者根据历史执行情况在执行体资源池中选择新的执行体。

在上述各实施例的基础上,所述动态化执行策略具体还包括:

若监测到执行体出现异常,则发送异常信息至执行体资源池管理器,并保存子任务执行断点及现场,在释放原执行体并申请新的执行体后,从子任务断点继续执行,或者重启子任务进入步骤s402。

具体地,在子任务执行过程中,子任务管理器若监测到执行体出现异常或故障而导致子任务中断或失败,则保存任务断点及现场向执行体资源池管理器发送执行体异常信息并释放该失效执行体,同时申请新的执行体,新的执行体从任务断点继续执行或重启子任务,即进入步骤s402。

可以理解的是,上述各实施例中,子任务管理器释放原执行体(或失效执行体),是指子任务管理器发送释放请求给执行体资源池管理器,真正的释放操作由执行体资源池管理器完成。

图5为本发明又一实施例提供的云任务执行方法的流程示意图。如图5所示,任务管理器依据安全等级,协同每个子任务的策略配置,制定任务链上每一子任务的执行策略。策略包括一般执行、动态化和拟态化。“一般执行”即单一执行体静态处理子任务;“动态化”即参照图3所示流程,实现子任务执行体自身的动态化以及执行过程的动态化;“拟态化”参照图2所示流程,实现子任务执行过程的拟态化控制和管理。每个子任务的执行策略具体配置情况,由任务管理器协同链上子任务的执行代价而制定,避免子任务频繁抢占资源而降低任务执行效率。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1