动态异构冗余系统的确定方法和装置
技术领域
本申请涉及网络空间安全防护技术领域,尤其涉及一种动态异构冗余系统的确定方法、装置及电子设备;相应的,本申请还涉及一种系统动态性的检测方法、装置及电子设备,一种系统异构性的检测方法、装置及电子设备,以及一种系统冗余性的检测方法、装置及电子设备。
背景技术
网络安全拟态防御理论(Cyber Mimic Defense,CMD)是一种主动防御理论,基于该理论构建的网络安全防御体系将基于未知漏洞后门的不确定性威胁或已知的未知风险变为极小概率事件,因而可以有效提高网络安全性。
CMD在技术上以融合多种主动防御要素为宗旨:以异构性、多样或多元性改变目标系统的相似性、单一性;以动态性、随机性改变目标系统的静态性、确定性;以异构冗余多模裁决机制识别和屏蔽未知缺陷与未明威胁;以高可靠性架构增强目标系统服务功能的柔韧性或弹性;以系统的视在不确定属性防御或拒止针对目标系统的不确定性威胁。以目前的研究进展,研究者是基于动态异构冗余(Dynamic Heterogeneous Redundancy,DHR)架构一体化技术架构集约化地实现上述目标的,因此DHR系统就是一种主动防御体系。
然而,现有技术下针对DHR系统安全功能的测试方法却是缺失的。对于一个安全功能未经验证的DHR系统,将无法确保系统的安全性和可靠性。因此,如何检测一个DHR系统是否具有动态性、异构性和冗余性这三个特性,成为本领域技术人员迫切需要解决的问题。
发明内容
本申请提供了一种动态异构冗余系统的确定方法、装置及电子设备,一种系统动态性的检测方法、装置及电子设备,一种系统异构性的检测方法、装置及电子设备,以及一种系统冗余性的检测方法、装置及电子设备,以解决无法确定一个DHR系统是否具有动态性、异构性和冗余性的问题。
第一方面,本申请提供了一种系统动态性的检测方法,该方法包括:在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序;获取至少两个模拟漏洞程序分别对应的激励报文;将获得的激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文;根据监听到的响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性。采用本实现方式,能够确定待检测系统是否具有动态性。
结合第一方面,在第一方面第一种可能的实现方式中,所述获取至少两个模拟漏洞程序分别对应的激励报文,采用如下方式:获取所有模拟漏洞程序分别对应的激励报文;所述将获得的激励报文持续发送至所述待检测系统,包括:根据所述待检测系统的预设动态变化周期,确定激励报文的发送时长;在所述发送时长内,将获得的激励报文持续发送至所述待检测系统。
结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述根据所述预设动态变化周期,并确定激励报文的发送时长,采用如下方式:将所述发送时长确定为所述预设动态变化周期的两倍。
结合第一方面第一种可能的实现方式或第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述预设的动态性确定算法包括:根据在线异构体数量,对所述多个功能等价体书输出的响应报文序列划分得到多个响应报文子集;若存在响应报文子集不同的相邻子集,则确定所述待检测系统具有动态性;若不存在响应报文子集不同的相邻子集,则确定所述待检测系统不具有动态性。
结合第一方面第一种可能的实现方式或第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述预设的动态性确定算法包括:以响应报文的输出顺序,依次累计响应报文的种类数量及不同响应报文的输出次数;若所述输出次数达到预设的次数阈值,则将当前累计的种类数量作为种类数量的阈值;在确定所述种类数量的阈值后,若继续累计的种类数量随响应报文的输出发生变化,则确定所述待检测系统具有动态性;若继续累计的种类数量不随响应报文的输出发生变化,则确定所述待检测系统不具有动态性。
第二方面,本申请还提供了一种系统动态性的检测装置,所述系统动态性的检测装置包括用于执行第一方面各种实现方式中方法步骤的模块。
第三方面,本申请还提供了一种电子设备,包括:处理器和存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述的系统动态性的检测方法。
第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的系统动态性的检测方法各实施例中的部分或全部步骤。
第五方面,本申请提供了一种系统异构性的检测方法,该方法包括:在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序;获取少于在线功能等价体数量的至少两个模拟漏洞程序分别对应的激励报文;将获得的至少两个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若在激励报文发送结束前监听到所述至少两个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述至少两个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性。采用本实现方式,能够确定待检测系统是否具有异构性。
结合第五方面,在第五方面第一种可能的实现方式中,所述将获得的至少两个激励报文持续发送至所述待检测系统,包括:根据所述待检测系统的预设动态变化周期,确定激励报文的发送时长;在所述发送时长内,将所述至少两个激励报文持续发送至所述待检测系统。
结合第五方面第一种可能的实现方式,在第五方面第二种可能的实现方式中,所述根据所述待检测系统的预设动态变化周期,并确定激励报文的发送时长,包括:获取所述待检测系统包括的功能等价体的数量与所述至少两个激励报文的数量的差值;将所述发送时长设置为所述差值倍数的预设动态变化周期。
第六方面,本申请还提供了一种系统异构性的检测装置,所述系统异构性的检测装置包括用于执行第五方面各种实现方式中方法步骤的模块。
第七方面,本申请还提供了一种电子设备,包括:处理器和存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第五方面各种实现方式所述的系统异构性的检测方法。
第八方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的系统异构性的检测方法各实施例中的部分或全部步骤。
第九方面,本申请提供了一种系统冗余性的检测方法,该方法包括:在待检测系统包括的多个功能等价体中植入同一模拟漏洞程序;将所述模拟漏洞程序对应的激励报文发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若监听到至少两个与所述激励报文对应的响应报文,则确定所述待检测系统具有冗余性。采用本实现方式,能够确定待检测系统是否具有冗余性。
第十方面,本申请还提供了一种系统冗余性的检测装置,所述系统异构性的检测装置包括用于执行第九方面各种实现方式中方法步骤的模块。
第十一方面,本申请还提供了一种电子设备,包括:处理器和存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第九方面各种实现方式所述的系统冗余性的检测方法。
第十二方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的系统冗余性的检测方法各实施例中的部分或全部步骤。
第十三方面,本申请提供了一种动态异构冗余系统的确定方法,该方法包括:在待检测系统包括的多个功能等价体中分别植入各自不同的第一模拟漏洞程序;获取至少两个第一模拟漏洞程序分别对应的激励报文,作为第一激励报文集;将所述第一激励报文集内的各个激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文,作为第一响应报文;根据监听到的第一响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性;以及,获取少于在线功能等价体数量的至少两个第一模拟漏洞程序分别对应的激励报文,作为第二激励报文集;将所述第二激励报文集内的各个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若在所述第二激励报文集内的激励报文发送结束前监听到所述第二激励报文集内的各个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述第二激励报文集内的各个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性;以及,在所述待检测系统包括的多个功能等价体中植入同一第二模拟漏洞程序;将所述第二模拟漏洞程序对应的第三激励报文发送至所述待检测系统;若监测到至少两个与所述第三激励报文对应的响应报文,则确定所述待检测系统具有冗余性;若所述待检测系统具有所述动态性、异构性和冗余性,则将所述待检测系统确定为动态异构冗余系统。采用本实现方式,能够确定待检测系统是否为动态异构冗余系统。
第十四方面,本申请还提供了一种动态异构冗余系统的确定装置,所述动态异构冗余系统的确定装置包括用于执行第十三方面各种实现方式中方法步骤的模块。
第十五方面,本申请还提供了一种电子设备,包括:处理器和存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第十三方面各种实现方式所述的动态异构冗余系统的确定方法。
第十六方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的动态异构冗余系统的确定方法各实施例中的部分或全部步骤。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种DHR系统的结构示意图;
图2为本申请实施例提供的一种系统动态性的检测方法的流程图;
图3为本申请实施例提供的一种系统动态性的检测方法的设置数据读取接口的示意图;
图4为本申请实施例提供的一种系统动态性的检测方法的具体流程图;
图5为本申请实施例提供的一种系统动态性的检测装置的结构示意图;
图6为本申请实施例提供的一种系统异构性的检测方法的流程图;
图7为本申请实施例提供的一种系统异构性的检测方法的具体流程图;
图8为本申请实施例提供的一种系统异构性的检测装置的结构示意图;
图9为本申请实施例提供的一种系统冗余性的检测方法的流程图;
图10为本申请实施例提供的一种系统冗余性的检测装置的结构示意图;
图11为本申请实施例提供的一种动态异构冗余系统的确定方法的流程图;
图12为本申请实施例提供的一种动态异构冗余系统的确定装置的结构示意图。
具体实施方式
本申请提供了一种系统动态性的检测方法,系统异构性的检测方法,系统冗余性的检测方法,动态异构冗余系统的确定方法,以及相应装置和电子设备,在下面的实施例中逐一进行详细说明。
为了便于理解本申请的技术方案,下面首先对DHR系统及其特性做简要说明。
请参见图1,其为DHR系统的结构示意图。由图1可见,DHR系统包含N个异构功能等价体和一个裁决调度器。其中,异构功能等价体为系统的基础应用功能实现模块,每个异构功能等价体均可独立运行;裁决调度器,用于裁决在线异构功能等价体的处理结果的正确性与状态的正常性,同时用于异构功能等价体在线状态和非在线状态的调度实现。可见,DHR系统的功能主要分为两个方面,其一是系统提供的基础应用功能,其二是系统的动态性、异构性和冗余性相关的安全功能。
在实际应用中,DHR系统可以是硬件系统,例如,计算机网络设备等,如由多个异构(不同厂家生产的不同型号的产品)交换机构成的交换机系统、由多个异构路由器构成的路由器系统等。DHR系统也可以是软件系统,例如,数据库管理系统等,如由SQL Server、DB2和ORACLE等异构数据库管理系统构成的数据库管理系统。
异构功能等价体的运行状态可分为两种:在线状态和非在线状态。处于在线状态的异构功能等价体可以处理用户数据,并将处理结果返回给裁决调度器;处于非在线状态的异构功能等价体为备份模块,等待裁决调度器调度该异构功能等价体为在线状态。
裁决调度器为DHR系统的唯一数据输出/输入接口,当用户数据进入到裁决调度器,裁决调度器会将该数据发送给图1所示的三个在线异构功能等价体,当异构功能等价体处理完数据并将处理结果反馈给用户时,裁决调度器会根据这三个异构功能等价体反馈的数据,对数据进行正确性的判断,选择正确的处理结果反馈给用户。当裁决调度器发现一个在线异构功能等价体处于异常状态,例如被致乱、被致瘫或被窃情时,可将该异构功能等价体的状态调整为非在线状态,并将一个非在线状态的异构功能等价体调整为在线状态。
DHR系统至少需要具有动态性、异构性和冗余性这三个特性。所述动态性是指系统结构会随时间发生变化,即异构功能等价体的在线情况会随时间发生变化。例如,当裁决调度器检测到处于在线状态的某个异构功能等价体出现异常时,将该异构功能等价体下线,并将另一个异构功能等价体上线,这种在线异构功能等价体的变化情况即可反映出系统具有动态性。所述异构性是指系统包括的各个功能等价体是异构的,例如,一个由SQLServer、DB2和ORACLE等不同数据库管理系统构成的数据库管理系统即具有异构性,而一个由多个SQL Server数据库管理系统构成的数据库管理系统即不具有异构性。所述冗余性是指系统包括多个功能等价体。当一个DHR系统被设计出来时,有必要对其进行安全功能测试,以确保系统的安全性和可靠性。
需要说明的是,一个DHR系统应包括四个以上(包括四个)异构功能等价体。在一个DHR系统中,处于在线状态的异构功能等价体的数量至少为三个,且应小于DHR系统包括的异构功能等价体的总数量。
导致DHR系统结构发生变化的原因包括两种:1)当裁决调度器发现某个在线异构功能等价体处于异常状态时,可将该异构功能等价体的状态调整为非在线状态,并将一个非在线状态的异构功能等价体调整为在线状态,从而使得DHR系统结构发生变化;2)裁决调度器根据预设的在线异构功能等价体动态变化的周期时间,定期调整DHR系统结构,例如,在线异构功能等价体动态变化的周期时间为1小时,则裁决调度器将每隔一小时会改变一次DHR系统结构。
为了方便描述,本申请中,将DHR系统的在线异构功能等价体动态变化的周期简称为动态变化周期,将异构功能等价体简称为异构体。
请参见图2,为本申请提供的系统动态性的检测方法一个实施例的流程图,该方法包括如下步骤:
步骤201,在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序。
所述模拟漏洞程序并非真正的系统漏洞,而是为检测系统是否具有动态性、异构性、冗余性专门设计的测试用漏洞程序,因而将其称为模拟漏洞程序。
所述模拟漏洞程序包括但不限于:窃情类的模拟漏洞程序、致瘫类的模拟漏洞程序或致乱类的模拟漏洞程序。其中,窃情类的模拟漏洞程序能够接收预设的激励报文,并根据预设的激励报文回送预设的响应报文。所述致瘫类的模拟漏洞程序将导致被测系统瘫痪,所述致乱类的模拟漏洞程序将导致被测系统工作紊乱。
在本实施例中,所述模拟漏洞程序为窃情类的模拟漏洞程序。通过在待检测系统包括的多个异构体中分别植入各自不同的窃情类模拟漏洞程序,使得不同异构体能够对不同的激励报文产生响应。不同的模拟漏洞程序产生的响应报文互不相同。在一个异构体中的模拟漏洞程序接收到其对应的激励报文后,该异构体返回给裁决调度器的响应报文是该激励报文对应的预设响应报文。
例如,异构体1中植入模拟漏洞程序1,该漏洞在接收激励报文1后将返回预设响应报文1;异构体2中植入模拟漏洞程序2,该漏洞在接收激励报文2后将返回预设响应报文2;…;以及,异构体N中植入模拟漏洞程序N,该漏洞在接收激励报文N后将返回预设响应报文N。
需要注意的是,所述激励报文是用于测试待检测系统工作情况的通讯报文,为了提高测试质量,在构造激励报文时应尽量使激励报文接近实际通讯过程中的通讯报文。
步骤202,获取至少两个模拟漏洞程序分别对应的激励报文。
在本实施例中,为了保证在确定可预测的时间内即可确定系统是否具有动态性,步骤202获取所有被植入的模拟漏洞程序分别对应的激励报文,向待检测系统发送各个模拟漏洞程序分别对应的激励报文。
需要说明的是,假设待检测系统共包括N个异构功能等价体,在测试该系统是否具有动态性时,也可以仅向该系统发送部分激励报文。然而,在向该系统发送的激励报文的种类数在两个以上、N个以下时,由于无法预知裁决调度器调整异构体上下线状态的具体时间及调整方式等情况,因此可能会导致较长的测试时间。下面举例说明这种情况。
例如,获取两个激励报文1和2,如果激励报文1对应的异构体1处于上线状态,而激励报文2对应的异构体2处于下线状态,则激励报文1使得异构体1下线后,由于不确定异构体2上线的具体时间,而且只有当异构体2上线后才能判定系统具有动态性,因此,将需要较长时间才能判定系统是否具有动态性。
可见,由于无法确定开始检测时系统中各个异构体在线情况,因此,如果向待检测系统发送的激励报文的种类数在两个以上、N个以下时,将导致较长的测试时间。在本实施例中,将待检测系统包括的所有异构体中分别植入的模拟漏洞程序对应的激励报文全部发送至待检测系统;这种处理方式,使得测试时间可预测;因此,可以有效提高测试效率及测试有效性。
步骤203,将获得的激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文。
具体实施时,将获得的激励报文持续发送至待检测系统可包括如下具体步骤:1)获取所述待检测系统的预设动态变化周期;2)根据所述预设动态变化周期,确定激励报文的发送时长;3)在所述发送时长内,将获得的激励报文交替发送至所述待检测系统。
所述预设动态变化周期,是指待检测系统相邻两次异构体在线状态调整的最大时间间隔,裁决调度器根据预设动态变化周期对系统的在线异构体进行调整。所述预设动态变化周期可通过配置文件设置,也可直接设置在裁决调度器中。例如,预设动态变化周期为1小时,则系统每隔1小时会调整一次异构体的在线状态情况。
在本实施例中,待检测系统共包括N个异构体,向待检测系统发送的激励报文的种类数为N个,即全部激励报文,激励报文的发送时长大于2个动态变化周期即可。将激励报文的发送时长设置为大于2个动态变化周期的原因在于,保证在激励报文发送时长内,系统应该至少进行两次异构体在线状态的调整;这种处理方式,能够避免在系统未发生异构体在线状态调整的情况下得出检测结果;因此,可以有效保证检测结果的准确度。
要确定待检测系统是否具有动态性,首先需要获取各个异构体输出的响应报文。要获取各个异构体输出的响应报文,可在异构体与裁决调度器之间设置数据监听接口,以实现获取异构体返回给裁决调度器的响应报文的功能。
在软件动态测试中,程序插桩是一种基本的测试手段。程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。程序插桩,是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”,本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。简而言之,插桩是在程序中插入额外的代码以获得程序在执行时行为的信息。插桩的位置可以是在函数入口处插桩,分支跳转处插桩,函数返回处插桩。
本实施例所述的数据监听接口即可通过程序插桩方法实现,在各个异构体向裁决调度器回送处理结果时,通过数据读取接口将处理结果汇集在一起,形成响应报文序列,以便检测装置对其进行分析,以判定系统是否具有动态性。
参见图3,其为本发明的系统动态性的检测方法的一个实施例的设置数据读取接口的示意图。在本实施例中,测试装置通过接口A将步骤202获得的激励报文发送至待检测系统,测试装置再通过接口B获取各个异构体返回给裁决调度器的响应报文。
步骤204,根据监听到的响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性。
在本实施例中,检测装置向待检测系统发送全部激励报文,在根据监听到的响应报文确定待检测系统是否具有动态性时,可采用如下两种可用的动态性确定算法。
算法一、该算法包括如下具体步骤:1)根据在线异构体数量,对所述多个功能等价体书输出的响应报文序列划分得到多个响应报文子集;2)若存在响应报文子集不同的相邻子集,则确定所述待检测系统具有动态性;若不存在响应报文子集不同的相邻子集,则确定所述待检测系统不具有动态性。
在采用算法一时,检测装置将所述数据监听接口获取到的响应报文以在线异构体数量进行分隔,例如,数据监听接口获取到的响应数据序列为:响应报文1、2、3、1、2、4、5、2、6、…、1、4、5,如果在线异构体数量为3,则分隔后形成的各个响应报文子集分别为:子集1){响应报文1、2、3};子集2){响应报文1、2、4};子集3){响应报文5、2、6};…;子集8){响应报文1、4、5},检测装置检测到子集1(包括响应报文1、2、3)与子集2(包括响应报文1、2、4)不同,由此可判定待检测系统具有动态性。其中,所述在线异构体数量可通过配置文件设置,也可直接设置在检测装置中。
再例如,如果数据监听接口获取到的响应数据序列为:响应报文1、2、3、1、2、3、1、2、3、…、1、2、3,在线异构体数量为3,则分隔后形成的各个响应报文子集分别为:子集1){响应报文1、2、3};子集2){响应报文1、2、3};子集3){响应报文1、2、3};…;子集8){响应报文1、2、3},检测装置检测到不存在响应报文子集不同的相邻子集,由此可判定待检测系统不具有动态性。
下面通过一个系统具有动态性的例子说明本发明实施例提供的方法。假设待检测系统的初始状态为异构体1、2、3在线,检测装置将激励报文1、2、3发送给待检测系统后,异构体1、2、3收到各自对应的激励报文,并发送各自对应的响应报文,接口B监测到响应报文1、2、3;这种情况下,裁决调度器将调整异构体的在线状态,假设待检测系统将异构体1、2、3调整为下线状态,将异构体4、5、6调整为在线状态;当待检测系统处于异构体4、5、6在线的状态时,如果接收到激励报文4、5、6,则异构体4、5、6收到各自对应的激励报文,并发送各自对应的响应报文,接口B监测到响应报文4、5、6;这种情况下,测试装置检测到第一次收到的响应报文1、2、3和第二次收到的响应报文4、5、6并不相同,由此即可判定待检测系统具有动态性。
需要说明的是,由于测试装置无法预知待检测系统将异构体1、2、3下线的时间、以及将异构体4、5、6上线的时间,如果检测装置仅向待检测系统发送一次或两次激励报文,则无法保证当待检测系统处于异构体4、5、6在线的状态时收到响应报文;因此,只有在一段时间内多次发送,才能够实现本发明实施例的测试。在本实施例中,将激励报文的发送时长设置为至少两个动态变化周期。
下面再通过一个系统不具有动态性的例子说明本发明实施例提供的方法。假设待检测系统的初始状态为异构体1、2、3在线,检测装置将激励报文1至激励报文N发送给待检测系统后,异构体1、2、3收到各自对应的激励报文,并向裁决调度器回送各自对应的响应报文,接口B监测到响应报文1、2、3;然而,由于系统不具有动态性,因此异构体的在线状况并未发生变化,检测装置在2个动态变化周期内向待检测系统交替循环发送激励报文1至激励报文N,接口B接收到的响应报文始终为1、2、3;1、2、3;...;1、2、3;这种情况下,测试装置检测到每次收到的响应报文的种类数M均为3、且响应报文的种类始终为响应报文1、2、3不变,由此即可判定待检测系统不具有动态性。
算法二、该算法包括如下具体步骤:1)以响应报文的输出顺序,依次累计响应报文的种类数量及不同响应报文的输出次数;2)在所述输出次数达到预设的次数阈值时,将当前累计的种类数量作为种类数量的阈值;3)在确定所述种类数量的阈值后,若继续累计的种类数量随响应报文的输出发生变化,则确定待检测系统具有动态性;若继续累计的种类数量不随响应报文的输出发生变化,则确定待检测系统不具有动态性。
在采用算法二时,当检测装置开始检测时,可首先将检测状态设置为“假”,当检测状态为“假”时,检测装置将记录已收到的响应报文种类数及接收到的每一种响应报文的数量,当收到同种响应报文的次数超过预设的次数阈值(如3次)时,将检测状态设为“真”,此时累计的响应报文种类数即为所述种类数量的阈值,检测装置该状态下继续进行检测,如果检测到响应报文的种类数相对所述种类数量的阈值始终不增长,则判定系统不具有动态性,若检测装置收到所记录种类之外的响应报文,则判定系统具有动态性。
参见图4,为本申请的系统动态性的检测方法一个实施例的具体流程图。由图4可见,检测装置首先获取全部激励报文,然后从接口A向待检测系统交替发送所有激励报文,当裁决调度器将激励报文全部转发给在线异构体后,对处于非在线状态的异构体将接收不到对应的激励报文,对于处于在线状态的异构体在接收到对应的激励报文后,将触发该异构体的模拟漏洞程序,并返回响应报文,各个异构体返回的响应报文通过接口B汇集,检测装置依据接口B汇集的响应报文序列通过步骤204进行判定系统是否具有动态性。
从上述实施例可以看出,通过在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序,并获取至少两个模拟漏洞程序分别对应的激励报文,再将获得的激励报文持续发送至待检测系统,并监听各个功能等价体输出的响应报文,再根据监听到的响应报文,通过预设的动态性确定算法即可确定待检测系统是否具有动态性。
参见图5,为本申请系统动态性的检测装置一个实施例的结构示意图。所述装置用于执行图2所对应的系统动态性的检测方法。
如图5所示,该系统动态性的检测装置包括:模拟漏洞程序植入单元501,用于在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序;激励报文获取单元502,用于获取至少两个模拟漏洞程序分别对应的激励报文;激励报文发送及响应报文监听单元503,用于将获得的激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文;动态性确定单元504,用于根据监听到的响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的系统动态性的检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请还提供了一种系统异构性的检测方法。请参见图6,为本申请提供的系统异构性的检测方法一个实施例的流程图,该方法包括如下步骤:
步骤601,在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序。
步骤602,获取少于在线功能等价体数量的至少两个模拟漏洞程序分别对应的激励报文。
通过本步骤获取到的激励报文应小于预设的在线功能等价体数量,并且获取到的激励报文至少为两个。
选取的激励报文的数量应小于预设的在线功能等价体数量的原因在于,如果选取的激励报文的数量大于预设的在线功能等价体数量,将导致测试结果过于混乱,不可预期。为了更好地预期和观察结果,本实施例限制选取的激励报文的数量应小于预设的在线功能等价体数量。
步骤603,将获得的至少两个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文。
具体实施时,所述将获得的至少两个激励报文持续发送至所述待检测系统,可包括如下步骤:1)根据所述待检测系统的预设动态变化周期,确定激励报文的发送时长;2)在所述发送时长内,将所述至少两个激励报文持续发送至所述待检测系统。
在本实施例中,所述根据所述待检测系统的预设动态变化周期,并确定激励报文的发送时长,采用如下方式:首先获取待检测系统包括的功能等价体的数量与步骤602获取到的至少两个激励报文的数量的差值;然后再将发送时长设置为该差值倍数的预设动态变化周期,即发送时长=(N-K)T,其中,N为待检测系统包括的功能等价体的数量,K为至少两个激励报文的数量,T为预设动态变化周期。
采用上述公式表达方式确定发送时长的原因在于,保证在激励报文发送时长内,系统应该至少进行N-K次异构体在线状态的调整;这种处理方式,能够避免在系统未发生异构体在线状态调整的情况下得出检测结果;因此,可以有效保证检测结果的准确度。
步骤604,若在激励报文发送结束前监听到所述至少两个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述至少两个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性。
参见图7,为本申请的系统异构性的检测方法一个实施例的具体流程图。在本实施例中,在线异构体数量为4。由图7可见,检测装置首先获取其中任意三个激励报文,然后从接口A向待检测系统交替发送选取的激励报文,当裁决调度器将激励报文全部转发给在线异构体后,处于非在线状态的异构体将接收不到对应的激励报文,处于在线状态的异构体在接收到对应的激励报文后,将触发该异构体的模拟漏洞程序,并返回响应报文,各个异构体返回的响应报文通过接口B汇集,检测装置依据接口B汇集的响应报文序列通过步骤604进行判定系统是否具有异构性,在(N-K)T时间后,观察检测结果接口B是否还有响应报文,若没有,可证明待检测系统在发现异构体出现问题后将该异构体下线,同时使用冗余的异构体进行运作。
在实际应用中,如果在(N-K)T时间内始终只监听到一种响应报文,则可判定待检测系统不具有异构性。
从上述实施例可以看出,通过在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序,并获取少于在线功能等价体数量的至少两个模拟漏洞程序分别对应的激励报文;再将获得的至少两个激励报文持续发送至待检测系统,并监听各个功能等价体输出的响应报文;若在激励报文发送结束前监听到获得的至少两个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到获得的至少两个激励报文分别对应的响应报文,则可确定待检测系统具有异构性,否则可确定待检测系统不具有异构性。
参见图8,为本申请系统异构性的检测装置一个实施例的结构示意图。所述装置用于执行图6所对应的系统异构性的检测方法。
如图8所示,该系统异构性的检测装置包括:模拟漏洞程序植入单元801,用于在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序;激励报文获取单元802,用于获取少于在线功能等价体数量的至少两个模拟漏洞程序分别对应的激励报文;激励报文发送及响应报文监听单元803,用于将获得的至少两个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;异构性确定单元804,用于若在激励报文发送结束前监听到所述至少两个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述至少两个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的系统异构性的检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请还提供了一种系统冗余性的检测方法。请参见图9,为本申请提供的系统冗余性的检测方法一个实施例的流程图,该方法包括如下步骤:
步骤901,在待检测系统包括的多个功能等价体中植入同一模拟漏洞程序。
与上述实施例中在待检测系统包括的多个功能等价体中分别植入各自不同的模拟漏洞程序并不相同,本申请提供的系统冗余性的检测方法是在待检测系统包括的多个功能等价体中植入同一模拟漏洞程序。
步骤902,将所述模拟漏洞程序对应的激励报文发送至所述待检测系统,并监听所述功能等价体输出的响应报文。
具体实施时,可向待检测系统发送一次或多次模拟漏洞程序对应的激励报文。
步骤904,若监听到至少两个与所述激励报文对应的响应报文,则确定所述待检测系统具有冗余性。
从上述实施例可以看出,通过在待检测系统包括的多个功能等价体中植入同一模拟漏洞程序;将所述模拟漏洞程序对应的激励报文发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若监听到至少两个与所述激励报文对应的响应报文,则可确定待检测系统具有冗余性,否则如果仅监听到一个响应报文,则可确定待检测系统不具有冗余性。
参见图10,为本申请系统冗余性的检测装置一个实施例的结构示意图。所述装置用于执行图9所对应的系统冗余性的检测方法。
如图10所示,该系统冗余性的检测装置包括:模拟漏洞程序植入单元1001,用于在待检测系统包括的多个功能等价体中植入同一模拟漏洞程序;激励报文发送及响应报文监听单元1002,用于将所述模拟漏洞程序对应的激励报文发送至所述待检测系统,并监听所述功能等价体输出的响应报文;冗余性确定单元1003,用于若监听到至少两个与所述激励报文对应的响应报文,则确定所述待检测系统具有冗余性。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的系统冗余性的检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请还提供了一种动态异构冗余系统的确定方法。请参见图11,为本申请提供的动态异构冗余系统的确定方法一个实施例的流程图,该方法包括如下步骤:
步骤1101,在待检测系统包括的多个功能等价体中分别植入各自不同的第一模拟漏洞程序;以及,在所述待检测系统包括的多个功能等价体中植入同一第二模拟漏洞程序。
所述第二模拟漏洞程序可以是第一模拟漏洞程序中的任意一个,也可以是一个与第一模拟漏洞程序不同的模拟漏洞程序。
步骤1102,获取至少两个第一模拟漏洞程序分别对应的激励报文,作为第一激励报文集;将所述第一激励报文集内的各个激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文,作为第一响应报文;根据监听到的第一响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性。
本步骤与上述实施例所述的系统动态性的检测方法相对应,此处不再赘述。
步骤1103,获取少于在线功能等价体数量的至少两个第一模拟漏洞程序分别对应的激励报文,作为第二激励报文集;将所述第二激励报文集内的各个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若在所述第二激励报文集内的激励报文发送结束前监听到所述第二激励报文集内的各个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述第二激励报文集内的各个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性。
本步骤与上述实施例所述的系统异构性的检测方法相对应,此处不再赘述。
步骤1104,将所述第二模拟漏洞程序对应的第三激励报文发送至所述待检测系统;若监测到至少两个与所述第三激励报文对应的响应报文,则确定所述待检测系统具有冗余性。
本步骤与上述实施例所述的系统冗余性的检测方法相对应,此处不再赘述。
步骤1105,若所述待检测系统具有所述动态性、异构性和冗余性,则将所述待检测系统确定为动态异构冗余系统。
如果通过步骤1101至步骤1104确定待检测系统具有动态性、异构性和冗余性,则可确定待检测系统为动态异构冗余系统。
从上述实施例可以看出,通过在待检测系统包括的多个功能等价体中分别植入各自不同的第一模拟漏洞程序,及在所述待检测系统包括的多个功能等价体中植入同一第二模拟漏洞程序;并通过获取至少两个第一模拟漏洞程序分别对应的激励报文,作为第一激励报文集;将所述第一激励报文集内的各个激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文,作为第一响应报文;根据监听到的第一响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性;并通过获取少于在线功能等价体数量的至少两个第一模拟漏洞程序分别对应的激励报文,作为第二激励报文集;将所述第二激励报文集内的各个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若在所述第二激励报文集内的激励报文发送结束前监听到所述第二激励报文集内的各个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述第二激励报文集内的各个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性;并通过将所述第二模拟漏洞程序对应的第三激励报文发送至所述待检测系统;若监测到至少两个与所述第三激励报文对应的响应报文,则确定所述待检测系统具有冗余性;若所述待检测系统具有所述动态性、异构性和冗余性,则将所述待检测系统确定为动态异构冗余系统。
参见图12,为本申请动态异构冗余系统的确定装置一个实施例的结构示意图。所述装置用于执行图11所对应的动态异构冗余系统的确定方法。
如图12所示,该动态异构冗余系统的确定装置包括:模拟漏洞程序植入单元1201,用于在待检测系统包括的多个功能等价体中分别植入各自不同的第一模拟漏洞程序;以及,在所述待检测系统包括的多个功能等价体中植入同一第二模拟漏洞程序;动态性确定单元1202,用于获取至少两个第一模拟漏洞程序分别对应的激励报文,作为第一激励报文集;将所述第一激励报文集内的各个激励报文持续发送至待检测系统,并监听所述功能等价体输出的响应报文,作为第一响应报文;根据监听到的第一响应报文,通过预设的动态性确定算法确定所述待检测系统是否具有动态性;异构性确定单元1203,用于获取少于在线功能等价体数量的至少两个第一模拟漏洞程序分别对应的激励报文,作为第二激励报文集;将所述第二激励报文集内的各个激励报文持续发送至所述待检测系统,并监听所述功能等价体输出的响应报文;若在所述第二激励报文集内的激励报文发送结束前监听到所述第二激励报文集内的各个激励报文分别对应的响应报文,并且在激励报文发送结束后监听不到所述第二激励报文集内的各个激励报文分别对应的响应报文,则确定所述待检测系统具有异构性;冗余性确定单元1204,用于将所述第二模拟漏洞程序对应的第三激励报文发送至所述待检测系统;若监测到至少两个与所述第三激励报文对应的响应报文,则确定所述待检测系统具有冗余性;动态异构冗余系统确定单元1205,用于若所述待检测系统具有动态性、异构性和冗余性,则将所述待检测系统确定为动态异构冗余系统。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的动态异构冗余系统的确定方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于各个装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。