CN101901317A - 一种基于生长型分级自组织映射神经网络的入侵检测方法 - Google Patents

一种基于生长型分级自组织映射神经网络的入侵检测方法 Download PDF

Info

Publication number
CN101901317A
CN101901317A CN2010102287506A CN201010228750A CN101901317A CN 101901317 A CN101901317 A CN 101901317A CN 2010102287506 A CN2010102287506 A CN 2010102287506A CN 201010228750 A CN201010228750 A CN 201010228750A CN 101901317 A CN101901317 A CN 101901317A
Authority
CN
China
Prior art keywords
neuron
vector
som
neuronic
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102287506A
Other languages
English (en)
Other versions
CN101901317B (zh
Inventor
杨雅辉
姜电波
沈晴霓
夏敏
张英
何家胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN2010102287506A priority Critical patent/CN101901317B/zh
Publication of CN101901317A publication Critical patent/CN101901317A/zh
Application granted granted Critical
Publication of CN101901317B publication Critical patent/CN101901317B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种基于生长型分级自组织映射(Growing Hierarchical Self-organizing Maps,GHSOM)神经网络的入侵检测方法,属于网络信息安全技术领域。本方法中GHSOM入侵检测模型的训练方法的关键点为:1)设计一种新的混合向量结构,使得改进的GHSOM神经网络能够处理含有数值类型成员和字符类型成员的混合输入模式向量;2)设计一种新的控制机制,该机制使用张力映射率(Tension and Mapping Ratio(TMR)来替代参数τ1,使得支持混合输入模式向量的GHSOM神经网络自动控制神经元的增长。把这种改进的神经网络用于入侵检测技术中,有利于检测率的提高。

Description

一种基于生长型分级自组织映射神经网络的入侵检测方法
技术领域
本发明涉及一种入侵检测方法,具体涉及一种基于生长型分级自组织映射(GrowingHierarchical Self-organizing Maps,GHSOM)神经网络的入侵检测方法,属于计算机网络信息安全技术领域。
背景技术
随着计算机网络尤其是Internet技术的迅速发展,网络在我们日常的生活、学习和工作中发挥着越来越重要的作用,网络安全问题也越来越受到人们的关注。迅速、有效地发现各类新的入侵行为,对于保障网络系统安全十分重要。入侵检测技术是一种通过监视网络系统的运行状态,进而发现各种攻击企图、攻击行为或者攻击结果的信息安全技术。
入侵检测作为一种主动防御技术,弥补了传统安全技术的不足。入侵检测系统可以对计算机主机和网络进行实时监控,分析发现可疑事件。一旦入侵行为被检测出来,系统就会采取相应的措施(如通知管理员,切断网络连接等),从而及时消除即将对系统安全产生的危害。入侵检测作为系统安全技术的重要组成部分,日益受到各国政府及学者的重视。美国国防部高级规划署(DARPA)和美国空军向麻省理工(MIT)等大学的研究机构提供资助,利用人工智能的相关技术对入侵检测的技术及评估系统进行研究。包括中国在内的很多国家都启动了信息安全的研究计划,来从事这方面的技术开发和研究。
入侵检测方法一般可以分为两类:误用检测和异常检测。误用检测假定所有的入侵行为都能够表达为一种特定的模式或特征,通过模式匹配方法发现已知的入侵行为。异常检测基于统计方法,假定所有的入侵行为都与正常行为不同,如果当前用户行为与正常行为达到一定程度偏差,就认为系统受到了攻击。目前开展研究的异常检测算法和模型主要包括:统计异常检测、基于神经网络的异常检测以及基于数据挖掘的异常检测。
神经网络是指为了模拟生物大脑的结构和功能而构成的一种信息处理系统或计算机。神经网络的每个神经元接受大量其它神经元的输入,通过非线性输入/输出关系产生输出,实现了从输入状态空间到输出状态空间的非线性映射。神经网络可以分为有监督学习神经网络和无监督学习神经网络,无监督学习神经网络不要求预先给出网络的目标输出,在训练的过程中,神经网络能够通过无监督学习对输入样本进行聚类分析,实现连接权值的自动调节,大部分用于入侵检测的神经网络都采用无监督学习的方式。其中又以SOM神经网络应用最为广泛。但是SOM网络结构是固定的,不能动态的改变。网络训练时某些神经元始终不能获胜,成为“死”神经元,导致基于SOM网络的入侵检测方法的检测率比较低,GHSOM神经网络试图克服这些缺陷。
在入侵检测中,需要用一些字符特征(比如协议类型TCP,UDP等)描述各种攻击行为。无论是SOM神经网络还是GHSOM神经网络,都只能处理数值类型的输入模式向量,对于字符特征,需要把它们转化成数值形式。这种转化带有很大的随意性,不能准确反映攻击行为的特点。另外,GHSOM在每层中神经元映射的增长依靠参数τ1,参数τ1设置不当往往引起神经元数目的庞大,增加了系统的开销。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种入侵检测方法,其通过改进的生长型分级自组织映射(Growing Hierarchical Self-organizing Maps,GHSOM)神经网络训练方法对入侵检测模型进行训练,使用训练好的GHSOM神经网络模型对网络入侵行为进行检测。
传统的SOM网络结构是固定的,不能动态改变。网络训练时某些神经元始终不能获胜,成为冗余神经元,GHSOM在一定程度上克服了这些缺点。GHSOM神经网络中神经元的数量、映射和层次都是在无监督的学习过程中动态确定的。但是GHSOM只能处理数值类型的输入模式向量,对于含有字符类型成员的输入模式向量,GHSOM显得无能为力。另外,对控制神经元增长的参数τ1的设置也是一件比较麻烦的事情,往往需要实验多次才能找到一个比较合适的数值。
针对上述问题,对现有的GHSOM神经网络模型进行改进。包括:1)设计一种新的混合向量结构,使得改进的GHSOM神经网络能够处理含有数值类型成员和字符类型成员的混合输入模式向量。2)设计一种新的控制机制,使得支持混合输入模式的GHSOM神经网络能够自动控制神经元数目的增长。把这种改进的神经网络用于入侵检测技术中,有利于检测率的提高。
本发明的技术方案为:
一种基于生长型分级自组织映射神经网络的入侵检测方法,其步骤为:
1)从网络中采集网络数据,并对其进行特征的提取,生成神经网络能够识别的输入模式;
2)将步骤1)处理后的数据输入给已加载训练好的神经网络模型的入侵检测模块,进行入侵检测,其中神经网络模型的训练方法为:
a)将训练样本数据集中的混合输入模式向量采用
Figure BSA00000193803800031
形式表示,其中
Figure BSA00000193803800032
表示第j个混合输入模式向量Xj的数值类型分向量、
Figure BSA00000193803800033
表示Xj的字符类型分向量;
b)利用输入模式向量初始化神经网络第0层中唯一神经元的权值,并计算其量化误差qe0;其中,神经元权值包括数值型权值分量、字符型权值分量;
c)从第0层的神经元中拓展一n×m结构SOM,并将其层次标识Layer置为1;其中n、m为大于1的自然数;
d)对于第Layer层中拓展出的每一n×m结构SOM,从映射到其父神经元的混合输入模式向量构成的集合中挑选一混合输入模式向量X,并计算该SOM中每个神经元与X的距离;
e)选取该SOM中与X距离最小的神经元c,并对神经元c及其邻域内神经元的权值进行调整;如果未达到预定训练次数,则转入步骤d);
f)计算经e)调整后的该SOM中每个神经元的量化误差;
g)根据SOM中神经元的量化误差和第0层神经元的量化误差qe0,控制拓展出的SOM中神经元数目的增加和神经网络层次的拓展;
h)对第Layer层中增加了新神经元的SOM和新拓展出的Layer+1层的所有n×m结构SOM,采用步骤d)——步骤f)所示方法对其重新进行训练,直至神经网络不再产生新的神经元和新的分层,整个训练结束;
3)检测结果处理模块根据入侵检测模块输出结果判断当前是否发生入侵,如果发生入侵,则入侵处理模块遍历攻击类型标识库,检验是否有匹配的攻击,如果有则确定攻击的类型并发出告警信息;如果没有匹配的攻击,则判断是否为新的攻击类型,如果是新的攻击类型,则把这种攻击类型加入到攻击类型标识库并发出告警信息。
进一步的,第0层中神经元的数值型权值分量
Figure BSA00000193803800034
为所有混合输入模式向量的数值类型分向量的平均值,第0层中神经元的字符类型权值分向量
Figure BSA00000193803800035
为所有混合输入模式向量的字符类型分向量的众数向量;所述众数向量为:对于一个形如[s1,s2,…,sn]的字符类型向量构成的集合S,其众数向量mode(S)为[mode(s1),mode(s2),…,mode(sn)],其中mode(si)表示所有向量的第i项构成的集合中出现次数最多的字符值。
进一步的,所述n×m结构SOM为2×2结构SOM。
进一步的,采用张力映射率方法控制SOM中神经元的增加,其方法为:
(1)在神经元i与神经元j之间插入一虚神经元vij,虚神经元vij的权值Wij通过公式:
W ij = W ij n W ij s = ( W i n + W j n ) / 2 mode ( { C i s } ∪ { C j s } ) 得到;
(2)计算每个虚神经元的映射率;
(3)计算所有虚神经元映射率之和SMR;如果映射的拓扑结构规格大于2×2并且SMR值大于之前映射的SMR值,则映射停止增长,否则,神经网络继续扩展出新的神经元;
(4)计算SOM中插入的每一行或每一列虚神经元的张力;
(5)将每一行或每一列虚神经元的张力与其对应的平均映射率相乘,选择出具有最大值的行或者列并在其对应位置插入神经元。
进一步的,计算SOM中每个神经元与X的距离的方法为:通过计算SOM中神经元i的权值向量Wi与混合输入模式向量X的相似度,得到神经元i与混合输入模式向量X的距离。
进一步的,采用相似度函数为:
Figure BSA00000193803800042
计算所述相似度;其中,v1、v2分别为相似度函数的输入向量,
Figure BSA00000193803800043
为向量v1中数值类型成员值,
Figure BSA00000193803800044
为向量v1中字符类型成员值,如果v1与v2相对应的字符类型成员值相同,则函数s(·)取值为0,否则取值为0.5。
进一步的,对神经元c及其邻域内神经元的权值采用公式
Figure BSA00000193803800045
进行调整,其中,η(t)为t时刻的学习速率,K(c,i,t)为邻域函数,
Figure BSA00000193803800046
表示映射到神经元i的混合输入模式向量的字符类型分向量构成的集合,
Figure BSA00000193803800047
为集台
Figure BSA00000193803800048
的众数向量。
进一步的,该SOM中每个神经元的量化误差的计算方法为:神经元i的量化误差为qei=|ei|其中,
Figure BSA000001938038000410
Figure BSA000001938038000411
分别表示神经元i的数值类型误差和字符类型误差,
Figure BSA000001938038000412
表示神经元i的数值类型权值分向量,Ci为映射到神经元i的混合输入模式向量构成的集合,a为一常数,p(·)为Ci中元素的概率函数。
与现有技术相比,本发明的积极效果为:
本方法能够处理含有数值类型成员和字符类型成员的混合输入模式向量,进一步地,针对这种混合输入模式向量,本方法还能够自动控制神经元数目的增长,提高了检测的效率。
附图说明
图1为神经网络训练过程图;
图2为GHSOM神经网络训练算法流程图;
图3为插入神经元示意图;
图4为每个神经元周围的虚神经元分布图;
图5为GHSOM网络拓扑结构图;
图6为入侵检测过程流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述:
本发明的入侵检测系统由两部分组成:神经网络模型的离线训练和基于神经网络模型的在线检测。系统从网络中采集样本数据作为训练样本数据集进行离线训练,得到入侵检测模型后再用于在线检测。离线训练过程应用神经网络训练算法,基于训练数据集对神经网络模型进行训练。训练好的神经网络模型便可应用于在线网络入侵检测。显然,神经网络训练算法是基于神经网络的入侵检测系统的核心技术。
以下我们将重点结合训练流程阐述如何改进GHSOM训练方法。之后简单介绍入侵检测的流程和方法。
改进的GHSOM神经网络模型的训练方法
神经网络训练过程如图1所示。训练样本对检测模型的精准至关重要,可以通过采集实际运行的网络的数据或在实验环境生成训练样本数据集。训练样本由多个维度的流量特征组成。神经网络训练算法是基于神经网络的入侵检测系统的核心技术,本发明重点提出一种改进的GHSOM神经网络训练方法。
本发明的GHSOM神经网络训练算法流程如图2所示:
1.输入模式向量。
在入侵检测中,需要用一些字符特征(比如协议类型TCP,UDP等)描述各种攻击行为。而传统的GHSOM算法,只能处理数值类型的输入模式向量,对于字符特征值,需要把它们转化成数值形式。这种转化带有很大的随意性,不能准确反映攻击行为的特点。表1中简单描述了用数值特征与字符特征来表示攻击的情形。
表1用数值特征与字符特征来表示攻击
Figure BSA00000193803800061
对于攻击1的协议类型特征“TCP”与服务类型特征“HTTP”,传统的GHSOM算法需要把它们转化成数值形式(一种可能的方案是按照TCP协议为6,UDP协议为17,HTTP端口为80,DNS端口为53来进行转换)。改进的GHSOM算法不需要把字符特征值转换成数值形式,该算法能够直接处理含有数值类型成员和字符类型成员的混合输入模式向量。
本发明用表示第j(j具有任意性)个混合输入模式向量,其中(n表示数值型特征)和
Figure BSA00000193803800064
(s表示字符型特征)分别表示数值类型分向量和字符类型分向量。相对应地,改进的GHSOM中每个神经元的权值向量的表示形式与混合输入模式向量相同,即用表示神经元i的权值向量,其中
Figure BSA00000193803800066
(n表示数值型)和(s表示字符型)分别表示数值类型权值分向量和字符类型权值分向量。
Figure BSA00000193803800068
Figure BSA00000193803800069
具有相同的维度,并且每一维表示的数值特征属性相同。
Figure BSA000001938038000611
也具有相同的维度,每一维表示的字符特征属性相同。
对于表1中的攻击1可以表示成:
X 1 = 1 2 3 TCP ′ ′ ′ ′ HTTP ′ ′ ′ ′ 其中 X 1 n = 1 2 3 , X 1 s = TCP ′ ′ ′ ′ HTTP ′ ′ ′ ′ - - - ( 1 )
2.神经网络初始化出第0层,第0层只含有一个神经元,置层次标识参数Layer=0。
传统GHSOM初始的第0层中只有一个自组织映射神经网络(Self-Organizing Mappings,以下简称为SOM),这个SOM仅含有一个神经元,神经元的权值向量为所有输入模式向量的平均值。
改进的GHSOM的第0层中也仅含一个神经元,这个神经元的数值类型权值分向量(n表示数值型权值,0表示初始的第0个神经元)为所有混合输入模式向量的数值类型分向量的平均值。字符类型权值分向量
Figure BSA00000193803800071
(s表示字符型权值)为所有混合输入模式向量的字符类型分向量的众数向量。在这里我们引入众数向量的概念。对于一个形如[s1,s2,…,sn]的字符类型向量构成的集合S,它的众数向量mode(S)为[mode(s1),mode(s2),…,mode(sn)],其中mode(si)表示所有向量的第i项构成的集合中出现次数最多的字符值。
3.神经网络从第0层的神经元拓展出一个2×2结构的SOM,置层次标识参数Layer=1。
传统的GHSOM和改进的GHSOM神经网络首先都从第0层的神经元拓展出一个2×2结构的SOM神经网络。这个新拓展出的SOM处于第1层,第0层的神经元为新拓展出的SOM的父亲神经元。一般地,如果从处于第Layer层的神经元i(i具有任意性)拓展出一个2×2结构的SOM,这个新拓展出的SOM则处于第Layer+1层,并称第Layer层的神经元i为新拓展出的SOM的父神经元。相对应的,改进的GHSOM神经网络拓展出的SOM能处理含有数值类型成员和字符类型成员的混合输入模式向量。
4.随机选择输入模式向量,对第Layer层中神经元进行训练。
对于第Layer层中新拓展出的SOM,从映射到其父神经元的混合输入模式向量构成的集合中随机挑选一个混合输入模式向量X,计算新拓展出的SOM中每个神经元与X的距离。由于混合输入模式向量中含有字符类型成员,所以计算距离时不能采用传统的欧几里德距离公式。对于任意的两个混合输入模式向量v1和v2,它们的相似度函数δ(v1,v2)计算如下:
δ ( v 1 , v 2 ) = | | v 1 n - v 2 n | | s ( v 1 s , v 2 s ) - - - ( 2 )
如果v1与v2相对应的字符类型成员值相同,则函数s(·)取值为0,否则取值为0.5。比如对于表1中的攻击1与攻击2,如果用v1表示攻击1,v2表示攻击2,它们的相似度函数计算过程如下:
v 1 = v 1 n v 1 s = 1 2 3 TCP ′ ′ ′ ′ HTTP ′ ′ ′ ′ , v 2 = v 2 n v 2 s = 4 5 6 UDP ′ ′ ′ ′ DNS ′ ′ ′ ′ - - - ( 3 )
δ ( v 1 , v 2 ) = | | v 1 n - v 2 n | | s ( v 1 s , v 2 s ) = | 1 - 4 | | 2 - 5 | | 3 - 6 | 0.5 0.5 = 3 3 3 0.5 0.5 - - - ( 4 )
SOM中神经元i的权值向量Wi与混合输入模式向量X的表示形式相同(参见本节1中的内容),则神经元i与X距离di为:
di=|δ(Wi,X)|                               (5)
选择和X距离最小的神经元c为获胜神经元,即
c = arg min i { d i } - - - ( 6 )
5.第Layer层中神经元的权值进行调整。
在选择出获胜神经元以后,传统GHSOM和改进的GHSOM都需要对神经元进行权值调整。由于改进的GHSOM的权值中含有字符值,调整字符类型权值时只能从已有的字符类型值中选择,不能引入新的字符类型值,因此不能使用数值类型的调整公式。获胜神经元c及其邻域内神经元的权值调整如下所示:
W i ( t + 1 ) = W i n ( t + 1 ) W i s ( t + 1 ) = W i n ( t ) + η ( t ) K ( c , i , t ) { X n - W i n ( t ) } mode ( C i s ) - - - ( 7 )
其中η(t)(预先定义好)为t时刻的学习速率,K(c,i,t)(预先定义好)为邻域函数,
Figure BSA00000193803800084
表示映射到神经元i的混合输入模式向量的字符类型分向量构成的集合。
Figure BSA00000193803800085
为集合的众数向量(众数向量的概念参见本节2中的内容)。
6.计算第Layer层中神经元的量化误差。
对第Layer层每个SOM中神经元达到了预定的学习次数(预定学习次数需要预先设定)以后,传统GHSOM和改进的GHSOM都需要计算每个神经元的量化误差。传统GHSOM计算第Layer层中神经元i的量化误差公式如下:
qe i = Σ X j ∈ A i ( | W i - X j | ) - - - ( 8 )
Ai表示映射到神经元i的输入模式向量构成的集合,Wi为神经元i的权值向量。其中具有最大量化误差值的神经元称为误差神经元(error unit)。进一步地,GHSOM计算误差神经元邻域内神经元到误差神经元的距离,其中具有最大距离的神经元为误差神经元的最远邻近神经元(most dissimilar neighbor)。误差神经元e及其最远邻近神经元d计算如下:
e = arg max i ( Σ X j ∈ C i { | | W i - X j | | } ) - - - ( 9 )
d = arg max i { | | W e - W i | | } , W i ∈ N e - - - ( 10 )
其中We为误差神经元e的权值向量,Ne为误差神经元e邻域内神经元权值向量构成的集合。
改进的GHSOM因为其神经元的权值向量和混合输入模式向量中含有字符值,对第Layer层中神经元i计算量化误差时应该分开处理。一般地,改进的GHSOM对第Layer层中神经元i误差ei计算如下:
e i = e i n e i s = Σ X j ∈ C i | | W i n - X j n | | 1 / ( 1 + e ap ( X j s ) ) - - - ( 11 )
其中
Figure BSA00000193803800095
分别表示神经元i的数值类型误差和字符类型误差,
Figure BSA00000193803800096
表示神经元i的数值类型权值分向量。Ci为映射到神经元i的混合输入模式向量构成的集合,a为一常数,p(·)为Ci中元素的概率函数。神经元i的量化误差qei计算如下:
qei=|ei|                                 (12)
改进的GHSOM初始的第0层中只有一个神经元(其权值的初始化见本节2),其误差e0
e 0 = e 0 n e 0 s = Σ X j ∈ I | | W 0 n - X j n | | 1 / ( 1 + e ap ( X 0 s ) ) - - - ( 13 )
其中分别表示第0层惟一神经元的数值类型误差和字符类型误差,
Figure BSA000001938038000910
表示第0层惟一神经元的数值类型权值分向量,I为所有混合输入模式向量构成的集合。
相对应地,改进的GHSOM中具有最大量化误差值的神经元也被称为误差神经元(errorunit)。由于改进的GHSOM中神经元的权值向量含有字符值,因此在计算误差神经元e的最远邻近神经元d时,应采用如下的方式进行计算:
d = arg max i { | δ ( W i , W e ) | } , W i ∈ N e - - - ( 14 )
其中We为误差神经元e的权值向量,Ne为偏差值最大神经元e邻域内神经元权值向量构成的集合。
传统的GHSOM和改进的GHSOM都利用第0层中神经元的量化误差qe0来控制神经网络层次的拓展。
7.是否在第Layer层中插入新神经元?
对第Layer层每个SOM中神经元计算出量化误差后,需要进一步判断是否需要在第Layer层中插入新神经元。传统GHSOM判断第Layer层中每个神经元i的量化误差qei是否满足下式:
qei<τ1·qeu                                    (15)
τ1为控制神经网络中神经元增加的参数,qeu为神经元i的父神经元u的量化误差。如果不满足(14)式,则需要在误差神经元e及其最远邻近神经元d(误差神经元和最远邻近神经元的定义参见本节6中的内容)之间插入一行或一列神经元。插入神经元的过程如图3所示。
在图3的左边是一个2×2结构的SOM,e为误差神经元,d为误差神经元e的最远邻近神经元,在神经元e和d之间插入一列新的神经元(神经元f和c),新的神经元权值向量的初始值为邻近神经元权值向量的平均值。即神经元f权值向量的初始值为神经元e和d权值向量的平均值,神经元c权值向量的初始值为神经元a和b权值向量的平均值。
当对第Layer层每个SOM中神经元达到了预定的学习次数(预定学习次数需要预先设定)以后,传统的GHSOM算法计算出每个神经元的量化误差。为了判断神经网络是否应该在第Layer层中增加新的神经元,算法首先计算出参数τ1与qeu的乘积,其中qeu为当前SOM父神经元的量化误差,如果当前SOM中存在某个神经元的量化误差大于参数τ1与qeu的乘积,则在误差神经元和它的最远邻近神经元之间插入一行或者一列神经元。如果将参数τ1设置太低,则会使网络层次很深,每一层的映射规模很小。如果将参数τ1设置太高则会使网络层次较浅,每一层映射横向扩展庞大。通常情况下研究者对参数τ1设置多个不同的值进行实验,然后找出最合适的一个值。
Pampalk等人提出一种张力映射率(Tension and Mapping Ration)的策略使得GHSOM网络能够自动做出决策是否应该增加新的神经元,但他们的研究仅适合于数值类型的输入模式向量。在他们研究的基础上,我们将这种张力映射率的策略引进到改进的GHSOM中,使得对于含有数值类型成员和字符类型成员的混合输入模式向量,改进的GHSOM神经网络能够自动控制神经元数目的增长。
使用张力映射率有两个原则:一是必须保证神经元i与神经元j之间映射的稳定性。这种稳定性的度量则是在神经元i与神经元j之间插入一个虚神经元vij,虚神经元vij的权值Wij通过以下计算得到:
W ij = W ij n W ij s = ( W i n + W j n ) / 2 mode ( { C i s } ∪ { C j s } ) - - - ( 16 )
在插入虚神经元之后,如果原本映射到神经元i和神经元j的输入模式向量大部分都映射到了虚神经元vij(即映射到虚神经元vij的输入模式向量超过设定比例),则认为网络结构是不稳定的;相似地,如果原本映射到神经元i和神经元j的输入模式向量只有很少一部分用虚神经元vij来代表更合适,则认为网络结构是稳定的。这种表示方式叫做映射率(MR)。另一个原则必须保证网络的邻居拓扑结构是稳定的,这种稳定度用张力来衡量。如果所有邻近神经元之间的张力都差不多(邻近神经元之间的张力差值均小于设定值),则认为网络结构是稳定的。对于一个训练好的网络映射m,下述算法描述了改进的GHSOM神经网络自动控制神经元增长的过程。
Step1:对每一个神经元i定义4个虚神经元,对于边界的神经元也采取类似的方法。图4用图形描叙了这种方法。
在图4中有6个用实线圆代表的神经元,在每个神经元周围有4个用虚线圆代表的虚神经元。神经元I是一个边界上的虚神经元,它的权值WI可通过以下公式计算得到:
W I = W I n W I s = ( W 14 n + W 1 n ) / 2 mode ( { C 1 s } ∪ { C 4 s } ) - - - ( 17 )
对于其它边界上的神经元,可以用类似的计算方式得到相应的权值。
Step2:计算每个虚神经元的映射率。对于映射到神经元i的所有输入模式X构成的集合(X∈Ci),在神经元i周围插入虚神经元后,把映射到神经元i的输入模式的个数记作映射到虚神经元vij的输入模式的个数记作Ni。类似地,对于映射到神经元j的所有输入模式X构成的集合(X∈Cj),在神经元j周围插入虚神经元后,把映射到神经元j的输入模式的个数记作
Figure BSA00000193803800113
映射到虚神经元vij的输入模式的个数记作Nj。则每个虚神经元vij的映射率MRij可以通过以下计算得到:
MR ij = N i N i ij + N j N j ij - - - ( 18 )
对于边界上的虚神经元k,它的映射率MRik可以通过以下计算得到:
MR ik = N i N i ik - - - ( 19 )
其中神经元i为边界神经元。
Step3:根据所有虚神经元映射率的和判断神经网络的映射是否继续增长。计算所有映射率MRij的和SMR。如果映射的拓扑结构规格大于2×2并且SMR的值比之前映射的SMR值要大,则映射停止增长,否则,神经网络将继续扩展出新的神经元。对于每一行或每一列虚神经元z,通过式(19)计算出相应行或者列的平均映射率AMRz
AMR z = 1 | U | Σ ( i , j ) ∈ U MR ij , U = { ( i , j ) | v ij ∈ z } - - - ( 20 )
Step4:计算张力。首先计算每一行或每一列虚神经元的平均距离ADz。每一行虚神经元的平均距离是指这一行两两虚神经元距离和的平均值,通过类似方法可以计算出每一列虚神经元的平均距离。具体如式(20)所示:
AD z = 1 | U | Σ ( i , j ) ∈ U | δ ( W i , W j ) | , U = { ( i , j ) v ij | ∈ z } - - - ( 21 )
进一步的,计算出所有行ADz的平均距离ADr和所有列ADz的平均距离ADc,其中下标r代表所有行的虚神经元,下标c代表所有列的虚神经元。对于每一行虚神经元的张力Tz,可以通过计算式Tz=ADz/ADc得到,每一列虚神经元的张力Tz,则可以通过计算式Tz=ADz/ADr得到。对于超出边界的列或者行的虚神经元,他们的行或列的张力则和最靠近它们的行或者列的张力相等。
Step5:对每一行或者每一列虚神经元的张力和对应的平均映射率相乘,选择出具有最大值的行或者列,在对应位置插入一行或者一列神经元。
8.对第Layer层中插入了新神经元的SOM重新进行训练。
对第Layer层中插入了新神经元的SOM,传统的GHSOM和改进的GHSOM都需要按照本节4和5中介绍的方式对其重新进行训练。
9.是否从第Layer层中的神经元扩展出新的分层?
传统GHSOM和改进的GHSOM都需要判断第Layer层中的每个神经元i(i表示第Layer层中的任意神经元)的量化误差qei是否满足下式:
qei<τ2·qe0                                         (22)
其中τ2为控制神经网络中层次拓展的参数。对于不满足上式的神经元,在此神经元的下层拓展出一个新的2×2结构的SOM,这个神经元称为新拓展出的SOM的父神经元。神经网络继续对Layer+1层的神经元进行训练,直到不再产生新的神经元与分层。总的来说,传统的GHSOM和改进的GHSOM最后都会形成类似于图5所示的拓扑结构。
图5所示的GHSOM有4层,初始的第0层只有一个神经元,从第0层的神经元拓展出一个2×2结构的SOM。新的SOM在训练的过程中增加了一列神经元,变成了2×3结构的SOM,2×3结构的SOM中的两个神经元又进一步拓展出两个2×2结构的SOM。重复上述过程,直到GHSOM结构稳定,不再产生新的神经元和分层。
入侵检测过程
基于神经网络的网络入侵检测过程见图6。在线检测时,首先由数据采集与预处理模块从网络中采集原始网络数据;然后经过特征提取模块进行特征的提取,生成神经网络能够识别的输入模式;最后将输入模式交给入侵检测模块进行检测。入侵检测模块中的核心部件是训练好的基于改进的GHSOM神经网络模型。入侵检测模块如果对当前网络行为判别为攻击行为,则需要入侵分析与处理模块对其进一步分析处理。
包括以下步骤:
(1)数据采集模块
数据采集模块中使用winpcap来抓包。winpcap是libpcap在Windows下的移植版本,而libpcap是目前最强大的网络抓包库。Winpcap可监听和采集整个网络段中的数据包。得到数据包头的信息后,进一步的,对IP包进行格式检查,若有分片则进行重组。接着,判别它是TCP包,UDP包或者是ICMP包,根据数据包的不同协议类型,进行不同的语义分析,将符合要求的数据包中的信息,传递给数据处理模块。
(2)数据处理
数据处理模块从采集的协议流数据中提出能够比较精确表达数据信息的特征,转化成入侵检测模块能够识别的格式,送给入侵检测模块进行处理。在对数据包进行特征提取上,采用快速的IP数据包重组算法,TCP会话重组算法,并采用Hash表示法进行统计,对每个会话流提炼出了如表2所示的25个特征。之后采用规一化方法对特征向量进行规一化处理。规一化处理的原则是找出每一维特征的最大值,然后将每个特征向量的对应值除以这个最大值;如果最大值为0,则对每个特征向量相对应的值不做改变。对整个特征向量集进行规一化等处理后,就可以作为入侵检测模块的输入数据了。
表2提取的25维特征
Figure BSA00000193803800141
(3)入侵检测
入侵检测模块是入侵检测系统的核心模块。入侵检测模块基于改进的GHSOM神经网络进行构建,在对模型训练好的基础上,对数据处理模块提供的输入数据进行检测,并把检测的结果交给入侵处理模块进行进一步处理。
(4)入侵分析与处理模块
如果入侵检测模块判断当前发生了入侵,入侵分析与处理模块则遍历攻击类型标识库,检验是否有匹配的攻击,如果有则可以确定攻击的类型。如果没有匹配的攻击,则进一步判断是否为新的攻击类型,如果是新的攻击类型,则把这种攻击类型加入到攻击类型标识库。
(5)告警处理模块
如果系统检验到当前网络行为是入侵行为,需要告警处理模块和入侵响应模块进一步处理。告警处理模块对入侵行为做出处理,对入侵行为发出警报,并对其进行定位(如告警事件涉及的源地址和端口号),把这些信息显示在人机交互界面上,根据用户的指令执行相应的操作。
(6)输入/输出处理引擎
输入/输出处理引擎模块是人机交互界面与入侵检测原型系统之间的连接模块。用户通过人机界面发出的各种操作命令都是通过该模块进行解释处理,系统产生的报警信息也由该模块处理之后在人机交互界面上显示。

Claims (8)

1.一种基于生长型分级自组织映射神经网络的入侵检测方法,其步骤为:
1)从网络中采集网络数据,并对其进行特征的提取,生成神经网络能够识别的输入模式;
2)将步骤1)处理后的数据输入给已加载训练好的神经网络模型的入侵检测模块,进行
入侵检测,其中神经网络模型的训练方法为:
a)将训练样本数据集中的混合输入模式向量采用
Figure FSA00000193803700011
形式表示,其中表示
第j个混合输入模式向量Xj的数值类型分向量、
Figure FSA00000193803700013
表示Xj的字符类型分向量;
b)利用输入模式向量初始化神经网络第0层中唯一神经元的权值,并计算其量化误差qe0;其中,神经元权值包括数值型权值分量、字符型权值分量;
c)从第0层的神经元中拓展一n×m结构SOM,并将其层次标识Layer置为1;其中n、m为大于1的自然数;
d)对于第Layer层中拓展出的每一n×m结构SOM,从映射到其父神经元的混合输入模式向量构成的集合中挑选一混合输入模式向量X,并计算该SOM中每个神经元与X的距离;
e)选取该SOM中与X距离最小的神经元c,并对神经元c及其邻域内神经元的权值进行调整;如果未达到预定训练次数,则转入步骤d);
f)计算经e)调整后的该SOM中每个神经元的量化误差;
g)根据SOM中神经元的量化误差和第0层神经元的量化误差qe0,控制拓展出的SOM中神经元数目的增加和神经网络层次的拓展;
h)对第Layer层中增加了新神经元的SOM和新拓展出的Layer+1层的所有n×m结构SOM,采用步骤d)~f)对其重新进行训练,直至神经网络不再产生新的神经元和新的分层,整个训练结束;
3)检测结果处理模块根据入侵检测模块输出结果判断当前是否发生入侵,如果发生入侵,则入侵处理模块遍历攻击类型标识库,检验是否有匹配的攻击,如果有则确定攻击的类型并发出告警信息;如果没有匹配的攻击,则判断是否为新的攻击类型,如果是新的攻击类型,则把这种攻击类型加入到攻击类型标识库并发出告警信息。
2.如权利要求1所述的方法,其特征在于第0层中神经元的数值型权值分量
Figure FSA00000193803700014
为所有混合输入模式向量的数值类型分向量的平均值,第0层中神经元的字符类型权值分向量
Figure FSA00000193803700015
为所有混合输入模式向量的字符类型分向量的众数向量;所述众数向量为:对于一个形如[s1,s2,…,sn]的字符类型向量构成的集合S,其众数向量mode(S)为[mode(s1),mode(s2),…,mode(sn)],其中mode(si)表示所有向量的第i项构成的集合中出现次数最多的字符值。
3.如权利要求1或2所述的方法,其特征在于所述n×m结构SOM为2×2结构SOM。
4.如权利要求3所述的方法,其特征在于采用张力映射率方法控制SOM中神经元的增加,其方法为:
1)在神经元i与神经元j之间插入一虚神经元vij,虚神经元vij的权值Wij通过公式:
W ij = W ij n W ij s = ( W i n + W j n ) / 2 mode ( { C i s } ∪ { C j s } ) 得到;
2)计算每个虚神经元的映射率;
3)计算所有虚神经元映射率之和SMR;如果映射的拓扑结构规格大于2×2并且SMR值大于之前映射的SMR值,则映射停止增长,否则,神经网络继续扩展出新的神经元;
4)计算SOM中插入的每一行或每一列虚神经元的张力;
5)将每一行或每一列虚神经元的张力与其对应的平均映射率相乘,选择出具有最大值的行或者列并在其对应位置插入神经元。
5.如权利要求1或2所述的方法,其特征在于计算SOM中每个神经元与X的距离的方法为:
通过计算SOM中神经元i的权值向量Wi与混合输入模式向量X的相似度,得到神经元i与混合输入模式向量X的距离。
6.如权利要求5所述的方法,其特征在于采用相似度函数为:
Figure FSA00000193803700022
计算所述相似度;其中,v1、v2分别为相似度函数的输入向量,为向量v1中数值类型成员值,
Figure FSA00000193803700024
为向量v1中字符类型成员值,如果v1与v2相对应的字符类型成员值相同,则函数s(·)取值为0,否则取值为0.5。
7.如权利要求1或2所述的方法,其特征在于对神经元c及其邻域内神经元的权值采用公式
Figure FSA00000193803700025
进行调整,其中,η(t)为t时刻的学习速率,K(c,i,t)为邻域函数,
Figure FSA00000193803700026
表示映射到神经元i的混合输入模式向量的字符类型分向量构成的集合,
Figure FSA00000193803700027
为集合
Figure FSA00000193803700028
的众数向量。
8.如权利要求1或2所述的方法,其特征在于该SOM中每个神经元的量化误差的计算方法为:神经元i的量化误差为qei=|ei|其中,
Figure FSA00000193803700029
Figure FSA000001938037000210
Figure FSA000001938037000211
分别表示神经元i的数值类型误差和字符类型误差,
Figure FSA00000193803700031
表示神经元i的数值类型权值分向量,Ci为映射到神经元i的混合输入模式向量构成的集合,a为一常数,p(·)为Ci中元素的概率函数。
CN2010102287506A 2010-07-09 2010-07-09 一种基于生长型分级自组织映射神经网络的入侵检测方法 Expired - Fee Related CN101901317B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102287506A CN101901317B (zh) 2010-07-09 2010-07-09 一种基于生长型分级自组织映射神经网络的入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102287506A CN101901317B (zh) 2010-07-09 2010-07-09 一种基于生长型分级自组织映射神经网络的入侵检测方法

Publications (2)

Publication Number Publication Date
CN101901317A true CN101901317A (zh) 2010-12-01
CN101901317B CN101901317B (zh) 2012-01-18

Family

ID=43226846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102287506A Expired - Fee Related CN101901317B (zh) 2010-07-09 2010-07-09 一种基于生长型分级自组织映射神经网络的入侵检测方法

Country Status (1)

Country Link
CN (1) CN101901317B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195975A (zh) * 2011-04-08 2011-09-21 上海电机学院 基于移动代理和学习向量量化神经网络的智能nips架构
CN102647292A (zh) * 2012-03-20 2012-08-22 北京大学 一种基于半监督神经网络模型的入侵检测方法
CN102780691A (zh) * 2012-05-24 2012-11-14 深圳市中兴移动通信有限公司 一种移动终端检测、回避网络攻击的方法
CN102789593A (zh) * 2012-06-18 2012-11-21 北京大学 基于增量式ghsom神经网络的入侵检测方法
CN107579956A (zh) * 2017-08-07 2018-01-12 北京奇安信科技有限公司 一种用户行为的检测方法和装置
CN110737777A (zh) * 2019-08-28 2020-01-31 南京航空航天大学 一种基于ghsom算法的知识地图构建方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195975A (zh) * 2011-04-08 2011-09-21 上海电机学院 基于移动代理和学习向量量化神经网络的智能nips架构
CN102647292A (zh) * 2012-03-20 2012-08-22 北京大学 一种基于半监督神经网络模型的入侵检测方法
CN102647292B (zh) * 2012-03-20 2014-07-23 北京大学 一种基于半监督神经网络模型的入侵检测方法
CN102780691A (zh) * 2012-05-24 2012-11-14 深圳市中兴移动通信有限公司 一种移动终端检测、回避网络攻击的方法
CN102780691B (zh) * 2012-05-24 2016-01-20 努比亚技术有限公司 一种移动终端检测、回避网络攻击的方法
CN102789593A (zh) * 2012-06-18 2012-11-21 北京大学 基于增量式ghsom神经网络的入侵检测方法
CN102789593B (zh) * 2012-06-18 2014-11-26 北京大学 基于增量式ghsom神经网络的入侵检测方法
CN107579956A (zh) * 2017-08-07 2018-01-12 北京奇安信科技有限公司 一种用户行为的检测方法和装置
CN107579956B (zh) * 2017-08-07 2021-05-11 奇安信科技集团股份有限公司 一种用户行为的检测方法和装置
CN110737777A (zh) * 2019-08-28 2020-01-31 南京航空航天大学 一种基于ghsom算法的知识地图构建方法

Also Published As

Publication number Publication date
CN101901317B (zh) 2012-01-18

Similar Documents

Publication Publication Date Title
CN102647292B (zh) 一种基于半监督神经网络模型的入侵检测方法
CN101901317B (zh) 一种基于生长型分级自组织映射神经网络的入侵检测方法
CN106341414B (zh) 一种基于贝叶斯网络的多步攻击安全态势评估方法
Canedo et al. Using machine learning to secure IoT systems
Linda et al. Neural network based intrusion detection system for critical infrastructures
CN101746269B (zh) 基于软计算的疲劳驾驶融合检测方法
CN102789593B (zh) 基于增量式ghsom神经网络的入侵检测方法
CN104935600A (zh) 一种基于深度学习的移动自组织网络入侵检测方法与设备
CN103905440B (zh) 一种基于日志和snmp信息融合的网络安全态势感知分析方法
CN103532949B (zh) 基于动态反馈的自适应木马通信行为检测方法
CN107872460A (zh) 一种基于随机森林的无线传感网dos攻击轻量级检测方法
CN107241358A (zh) 一种基于深度学习的智能家居入侵检测方法
CN103530540A (zh) 基于人机交互行为特征的用户身份属性检测方法
CN107040517A (zh) 一种面向云计算环境的认知入侵检测方法
CN105242544A (zh) 考虑随机扰动的非线性多无人机系统容错编队控制方法
CN102098306A (zh) 基于关联矩阵的网络攻击路径分析方法
CN101848160A (zh) 在线检测和分类全网络流量异常的方法
CN101478534A (zh) 一种基于人工免疫原理的网络异常检测方法
CN106789904A (zh) 物联网入侵检测方法及装置
CN108632266A (zh) 一种配电通信网络安全态势感知方法
CN102487343A (zh) 卫星通信系统隐故障诊断预测方法
CN112367303B (zh) 分布式自学习异常流量协同检测方法及系统
CN103152222A (zh) 一种基于主机群特征检测速变攻击域名的方法
Jin et al. The model of network security situation assessment based on random forest
CN101771584B (zh) 一种网络流量异常检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120118

Termination date: 20150709

EXPY Termination of patent right or utility model