网络数据入侵检测方法、系统、终端及存储介质与流程

文档序号:21102963发布日期:2020-06-16 20:59阅读:221来源:国知局
网络数据入侵检测方法、系统、终端及存储介质与流程

本发明涉及网络入侵检测技术领域,具体涉及一种网络数据入侵检测方法、系统、终端及存储介质。



背景技术:

随着大数据和云计算的迅速发展,网络入侵手段呈现隐蔽性、静默性的特点,人们对于网络安全的需求日益增加。但随着数据量的增加,主流的网络入侵模型进行入侵识别效率越来越低下。因为这些数据不仅规模庞大,而且维度较高,存在着大量的冗余信息,这些无关的信息会极大降低入侵检测的效果。特征选择是解决这种问题的一种有效手段,良好的特征选择算法可以有效的剔除分类数据中存在的冗余特征或噪声数据,提升入侵检测的速度和准确度。因此性能稳健的特征选择算法对入侵检测的识别是非常重要的。

fcbf算法是特征选择算法中的典型算法,该方法主要包括两个步骤:去除不相干的特征、采用顺序前向搜索算法去除冗余特征。fcbf算法设置阈值,认为特征与类的相关性低于阈值的特征所在位置的相关性为不相干的特征,因此去除不相干的特征可以极大的降低数据的维度。剩下的相关特征采用顺序前向搜索的算法剔除特征子集中的冗余特征,从而得到最终的特征子集。

采用fcbf的算法主要存在的问题是:

fcbf特征选择算法在进行特征选择时,把所有的样本同时进行计算,从而得到最终的特征子集。特征选择的过程只执行一次,这种方式得到的特征子集对当前所有样本在特定的评估准则下是有效的。但这种方式得到特征子集容易出现过拟合的情况,一旦样本集合发生变动,特征子集也将不适用新的样本集合,采用原有的特征子集进行分类会导致分类正确率降低。



技术实现要素:

针对现有技术的上述不足,本发明提供一种网络数据入侵检测方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种网络数据入侵检测方法,包括:

采集网络传输数据作为样本数据并将所述样本数据划分为多组,所述网络传输数据包括正常数据和入侵数据;

利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,将去除冗余特征的数据组作为亲系集合;

对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合;

利用遗传变异算法计算所述初始集合的变异集合,并通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,迭代筛选出与目标类别相关度最高的数据集合;

将所述与目标类别相关度最高的数据集合作为特征子集,根据所述特征子集对网络传输数据进行特征提取和特征检测。

进一步的,所述利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,包括:

计算各组内数据特征与目标类别的相关度,其中相关度等于两倍的数据特征与目标类别之积除以数据特征信息熵与目标类别信息熵之和;

将相关度低于预设相关阈值的特征所属数据删除;

将与同组其他数据特征的相关度超过与目标类别相关度的特征数据删除。

进一步的,所述对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合,包括:

将多个亲系集合两两进行单点交叉处理,得到多个子系集合;

分别计算所有亲系集合和子系集合与目标类别的相关度;

筛选出预设亲系数量的相关度最高的集合作为下代亲系集合,并删除其他集合;

循环执行对最新代的亲系集合的单点交叉处理和筛选迭代直至迭代次数达到预设遗传次数;

从当前所有集合中选取与目标类别相关度最高的集合作为初始集合。

进一步的,所述利用遗传变异算法计算所述初始集合的变异集合,包括:

随机生成变异的数据位置;

根据所述数据位置将初始集合中的相应数据删除,将剩余数据集合作为变异集合。

进一步的,所述通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性迭代筛选出与目标类别相关度最高的数据集合,包括:

比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,将与目标类别相关性较高的的集合作为新一代初始集合;

循环对新的初始集合的遗传变异处理和筛选直至变异处理次数达到预设变异次数;

将最终变异筛选处理得到的与目标类型相关度最高的集合输出。

第二方面,本发明提供一种网络数据入侵检测系统,包括:

数据分组单元,配置用于采集网络传输数据作为样本数据并将所述样本数据划分为多组,所述网络传输数据包括正常数据和入侵数据;

冗余去除单元,配置用于利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,将去除冗余特征的数据组作为亲系集合;

交叉遗传单元,配置用于对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合;

变异遗传单元,配置用于利用遗传变异算法计算所述初始集合的变异集合,并通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,迭代筛选出与目标类别相关度最高的数据集合;

特征检测单元,配置用于将所述与目标类别相关度最高的数据集合作为特征子集,根据所述特征子集对网络传输数据进行特征提取和特征检测。

进一步的,所述冗余去除单元包括:

相关计算模块,配置用于计算各组内数据特征与目标类别的相关度,其中相关度等于两倍的数据特征与目标类别之积除以数据特征信息熵与目标类别信息熵之和;

数据删除模块,配置用于将相关度低于预设相关阈值的特征所属数据删除;

相似排查模块,配置用于将与同组其他数据特征的相关度超过与目标类别相关度的特征数据删除。

进一步的,所述交叉遗传单元包括:

单点交叉模块,配置用于将多个亲系集合两两进行单点交叉处理,得到多个子系集合;

相关获取模块,配置用于分别计算所有亲系集合和子系集合与目标类别的相关度;

相关筛选模块,配置用于筛选出预设亲系数量的相关度最高的集合作为下代亲系集合,并删除其他集合;

交叉迭代模块,配置用于循环执行对最新代的亲系集合的单点交叉处理和筛选迭代直至迭代次数达到预设遗传次数;

初始选取模块,配置用于从当前所有集合中选取与目标类别相关度最高的集合作为初始集合。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的网络数据入侵检测方法、系统、终端及存储介质,通过结合fcbf算法与遗传算法,在利用fcbf算法对数据集合去冗余后,采用交叉遗传方法产生初始特征子集,进一步采用遗传变异方法对初始特征子集进行迭代筛选,产生最终的数据集合。本发明能够在不降低特征选择速度的基础上,降低特征子集过拟合的情况,从而提高入侵检测的准确性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的系统的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

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

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种网络数据入侵检测系统。

如图1所示,该方法100包括:

步骤110,采集网络传输数据作为样本数据并将所述样本数据划分为多组,所述网络传输数据包括正常数据和入侵数据;

步骤120,利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,将去除冗余特征的数据组作为亲系集合;

步骤130,对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合;

步骤140,利用遗传变异算法计算所述初始集合的变异集合,并通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,迭代筛选出与目标类别相关度最高的数据集合;

步骤150,将所述与目标类别相关度最高的数据集合作为特征子集,根据所述特征子集对网络传输数据进行特征提取和特征检测。

为了便于对本发明的理解,下面以本发明网络数据入侵检测方法的原理,结合实施例中对网络数据进行入侵检测的过程,对本发明提供的网络数据入侵检测方法做进一步的描述。

具体的,所述网络数据入侵检测方法包括:

s1、采集网络传输数据作为样本数据并将所述样本数据划分为多组,所述网络传输数据包括正常数据和入侵数据。

监视并获取网络中的数据包括正常数据和携带入侵攻击的数据,对攻击数据进行预处理(包括但不限于归一化、离散化等预处理的算法),本实施例将样本数据划分为2组,记为s1和s2。

s2、利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,将去除冗余特征的数据组作为亲系集合。

计算各组内的数据特征与预先设置的目标类别的相关度(目标类别由人工对数据进行设置,便于区分数据,如正常数据记为0,异常数据记为1),计算公式为:

其中,ig(x|y)指数据特征与目标类别之间的互信息;h(x)为数据特征的信息熵,h(y)为目标类别的信息熵。

数据集合与目标类别的相关度计算公式为:

其中n为数据集合的特征个数,avg(suic)为数据集合所有数据特征与目标类别之间的相关性的平均值,avg(suij)为数据集合内的数据特征与数据特征之间的相关度的平均值。

对每组样本集中的特征计算特征与类别的关联程度suic;根据关联程度把选择的特征进行降序排序;设置相关度阈值,低于该相关度阈值的数据特征为不相关的特征,从数据集合中删除相应数据。从而得到两组去除冗余特征之后的特征集合:s1-1和s1-2。

对两组特征集合执行去除冗余特征的操作,得到双亲特征组。具体过程为:对特征集合中的每个特征fi,随机选择fi同属一个特征集合的特征fj,计算suij。若suij≥sujc且suic≥sujc,则说明fj这个特征与fi特征的关联性更强,且与目标类别之间的相关性不大,是可以被特征fi替换的。所以fj是冗余特征,将fj删除。对两个特征组执行上述操作,从而得到两组特征子集ss-1,ss-2,作为两个亲系集合。

s2、对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合。

随机产生单点交叉的位置k,对两个亲系集合进行遗传交叉从而产生两组后代特征组sc-1,sc-2。遗传交叉处理例如:对一对亲系集合{f1-1,f1-2,…,f1-k-1,f1-k,f1-k+1,…,f1-n}和{f2-1,f2-2,…,f2-k-1,f2-k,f2-k+1,…,f2-m}在随机产生交叉位置k的作用下,遗传交叉产生的后代为{f1-1,f1-2,…,f1-k-1,f1-k,f2-k+1,…,f2-m}和{f1-k+1,f1-k+2,…,f1-n,f2-k,f2-k+1,…,f2-m}。

分别计算双亲集合和后代集合与目标类别的相关度,得到四个相关度scs-1,scs-2,scc-1,scc-2。对其进行从大到小的排序,取前两个相关度所对应的集合作为新亲系集合。未被选中的集合删除。

重复这个过程10次,最后一次选取与类别相关性最大所对应的集合作为初始集合sinit。

在本发明的其他实施方式中,若有三个亲系集合a/b/c,则两两组合交叉遗传得到,a/b遗传得到1/2,b/c遗传得到3/4,a/c遗传得到5/6,此时一共有9个集合,从9个集合中选取出与目标类别相关度最高的三个(也可以选取其他数量),再次进行交叉遗传。

s4、利用遗传变异算法计算所述初始集合的变异集合,并通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,迭代筛选出与目标类别相关度最高的数据集合。

设置遗传变异的个数为初始集合数据总条数的五分之一,记为n。

初次筛选令最终集合为初始集合,即sfinally=sinit

随机产生变异特征的位置loc,则在当前的最终集合中去掉变异位置的特征数据,得到变异集合,变异集合stemp=sfinally-{floc}

分别计算集合sfinally和stemp与目标类别之间的相关度,若sfinally与目标类别的相关度低于stemp与目标类别的相关度,则认为floc为冗余特征,需要被删除,此时将stemp集合作为新的最终集合,即将sfinally的数据内容更新为与stemp一致。重复这个过程n次(选取的变异个数),得到最终的数据集合sfinally。

为了保证本实施例特征选择算法选择特征的稳定性,需要对数据集合sfinally内的特征进行分类验证。对步骤s1的样本数据集合采用十折交叉验证的方式进行训练和测试,十折交叉验证,英文名叫做10-foldcross-validation,用来测试算法准确性。是常用的测试方法。将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10次的结果的正确率(或差错率)的平均值作为对算法精度的估计,一般还需要进行多次10折交叉验证(例如10次10折交叉验证),再求其均值,作为对算法准确性的估计,从而得到本实施例的特征子集获取算法的准确率。同时采用svm分类器对测试集合进行分类,得到svm分类器的准确率。如果本实施例的特征子集获取算法的准确率超过svm分类器的准确率,则通过验证。

将最终的数据集合sfinally作为入侵检测的特征子集,监控网络传输的数据,对每条数据进行特征的提取,提取的特征项为特征子集内的所有特征项,对提取特征项的具体内容进行校验,从而识别监控数据为正常数据还是入侵数据,实现对网络传输数据的入侵检测。

如图2示,该系统200包括:

数据分组单元210,配置用于采集网络传输数据作为样本数据并将所述样本数据划分为多组,所述网络传输数据包括正常数据和入侵数据;

冗余去除单元220,配置用于利用fcbf算法去除各组内与预设目标类别不相关的冗余特征,将去除冗余特征的数据组作为亲系集合;

交叉遗传单元230,配置用于对亲系集合进行单点遗传交叉处理,从亲系集合和遗传的子系集合中筛选出与目标类别相关度最高的初始集合;

变异遗传单元240,配置用于利用遗传变异算法计算所述初始集合的变异集合,并通过比对初始集合与目标类别的相关性和变异集合与目标类别的相关性,迭代筛选出与目标类别相关度最高的数据集合;

特征检测单元250,配置用于将所述与目标类别相关度最高的数据集合作为特征子集,根据所述特征子集对网络传输数据进行特征提取和特征检测。

可选地,作为本发明一个实施例,所述冗余去除单元包括:

相关计算模块,配置用于计算各组内数据特征与目标类别的相关度,其中相关度等于两倍的数据特征与目标类别之积除以数据特征信息熵与目标类别信息熵之和;

数据删除模块,配置用于将相关度低于预设相关阈值的特征所属数据删除;

相似排查模块,配置用于将与同组其他数据特征的相关度超过与目标类别相关度的特征数据删除。

可选地,作为本发明一个实施例,所述交叉遗传单元包括:

单点交叉模块,配置用于将多个亲系集合两两进行单点交叉处理,得到多个子系集合;

相关获取模块,配置用于分别计算所有亲系集合和子系集合与目标类别的相关度;

相关筛选模块,配置用于筛选出预设亲系数量的相关度最高的集合作为下代亲系集合,并删除其他集合;

交叉迭代模块,配置用于循环执行对最新代的亲系集合的单点交叉处理和筛选迭代直至迭代次数达到预设遗传次数;

初始选取模块,配置用于从当前所有集合中选取与目标类别相关度最高的集合作为初始集合。

图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的网络数据入侵检测方法。

其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本发明通过结合fcbf算法与遗传算法,在利用fcbf算法对数据集合去冗余后,采用交叉遗传方法产生初始特征子集,进一步采用遗传变异方法对初始特征子集进行迭代筛选,产生最终的数据集合。本发明能够在不降低特征选择速度的基础上,降低特征子集过拟合的情况,从而提高入侵检测的准确性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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