一种多神经网络融合的入侵检测方法转让专利

申请号 : CN200810046303.1

文献号 : CN101399672B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 章毅刘贵松蒲晓蓉屈鸿张蕾彭德中

申请人 : 章毅刘贵松

摘要 :

一种多神经网络融合的入侵检测方法,包括以下步骤:对来自外网的数据进行抓包和分析处理;将上述处理后的网络数据同时传输到分析数据库和SGNG异常检测分类器,使用封闭网络采集的正常类型数据离线训练SGNG异常检测分类器;所述SGNG异常检测分类器将检测出的异常数据标记后进行系统报警并将其存入分析数据库;将分析数据库中标记异常的数据集提供给PCSOM异常聚类分析器进行异常数据聚类分析;经过SGNG异常检测分类器检测出的异常数据按照类型分别输入到若干个并行的PCANN误用检测器,PCANN误用检测器将检测出的异常数据进行具体入侵类型报警,同时对所有PCANN误用检测器过滤的异常数据进行标记并存入分析数据库。

权利要求 :

1.一种多神经网络融合的入侵检测方法,其特征在于,包括以下步骤:

①对来自外网的数据进行抓包和分析处理;

②将上述处理后的网络数据同时传输到分析数据库和异常检测分类器,使用封闭网络采集的正常类型数据离线训练异常检测分类器;

③所述异常检测分类器将检测出的异常数据标记后进行系统报警并将其存入分析数据库;

④将分析数据库中标记异常的数据集提供给异常聚类分析器进行异常数据聚类分析;

⑤经过异常检测分类器检测出的异常数据按照类型分别输入到若干个并行的误用检测器,误用检测器将检测出的异常数据进行具体入侵类型报警,同时对所有误用检测器过滤的异常数据进行标记并存入分析数据库;

其中:

异常检测分类器:一种自增长的神经网络模型,将输入的外网数据划分为正常数据和异常数据两大类,并将封闭网络的数据采集作为训练数据,训练过程为监督过程,对实时采集的外网数据进行实时检测,具体包括以下步骤:A、输入单类别模式训练数据,在此系统中此训练数据为封闭网络采集的正常类型网络连接数据;B、神经元自分裂过程:根据输入数据在高维空间中的分布,网络自动增长从而适应和模拟训练数据的分布情况,初始网络的神经元数目为1,在神经元竞争过程中,当获胜神经元权值和输入之间的距离大于某事先设定的分裂半径时,自动添加一个神经元并设定其权值为当前输入向量;C、神经元竞争和合作过程:分裂后的SelfGrowingNeural Gas网络在后续的输入迭代过程中进行权值调整,直至满足设定的收敛条件;D、神经元删除过程:在网络收敛后,各神经元的获胜次数如果小于预先设定的删除阈值,则此神经元被认为处于“欠训练”或“死”的状态,在网络中删除此类神经元;E、组合网络中所有活动的神经元构成单模式有监督训练的精确分类器;

异常聚类分析器:它结合自组织网络SOM以及主成分分析方法PCA对分析数据库中的异常数据进行聚类分析,从而为确定某类具体攻击类型特征的建立提供训练数据基础,此训练过程为无监督训练,具体工作步骤如下:A、随机初始化自组织网络SOM网络神经元权值;指定神经元数目;B、从分析数据库中输入无具体攻击类别标记的异常数据向量;C、分别计算输入在每个神经元所代表的类别子空间中的投影误差;D、根据SOM规则对相关神经元权值进行更新;E、返回步骤B迭代,直至满足预定的网络收敛条件;

误用检测器:为针对确定的已知攻击类型数据而建立,主要检测某异常数据是否为某类型攻击,其训练为有监督训练,训练数据来源于异常聚类分析器所标记的具体入侵类别数据,训练过程中,根据检测率和误报率的平衡确定一个误用检测器的检测阈值参数ε,其工作步骤如下:A、训练阶段:给定精度,网络自动迭代收敛至要求精度,此时,网络中神经元的数目m等同于训练数据的实质维度,即将输入的n维数据自动压缩到m维的特征子空间中;

B、确定分类器检测阈值参数ε:计算输入在m维特征子空间中的投影误差,根据误报率和检测率指标的平衡确定ε;

C、实时误用检测:来自异常检测分类器过滤的异常数据输入误用检测器,当异常数据的投影误差小于ε时,确定此异常数据为此误用检测器刻画的具体入侵类型,否则不予处理。

2.根据权利要求1所述的多神经网络融合的入侵检测方法,其特征在于,当分析数据库中的异常数据达到规定的规模以后,会自动触发PCSOM异常聚类分析器进行聚类分析。

说明书 :

一种多神经网络融合的入侵检测方法

技术领域

[0001] 本发明涉及入侵检测技术领域,具体涉及一种多神经网络融合的入侵检测方法。

背景技术

[0002] 近年来,网络攻击和入侵的频繁发生使得入侵检测系统(IDS)技术的研究变得越来越重要。在整个系统安全架构中,对于系统、网络直至用户IDS扮演了非常重要的角色。通常而言,一个计算机网络系统包含了很多的安全系统,诸如网络防火墙、漏洞扫描系统、访问控制系统等。但入侵检测系统是唯一通过数据和行为模式判断其是否有效的系统。对于一个成功的入侵检测系统而言,它不但可以使系统管理员时刻了解网络系统(包括程序、文件和硬件设备)的任何变更,还能给网络安全策略的制定提供指南。
[0003] 神经网络技术在网络安全入侵检测邻域中是非常有前景的技术之一。国际上最为著名的研究机构和组织包括Georgia大学,MIT,Research of RST Corp.,以及UBILAB实验室等。1998年,J.Cannady和J.Mahaffy在研究误用检测中,首次采用多层感知机MLP模型使用后向传播BP算法,并且提出和自组织神经网络SOM相结合,建立MLP/SOM模型以取得更佳性能。自此以后,基于神经网络技术的入侵检测研究更加繁荣。在这些研究中,包括使用BP网络、RBF网络、SOM网络及其各种变化形式、支持向量机SVM、PCA/MCA神经网络用于特征抽取等等。总结所有这些方法的特点,都是采用神经网络模型无关的特性进行特征选择/抽取,进而进行行为或者数据模式的建立;网络的训练根据需要采用监督或者无监督方式;应用于异常检测或误用检测;使用模型或算法具有的数据分类或者聚类能力。
[0004] 明显的,基于单一网络/模型进行入侵检测分析可以取得一定的效果(即针对单一的异常检测或者误用检测)。但整体而言,一个完整的入侵检测系统不但需要较高的异常检测能力,即区分正常和异常行为,尤其需要对于新类型的入侵/攻击的检测能力;而且需要自适应地完善系统误用攻击检测能力,即对于已经识别的入侵/攻击的高效率识别能力。
[0005] 由此,单一的神经网络智能方法对于构筑一个完整的入侵检测系统捉襟见肘。

发明内容

[0006] 本发明所要解决的技术问题是如何提供一种多神经网络融合的入侵检测方法,该方法采用异常检测和误用检测相结合的技术手段,克服现有技术中所存在的缺陷。
[0007] 本发明所提出的技术问题是这样解决的:提供一种多神经网络融合的入侵检测方法,其特征在于,包括以下步骤:
[0008] ①对来自外网的数据进行抓包和分析处理;
[0009] ②将上述处理后的网络数据同时传输到分析数据库和SGNG异常检测分类器,使用封闭网络采集的正常类型数据离线训练SGNG异常检测分类器;
[0010] ③所述SGNG异常检测分类器将检测出的异常数据标记后进行系统报警并将其存入分析数据库;
[0011] ④将分析数据库中标记异常的数据集提供给PCSOM异常聚类分析器进行异常数据聚类分析;
[0012] ⑤经过SGNG异常检测分类器检测出的异常数据按照类型分别输入到若干个并行的PCANN误用检测器,PCANN误用检测器将检测出的异常数据进行具体入侵类型报警,同时对所有PCANN误用检测器过滤的异常数据进行标记并存入分析数据库;
[0013] 其中:
[0014] SGNG异常检测分类器:一种自增长的神经网络模型,将输入的外网数据划分为正常数据和异常数据两大类,并将闭合网络的数据采集作为训练数据,训练过程为监督过程,对实时采集的外网数据进行实时检测,具体包括以下步骤:A、输入单类别模式训练数据,在此系统中此训练数据为闭合网络采集的正常类型网络连接数据;B、神经元自分裂过程:根据输入数据在高维空间中的分布,网络自动增长从而适应和模拟训练数据的分布情况,初始网络的神经元数目为1,在神经元竞争过程中,当获胜神经元权值和输入之间的距离大于某事先设定的分裂半径时,自动添加一个神经元并设定其权值为当前输入向量;C、神经元竞争和合作过程:分裂后的SGNG网络在后续的输入迭代过程中进行权值调整,直至满足设定的收敛条件;D、神经元删除过程:在网络收敛后,各神经元的获胜次数如果小于预先设定的删除阈值,则此神经元被认为处于“欠训练”或“死”的状态,在网络中删除此类神经元;E、组合网络中所有活动的神经元构成单模式有监督训练的精确分类器;
[0015] PCSOM异常聚类分析器:它结合自组织网络SOM以及主成分分析方法PCA对分析数据库中的异常数据进行聚类分析,从而为确定某类具体攻击类型特征的建立提供训练数据基础,此训练过程为无监督训练,具体工作步骤如下:A、随机初始化PCSOM网络神经元权值;指定神经元数目;B、从分析数据库中输入无具体攻击类别标记(只由SGNG判为异常数据标记)的异常数据向量;C、分别计算输入在每个神经元所代表的类别子空间中的投影误差;D、根据SOM规则对相关神经元权值进行更新;E、返回步骤B迭代,直至满足预定的网络收敛条件;
[0016] PCANN误用检测器:PCANN误用检测器为针对确定的已知攻击类型数据而建立,主要检测某异常数据是否为某类型攻击,其训练为有监督训练,训练数据来源于PCSOM异常聚类分析器所标记的具体入侵类别数据,训练过程中,根据检测率和误报率的平衡确定一个PCANN误用检测器的检测阈值参数ε,其工作步骤如下:
[0017] A、训练阶段:给定精度,网络自动迭代收敛至要求精度,此时,网络中神经元的数目m等同于训练数据的实质维度,即将输入的n维数据自动压缩到m维的特征子空间中;
[0018] B、确定分类器检测阈值参数ε:计算输入在m维特征子空间中的投影误差,根据误报率和检测率指标的平衡确定ε;
[0019] C、实时误用检测:来自SGNG异常检测分类器过滤的异常数据输入PCANN误用检测器,当异常数据的投影误差小于ε时,确定此异常数据为此PCANN误用检测器刻画的具体入侵类型,否则不予处理。
[0020] 按照本发明所提供的多神经网络融合的入侵检测方法,其特征在于,当分析数据库中的异常数据达到规定的规模以后,会自动触发PCSOM异常聚类分析器进行聚类分析,为训练更多的新的PCANN误用检测器提供训练数据,从而提高系统的自适应性能。
[0021] 本发明有如下功能特点:
[0022] ①使用多种神经网络方法的融合进行系统的训练和实际检测,因此可以充分发挥多种神经网络方法的优点,摒弃其缺点;
[0023] ②是基于网络的入侵检测系统。其数据分析、检测基于网络流,因此可以适应较为复杂的网络环境;
[0024] ③具有较好的可扩展性。系统运行过程中,将持续采集标记异常数据,通过PCSOM异常聚类分析将会有新的误用检测器得到训练并投入使用;同时,现有的PCANN误用检测器的训练将得到周期性的更新;从长远的角度来看,这种扩展性将使得其自动识别并建立更多的入侵模式,从而为采取进一步的反击措施奠定良好的基础。
[0025] ④具备较好的兼容性。系统中所采用的误用检测技术是基于PCANN神经网络的方法,但系统并不局限于此,其他任何新出现的具有较好效果的分类器设计方法都可在此兼容利用。

附图说明

[0026] 图1是本发明的工作流程图;
[0027] 图2是PCSOM算法流程图;
[0028] 图3是PCANN网络结构图;
[0029] 图4是SGNG异常检测分类器分类示意图;
[0030] 图5是SGNG异常检测分类器训练模式图;
[0031] 图6是PCSOM异常聚类分析示意图;
[0032] 图7是PCSOM异常聚类分析器工作流程图;
[0033] 图8是PCANN误用检测器训练流程图;
[0034] 图9是PCANN误用检测器检测流程图。

具体实施方式

[0035] 下面结合附图以及实施例对本发明作进一步的说明。如图1所示,图中虚线代表离线数据流进行神经网络分类器或聚类分析的训练,而实线则代表在线数据处理流程。
[0036] 其中,SGNG异常检测分类器通过闭合网络的数据采集作为训练数据,得到网络数据和行为的正常模式,训练过程为监督训练,对实时采集的开放网络数据进行实时检测;SGNG异常检测分类器的目的是将输入的网络连接数据划分成两类:正常数据和异常数据。
参考下图4,SGNG异常检测分类器是一种自增长的神经气网络模型,和传统的SOM自组织网络在不同维度空间的映射机理不同,SGNG网络中神经元的竞争合作是在输入空间中进行。
利用神经气网络的聚类分析功能,结合神经元数目自动确定的动态结构,SGNG可以实现单类别模式的精确刻画,其工作原理示意图如图5所示。具体包括以下步骤:输入单类别模式训练数据,在此系统中此训练数据为闭合网络采集的正常类型网络连接数据;神经元自分裂过程:根据输入数据在高维空间中的分布,网络自动增长从而适应和模拟训练数据的分布情况。初始网络的神经元数目为1;在神经元竞争过程中,当获胜神经元权值和输入之间的距离大于某事先设定的分裂半径θ(图5中圆的半径示意)时,SGNG自动添加一个神经元并设定其权值为当前输入向量;在后续的输入迭代过程中进行权值调整;直至满足设定的收敛条件;图5中多个圆代表多个神经元,模拟正常数据的分布情况。神经元删除过程:在网络收敛后,各神经元的获胜次数如果小于预先设定的删除阈值,则此神经元被认为处于“欠训练”或“死”的状态;在网络中删除此类神经元;如图5中,单个孤立的圆所表示的正常训练数据可以看作训练数据中的噪声,进而删除。组合SGNG网络中所有活动的神经元构成单模式有监督训练的精确分类器。图5中未经删除的圆组合代表主体的正常训练模式。
[0037] 如上所述,采用正常网络流量数据训练的SGNG异常检测分类器可以较为精确的提供网络正常模式的刻画,同时快速将输入网络数据划分成两大类:正常和异常连接数据;由于并非依赖异常数据的特征,因此SGNG异常检测分类器可以充分检测系统中新出现的攻击,如图5中,只要不满足正常模式刻画的特征,SGNG异常检测分类器将判为网络攻击数据。
[0038] 所述SGNG异常检测分类器通过闭合网络的数据采集作为训练数据,得到网络数据和行为的正常模式,训练过程为监督训练,对实时采集的开放网络数据进行实时检测;SGNG是一种自增长的神经气网络模型,由于网络中神经元的竞争和合作过程模拟了气体分子的布朗运动而得名。和传统的SOM自组织网络在不同维度空间的映射机理不同,SGNG网络中神经元的竞争合作是在输入空间中进行。利用神经气网络的聚类分析功能,结合神经元数目自动确定的动态结构,SGNG可以实现单类别模式的精确刻画。采用正常网络流量数据训练的SGNG异常检测分类器可以较为精确的提供网络正常模式的刻画,同时快速将输入网络数据划分成两大类:正常和异常连接数据;由于并非依赖异常数据的特征,因此SGNG异常检测分类器可以充分检测系统中新出现的攻击。
[0039] PCSOM异常聚类分析器根据分析数据库中的异常数据规模触发PCSOM异常数据聚类分析。PCSOM网络结合了经典自组织网络SOM以及主成分分析方法PCA。结合PCA分析,PCSOM将数据相似性度量由传统的欧几里德尺度替换为在特征子空间中的映射;即由高维空间中的超球体聚类分析变换为超椭球体聚类分析,从而更加适合高斯分布的数据聚类分析。传统SOM仅以类别的中心向量作为神经元的权值,而PCSOM增加了满足精度要求的降维后类别数据的特征子空间基向量。PCSOM网络的主要功能是对分析数据库中的异常数据进行聚类分析,从而为确定某类具体攻击类型特征的建立提供训练数据基础。此训练过程为无监督训练。
[0040] 根据分析数据库中的异常数据规模触发PCSOM异常数据聚类分析,PCSOM网络结合了经典自组织网络SOM以及主成分分析方法PCA。结合PCA分析,PCSOM将数据相似性度量由传统的欧几里德尺度替换为在特征子空间中的映射;即由高维空间中的超球体聚类分析变换为超椭球体聚类分析,从而更加适合高斯分布的数据聚类分析,其优点参考图6示意图。传统SOM仅以类别的中心向量作为神经元的权值,而PCSOM增加了满足精度要求的降维后类别数据的特征子空间基向量。
[0041] PCSOM网络工作步骤如下:
[0042] (1)随机初始化PCSOM网络神经元权值;指定神经元数目;
[0043] (2)从分析数据库中输入无具体攻击类别标记(只由SGNG判为异常数据标记)的异常数据向量;
[0044] (3)分别计算输入在每个神经元所代表的类别子空间中的投影误差;
[0045] (4)根据SOM规则对相关神经元权值进行更新;
[0046] (5)返回步骤(2)迭代,直至满足预定的网络收敛条件。
[0047] PCSOM网络的主要功能是对分析数据库中的异常数据进行聚类分析,从而为确定某类具体攻击类型特征的建立提供训练数据基础。此训练过程为无监督训练。其工作流程示意如图7所示
[0048] PCANN误用检测器为针对确定的已知攻击类型数据而建立,使用中主要检测某异常数据是否为某类型攻击。PCANN神经网络实现了传统的PCA算法,使得分类器更加适合高斯分布数据。其训练采用Adaptive GHA算法,可以在提前确定总方差贡献率精度α的基础上,自动逼近输入类别数据的实质维;其训练为有监督训练,训练数据来源于PCSOM异常聚类分析数据;训练过程中,根据检测率和误报率的平衡确定一个PCANN误用检测器的检测阈值参数ε。因此,PCANN误用检测器通过更加精确的类别刻画使得误用检测更加精确,从而降低误报率;同时可以更多的发现新类型的攻击,当所有PCANN误用检测器不能检测的异常数据达到一定的规模时,系统将自动触发PCSOM异常数据聚类分析,从而训练更多的PCANN误用检测器。
[0049] 所述PCANN误用检测器为针对确定的已知攻击类型数据而建立。使用中主要检测某异常数据是否为某类型攻击。PCANN神经网络实现了传统的PCA算法,使得分类器更加适合高斯分布数据。其训练采用Adaptive GHA算法,可以在提前确定总方差贡献率精度α的基础上,自动逼近输入类别数据的实质维;其训练为有监督训练,训练数据来源于PCSOM异常聚类分析器所标记的具体入侵类别数据;训练过程中,根据检测率和误报率的平衡确定一个PCANN误用检测器的检测阈值参数ε。其工作步骤如下:
[0050] (1)训练阶段:给定精度如α=90%,网络自动迭代收敛至要求精度。此时,网络中神经元的数目m等同于训练数据的实质维度,即将输入的n维数据自动压缩到m维的特征子空间中;
[0051] (2)确定分类器检测阈值ε:计算输入在m维特征子空间中的投影误差,根据误报率和检测率指标的平衡确定ε;
[0052] (3)实时误用检测:来自SGNG过滤的异常数据输入PCANN误用检测器;当异常数据的投影误差小于ε时,确定此异常数据为此PCANN误用检测器刻画的具体入侵类型;否则不予处理;
[0053] 因此,PCANN误用检测器通过更加精确的类别刻画使得误用检测更加精确,从而降低误报率;同时可以更多的发现新类型的攻击,当所有PCANN误用检测器不能检测的异常数据达到一定的规模时,系统将自动触发PCSOM异常数据聚类分析,从而训练更多的PCANN误用检测器。其训练工作流程和实时检测工作流程如图8和图9所示。
[0054] 本发明的具体实施步骤如下:
[0055] 首先通过网络数据的捕获、分析建立离线的“normal”类型系统训练数据,从而可以训练异常检测器;对于误用检测器的训练可以使用异常检测器过滤后的异常数据进行离线或者在线的训练;这些流程包括:网络数据的抓包、实时分析、一般入侵的检测报警、入侵数据的误用分类、具体攻击类型报警以及各类处理后的标记数据入库等。各部分的功能特点如下:
[0056] 外网抓包/分析:通过对流入、流出单位局域网的网络连接数据进行捕获、分析,建立外部入侵检测的数据源;网络为大多数计算机提供的接口是一个内置的以太网卡。以太网卡典型地具有一个“混合模式(Promiscuous)”选项,能够关掉过滤功能而查看经过它的所有数据报。这个混合模式选项恰好被数据报监测程序利用来实现它们的监听功能。数据报截获程序调用WinPcap驱动,支持Win32平台上的信息包捕获和网络分析,它包括内核级的包过滤驱动程序,低级动态连接库(packet.dll)和高级系统无关性库。WinPcap信息包捕获启动程序可把设备驱动增加在Win32平台下,它有能力捕获和发送通过原始套接口的信息包(Raw Packets),具体实现时可直接调用驱动程序的API。在网络监听时,常常要保存大量的信息,并将对收集的信息进行大量的分析和处理。因此,监听和数据分析如果不加协议过滤,将十分消耗系统的内存和CPU时间。同时,如果分析过程不加缓存,许多包就会来不及接收而被漏走。所以监听程序通常将已经捕获到的数据报进行缓存然后分析,二者之间的延迟要视具体的应用进行设置。
[0057] ②SGNG(自增长神经气网络)异常检测:采用有监督训练的SGNG神经网络方法实现异常检测,将入侵数据和正常数据进行两类划分;对于SGNG的训练采用系统通过抓包程序获取的网络流数据,这是一种离线的网络训练方式;训练数据的获取通过一个固定时间段的较为封闭的网络环境下的数据收集,同时,充分利用SGNG对于野点数据的剔除能力;对实时采集的开放网络数据进行实时检测分析:如果数据异常,进行数据标定并存入数据库中,同时进行初步异常报警。在很多实际的应用中,训练数据中存在一些错误标记的数据,或者在根本上存在一些远离主体特征的样本数据。这些数据通常称之为“野点”(Outlier)或者“孤立点”。存在野点的原因很多,比如人为的忽视或错误等等。而野点的存在对通过聚类分析建立类别模式的过程产生较为重大的影响。
[0058] 针对训练数据中的野点具备数量小、孤立等特征,自增长SGNG网络可以在网络收敛后对每个神经元模式进行分析,通过界定神经元获胜次数去除那些欠训练的“死”神经元,从而使之具备针对训练数据中野点的抑制能力,提高对整体类别特征模式刻画的准确性。因此,网络事先定义一个最小获胜次数参数MinWinTime,用于判定最终神经元是否由野点数据造成的欠训练神经元情况。比如定义MinWinTime=2,那些获胜次数小于等于2的神经元将在网络最终的结构调整阶段去除。在SGNG网络算法中,假如某类别特征模式中存在由野点训练的子模式情况,首先它不会影响占绝对多数比例的正常训练数据构造的类别子模式;其次,这种情况的存在会对最终分类的准确性产生一定的影响,即将靠近野点数据的不属于类别C的样本误分为同一类别。SGNG通过神经元删除机制从而具备了对野点的抑制能力。当然,“野点”存在的假设(即是否是真正的“野点”)在实际应用中也会对分类器的检测能力造成一定的影响。但毕竟SGNG的这种机制会在分类器检测率和误分率之间取得较好的平衡。因此可以断言,具备统一误差门限的自增长SGNG神经气网络在一定程度上不会受到训练数据中噪声的影响;另外,这种方法同样可以应用到对分类器训练数据的正确清理/过滤,从而尽量降低训练过程中野点的影响。
[0059] 自增长神经气算法GNG(Growing Neural Gas Algorithm)训练算法步骤如下:
[0060] ALGORITHM-TRAIN-GNG:
[0061] STEP1:初始化系统数据:
[0062] ·初始化神经元数量,M=1
[0063] ·分裂半径,θ
[0064] ·针对神经元删除的最小获胜次数参数MinWinTime
[0065] ·最大训练迭代轮数MaxEPOCH
[0066] ·训练数据输入{x(t)},t=1,…,N
[0067] STEP2:Repeat:fori=0 to MaxEPOCH and j=1to N,input x(j),and[0068] CASEi:
[0069] ·0:goto STEP3
[0070] ·MaxEPOCH:goto STEP4
[0071] ·else:goto STEP5
[0072] STEP3:神经元自增长过程:
[0073] ·for k=1 to M,计算,dk=‖x(j)-wk‖
[0074] ·and,dmin=arg min{dk}
[0075] ·ifdk>θ,M=M+1,wm←x(j)
[0076] ·Goto STEP2.
[0077] STEP4:神经元删除过程:
[0078] ·对每个神经元计算BMU最佳匹配次数B(m),m=1,…,M
[0079] ·ifB(m)
[0080] ·Goto STEP6.
[0081] STEP5:神经元权值更新:
[0082] ·更新wi:wi+1=wi+η(t)hλ(ri)(x(t)-wi),
[0083] 其中ri是神经元的邻域秩,hλ(ri)=e-(ri/λ(t));
[0084] 学习速率参数η(t)=η0(ηend/η0)t/tmax
[0085] 衰减因子计算λ(t)=λ0(λend/λ0)t/tmax
[0086] ·Goto STEP2.
[0087] STEP6:End of ALGORITHM-TRAIN-GNG
[0088] ③PCSOM异常聚类分析:网络运行一段时间后,根据分析数据库中的异常数据规模触发PCSOM异常数据聚类分析,此过程为离线无监督分析过程。经过聚类分析后,异常数据被划分为一定的具体入侵类型的数据集合(正常情况包含噪声)。这些数据将进行后期人工类别标记入库,同时作为PCANN异常检测器的训练数据。对于新产生攻击数据处理,使用同样的流程。系统监视分析数据库中异常数据(含已经聚类分析的标记数据和SGNG异常检测后的未标记入侵类别异常数据),当未标记异常数据达到一定规模,则重新触发PCSOM聚类分析;从而支持PCANN误用检测器的扩展。
[0089] SOM的主要目的是将任意维数的输入转换为一维或二维的离散映射,并且以拓扑有序的方式自适应实现这个过程。生物学基础实验表明,外界信息对于神经元的刺激并非是单一的,而是以某一细胞为中心的一个区域;并且刺激强度有强弱之分,大脑神经的刺激趋势和强度呈墨西哥草帽形状;经元受刺激的强度以中心最大,随着区域半径的增大逐渐减弱;远离中心的神经元相反会受到抑制作用。根据这个原理,当某类模式输入时,输出层某节点(神经元)得到最大刺激而获胜,获胜者以及其周围节点的权值会向着输入模式向量的方向进行修正。随着输入模式的变化,相应获胜神经元也发生变化,网络即通过自组织的方式在大量样本数据的训练下,使得输出层特征图能够反映出输入样本数据的分布情况。
[0090] PCSOM网络结合了PCA和SOM,网络神经元的权值存储于中心向量e和协方差矩阵R上,PCSOM处理流程参见附图2。此处SOM采用Winner-Take-All规则,即SOM的邻域设置为1,从而简化PCSOM模型,使之易于实现。假如在t时刻输入为x,可以得到神经元权值的学习公式如下:
[0091] e(t+1)=e(t)+ηe(x-e(t))
[0092] R(t+1)=R(t)+ηr((x-e(t))(x-e(t)T-R(t))
[0093] 式中,ηe和ηe分别是e和R的学习速率参数。
[0094] 聚类分析中,输入x在神经元i上的投影误差可以利用如下公式计算:
[0095] Err=‖x-e(t)-∑H=1K(BhT(x-e(t)Bh))‖
[0096] 上式中Bh,h=1...K是神经元权值中的特征子空间基向量,可由R求取;其中K为事先确定。由此可得获胜神经元为:
[0097] C=argmin{Err_i|i=1...m}
[0098] ④PCANN异常检测器训练和检测:采用PCA神经网络进行具体类型入侵的模式刻画和建立。训练数据来自PCSOM异常聚类分析后的簇数据;同时PCANN网络具备一定的噪声抑制能力,训练中确定检测阈值,从而大大提高误用检测的性能。PCANN训练采用AGHA算法,其网络结构参见附图3,以下简要介绍AGHA算法原理。给传统GHA网络的神经元加上侧向连接,从而产生激活或者抑制的活动。最终活动的神经元的数量即可逼近数据的实质维数。其中,K表示网络最终收敛的数据集的实质维数,即抽取的主元数量。网络的权值矩阵为W=[W1W2...W1],GHA网络的权值最终收敛于输入向量x(t)的前K个最大主元方向向量。
[0099] 为了减少算法振荡,采C(t)=βC(t-1)+[x(t)xT(t)-βC(t-1)]/t作为输入代替Tx(t)x(t)。其学习算法为:
[0100] W(t+1)=W(t)+η∏(t)[W(t)C(t)-LT[WT(t)C(t)W(t)]W(t)]式中,η为学习因子。对角阵∏(t)根据其对角线元素的值,在t时刻起到控制器的作用(为“1”代表神经元活动,此时仅∏11(t)=1),最终网络逼近的实质维数等于矩阵∏(t)的对角线元素为1的个数。根据网络输出yi和输入数据方差矩阵的特征值之间的关系,作如下三个函数定义:
[0101] F1(t)=ó(x)[α×trace(Ct)-∑i=11(t)yi2(t)]
[0102] F2(t)=o(x)[o(x)(n-1(t)-1)-F1(t)]
[0103] F3(t)=o2(x)[∑i=11(t)-1yi2(t)-α×trace(Ct)]+o(x)F2(t)
[0104] 式中,o(x)函数在x<0时为0,其他为1;ó(x)函数在x<0时为-1,其他为1。由此可得自适应逼近数据实质维的改进GHA算法:
[0105] 1(t+1)=1(t)+F1(t)F2(t)F3(t)
[0106] i=1(t)+o(x)[1(t+1)-1(t)-1]
[0107] ∏ii(t+1)=∏ii(t)+[1(t+1)-1(t)]
[0108] 通过AGHA算法训练后的PCANN网络,根据精度自动确定了主元子空间的维数。检测实验中,输入x(t),可得其投影误差为:
[0109] Err=‖x(t)-∑H=1K(WhTx(t)Wh)‖
[0110] 实际应用中,假定输入的测试样本数目为N,一个简单的获得分类器检测阈值ε的方法是:
[0111] ε=Max{Err_i|i=1,...,N}
[0112] 当然,大的ε可以获得较高的检测率,但其误报率也较高;反之亦然。因此,实际应用中需要在误报率和检测率之间获得一个平衡的检测阈值。
[0113] ⑤系统报警:本系统报警分为两个层次,一是系统初步异常报警,即通过SGNG异常检测分类器判定为异常的数据进行初步报警,二是具体攻击报警,即通过多个PCANN误用检测器检测出的异常判定为某一具体攻击类型的报警;多个并行PCANN误用检测器不能检测出的异常标定为系统新出现的异常攻击。系统将其标定后存入分析数据库,待达到预定数据规模后进行新的异常聚类分析,从而训练新的PCANN误用检测器。