基于免疫策略的流量数据最优特征子集获取方法及装置转让专利

申请号 : CN201911260504.6

文献号 : CN110995722B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈硕林秋镇陈剑勇

申请人 : 深圳大学

摘要 :

本发明公开了基于免疫策略的流量数据最优特征子集获取方法、装置、计算机设备及存储介质,由初始化种群和入侵检测数据集一同结合多目标免疫算法,获取种群分布性最佳的进化后非支配个体集,以通过进化后非支配个体集中的个体对客户端的当前网络流量数据进行冗余特征简化后快速分类,降低了数据量,降低了分类的计算复杂度,提高分类性能。

权利要求 :

1.一种基于免疫策略的流量数据最优特征子集获取方法,其特征在于,包括:

根据预设的种群大小值进行初始化,得到初始化种群;其中,所述初始化种群中包括多个个体,多个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列,每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等;

获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集;

调用预先存储的多目标策略,将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合;

调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,并对应获取所述非支配个体集中每一非支配个体分别对应的目标值集合;其中,将所述初始化种群中非支配个体集的补集记为筛选个体集,所述非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值;

调用预设的聚集距离策略以获取所述非支配个体集中每一非支配个体对应的聚集距离,调用预设的克隆概率策略以获取所述非支配个体集中每一非支配个体对应的克隆概率,将所述非支配个体集中每一非支配个体根据对应的克隆概率进行克隆,得到与所述非支配个体集相对应的克隆后个体集;

将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群;

调用所述种群大小值,获取所述进化后种群对应的进化后非支配个体集;其中,将所述进化后种群中进化后非支配个体集的补集记为进化后筛选个体集,所述进化后非支配个体集中每一进化后非支配个体对应的目标值集合各目标值均大于或等于进化后筛选个体集中每一进化后筛选个体对应的目标值集合各目标值;所述进化后非支配个体集中的进化后非支配个体的总个数等于所述种群大小值;

获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;其中,所述当前迭代代数的初始值为0;

若所述当前迭代代数达到所述最大迭代代数,将所述进化后非支配个体集输出以作为最佳特征子集。

2.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集,包括:获取预先存储的入侵检测数据集,及所述入侵检测数据集包括的每一网络流量数据;

其中,所述入侵检测数据集中包括5种类型的网络流量数据集,所述入侵检测数据集中每一网络流量数据的分类结果真实类型为正例;

将各网络流量数据根据初始化种群中每一个体进行特征选择并简化,得到与每一个体对应的简化后入侵检测数据集;其中,所述简化后入侵检测数据集中每一简化网络流量数据的分类结果真实类型为正例;

将每一个体对应的简化后入侵检测数据集均对应根据预先训练的自组织神经网络进行分类,得到每一个体对应的分类结果集;其中,所述分类结果集中包括5种分类结果子集,每一分类结果子集对应一种类型的简化网络流量数据。

3.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述多目标策略对应的公式为JM(k)=TPk/(TPk+FNk+FPk);其中,k对应的取值集合为{1,

2,3,4,5},M的取值集合为{1,2,……,L}且L与所述种群大小值相等,JM(k)为第M个个体的第k类型的简化网络流量数据对应的目标值,且JM(1)、JM(2)、JM(3)、JM(4)、JM(5)组成第M个个体对应的目标值集合,TPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为正例的第一总个数值,FNMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为负例的第二总个数值,FPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为负例且分类结果预测类型为正例的第三总个数值;

所述将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合,包括:根据JM(k)=TPk/(TPk+FNk+FPk)获取与每一个体对应的分类结果集相对应的目标值集合。

4.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,包括:将所述初始化种群划分为多个初始化种群子集,分别记为Q1至Qm;其中,多个初始化种群子集Q1至Qm的并集为所述初始化种群,多个初始化种群子集Q1至Qm中任意两个初始化种群子集的交集为空集,且Q1≥Q2≥Q3≥……≥Qm。

5.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述聚集距离策略为 CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离,P[i+1].Ji+1(k)表示第i+1个非支配个体的第k个目标值,P[i-1].Ji-1(k)表示第i-1个非支配个体的第k个目标值,当i-1=0时将P[i-1].Ji-1(k)置为P[X].JX(k),其中X的取值大小为所述非支配个体集中非支配个体的总个数;

所述克隆概率策略为 q(i)表示所述非支配个体集中第i

个非支配个体对应的克隆概率,nC的取值为种群大小值,nA表示克隆比例参数,CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离, 表示向上取整运算。

6.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群,包括:将所述克隆后个体集与所述初始化种群进行混合并去重,得到当前种群;

将所述当前种群中的个体依次经过交叉处理和变异处理,得到进化后种群。

7.根据权利要求1所述的基于免疫策略的流量数据最优特征子集获取方法,其特征在于,所述获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数之后,还包括:若所述当前迭代代数未达到所述最大迭代代数,获取所述当前迭代代数,将所述进化后非支配个体集作为初始化种群,返回执行获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集的步骤。

8.一种基于免疫策略的流量数据最优特征子集获取装置,其特征在于,包括:

初始化种群获取单元,用于根据预设的种群大小值进行初始化,得到初始化种群;其中,所述初始化种群中包括多个个体,多个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列,每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等;

分类结果集获取单元,用于获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集;

目标值集合获取单元,用于调用预先存储的多目标策略,将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合;

非支配个体集获取单元,用于调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,并对应获取所述非支配个体集中每一非支配个体分别对应的目标值集合;其中,将所述初始化种群中非支配个体集的补集记为筛选个体集,所述非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值;

克隆后个体集获取单元,用于调用预设的聚集距离策略以获取所述非支配个体集中每一非支配个体对应的聚集距离,调用预设的克隆概率策略以获取所述非支配个体集中每一非支配个体对应的克隆概率,将所述非支配个体集中每一非支配个体根据对应的克隆概率进行克隆,得到与所述非支配个体集相对应的克隆后个体集;

进化后种群获取单元,用于将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群;

种群更新单元,用于调用所述种群大小值,获取所述进化后种群对应的进化后非支配个体集;其中,将所述进化后种群中进化后非支配个体集的补集记为进化后筛选个体集,所述进化后非支配个体集中每一进化后非支配个体对应的目标值集合各目标值均大于或等于进化后筛选个体集中每一进化后筛选个体对应的目标值集合各目标值;所述进化后非支配个体集中的进化后非支配个体的总个数等于所述种群大小值;

迭代代数判断单元,用于获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;其中,所述当前迭代代数的初始值为0;

最佳特征子集输出单元,用于若所述当前迭代代数达到所述最大迭代代数,将所述进化后非支配个体集输出以作为最佳特征子集。

9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于免疫策略的流量数据最优特征子集获取方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的基于免疫策略的流量数据最优特征子集获取方法。

说明书 :

基于免疫策略的流量数据最优特征子集获取方法及装置

技术领域

[0001] 本发明涉及网络入侵检测技术领域,尤其涉及一种基于免疫策略的流量数据最优特征子集获取方法、装置、计算机设备及存储介质。

背景技术

[0002] 随着互联网的普及和技术的快速发展,出现了越来越多的网络入侵事件。作为一种广泛使用的预防技术,入侵检测系统(IDS)已经变得越来越重要,这也是近年来研究的热点。
[0003] IDS是一种分类器,用于分析网络流量数据类型,可以准确地识别网络的各种攻击。IDS部署在服务器时,来自外部网络的数据通过防火墙先到达IDS,由IDS评估数据的类型并将其返回给防火墙,普通数据可以通过防火墙到达服务器,而攻击数据将被防火墙过滤。
[0004] 通常网络流量数据非常庞大,并且具有某些冗余或不相关的特征,传统的IDS没有选择和提取网络流量特征,而是使用完整的流量数据,这会降低分类速度,甚至影响分类精度。

发明内容

[0005] 本发明实施例提供了一种基于免疫策略的流量数据最优特征子集获取方法、装置、计算机设备及存储介质,旨在解决现有技术中入侵检测系统没有选择和提取网络流量特征,而是使用完整的流量数据,这会降低分类速度,甚至影响分类精度的问题。
[0006] 第一方面,本发明实施例提供了一种基于免疫策略的流量数据最优特征子集获取方法,应用于客户端,其包括:
[0007] 根据预设的种群大小值进行初始化,得到初始化种群;其中,所述初始化种群中包括多个个体,多个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列,每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等;
[0008] 获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集;
[0009] 调用预先存储的多目标策略,将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合;
[0010] 调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,并对应获取所述非支配个体集中每一非支配个体分别对应的目标值集合;其中,将所述初始化种群中非支配个体集的补集记为筛选个体集,所述非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值;
[0011] 调用预设的聚集距离策略以获取所述非支配个体集中每一非支配个体对应的聚集距离,调用预设的克隆概率策略以获取所述非支配个体集中每一非支配个体对应的克隆概率,将所述非支配个体集中每一非支配个体根据对应的克隆概率进行克隆,得到与所述非支配个体集相对应的克隆后个体集;
[0012] 将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群;
[0013] 调用所述种群大小值,获取所述进化后种群对应的进化后非支配个体集;其中,将所述进化后种群中进化后非支配个体集的补集记为进化后筛选个体集,所述进化后非支配个体集中每一进化后非支配个体对应的目标值集合各目标值均大于或等于进化后筛选个体集中每一进化后筛选个体对应的目标值集合各目标值;所述进化后非支配个体集中的进化后非支配个体的总个数等于所述种群大小值;
[0014] 获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;其中,所述当前迭代代数的初始值为0;
[0015] 若所述当前迭代代数达到所述最大迭代代数,将所述进化后非支配个体集输出以作为最佳特征子集。
[0016] 第二方面,本发明实施例提供了一种基于免疫策略的流量数据最优特征子集获取装置,其包括用于执行上述第一方面所述的基于免疫策略的流量数据最优特征子集获取方法的单元。
[0017] 第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于免疫策略的流量数据最优特征子集获取方法。
[0018] 第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于免疫策略的流量数据最优特征子集获取方法。
[0019] 本发明实施例提供了一种基于免疫策略的流量数据最优特征子集获取方法、装置、计算机设备及存储介质,由初始化种群和入侵检测数据集一同结合多目标免疫算法,获取种群分布性最佳的进化后非支配个体集,以通过进化后非支配个体集中的个体对客户端的当前网络流量数据进行冗余特征简化后快速分类,降低了数据量,降低了分类的计算复杂度,提高分类性能。

附图说明

[0020] 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的应用场景示意图;
[0022] 图2为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的流程示意图;
[0023] 图3为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的子流程示意图;
[0024] 图4为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的另一子流程示意图;
[0025] 图5为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取装置的示意性框图;
[0026] 图6为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取装置的子单元示意性框图;
[0027] 图7为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取装置的另一子单元示意性框图;
[0028] 图8为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0031] 还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0032] 还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0033] 请参阅图1和图2,图1为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的应用场景示意图;图2为本发明实施例提供的基于免疫策略的流量数据最优特征子集获取方法的流程示意图,该基于免疫策略的流量数据最优特征子集获取方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
[0034] 如图2所示,该方法包括步骤S101~S109。
[0035] S101、根据预设的种群大小值进行初始化,得到初始化种群;其中,所述初始化种群中包括多个个体,多个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列,每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等。
[0036] 为了更清楚的理解本申请的技术方案,下面对所涉及到的终端进行介绍。本申请是在服务器的角度描述技术方案。
[0037] 第一是客户端,客户端可以理解为用户终端,用户终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备,用户终端产生网络流量数据并经过交换机之后上传至服务器。
[0038] 第二是交换机,用于为接入交换机的任意两个网络节点提供独享的电信号通路。例如用户终端1和用户终端2进入交换机之后,用户终端1独享一条电信号通路,用户终端2独享另一条电信号通路。
[0039] 第三是服务器,防火墙部署于服务器中,而IDS(即入侵检测系统)部署于防火墙中,防火墙中的IDS可以对用户终端上传的网络流量数据进行数据类型的判断,若用户终端上传的网络流量数据是攻击类型的数据则防火墙对该网络流量数据进行拦截,若用户终端上传的网络流量数据是非攻击类型的数据则防火墙对该网络流量数据进行放行。
[0040] 在本实施例中,为了通过服务器获取网络流量数据对应的最优特征子集,先是通过服务器根据预设的种群大小值初始化得到初始化种群。例如,一条网络流量数据有41个属性数据(可以理解为该条网络流量数据有41个字段,每一字段有对应的字段取值),此时初始化种群中包括多个个体,个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列。每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等,即每一个体对应的二进制序列中包括的特征数量也是41个,这41个特征的取值为0或1,0代表删除对应位置的特征,1代表选择对应位置的特征。
[0041] 当完成了初始化,得到了初始化种群后,即可根据初始化种群中的每一个个体对后续的入侵检测数据集中每一入侵检测数据进行特征选择和简化。
[0042] S102、获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集。
[0043] 在本实施例中,服务器中预先存储了NSL-KDD数据集(NSL-KDD数据集即为一种常用的入侵检测数据集),而且也预先存储了预先训练的自组织神经网络。例如初始化得到了初始化种群后,将初始化种群中的个体分别记为A1-AM、M的取值集合为{1,2,……,X1}且X1与所述种群大小值相等;将入侵检测数据集的入侵检测数据分别记为B1-BN、N的取值集合为{1,2,……,X2}且X2与所述入侵检测数据的总数据条数相等。
[0044] 此时以个体A1为例,其对入侵检测数据B1-BN分别进行特征选择后,例如入侵检测数据B1中有41个字段取值,而A1中也是一个有41个取值的二进制序列,A1中仅有第二位-第四位的取值为1且其他位的取值为0,此时入侵检测数据B1-BN分别根据A1进行特征选择后,得到与入侵检测数据B1-BN分别对应的简化后入侵检测数据A1 B1-A1 BN,此时简化后入侵检测数据A1 B1-A1 BN中均仅有第二位-第四位的保留了原有取值且其他位的取值均被简化为0。同理,个体对入侵检测数据集中其他入侵检测数据的特征选择和简化过程均可参考上述过程。
[0045] 在一实施例中,如图3所示,步骤S102包括:
[0046] S1021、获取预先存储的入侵检测数据集,及所述入侵检测数据集包括的每一网络流量数据;其中,所述入侵检测数据集中包括5种类型的网络流量数据集,所述入侵检测数据集中每一网络流量数据的分类结果真实类型为正例;
[0047] S1022、将各网络流量数据根据初始化种群中每一个体进行特征选择并简化,得到与每一个体对应的简化后入侵检测数据集;其中,所述简化后入侵检测数据集中每一简化网络流量数据的分类结果真实类型为正例;
[0048] S1023、将每一个体对应的简化后入侵检测数据集均对应根据预先训练的自组织神经网络进行分类,得到每一个体对应的分类结果集;其中,所述分类结果集中包括5种分类结果子集,每一分类结果子集对应一种类型的简化网络流量数据。
[0049] 在本实施例中,由于所述入侵检测数据集包括5种攻击类型的网络流量数据(例如拒绝服务就是攻击类型中的其中一种),则将各网络流量数据根据初始化种群中每一个体进行特征选择并简化,得到与每一个体对应的简化后入侵检测数据集。而与每一个体对应的简化后入侵检测数据集,也是包括5种攻击类型的简化网络流量数据。
[0050] 最后对每一个体对应的简化后入侵检测数据集均对应根据所述自组织神经网络进行分类,得到每一个体对应的分类结果集。由于每一个体对应的简化后入侵检测数据集包括5种攻击类型的简化网络流量数据,对其进行分类后得到的分类结果集中包括5种分类结果子集,每一分类结果子集对应一种攻击类型的简化网络流量数据。
[0051] 由于入侵检测数据集是用于训练自组织神经网络的数据集,故其中每一条入侵检测数据的分类结果真实类型为正例(即该条入侵检测数据实际对应的分类结果一定是正例,表示该条入侵检测数据代表某一种攻击类型的网络流量数据),而自组织神经网络对该条入侵检测数据的预测结果有可能是正例或者负例,这样将每一个体对应的简化后入侵检测数据集均对应根据预先训练的自组织神经网络进行分类,得到每一个体对应的分类结果集,所得到的每一个体对应的分类结果集中每一分类结果是预测结果,并非该条入侵检测数据的实际结果。
[0052] S103、调用预先存储的多目标策略,将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合。
[0053] 在本实施例中,由于每一个体对应的分类结果集中每一分类结果是预测结果,而每一入侵检测数据还对应一个真实结果,故可以作为多目标策略进行优化的目标,根据进化算法的策略直至种群收敛或达到停止条件,从而选出最优的特征子集。
[0054] 在一实施例中,步骤S103中多目标策略对应的公式为JM(k)=TPk/(TPk+FNk+FPk);其中,k对应的取值集合为{1,2,3,4,5},M的取值集合为{1,2,……,L}且L与所述种群大小值相等,JM(k)为第M个个体的第k类型的简化网络流量数据对应的目标值,且JM(1)、JM(2)、JM(3)、JM(4)、JM(5)组成第M个个体对应的目标值集合,TPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为正例的第一总个数值,FNMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为负例的第二总个数值,FPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为负例且分类结果预测类型为正例的第三总个数值。具体实施时,即根据JM(k)=TPk/(TPk+FNk+FPk)获取与每一个体对应的分类结果集相对应的目标值集合。
[0055] 由于入侵检测数据集有五种攻击类型,所以每个个体有五个目标值,根据上述多目标策略对应的公式,分别计算出对应攻击类型的JM(k)作为目标值,即每个个体是一个二进制序列且有五个目标值,具体为由JM(1)、JM(2)、JM(3)、JM(4)、JM(5)组成第M个个体对应的目标值集合。通过获取每个个体对应的目标值集合,能作为后续选择较佳性能的个体提供参考。
[0056] S104、调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,并对应获取所述非支配个体集中每一非支配个体分别对应的目标值集合;其中,将所述初始化种群中非支配个体集的补集记为筛选个体集,所述非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值。
[0057] 在本实施例中,所述克隆比例参数用于限定从初始化种群中具体挑选多少个较佳性能的个体,例如初始化种群中有L个个体,可以设定克隆比例参数为6,即从初始化种群的L个个体中挑选6个较佳性能的个体。
[0058] 在一实施例中,步骤S104包括:
[0059] 将所述初始化种群划分为多个初始化种群子集,分别记为Q1至Qm;其中,多个初始化种群子集Q1至Qm的并集为所述初始化种群,多个初始化种群子集Q1至Qm中任意两个初始化种群子集的交集为空集,且Q1≥Q2≥Q3≥……≥Qm。
[0060] 在本实施例例中,获取初始化种群中的非支配个体集时,可进行非支配排序,构造非支配集。构造非支配集的具体过程如下:
[0061] 对将所述初始化种群划分为多个初始化种群子集,分别记为Q1至Qm,其中Q1至Qm满足以下性质:
[0062]
[0063]
[0064] 3)Q1≥Q2≥Q3≥……≥Qm,即Qi+1中的个体受Qi中个体的支配。
[0065] 其中,1)中表示Q1至Qm求并后的结果是初始化种群。经过上述非支配排序后,得到的非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值。通过非支配排序,即可在排序靠前的子集中根据克隆比例参数挑选对应个数的个体,以组成非支配个体集。
[0066] 例如Q1中包括2个个体,Q2中包括4个个体,此时克隆比例参数为6,则从Q1挑选全部2个个体并从Q2中挑选全部4个个体,以组成非支配个体集。由于该非支配个体集中的每一个体之前以对应计算获取其目标值集合,此时根据初始化种群中各个体对应的目标值集合,对应获取非支配个体集中每一非支配个体分别对应的目标值集合。通过这一方式即从初始化种群的L个个体中挑选6个较佳性能的个体。
[0067] S105、调用预设的聚集距离策略以获取所述非支配个体集中每一非支配个体对应的聚集距离,调用预设的克隆概率策略以获取所述非支配个体集中每一非支配个体对应的克隆概率,将所述非支配个体集中每一非支配个体根据对应的克隆概率进行克隆,得到与所述非支配个体集相对应的克隆后个体集。
[0068] 在本实施例中,为了获知对所述非支配个体集中每一个体分别克隆出几个个体,此时可以结合聚焦距离和克隆概率来计算。
[0069] 通常优秀的个体聚焦距离更大,为了保证算法的收敛性,可根据克隆比例参数nA选择少数聚焦距离更大的非支配个体进行克隆,并且第i个体的克隆概率q(i)与其聚集距离成正比。由于每个个体的克隆概率不一样,一些聚焦距离更大的优秀个体,更有可能在这一代被选择进行后面的克隆操作,从而对资源进行了更合理的分配,使得性能表现好的个体能够被更多的克隆,从而能够加快种群的收敛速度。
[0070] 在一实施例中,步骤S105中所述聚集距离策略为:
[0071]
[0072] 其中,CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离,P[i+1].Ji+1(k)表示第i+1个非支配个体的第k个目标值,P[i-1].Ji-1(k)表示第i-1个非支配个体的第k个目标值,当i-1=0时将P[i-1].Ji-1(k)置为P[X].JX(k),其中X的取值大小为所述非支配个体集中非支配个体的总个数;
[0073] 所述克隆概率策略为:
[0074]
[0075] 其中,q(i)表示所述非支配个体集中第i个非支配个体对应的克隆概率,nC的取值为种群大小值,nA表示克隆比例参数,CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离, 表示向上取整运算。与所述非支配个体集相对应的克隆后个体集中所包括的个体总数量与种群大小值相等。
[0076] 通过上述聚集距离策略和克隆概率策略,即可获取所述非支配个体集中每一非支配个体对应的克隆概率,从而挑选一些性能表现好的个体能够被更多的克隆,从而能够加快种群的收敛速度。
[0077] S106、将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群。
[0078] 在本实施例中,由于与所述非支配个体集相对应的克隆后个体集中所包括的个体总数量与种群大小值相等,此时克隆后个体集可以视为性能更好的克隆种群。将克隆后个体集与初始化种群进行混合后去除重复的个体,种群的分布性将得到更好的提升和保障。之后再参考步骤S104中非支配个体集的获取方式,可以在进化后种群中获取个体总数量与种群大小值相等的进化后非支配个体集。
[0079] 在一实施例中,如图4所示,步骤S106包括:
[0080] S1061、将所述克隆后个体集与所述初始化种群进行混合并去重,得到当前种群;
[0081] S1062、将所述当前种群中的个体依次经过交叉处理和变异处理,得到进化后种群。
[0082] 在本实施例中,将所述克隆后个体集中L个个体与所述初始化种群中L个个体进行混合后,得到一个由2L个个体的混合种群,此时将混合种群中相同的个体进行合并且仅保留其中一个个体,经过混合和去重处理后,得到了得到当前种群。
[0083] 其中,交叉处理的过程是随机挑两个个体,然后随机选定这两个个体的同一个位置(例如个体1和个体2均为由41个取值组成的二进制序列,二进制序列中每一位的取值为0或1,此时均选中二进制序列中的第10位),把两个个体分别截断成两部分,交换这两部分,就各自生成了两个新的个体。具体就是将个体1原来前10位取值与个体2原来后31位取值组合形成新的个体1,将个体2原来前10位取值与个体1原来后31位取值组合形成新的个体2。
[0084] 变异处理的过程是将某一个体中的其中一位或多位的取值从原始取值变化为另一个值,例如某一个体的二进制序列中的其中一位的原始取值为0,此时变化为1及可以理解为发生了变异。通过将当前种群中的个体进行交叉处理和变异处理,进一步提升种群的分布性。
[0085] S107、调用所述种群大小值,获取所述进化后种群对应的进化后非支配个体集;其中,将所述进化后种群中进化后非支配个体集的补集记为进化后筛选个体集,所述进化后非支配个体集中每一进化后非支配个体对应的目标值集合各目标值均大于或等于进化后筛选个体集中每一进化后筛选个体对应的目标值集合各目标值;所述进化后非支配个体集中的进化后非支配个体的总个数等于所述种群大小值。
[0086] 在本实施例中,由于进化后种群中个体的总数量不一定等于所述种群大小值,此时为了完成对种群的更新操作,此时还需要对进化后种群进行非支配排序,得到个体的总数量与所述种群大小值相等的进化后非支配个体集。对进化后种群中获取进化后非支配个体集的过程参考步骤S140。
[0087] S108、获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;其中,所述当前迭代代数的初始值为0。
[0088] 在本实施例中,由于在服务器中是预先设置了最大迭代代数,在通过执行完一次步骤S102-S107得到进化后非支配个体集后,此时可以先获取当前迭代代数,一般当前迭代代数的初始值为0,执行完一次步骤S102-S107,此时在当前迭代代数的初始值0的基础上加1,将当前迭代代数更新为1,通过判断所述当前迭代代数是否达到预设的最大迭代代数从而确定是否继续重复迭代以获取性能更佳的进化后非支配个体集。例如此时最大迭代代数设置为1,此时当前迭代代数为1并可判定其已达到最大迭代代数,此时无需继续进行迭代。
[0089] S109、若所述当前迭代代数达到所述最大迭代代数,将所述进化后非支配个体集输出以作为最佳特征子集。
[0090] 在本实施例中,若所述当前迭代代数达到所述最大迭代代数,此时无需继续进行迭代,直接将所述进化后非支配个体集输出至服务器的IDS中以作为最佳特征子集。
[0091] 由于服务器的IDS中部署了最佳特征子集,当有客户端发送了当前网络流量数据至服务器以先到达防火墙处时,防火墙中的入侵检测系统中的最佳特征子集对当前网络流量数据进行特征选择和简化,最后通过预先训练的自组织神经网络进行分类而判断该数据是否为攻击类型的网络流量数据,从而确定是否通过防火墙进行拦截。由于对当前网络流量数据通过最佳特征子集进行了冗余特征的简化,降低了数据量,降低了分类的计算复杂度,提高分类性能。
[0092] 在一实施例中,如图2所示,步骤S108之后还包括:
[0093] S110、若所述当前迭代代数未达到所述最大迭代代数,获取所述当前迭代代数,将所述进化后非支配个体集作为初始化种群,返回执行步骤S102。
[0094] 在本实施例中,若所述当前迭代代数未达到所述最大迭代代数,表示还需进一步提升种群的分布性,此时返回多次迭代执行步骤S102-S107即可,直至达到所述当前迭代代数达到所述最大迭代代数才停止。
[0095] 该方法实现了由初始化种群和入侵检测数据集一同结合多目标免疫算法,获取种群分布性最佳的进化后非支配个体集,以通过进化后非支配个体集中的个体对客户端的当前网络流量数据进行冗余特征简化后快速分类,降低了数据量,降低了分类的计算复杂度,提高分类性能。
[0096] 本发明实施例还提供一种基于免疫策略的流量数据最优特征子集获取装置,该基于免疫策略的流量数据最优特征子集获取装置用于执行前述基于免疫策略的流量数据最优特征子集获取方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的基于免疫策略的流量数据最优特征子集获取装置的示意性框图。该基于免疫策略的流量数据最优特征子集获取装置100可以被配置于服务器中。
[0097] 如图5所示,基于免疫策略的流量数据最优特征子集获取装置100包括初始化种群获取单元101、分类结果集获取单元102、目标值集合获取单元103、非支配个体集获取单元104、克隆后个体集获取单元105、进化后种群获取单元106、种群更新单元107、迭代代数判断单元108、最佳特征子集输出单元109。
[0098] 其中,初始化种群获取单元101,用于根据预设的种群大小值进行初始化,得到初始化种群;其中,所述初始化种群中包括多个个体,多个个体的总个数与所述种群大小值相等,每一个体对应一个二进制序列,每一个体对应的二进制序列中包括的特征数量与网络流量数据的特征数量相等。
[0099] 分类结果集获取单元102,用于获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集。
[0100] 在一实施例中,如图6所示,分类结果集获取单元102包括:
[0101] 入侵检测数据集获取单元1021,用于获取预先存储的入侵检测数据集,及所述入侵检测数据集包括的每一网络流量数据;其中,所述入侵检测数据集中包括5种类型的网络流量数据集,所述入侵检测数据集中每一网络流量数据的分类结果真实类型为正例;
[0102] 特征简化单元1022,用于将各网络流量数据根据初始化种群中每一个体进行特征选择并简化,得到与每一个体对应的简化后入侵检测数据集;其中,所述简化后入侵检测数据集中每一简化网络流量数据的分类结果真实类型为正例;
[0103] 数据分类单元1023,用于将每一个体对应的简化后入侵检测数据集均对应根据预先训练的自组织神经网络进行分类,得到每一个体对应的分类结果集;其中,所述分类结果集中包括5种分类结果子集,每一分类结果子集对应一种类型的简化网络流量数据。
[0104] 目标值集合获取单元103,用于调用预先存储的多目标策略,将所述初始化种群中每一个体对应的分类结果集作为多目标策略的输入,获取所述初始化种群中每一个体对应的分类结果集相对应的目标值集合。
[0105] 在一实施例中,步骤目标值集合获取单元103中多目标策略对应的公式为JM(k)=TPk/(TPk+FNk+FPk);其中,k对应的取值集合为{1,2,3,4,5},M的取值集合为{1,2,……,L}且L与所述种群大小值相等,JM(k)为第M个个体的第k类型的简化网络流量数据对应的目标值,且JM(1)、JM(2)、JM(3)、JM(4)、JM(5)组成第M个个体对应的目标值集合,TPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为正例的第一总个数值,FNMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为正例且分类结果预测类型为负例的第二总个数值,FPMk为第M个个体第k类型的简化网络流量数据中分类结果真实类型为负例且分类结果预测类型为正例的第三总个数值。具体实施时,即根据JM(k)=TPk/(TPk+FNk+FPk)获取与每一个体对应的分类结果集相对应的目标值集合。
[0106] 非支配个体集获取单元104,用于调用预先设置的克隆比例参数,获取所述初始化种群对应的非支配个体集,并对应获取所述非支配个体集中每一非支配个体分别对应的目标值集合;其中,将所述初始化种群中非支配个体集的补集记为筛选个体集,所述非支配个体集中每一非支配个体对应的目标值集合各目标值均大于或等于筛选个体集中每一筛选个体对应的目标值集合各目标值。
[0107] 在一实施例中,非支配个体集获取单元104还用于:
[0108] 将所述初始化种群划分为多个初始化种群子集,分别记为Q1至Qm;其中,多个初始化种群子集Q1至Qm的并集为所述初始化种群,多个初始化种群子集Q1至Qm中任意两个初始化种群子集的交集为空集,且Q1≥Q2≥Q3≥……≥Qm。
[0109] 克隆后个体集获取单元105,用于调用预设的聚集距离策略以获取所述非支配个体集中每一非支配个体对应的聚集距离,调用预设的克隆概率策略以获取所述非支配个体集中每一非支配个体对应的克隆概率,将所述非支配个体集中每一非支配个体根据对应的克隆概率进行克隆,得到与所述非支配个体集相对应的克隆后个体集。
[0110] 在一实施例中,克隆后个体集获取单元105中所述聚集距离策略为:
[0111]
[0112] 其中,CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离,P[i+1].Ji+1(k)表示第i+1个非支配个体的第k个目标值,P[i-1].Ji-1(k)表示第i-1个非支配个体的第k个目标值,当i-1=0时将P[i-1].Ji-1(k)置为P[X].JX(k),其中X的取值大小为所述非支配个体集中非支配个体的总个数;
[0113] 所述克隆概率策略为:
[0114]
[0115] 其中,q(i)表示所述非支配个体集中第i个非支配个体对应的克隆概率,nC的取值为种群大小值,nA表示克隆比例参数,CrowdDis(i)表示所述非支配个体集中第i个非支配个体对应的聚集距离, 表示向上取整运算。与所述非支配个体集相对应的克隆后个体集中所包括的个体总数量与种群大小值相等。
[0116] 进化后种群获取单元106,用于将所述克隆后个体集与所述初始化种群依次进行混合、去重、交叉处理和变异处理,得到进化后种群。
[0117] 在一实施例中,如图7所示,进化后种群获取单元106包括:
[0118] 混合去重单元1061,用于将所述克隆后个体集与所述初始化种群进行混合并去重,得到当前种群;
[0119] 交叉变异单元1062,用于将所述当前种群中的个体依次经过交叉处理和变异处理,得到进化后种群。
[0120] 种群更新单元107,用于调用所述种群大小值,获取所述进化后种群对应的进化后非支配个体集;其中,将所述进化后种群中进化后非支配个体集的补集记为进化后筛选个体集,所述进化后非支配个体集中每一进化后非支配个体对应的目标值集合各目标值均大于或等于进化后筛选个体集中每一进化后筛选个体对应的目标值集合各目标值;所述进化后非支配个体集中的进化后非支配个体的总个数等于所述种群大小值。
[0121] 迭代代数判断单元108,用于获取当前迭代代数,将所述当前迭代代数加一以作为当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;其中,所述当前迭代代数的初始值为0。
[0122] 最佳特征子集输出单元109,用于若所述当前迭代代数达到所述最大迭代代数,将所述进化后非支配个体集输出以作为最佳特征子集。
[0123] 在一实施例中,如图5所示,所述基于免疫策略的流量数据最优特征子集获取装置100还包括:
[0124] 迭代控制单元110,用于若所述当前迭代代数未达到所述最大迭代代数,获取所述当前迭代代数,将所述进化后非支配个体集作为初始化种群,返回执行获取预先存储的入侵检测数据集,通过所述初始化种群中每一个体对所述入侵检测数据集进行特征选择及输入至预先训练的自组织神经网络进行分类,得到所述初始化种群中每一个体对应的分类结果集的步骤。
[0125] 该装置实现了由初始化种群和入侵检测数据集一同结合多目标免疫算法,获取种群分布性最佳的进化后非支配个体集,以通过进化后非支配个体集中的个体对客户端的当前网络流量数据进行冗余特征简化后快速分类,降低了数据量,降低了分类的计算复杂度,提高分类性能。
[0126] 上述基于免疫策略的流量数据最优特征子集获取装置可以实现为计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
[0127] 请参阅图8,图8是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0128] 参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
[0129] 该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于免疫策略的流量数据最优特征子集获取方法。
[0130] 该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
[0131] 该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于免疫策略的流量数据最优特征子集获取方法。
[0132] 该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0133] 其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于免疫策略的流量数据最优特征子集获取方法。
[0134] 本领域技术人员可以理解,图8中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
[0135] 应当理解,在本发明实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0136] 在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于免疫策略的流量数据最优特征子集获取方法。
[0137] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0138] 在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0139] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0140] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。