基于自体集规模约束的网络入侵免疫检测方法转让专利

申请号 : CN201110402645.4

文献号 : CN102427415B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张清华秦勇杨忠明沈岩康启超高苗粉申林黄广文

申请人 : 广东石油化工学院

摘要 :

本发明属于网络安全领域,具体涉及一种基于自体集规模约束的网络入侵免疫检测方法。其包括步骤:首先构建自体集,搜集网络数据提取网络数据的N个特征属性;将网络数据内容切分获得N个不等长数据段存储到文件,提取对应的特征属性值存在N层多叉树结构中,形成系统的自体集;然后对网络数据进行入侵免疫检测,将网络数据包按多叉树的各层特征属性进行分类,提取特征属性值并按层依次跟自体集的特征属性值匹配,匹配不成功则进行异常处理,匹配成功则进入自体集文件中进行匹配,匹配不成功的网络数据即为入侵数据。本发明规范自体集存储结构,优化自体集匹配制,提高网络流量包与自体数据的匹配速率,完成自体集自主更新,实现自体集的规模约束。

权利要求 :

1.一种基于自体集规模约束的网络入侵免疫检测方法,其特征在于,包括如下步骤:(1)构建自体集,其具体步骤包括:

(11)搜集网络数据,将网络数据依次流过N层多叉树提取网络数据的N个特征属性并存储在N层多叉树中;

(12)根据特征属性将网络数据内容进行切分,获得N个不等长数据段作为N个数据记录存储到文件,提取各个数据段对应的特征属性值Ki,j存储在N层多叉树结构中,其中,0<i≤N, 0≤j<Ji, Ji为第i层特征属性的个数,不等长数据段在文件中的地址和特征属性值在多叉树结构中的地址进行映射,形成系统的自体集;

(2)对网络数据进行入侵免疫检测,其具体步骤包括:

(21)将网络数据包按多叉树的各层特征属性进行分类,提取网络数据包的特征属性值;

(22)将网络数据包的特征属性值按层依次跟自体集中的特征属性值匹配,对匹配不成功的网络数据包进行异常处理,匹配成功的网络数据包进入自体集的文件中与文件中的数据记录进行匹配,与自体集文件中的数据记录匹配不成功的网络数据即为入侵数据;

所述步骤(11)中利用抓包工具搜集网络数据,通过提取网络数据的有用字段获得N个特征属性;

多叉树中特征属性和特征属性值的具体存储方式为:

将1~N个特征属性分别对应到多叉树的1~N层,在多叉树的0层设定一个根结点,特征属性值以指针数组的形式存储在多叉树结构中,设定第一类特征属性值K1,j作为根结点的子结点,在K1,j 中,0≤j<J1 ;第二类特征属性值K2,j又分别作为J1个K1,j的子节点,在K2,j 中,0≤j<J2 ;依次类推,第N个特征属性值KN,j分别作为JN-1个KN-1,j的子节点,在KN,j中,0≤j<JN ;自体集文件的首个存储地址映射到多叉树第N层指针数组KN,j。

2.根据权利要求1所述的基于自体集规模约束的网络入侵免疫检测方法,其特征在于,所述方法还对所述步骤(12)中的N个不等长数据段进行编码压缩,具体为:将N个不等长数据段作为一个文本信息进行填充;

将填充后的数据段进行切分获得N个字符串小组;

对每个字符串小组进行不可逆的字符串变换,获得唯一的具有固定长度的小信息摘要;

将所述小信息摘要代替不等长数据段作为自体集数据记录存储到文件中。

3.根据权利要求1所述的基于自体集规模约束的网络入侵免疫检测方法,其特征在于,所述步骤(2)还包括执行基于概率队列的匹配寻优机制:当网络数据包内容与自体集文件中的数据记录匹配成功后,启动寻优机制,自动将所述数据记录置入文件的首个存储地址,位于所述数据记录之前的数据记录依次向后移动一个存储单元。

4.根据权利要求1所述的基于自体集规模约束的网络入侵免疫检测方法,其特征在于,所述步骤(2)还包括执行阈值机制:设定自体集的数据不匹配阈值;

当一个网络数据连续出现并与自体集文件中的数据记录匹配失败时,对所述网络数据累加连续记录次数;

当所述网络数据的连续记录次数达到数据不匹配阈值时,则将所述网络数据根据自体集中的特征属性切分后添加到自体集文件中。

5.根据权利要求1至4任一项所述的基于自体集规模约束的网络入侵免疫检测方法,其特征在于,所述步骤(2)还包括执行定时机制:在自体集中设置定时器,对自体集文件中的每条数据记录分别计时;

当自体集文件中的数据记录一经被匹配,所述数据记录的计时清零并重新计时;

当自体集文件中的数据记录的计时达到定时器设定的定时时间,则启动清除命令,将所述数据记录从自体集中清除。

说明书 :

基于自体集规模约束的网络入侵免疫检测方法

技术领域

[0001] 本发明属于网络安全领域,具体涉及一种基于自体集规模约束的网络入侵免疫检测方法。

背景技术

[0002] 企业内部网络遭受攻击的情况防不胜防,使企业深受网络入侵的困扰。尽管目前国内外已开发了各类入侵检测系统,但是,在核心算法方面、在有效性、自适应性等方面以及在检测率方面仍存在较多的问题,这也是国内外专家仍然不懈地致力于开拓新思路的主要原因。基于生物免疫的人工免疫系统在近几年得到迅速发展,由于它具有的分布性、多样性、鲁棒性、适应性和特异识别等特性,正是入侵检测系统所希望具有的特性,因此一些免疫机制和免疫算法被用来实现入侵检测。
[0003] 人工免疫系统是基于对生物免疫系统的研究而建立起来的一种仿生模型,生物免疫系统与入侵检测的功能非常相似。生物免疫系统的功能是保护肌体免受病毒的侵害,入侵检测系统的目的是保护计算机或网络系统免受计算机病毒的侵害。从信息处理的角度来看,生物免疫系统具备强大的识别、学习和记忆的能力及分布式、自组织和多样性特性,这些显著的特性使得人工免疫理论具有很大的魅力。国内外的著名学者对此进行了研究并发表了大量论著,提出了很多算法,建立了很多基于人工免疫算法的网络入侵检测模型。目前的免疫算法主要包括克隆选择算法、阴性选择算法、免疫遗传算法,在此基础产生了很多改进的算法。
[0004] 虽然人工免疫在应用于入侵检测系统的研究中已经提出了很多理论成果及研究方法,但到目前为止还没有相关的基于人工免疫的入侵检测产品,这是由于自体集用于入侵检测系统的局限性导致的:第一,在建构检测器时不能决定选择基于自体集还是异体集,自体集一般过大导致不容易匹配,会增加系统的运载负荷,而异体集则缺乏检测未知入侵的能力;第二,对于某些特定的防护对象需要搜集的异体集数据量比自体集还要大;第三,传统的自体集匹配时是基于位匹配,这样导致系统的计算量过大,难以实现。

发明内容

[0005] 本发明解决的技术问题是克服现有技术的不足,提供了一种能够减小自体集规模,极大减小数据匹配运算量,提高自体集匹配速率的基于自体集规模约束的网络入侵免疫检测方法。
[0006] 为解决上述技术问题,本发明的技术方案如下:
[0007] 一种基于自体集规模约束的网络入侵免疫检测方法,包括如下步骤:
[0008] (1)构建自体集,其具体步骤包括:
[0009] (11)搜集网络数据,将网络数据依次流过N层多叉树提取网络数据的N个特征属性并存储在N层多叉树中;
[0010] (12)根据特征属性将网络数据内容进行切分,获得N个不等长数据段作为N个数据记录存储到文件,提取各个数据段对应的特征属性值Ki,j存储在N层多叉树结构中,其中,0<i≤N, 0≤j<Ji, Ji为第i层特征属性的个数,不等长数据段在文件中的地址和特征属性值在多叉树结构中的地址进行映射,形成系统的自体集;
[0011] (2)对网络数据进行入侵免疫检测,其具体步骤包括:
[0012] (21)将网络数据包按多叉树的各层特征属性进行分类,提取网络数据包的特征属性值;
[0013] (22)将网络数据包的特征属性值按按层依次跟自体集中的特征属性值匹配,对匹配不成功的网络数据包进行异常处理,匹配成功的网络数据包进入自体集的文件中与文件中的数据记录进行匹配,与自体集文件中的数据记录匹配不成功的网络数据即为入侵数据。
[0014] 本发明在构建自体集时将大规模网络数据按特征属性分成N个不等长的小块数据段,将这N个特征属性和数据段对应的特征属性值提取出来并映射到N层多叉树中,网络数据进行匹配时按N个特征属性层层匹配,减少系统的运算量,实现网络流量包的快速定位。
[0015] 上述方案中,所述步骤(11)中利用抓包工具搜集网络数据,通过提取网络数据的有用字段获得N个特征属性。
[0016] 上述方案中,多叉树中特征属性和特征属性值的具体存储方式为:
[0017] 将1~N个特征属性分别对应到多叉树的1~N层,在多叉树的0层设定一个根结点,特征属性值以指针数组的形式存储在多叉树结构中,设定第一类特征属性值K1,j作为根结点的子结点,在K1,j 中,0≤j<J1 ;第二类特征属性值K2,j又分别作为J1个K1,j的子节点,在K2,j 中,0≤j<J2 ;依次类推,第N个特征属性值KN,j分别作为JN-1个KN-1,j的子节点,在KN,j中,0≤j<JN ;自体集文件的首个存储地址映射到多叉树第N层指针数组KN,j。本发明将多叉树结构与指针数组的存储方法相结合,克服了传统算法中使用链表因遍历造成的时间冗余,实现网络流量包的快速定位。
[0018] 上述方案中,所述方法还对所述步骤(12)中的N个不等长数据段进行编码压缩,具体为:
[0019] 将N个不等长数据段作为一个文本信息进行填充;
[0020] 将填充后的数据段进行切分获得N个字符串小组;
[0021] 对每个字符串小组进行不可逆的字符串变换,获得唯一的具有固定长度的小信息摘要;
[0022] 将所述小信息摘要代替不等长数据段作为自体集数据记录存储到文件中。
[0023] 本发明将N个不等长数据段作为一个大文本信息进行填充切分获得字符串小组,将各个字符串小组通过m轮的非线性循环预算进行不可逆的字符串变换获得小信息摘要,极大减少了自体集的存储空间,进一步减少了网络数据进行匹配时的一次匹配量,使系统的计算负荷减轻的同时又不影响自体集的数据匹配速率。而且由于获得的小信息摘要具有固定的长度,使得自体集中存储的数据规范化,便于自体集的存储管理,方便自体集的查找匹配,进一步提高系统匹配速率。
[0024] 上述方案中,所述步骤(2)还包括执行基于概率队列的匹配寻优机制:
[0025] 当网络数据包内容与自体集文件中的数据记录匹配成功后,启动寻优机制,自动将所述数据记录置入文件的首个存储地址,位于所述数据记录之前的数据记录依次向后移动一个存储单元。
[0026] 本发明根据网络数据的集中性设置了所述寻优机制,网络数据集中性即网络中的数据总是相伴而来,一个网络数据到达后,下一个即将到达的网络数据与前一个网络数据相似的概率很大。若即将到达的网络数据与前一个网络数据一样,仍按前一个网络数据的路径一路匹配必然会导致系统重复计算,造成系统资源浪费。本发明提出上述基于概率队列的匹配寻优机制这一机制能保证命中匹配率高的数据记录首先进行数据匹配,而几乎不会命中匹配的数据记录排在文件的最后,几乎不需要访问。网络中出现的数据能够在队列中率先找到可以匹配的数据,因此可以避免重复计算,不仅减少了系统的运算量,还节约了匹配时间,提高了自体集的匹配速率。
[0027] 上述方案中,所述步骤(2)还包括执行阈值机制:
[0028] 设定自体集的数据不匹配阈值;
[0029] 当一个网络数据连续出现并与自体集文件中的数据记录匹配失败时,对所述网络数据累加连续记录次数;
[0030] 当所述网络数据的连续记录次数达到数据不匹配阈值时,则将所述网络数据按特征属性切分后添加到自体集文件中。本发明为应对千变万化的网络形势,需要对自体集进行不断地更新,对自体集设置了上述阈值机制不断对自体集中的数据记录进行更新,使自体集能与不断变化的网络保持同步。
[0031] 上述方案中,所述步骤(2)还包括执行定时机制:
[0032] 在自体集中设置定时器,对自体集文件中的每条数据记录分别计时;
[0033] 当自体集文件中的数据记录一经被匹配,所述数据记录的计时清零并重新计时;
[0034] 当自体集文件中的数据记录的计时达到定时器设定的定时时间,则启动清除命令,将所述数据记录从自体集中清除。
[0035] 本发明通过上述定时机制在一定时间范围内淘汰久置无用的数据,不仅能应对网络数据的复杂性和多变性,又能有效控制自体集规模,避免自体集由于阈值机制不断更新使得其数据容量越来越大,而过大数据量的自体集会减缓匹配的速率。
[0036] 与现有技术相比,本发明技术方案的有益效果是:
[0037] (1)本发明利用多叉树结构以及将多叉树结构和指针数组的存储方法相结合对大规模网络数据按特征属性进行分块,极大地减小了数据匹配的运算量,实现网络流量包的快速定位。
[0038] (2)本发明对网络数据按特征属性进行内容切分获得的数据段进行编码压缩,规范自体集,减小了自体集规模,进一步提高了网络数据匹配速率。
[0039] (3)本发明通过基于概率队列的匹配寻优机制对自体集中的数据记录进行快速寻优,更进一步实现网络数据包的快速匹配,为网络入侵的实时性提供了第三重保障。
[0040] (4)本发明的阈值机制和定时机制的完美结合完成了自体集的更新,对超过一定阈值的网络数据加入自体集中,为自体集添加新元素,而在一定时间范围内又可以淘汰久置无用的数据,不仅能应对网络数据的复杂性和多变性,又能有效控制自体集规模。

附图说明

[0041] 图1 为本发明中构建自体集的流程图;
[0042] 图2为本发明中对网络数据进行入侵免疫检测的流程图。

具体实施方式

[0043] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0044] 如图1和图2所示,为本发明一种基于自体集规模约束的网络入侵免疫检测方法的流程图,其具体包括如下步骤:
[0045] (S1)构建自体集,其具体步骤包括:
[0046] (S11)利用抓包工具搜集网络数据,将网络数据依次流过N层多叉树,通过提取网络数据的有用字段获得N个特征属性并存储在N层多叉树中;有用字段的选取是根据网络上能够最大表征网络数据包类型的原则而设定的。
[0047] (S12)根据特征属性将网络数据内容进行切分,获得N个不等长数据段作为N个数据记录存储到文件,提取各个数据段对应的特征属性值Ki,j存储在N层多叉树结构中,,其中,0<i≤N, 0≤j<Ji, Ji为第i层特征属性的个数,不等长数据段在文件中的地址和特征属性值在多叉树结构中的地址进行映射,形成系统的自体集;
[0048] 步骤(S12)中还包括对N个不等长数据段进行编码压缩,具体为:
[0049] (S121)将N个不等长数据段作为一个文本信息进行填充;
[0050] (S122)将填充后的数据段进行切分获得N个字符串小组;
[0051] (S123)对每个字符串小组进行不可逆的字符串变换,获得唯一的具有固定长度的小信息摘要;
[0052] (S124)将所述小信息摘要代替数据段作为自体集数据记录存储到文件中。不等长数据段的填充的长度根据算法运算情况进行设定,使其和算法运算进行配合,以使其减轻网络数据包一次匹配量的同时能够使系统的计算负荷减轻又不致于影响自体集匹配速率。
[0053] 步骤(S11)和步骤(S12)中多叉树中特征属性和特征属性值的具体存储方式为:
[0054] 将1~N个特征属性分别对应到多叉树的1~N层,在多叉树的0层设定一个根结点,特征属性值以指针数组的形式存储在多叉树结构中,设定第一类特征属性值K1,j作为根结点的子结点,在K1,j 中,0≤j<J1 ;第二类特征属性值K2,j又分别作为J1个K1,j的子节点,在K2,j 中,0≤j<J2 ;依次类推,第N个特征属性值KN,j(0≤j<JN)分别作为JN-1个KN-1,j的子节点,在KN,j中,0≤j<JN ;自体集文件的首个存储地址映射到多叉树第N层指针数组KN,j。
[0055] (S2)对网络数据进行入侵免疫检测;当构建好自体集后就可以对网络上的数据包进行入侵免疫检测,其具体步骤包括:
[0056] (S21)对网络数据进行入侵免疫检测,将网络数据包按多叉树的各层特征属性进行分类,提取网络数据包的特征属性值;
[0057] (S22)将网络数据包的特征属性值按层依次跟自体集的特征属性值匹配,对匹配不成功的网络数据包进行异常处理,匹配成功的网络数据包进入自体集的文件中与文件中的数据进行匹配,与自体集文件中的数据匹配不成功的网络数据即为入侵数据。
[0058] 在利用自体集对网络数据进行入侵免疫检测时,自体集还会根据与网络数据的匹配情况启动基于概率队列的匹配寻优机制、阈值机制和定时机制对自体集的匹配机制进行优化,并完成其自身的自主更新,对自体集的规模进行约束。具体步骤包括:
[0059] (S23)执行基于概率队列的匹配寻优机制:当网络数据包内容与自体集文件中的数据记录匹配成功后,启动寻优机制,自动将所述数据记录置入文件的首个存储地址,位于所述数据记录之前的数据记录依次向后移动一个存储单元。
[0060] (S24)执行阈值机制:
[0061] (S241)设定自体集的数据不匹配阈值;
[0062] (S242)当一个网络数据连续出现并与自体集文件中的数据记录匹配失败时,对所述网络数据累加连续记录次数;
[0063] (S243)当所述网络数据的连续记录次数达到数据不匹配阈值时,则将所述网络数据按特征属性切分后添加到自体集文件中。
[0064] (S25)执行定时机制:
[0065] (S251)在自体集中设置定时器,对自体集文件中的每条数据记录分别计时;
[0066] (S252)当自体集文件中的数据记录一经被匹配,该条数据记录的计时清零并重新计时;
[0067] (S253)当自体集文件中的数据记录的计时达到定时器设定的定时时间,则启动清除命令,将该条数据记录从自体集中清除。
[0068] 上述步骤(S23)、(S24)和(S25)的执行不分先后,其执行是根据网络数据和自体集文件中的数据记录的匹配情况而进行的。