一种基于服务跳变和智能清洗的动态服务实现方法及系统的制作方法
【专利摘要】本发明适用于网络信息安全领域,提供一种基于服务跳变和智能清洗的动态服务实现方法及系统,所述方法包括下述步骤:服务跳变控制器生成基于时空二维的跳变图案;服务跳变控制器生成虚拟机映射表;服务跳变控制器从所述虚拟机映射表中提取部分信息生成服务实例定义表,并连同跳变图案发送至服务跳变代理设备;服务跳变代理设备遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑节点对应的实际的IP地址和端口,执行具体的每一跳。本发明方案是一种基于虚拟化的服务跳变与智能清洗相结合的技术与机制,可实现主动防御已知和未知的木马、病毒等对网络服务各种攻击。
【专利说明】
-种基于服务跳变和智能清洗的动态服务实现方法及系统
技术领域
[0001] 本发明属于网络信息安全领域,具体为主动目标防御中动态服务领域,尤其设及 一种基于服务跳变和智能清洗的动态服务实现方法及系统。
【背景技术】
[0002] 主动目标防御是近年来的一项重要安全防护技术,该技术不同W往的网络安全研 究思路,它并不追求完善无暇的系统对抗攻击,而是移动要保护的对象(如主机IP地址、端 口、网络服务等)来达到防护目标的目的,通过不断的变化(或跳变)被保护对象来增加攻击 的难度和代价。
[0003] 在实现动态服务过程中,如何实现服务安全高效的跳变是系统能否实际运行的关 键,但目前并没有可行的动态服务的实现技术和机制。电子科技大学提出了的基于服务多 态的IP网络生存模型,通过在多态间的漂移转移漏桐来提高服务系统的生存能力,但仅仅 是一种理论想法。另外,国防科技大学在信息系统的防御体系上提出的多样化动态漂移技 术的系统框架,但是负载均衡、虚拟化技术主要是用于提高服务的可靠性、经济性和应对大 业务量需求,并非用于安全防护目的。因此需要一种能够实现较高安全性和可用性的动态 服务实现技术。
【发明内容】
[0004] 鉴于上述问题,本发明的目的在于提供一种基于服务跳变和智能清洗的动态服务 实现方法及系统,该方案是一种基于虚拟化的服务跳变与智能清洗相结合的技术与机制, 可实现主动防御已知和未知的木马、病毒等对网络服务各种攻击。
[0005] -方面,所述基于服务跳变和智能清洗的动态服务实现方法,包括:
[0006] 服务跳变控制器生成基于时空二维的随机服务跳变图案,所述跳变图案包括跳变 逻辑节点和对应的驻留时间;
[0007] 服务跳变控制器生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑节点与虚 拟机名称、IP地址、端口、镜像的映射关系;
[000引服务跳变控制器从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口的信息, 生成服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设备;
[0009] 服务跳变代理设备遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑节 点对应的实际的IP地址和端口,执行具体的每一跳。
[0010] 另一方面,所述基于服务跳变和智能清洗的动态服务实现系统,包括服务跳变控 制器和服务跳变代理设备,其中,
[0011] 所述服务跳变控制器包括:
[0012] 图案生成单元,用于生成基于时空二维的随机服务跳变图案,所述跳变图案包括 跳变逻辑节点和对应的驻留时间;
[0013] 映射表生成单元,用于生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑节 点与虚拟机名称、IP地址、端口、镜像的映射关系;
[0014] 定义表生成单元,用于从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口的 信息,生成服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设备;
[0015] 所述服务跳变代理设备包括:
[0016] 查询执行单元,用于遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑 节点对应的实际的IP地址和端口,执行具体的每一跳。
[0017] 本发明的有益效果是:本发明提供了一种较高安全性的动态服务实现技术方案, 生成的跳变图案具有时间和空间二维度,使得生成的跳变图案具有高多变性,同时还采用 了跳变虚拟机映射机制,可W避免采用实际虚拟机作为跳变图案的节点,会导致跳变图案 频繁更新的问题,另外,还采用了基于虚拟机的智能清洗技术,确保系统中的虚拟机处于一 种良性更新换代的过程中,可W实现主动防御已知和未知的木马、病毒等对网络服务各种 攻击。
【附图说明】
[0018] 图1是本发明第一实施例提供的基于服务跳变和智能清洗的动态服务实现方法的 流程图;
[0019] 图2是跳变虚拟机映射示意图;
[0020] 图3是虚拟机映射表工作原理图;
[0021 ]图4是虚拟机自清洗示意图;
[0022] 图5是本发明第二实施例提供的基于服务跳变和智能清洗的动态服务实现系统的 结构图。
【具体实施方式】
[0023] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。
[0024] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[00巧]实施例一:
[0026] 图1示出了本发明实施例提供的基于服务跳变和智能清洗的动态服务实现方法的 流程,为了便于说明仅示出了与本发明实施例相关的部分。
[0027] 如图1所示,本实施例提供的基于服务跳变和智能清洗的动态服务实现方法包括 下述步骤:
[0028] 步骤S1、服务跳变控制器生成基于时空二维的随机服务跳变图案,所述跳变图案 包括跳变逻辑节点和对应的驻留时间。
[0029] 本步骤通过时间和空间二重维度生成随机服务跳变图案,具体的,跳变图案生成 算法将针对服务所在的跳变逻辑节点巧间维度)和单一节点驻留时间(时间维度)进行二 重随机处理,并将处理结果组合生成最终的跳变图案(Gra地),运样生成的跳变图案具有高 多变性,增加主动防御性能。作为一种具体实现方案,本步骤包括:
[0030] S11、将服务所在的跳变逻辑节点进行混浊随机处理,得到一组逻辑节点空间序 列。
[0031 ] 具体的,S = fnl^oin化ist,GraphSize)生成混浊随机处理后的逻辑节点空间序 列。运里Poin化ist为跳变逻辑节点的列表,PointLi St中的节点数量由该服务跳变的不同 虚拟机镜像个数来决定,GraphSize为跳变图案的规模,支持百万级别,由用户在用户配置 端下发。fnlO为一种混浊随机处理算法,目前该算法较为成熟,具体不寶述。生成的逻辑节 点空间序列的长度为GraphSize大小,序列中的每一个节点都从是从跳变逻辑节点列表中 随机选择的一个,从而保证在整个图案中,每一个跳变逻辑节点的遍历次数大致相同。
[0032] S12、根据驻留时间最大值和最小值范围内,生成一组经过混浊随机处理后的时间 序列,所述时间序列长度和所述空间序列长度相同。
[0033] 具体的,T = fn2(GraphSize,[min,max])生成一组混浊随机处理后的时间序列。同 样时间序列的长度为GraphSize,fn2〇同样为一种混浊随机处理算法,可与fnl相同,也可 不同。业务服务在每一个跳变逻辑节点上驻留时间的最大值max和最小值min由用户在用户 配置端下发。生成的时间序列中的每一个节点都从[min, max]之间的整数中随机选择一个, 从而保证在跳变过程中,服务在每一个跳变节点上驻留的时间都是在一定区间内随机的。
[0034] S13、将所述空间序列和所述时间序列一一对应匹配,得到最终的跳变图案。
[0035] Graoh = f n3 (S. T)牛成最终图案,例化:
[0036]
[0037] 运里indexO表示跳变图案的第一个序列序号,[4,7]表示跳变逻辑节点4的驻留时 间为7秒。
[0038] 步骤S2、服务跳变控制器生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑 节点与虚拟机名称、IP地址、端口、镜像的映射关系。
[0039] 由于业务所在的虚拟机会不断的被清洗和补充,如果采用实际虚拟机作为跳变图 案的节点,会导致跳变图案频繁更新。为了避免此问题,本发明设计了跳变虚拟机映射方 案,在虚拟机映射表中引入跳变逻辑节点,使得跳变图案的生成基于不变的跳变逻辑节点, 然后再通过虚拟机映射表将实际的虚拟机映射到跳变逻辑节点上。每当实际的虚拟机被清 洗替换时,该映射表都会实时更新,并最终下发到跳变逻辑节点。
[0040] 如图2所示的跳变虚拟机映射示意图,跳变周期来临时,两个虚拟机被清洗掉,新 的两个虚拟机被补充进来,虚拟机的名称(唯一标识符)发生了变化。图2中,跳变逻辑节点0 和1在自清洗自补充流程中虚拟机发生了清洗替换。对于跳变图案来说,逻辑节点本身没有 发生变化,只是0和1背后对应的虚拟机发生了更新,因此需要生成和实时更新"虚拟机映射 表"来维护跳变逻辑节点和实际虚拟机的对应关系。
[0041] 步骤S3、服务跳变控制器从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口 的信息,生成服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设 备。
[0042] 步骤S4、服务跳变代理设备遍历跳变图案,并从服务实例定义表中查询到当前跳 变逻辑节点对应的实际的IP地址和端口,执行具体的每一跳。
[0043] 如图3所示的虚拟机映射表的工作原理,图示中,跳变图案中仅包含跳变逻辑节点 的信息,另外还包括每次跳变的跳变逻辑节点所对应的驻留时间,而虚拟机映射表中则包 含了从跳变逻辑节点到虚拟机名称、IP地址、端口、镜像的对应关系。其中每新生成一个虚 拟机,从虚拟化云平台查询得到虚拟机名称W及IP地址,其中所述虚拟化云平台为每一个 跳变服务维护一个IP地址池,当需生成/清洗虚拟机时,从所述IP地址池中分配/回收IP地 址。服务跳变控制器会抽取虚拟机映射表中的部分信息(逻辑节点、IP地址、端口)生成服务 实例定义表,同跳变图案一起下发给跳变服务代理设备。跳变服务代理设备会遍历跳变图 案,并在服务实例定义表查询到实际的IP地址和端口后执行具体的每一跳。
[0044] 本实施例中,所述基于服务跳变和智能清洗的动态服务实现方法还包括下述步 骤:
[0045] 步骤S35、每当实际的虚拟机被清洗W及补充新的虚拟机时,服务跳变控制器更新 所述虚拟机映射表,同时更新服务实例定义表。
[0046] 具体的,包括下述步骤:
[0047] S351、每当常态清理周期来临时,将当前周期的每一个跳变逻辑节点的驻留次数 累加至驻留计数器,其中每个跳变图案都维护有一个驻留计数器;
[0048] S352、统计服务驻留次数最多的N台虚拟机,即得到N台老化虚拟机,N由用户配置;
[0049] S353、生成新的虚拟机,并在虚拟机映射表的相应跳变逻辑节点位置替换掉运些 老化虚拟机;
[0050] S354、新的虚拟机的跳变逻辑节点序号不变,并下发给服务跳变代理设备,并向服 务跳变代理设备查询当前正在提供服务的跳变逻辑节点是否为运些老化虚拟机;
[0051] S355、如果是,则等待服务从运些跳变逻辑节点上跳变离开;
[0052] S356、跳变离开后,清洗运些老化虚拟机,更新服务实例定义表;
[0053] S357、最后被清洗虚拟机对应的跳变逻辑节点的驻留次数统计清零,重新开始计 数。
[0054] 遍历跳变图案过程中,整体上各个虚拟机的驻留次数是基本平衡的,但在某一段 时间内,会出现某一些虚拟机驻留次数多于其它虚拟机的情况,运些虚拟机受到攻击和感 染的几率要大于其它的虚拟机,称之为老化虚拟机,即为智能清洗需要清除的目标。
[0055] 针对每一个跳变图案维护有一个"节点驻留次数计数器",简称为驻留计数器,每 当常态清洗周期来临时,将当前周期每一个跳变逻辑节点的驻留次数叠加进驻留计数器, 进而统计服务驻留次数最多N台虚拟机(N由用户配置端下发)进行清洗。
[0056] 如图4所示的虚拟机自清洗示意图,当找到老化虚拟机后,并不会立刻清除运些老 化虚拟机,而是先启动新的虚拟机,并在虚拟机映射表相应逻辑节点位置替换掉老化虚拟 机,新的虚拟机的逻辑节点序号不变并下发给跳变服务代理设备,并向跳变服务代理设备 查询当前正在提供服务的逻辑节点是不是运些老化的虚拟机,如果是,则等待服务从运些 节点上跳变离开,否则清洗正在提供服务的虚拟机会导致业务服务中断,从而保证业务的 无缝切换。清洗老化虚拟机之后,服务跳变控制器会将发生自清洗的跳变逻辑节点的驻留 统计计数清零,重新开始计数。它们作为新生代,在之后一段时间内被再次清洗的可能性就 比较小。
[0057] 由于自补充新的虚拟机需要创建并启动虚拟机操作系统,运需要一段时间(在5分 钟之内)。因此,常态清洗的周期不能太短,否则会出现清洗速度大于补充速度的情况,最终 会导出提供服务的虚拟机池枯竭。因此,管理员需要对常态清洗的周期频率进行配置,配置 依照如下公式:
[0化引 WashCycle = N*基本耗时(单位:秒)
[0059] 其中,N是每次清洗的虚拟机数量,即选取驻留次数最多的N台虚拟机。基本耗时是 一个常量,该常量是补充一个虚拟机的基本耗时时间(300秒),两者的乘积就是常态清洗的 时间周期。通过此配置公式可W保证虚拟机补充的速度不低于虚拟机清洗的速度。
[0060] 本【具体实施方式】提供了一种基于虚拟机的智能清洗技术,确保系统中的虚拟机处 于一种良性的更新换代过程中,老化的虚拟机将逐步被新生代的虚拟机所替代,从而构建 一种服务跳变平台自维护的平衡生态。
[0061 ] 实施例二:
[0062] 图5示出了本发明实施例提供的基于服务跳变和智能清洗的动态服务实现系统的 结构,包括服务跳变控制器1和服务跳变代理设备2,优选的,所述系统还包括虚拟化云平台 3。其中所述服务跳变控制器1保存有跳变图案和附图实例定义表,所述服务跳变控制器2中 保存有虚拟机映射表,所述虚拟化云平台3存储有IP地址池和虚拟机池,每新生成一个虚拟 机时,从虚拟化云平台查询得到虚拟机名称W及IP地址,当需生成/清洗虚拟机时,从所述 IP地址池中分配/回收IP地址。
[0063] 从功能分析,所述服务跳变控制器1包括:
[0064] 图案生成单元,用于生成基于时空二维的随机服务跳变图案,所述跳变图案包括 跳变逻辑节点和对应的驻留时间;
[0065] 映射表生成单元,用于生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑节 点与虚拟机名称、IP地址、端口、镜像的映射关系;
[0066] 定义表生成单元,用于从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口的 信息,生成服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设备;
[0067] 所述服务跳变代理设备2包括:
[0068] 查询执行单元,用于遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑 节点对应的实际的IP地址和端口,执行具体的每一跳。
[0069] 所述服务跳变控制器还包括:
[0070] 更新单元,用于每当实际的虚拟机被清洗W及补充新的虚拟机时,服更新所述虚 拟机映射表,同时更新服务实例定义表。
[0071 ]具体实现时,所述更新单元包括:
[0072] 计数模块,用于每当常态清理周期来临时,将当前周期的每一个跳变逻辑节点的 驻留次数累加至驻留计数器,其中每个跳变图案都维护有一个驻留计数器;
[0073] 统计模块,用于统计服务驻留次数最多的N台虚拟机,即得到N台老化虚拟机,N由 用户配置;
[0074] 生成替换模块,用于生成新的虚拟机,并在虚拟机映射表的相应跳变逻辑节点位 置替换掉运些老化虚拟机;
[0075] 下发查询模块,用于将新的虚拟机的跳变逻辑节点序号下发给服务跳变代理设 备,并向服务跳变代理设备查询当前正在提供服务的跳变逻辑节点是否为运些老化虚拟 机;
[0076] 等待模块,用于当跳变逻辑节点是运些老化虚拟机时,等待服务从运些跳变逻辑 节点上跳变离开;
[0077] 清洗更新模块,用于当跳变离开后,清洗运些老化虚拟机,更新服务实例定义表;
[0078] 清零模块,用于用于被清洗虚拟机对应的跳变逻辑节点的驻留次数统计清零,重 新开始计数。
[0079] 具体实现时,所述图案生成单元包括:
[0080] 第一生成模块,用于将服务所在的跳变逻辑节点进行混浊随机处理,得到一组逻 辑节点空间序列;
[0081] 第二生成模块,用于根据驻留时间最大值和最小值范围内,生成一组经过混浊随 机处理后的时间序列,所述时间序列长度和所述空间序列长度相同;
[0082] 第=生成模块,用于将所述空间序列和所述时间序列一一对应匹配,得到最终的 跳变图案。
[0083] 上述各个功能单元和功能模块均与实施例一种的相关步骤对应,运些功能单元和 功能模块可W实现步骤对应的功能,具体实现过程不寶述。
[0084] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于服务跳变和智能清洗的动态服务实现方法,其特征在于,所述方法包括: 服务跳变控制器生成基于时空二维的随机服务跳变图案,所述跳变图案包括跳变逻辑 节点和对应的驻留时间; 服务跳变控制器生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑节点与虚拟机 名称、IP地址、端口、镜像的映射关系; 服务跳变控制器从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口的信息,生成 服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设备; 服务跳变代理设备遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑节点对 应的实际的IP地址和端口,执行具体的每一跳。2. 如权利要求1所述方法,其特征在于,所述方法还包括下述步骤: 每当实际的虚拟机被清洗以及补充新的虚拟机时,服务跳变控制器更新所述虚拟机映 射表,同时更新服务实例定义表。3. 如权利要求2所述方法,其特征在于,所述虚拟机被清洗以及补充新的虚拟机时,月艮 务跳变控制器更新所述虚拟机映射表,同时更新服务实例定义表步骤,具体包括: 每当常态清理周期来临时,将当前周期的每一个跳变逻辑节点的驻留次数累加至驻留 计数器,其中每个跳变图案都维护有一个驻留计数器; 统计服务驻留次数最多的N台虚拟机,即得到N台老化虚拟机,N由用户配置; 生成新的虚拟机,并在虚拟机映射表的相应跳变逻辑节点位置替换掉这些老化虚拟 机; 新的虚拟机的跳变逻辑节点序号不变,并下发给服务跳变代理设备,并向服务跳变代 理设备查询当前正在提供服务的跳变逻辑节点是否为这些老化虚拟机; 如果是,则等待服务从这些跳变逻辑节点上跳变离开; 跳变离开后,清洗这些老化虚拟机,更新服务实例定义表; 最后被清洗虚拟机对应的跳变逻辑节点的驻留次数统计清零,重新开始计数。4. 如权利要求3所述方法,其特征在于,每新生成一个虚拟机,从虚拟化云平台查询得 到虚拟机名称以及IP地址,其中所述虚拟化云平台为每一个跳变服务维护一个IP地址池, 当需生成/清洗虚拟机时,从所述IP地址池中分配/回收IP地址。5. 如权利要求3所述方法,其特征在于,所述常态清理周期=N*基本耗时,所述基本耗 时是补充一个虚拟机的基本耗时时间。6. 如权利要求1-5任一项所述方法,其特征在于,所述服务跳变控制器生成基于时空二 维的随机服务跳变图案并发送至服务跳变代理设备步骤,包括: 将服务所在的跳变逻辑节点进行混沌随机处理,得到一组逻辑节点空间序列; 根据驻留时间最大值和最小值范围内,生成一组经过混沌随机处理后的时间序列,所 述时间序列长度和所述空间序列长度相同; 将所述空间序列和所述时间序列一一对应匹配,得到最终的跳变图案。7. -种基于服务跳变和智能清洗的动态服务实现系统,其特征在于,所述系统包括服 务跳变控制器和服务跳变代理设备,其中, 所述服务跳变控制器包括: 图案生成单元,用于生成基于时空二维的随机服务跳变图案,所述跳变图案包括跳变 逻辑节点和对应的驻留时间; 映射表生成单元,用于生成虚拟机映射表,所述虚拟机映射表包含了跳变逻辑节点与 虚拟机名称、IP地址、端口、镜像的映射关系; 定义表生成单元,用于从所述虚拟机映射表中提取跳变逻辑节点、IP地址、端口的信 息,生成服务实例定义表,将所述跳变图案及服务实例定义表发送至服务跳变代理设备; 所述服务跳变代理设备包括: 查询执行单元,用于遍历跳变图案,并从服务实例定义表中查询到当前跳变逻辑节点 对应的实际的IP地址和端口,执行具体的每一跳。8. 如权利要求7所述系统,其特征在于,所述服务跳变控制器还包括: 更新单元,用于每当实际的虚拟机被清洗以及补充新的虚拟机时,服更新所述虚拟机 映射表,同时更新服务实例定义表。9. 如权利要求8所述系统,其特征在于,所述更新单元包括: 计数模块,用于每当常态清理周期来临时,将当前周期的每一个跳变逻辑节点的驻留 次数累加至驻留计数器,其中每个跳变图案都维护有一个驻留计数器; 统计模块,用于统计服务驻留次数最多的N台虚拟机,即得到N台老化虚拟机,N由用户 配置; 生成替换模块,用于生成新的虚拟机,并在虚拟机映射表的相应跳变逻辑节点位置替 换掉这些老化虚拟机; 下发查询模块,用于将新的虚拟机的跳变逻辑节点序号下发给服务跳变代理设备,并 向服务跳变代理设备查询当前正在提供服务的跳变逻辑节点是否为这些老化虚拟机; 等待模块,用于当跳变逻辑节点是这些老化虚拟机时,等待服务从这些跳变逻辑节点 上跳变离开; 清洗更新模块,用于当跳变离开后,清洗这些老化虚拟机,更新服务实例定义表; 清零模块,用于用于被清洗虚拟机对应的跳变逻辑节点的驻留次数统计清零,重新开 始计数。10. 如权利要求8所述系统,其特征在于,所述系统还包括虚拟化云平台,所述虚拟化云 平台包括IP地址池和虚拟机池,每新生成一个虚拟机时,从虚拟化云平台查询得到虚拟机 名称以及IP地址,当需生成/清洗虚拟机时,从所述IP地址池中分配/回收IP地址。
【文档编号】H04L29/06GK105978875SQ201610307060
【公开日】2016年9月28日
【申请日】2016年5月11日
【发明人】刘建国, 李晓, 付国宾, 余奇, 戴昌裕, 朱春祥
【申请人】中国人民解放军国防信息学院