基于增量式ghsom神经网络的入侵检测方法

文档序号:6371858阅读:309来源:国知局
专利名称:基于增量式ghsom神经网络的入侵检测方法
技术领域
本发明涉及ー种入侵检测方法,具体涉及ー种基于増量式生长型分级自组织映射(Incremental Growing Hierarchical Self-organizing Maps, IGHSOM)神经网络的入侵检测方法,属于计算机网络信息安全技术领域。
背景技术
随着计算机网络规模的不断扩大以及网络技术的高速发展,计算机网络与人们的日常生活紧密的联系在一起,网络安全问题也随之受到人们的关注。特别是近年来黑客攻击的频度、传播速度、受害面和破坏程度都在不断加大,如何保证个人信息不被盗取,以及如何抵御网络外部和系统内部的攻击行为或企图,成为网络安全业界密切关注的重要课·题。围绕网络安全问题人们提出了很多种解决的方法,如人们熟知的防火墙。防火墙能够通过过滤和访问控制阻止一些对系统的非法访问,但是缺乏对网络环境下日新月异的攻击行为的主动响应,不能提供足够的安全保护。入侵检测作为ー种主动防御技木,是对传统安全机制的补充,它能够通过监控网络的使用状态、用户的操作行为以及系统的异常情况,亦或通过对网络数据包进行分析和处理,来检测网络系统用户和系统外部的入侵者的入侵行为或企图,并做出实时响应,它的引入进ー步地提高网络系统的安全性。入侵检测方法分为异常检测和误用检测。异常检测是通过对比与正常模式的偏离度来预测用户的行为是否为异常,包括基于特征选择、贝叶斯网络、机器学习、数据挖掘、ネ申经网络的异常检测方法等;误用检测是通过模式匹配当前活动与预先定义好的入侵模式或入侵规则,包括基于条件概率、状态迁移分析、键盘监控、专家系统、模型误用推理及Petri网状态转换的误用入侵检测方法。神经网络算法具有自适应、自学习、自组织、较好的容错性和鲁棒性、以及能够进行大規模并行计算和非线性映射等优点,非常适用于变化多端的入侵检测环境。自组织映射(self-organizing maps, SOM)是神经网络方法中ー种典型的方法。但由于传统的SOM神经网络模型结构是固定的,不能改变,所以选择不同的初始神经元个数会直接导致最终神经网络模型的结构与检测精度。而生长型分层自组织映射(Growing HierarchicalSelf-organizing maps, GHS0M)是SOM模型的一种变体,不仅可以自适应地调整子网和拓展子网,而且可以更好的体现数据中可能存在的复杂阶层关系,较好地解决了 SOM神经网络模型不能动态更新的缺点。GHSOM神经网络算法是基于批量学习,即假设一次可以得到所有训练样本,对这些样本进行学习,达到预定学习次数后学习过程終止,不再学习新知识。然而在现实入侵检测网络应用中,攻击类型是层出不穷的,所以包含所有攻击类型的训练样本通常是随着时间逐步得到的,并且训练样本反映的内在信息可能随着时间的变化而变化。如果算法毎次得到新样本后都要对全部数据重新训练,势必会提高算法的时间复杂度和空间复杂度,不能及时发现新的入侵行为。

发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种增量式入侵检测方法,其是在ー个稳定的入侵检测模型基础上以在线方式边检测边进行増量学习,实现在检测过程中对入侵检测模型进行动态更新,从而能够更及时的检测出各种入侵行为,尤其是新出现的入侵行为。传统的SOM神经网络结构是固定的,不能动态改变,训练时某些神经元始终不能获胜,成为冗余神经元,GHSOM在一定程度上克服了这些缺点。但是GHSOM神经网络算法是基于批量学习,达到预定学习次数后学习过程終止,不能再学习新知识,对于攻击类型层出不穷的实际入侵检测检测网络显得无能为力,如果频繁地对全部数据重新训练,全部数据重新训练,势必会提高算法的时间复杂度和空间复杂度。针对如上问题,本发明提出基于增量式生长型分级自组织映射(IncrementalGrowing Hierarchical Self-organizing Maps, IGHSOM)神经网络的入侵检测方法,提高入侵检测模型的智能性。主要工作包括I)在检测过程中増加相似度判断,用于判断检测·向量是否与获胜神经元同类型。2)在检测过程中动态构造新拓展层的训练数据集。3)提出增量式GHSOM神经网络的动态层拓展方案。4)设计增量式GHSOM神经网络规模的控制机制。为了便于后续内容的讨论,先给出如下定义定义I:映射向量。训练过程中落在神经元上的获胜向量称为映射向量。定义2 :获胜向量。检测过程中落在神经元上的获胜向量称为获胜向量。定义3 :覆盖神经元。如果神经元能够被ー个足够小的超球区域所覆盖,即神经元上的映射向量到该神经元权值的欧氏距离都小于某ー个期望值,那么该神经元称为覆盖神经元,即满足如下式子I I i-wt I < , (I)其中i是神经元t上映射向量集合中的任意ー个向量,Wt是神经元t的权值,4取经验常数以保证该神经元的映射向量分布集中。本文中(的取值通过实验方式获取,取值为0. 11。定义4:成熟神经元。是指在増量学习算法执行过程中不发生改变的神经元。所有初始训练的GHSOM神经网络中的神经元都是成熟神经元;对于动态增量拓展的子网络中的神经元是成熟神经元,应同时满足以下必要条件1)非虚根节点上的成熟神经元一定是覆盖神经元。2)成熟神经元的虚根神经元也是成熟神经元。3)成熟神经元所在SOM网络中的所有非根神经元都是覆盖神经元。4)成熟神经元的所有上层(包括直接上层和间接上层)SOM网络中的所有神经元都是成熟神经元。本发明的技术方案为一种基于増量式生长型分级自组织映射神经网络的入侵检测方法,其步骤为I)初始化。动态增量式GHSOM神经网络模型初始化为使用生长型分级自组织映射神经网络的入侵检测方法训练好的神经网络模型。并将初始化后的动态增量式GHSOM神经网络模型加载到入侵检测&动态增量式学习模块。2)从网络中采集网络数据,并对其进行特征的提取,生成神经网络能够识别的检测模式向量;将处理好的检测模式向量输入给入侵检测&动态增量式学习模块,进行增量式学习,实现在入侵检测的过程中对GHSOM模型进行动态更新,其中增量式学习(包括入侵检测)过程为a.将基于网络流量在线采集并提取的当前检测模式向量赋值给X,选择第一层SOM中与X距离最小的神经元t作为获胜神经元。b.如果获胜神经元t是可用于检测神经元,就跳到d。c.如果获胜神经元t不是叶子神经元,则继续找获胜神经元t子层中的获胜神经元,并将该神经元赋值给t,然后返回b ;否则获胜神经元t是叶子神经元,输出检测结果并调整获胜神经元的增量训练集当获胜神经元t是非覆盖神经元且增量集合It为空,那么It = {x} U Mt,其余情况都只需It = It U {x},跳到e。d.计算向量X与获胜神经元t的欧氏距离dis (x,t)和获胜神经元t的相似度阈·值St。如果dis(x,t) >St,说明检测模式向量X与获胜神经元t不同类,返回c;否则向量X检测成功,判断获胜神经元t是否为覆盖神经元,是则输出检测结果并返回a,不是则返回
Coe.如果获胜叶子神经元t满足拓展条件时,即增量训练集中向量个数达到拓展参数Ex的倍数,则从神经元t下方拓展出一个虚神经元t',再从虚神经元t'拓展出一个新的2X2结构的S0M。将神经元t的增量训练集合It作为虚神经元t'的映射向量集合,以集合It中向量均值作为虚神经元t'的初始权值,以虚神经元t'作为父神经元,训练新拓展的SOM子网的方法如下①从集合It中随机选择一种输入向量,计算该输入向量与新拓展的SOM中每个神经元的欧氏距离,具有最小距离的为获胜神经元,调整获胜神经元及其领域内神经元的权值。②达到预定的学习次数后,计算该SOM中所有神经元的平均量化误差MQEm和父虚神经元t'的量化误差qet'。如果MQEmS T1Xqe/,则在量化误差值最大神经元及其最远邻近神经元之间插入一行或者一列新的神经元,其权向量初始值为相邻映射单元权向量的平均值,返回①;否则说明SOM层中的每个神经元都达到稳定,新拓展SOM的训练过程结束。f.查找新拓展SOM子网的成熟父神经元并将该神经元赋值给t,判断神经元t是否满足删除不成熟子网条件。满足则把神经元t的所有不成熟子网删除,并合并所有删除子网中覆盖神经元和叶子非覆盖神经元的映射向量构成神经元t的增量训练集,返回e。g.如果在线检测过程停止,算法结束,否则返回a。3)入侵分析与处理模块根据入侵检测模块输出结果判断当前是否发生入侵。遍历攻击类型库查找是否有相匹配的攻击类型,如果找到则说明当前行为是入侵行为;如果没有找到,则需要通过人工标注或其它机制进行判断当前行为是正常类型还是新出现的攻击类型。如果当前行为被认定为是新出现的攻击类型,则把这种攻击类型添加入攻击类型库。进一步的,所述的拓展参数Ex为1000,T1SO. 07。进一步的,所述的获胜神经元t的相似度阈值St计算公式为-.St =max\\i-wt |]feA//,其中Mt是获胜神经元的映射向量集合,i是集合Mt中的任意一个向量,Wt是获胜神经元的权值。
进一步的,所述的删除不成熟子网条件为1)不成熟子网的总层数大于a I ;2)并且不成熟神经元总个数大于a 2。其中a I为不成熟子网的层控制参数,a 2为不成熟子网的神经元个数控制参数。经实验,这两个控制参数取值为a I = 3,a 2 = 15。与现有技术相比,本发明的积极效果为本方法能够实现在入侵检测过程中动态更新入侵检测模型,在不破坏已学习过的知识的情况下,能够检测识别出未知攻击类型,以及当训练数据一样时,增量式GHSOM算法与传统GHSOM算法的检测效果相当,进一步地,本方法还能够有效地控制入侵检测模型的增长规模,不仅减小动态增量式GHSOM算法的空间消耗,而且能确保控制后的增量GHSOM网络在增强成熟性的同时依然可动态更新。


图I为动态增量式GHSOM学习过程·
图2为动态增量式GHSOM神经网络训练算法流程图;图3为插入神经元示意图;图4为层拓展后网络结构图;图5为动态增量式GHSOM网络拓扑结构图;图6为入侵检测过程流程图。
具体实施例方式下面结合附图对本发明进行进一步详细描述本发明的入侵检测系统由两部分组成神经网络模型的离线训练和基于神经网络模型的在线检测。系统从网络中采集已知攻击类型的离线样本数据作为初始训练样本数据集进行离线训练,得到入侵检测模型后开始在线网络入侵检测。离线训练过程应用传统GHSOM神经网络训练算法,基于初始训练数据集训练初始神经网络模型。在线检测过程中通过运行增量式GHSOM神经网络学习算法实现在检测过程中对GHSOM网络模型进行动态更新。显然,离线训练只是对入侵检测模型进行初始化,而增量式GHSOM神经网络学习算法才是基于神经网络的入侵检测系统的核心技术。以下我们将重点阐述增量式GHSOM在线检测及学习过程。之后简单介绍入侵检测的过程和方法。增量式GHSOM在线检测及学习过程增量式学习算法是在一个成熟的GHSOM模型基础上以在线方式边检测边进行增量学习,实现在检测过程中对GHSOM模型进行动态更新。算法开始前先收集一批已知类型的离线数据集作为初始训练数据集,使用传统GHSOM算法训练生成初始GHSOM网络模型。在初始GHSOM模型的基础上开始在线网络入侵检测,在检测过程中通过运行增量式GHSOM学习算法实现对模型的动态更新。增量式GHSOM学习过程(包含检测过程)如图I所示。增量式GHSOM神经网络算法是基于神经网络的入侵检测系统的核心技术,本发明重点提出一种增量式GHSOM神经网络入侵检测方法。本发明的增量式GHSOM神经网络训练算法流程如图2所示I.在线采集检测向量,并输入现有GHSOM模型。
根据实际网络的应用流提取39维特征向量。具体的一条特征向量如下所示tcp unk_tcp 1029 139 4 I 2 2. 00 I. 00 0 0. 00 I. 00 I 0. 33 3 I. 00 I. 000. 00 0. 00 0.67 43 0 I 0 43.00 0. 00 0. 00 0. 00 I 0 43.00 0. 00 0 0 0. 00 0. 00 0 00. 00 0. 00 nuke把用到的所有字符特征(比如协议类型TCP,UDP等)转化成数值形式,并进行归一化后生成神经网络能够识别的数值型检测向量。2.计算可用于检测的获胜神经元。基于动态增量式GHSOM网络,采用自顶向下的方式按照增量式神经网络的层拓展关系,计算并找出可用于检测的获胜神经元。获胜神经元计算公式为妒W+/ ||x—wA.\\,k = l2,...,m· h其中x表示任意一个检测向量,t表示检测向量X的获胜神经元,m表示当前SOM子网中神经元的个数,wk表示神经元k的权值向量。为了保证已学习过的知识不被破坏,动态增量式GHSOM神经网络中可用于检测的神经元包括初始网络、拓展后网络的叶子神经元,以及非叶层中的覆盖神经元;覆盖神经元既存在于叶子神经元、也存在于非叶子神经元中。对于可用于检测的非叶子神经元,需要判断检测向量与获胜神经元是否同类,同类说明当前检测向量的检测过程结束,不同类则继续找检测向量在获胜神经元子网的获胜神经元。对于可用于检测的叶子神经元,需要判断获胜神经元是否是覆盖神经元如果是覆盖神经元,需要判断检测向量与获胜神经元是否同类,同类说明当前检测向量的检测过程结束,不同类则需要构造获胜神经元的增量训练集;如果是非覆盖神经元,那么直接构造获胜神经元的增量训练集。3.判断检测向量与可用于检测的获胜神经元是否同类。判断检测向量与获胜神经元是否同类型,实际上就是判断检测向量与获胜神经元的权值向量之间的相似度。因此,需要确定获胜神经元的相似度阈值,当检测向量与该获胜神经元权值向量的相似度小于相似度阈值,那么说明检测向量与该获胜神经元相似,属于同类型。检测向量可以看成高维空间中的一点,假设同类型的向量之间相似度要大于不同类型向量之间的相似度,那么在高维空间分布中表现为同类型向量之间的密度大,而不同类型向量之间有间隔。因此存在同类型向量的分布区域可被一个封闭的空间覆盖,形成相似域。定义5 :相似域。相似域是指相似度高的向量构成的分布区域。对于增量式GHSOM神经网络模型而言,映射向量都与该神经元具有高的相似度,因此以叶子神经元权值向量作为球心,映射向量到该神经元的最大欧氏距离作为半径构成的超球可以看成一个相似域。每个叶子神经元对应一个相似域。推论I :如果检测向量落在神经元的相似域中,那么检测向量与该神经元相似并且同类型,否则不相似。定义6.相似度阈值。由于每个叶子神经元对应一个相似域,所以也对应一个相似度阈值,相似度阈值表现为相似域的半径,也就是映射向量到该获胜神经元的最大距离。设St为神经元t上的相似度阈值,则相似度阈值St的计算方法如下& =max 11/-Wf Il fcM((II)其中i是神经元t映射向量集合中的任意一个向量,Wt是神经元t的权值,Mt是神经元t的映射向量集合。检测向量X与神经元t的欧氏距离的 计算方法为dis (x, t) = Il x-wt I (III)对任意检测向量x,若不满足dis(x, t) > St,则检测向量X不在神经元t的相似域内,与神经元t不相似,那么可以认为向量X不属于神经元t表征的类型,有可能是新出现的攻击类型;否则,检测向量X与神经元t相似,属于同类型。4.如果当前获胜神经元是叶子神经元,那么构造该神经元的增量训练集。如果当前获胜神经元是叶子神经元,只有当获胜神经元是覆盖神经元且检测向量与获胜神经元同类才说明检测成功,也就不需要构造获胜神经元的增量训练集,否则其余情况都说明检测向量没有找到检测成功的获胜神经元,那么检测向量有可能是新出现的攻击类型,所以需要收集起来,用于在新拓展子网中进行训练,这个新拓展子网的训练集称为增量训练集。增量训练集可能来自检测向量,也可能来自神经元上的映射向量,因此需要设计一种增量训练集的构造机制。每个叶子神经元都对应一个增量训练集。根据定义3,覆盖神经元本质上反映的是神经元上的映射向量分布集中度,决定了某个神经元是否起到聚类效果、映射向量是否需要再训练。推论2 :如果当前神经元不是覆盖神经元,那么所有该神经元上的映射向量和获胜向量都需要在新拓展的SOM网络中再训练,即需要把训练过程产生的映射向量以及检测过程产生的获胜向量都添加到增量训练集中。推论3 :如果当前神经元是覆盖神经元,那么只有检测过程中与该神经元不相似的获胜向量需要添加到当前神经元的增量训练集中,在新拓展子网中再训练。5.判断当前获胜叶子神经元是否满足拓展条件。在线检测过程中,增量训练集不断地动态增加,当增加到一定规模以后,认为这个增量训练集可以被用于训练一个相对成熟的新子网,那么动态拓展一层新的子网。在这个动态层拓展过程中,引入拓展条件的概念。定义7 :拓展条件。当叶子神经元t上的增量训练集It的个数乂达到设定阈值Ex的整数倍,则可以用增量训练集It作为初始训练集,训练一层相对成熟的、可以较好聚类的SOM网络。其中Ex为任意一个叶子神经元的拓展参数。为了区别传统GHSOM模型和增量GHSOM模型,我们引入与拓展条件对应的虚神经
J Li o定义8.虚神经元。虚神经元是动态层拓展过程中拓展出的一个起引导检测作用的神经元,不具备检测攻击类型的功能。它的权值不能改变且等于父神经元增量训练集中向量的均值,它的映射向量集等于父神经元的增量训练集。当从叶子神经元t往下进行动态层拓展时,需要先从t向下拓展一个虚神经元t',再从虚神经元t'下拓展一个新的2X2结构的SOM网络,拓展方法描述如下
以虚神经元t'为父神经元,以It为初始训练集,采用传统GHSOM学习方法训练一层新拓展的2X2结构SOM网络。传统GHSOM算法会在每次达到预定的学习次数(预定学习次数需要预先设定)后,计算出每个神经元的量化误差。为了判断神经网络是否应该在第Layer层中增加新的神经元,算法首先计算出参数T工与qeu的乘积,其中qeu为当前SOM父神经元的量化误差,如果当前SOM中存在某个神经元的量化误差大于参数T工与qeu的乘积,则在误差神经元和它的最远邻近神经元之间插入一行或者一列神经元。插入神经元的过程如图3所示。由于增量式GHSOM算法中新拓展层的训练集是来自父神经元的增量训练集,而传统GHSOM算法中新拓展层的训练集来自父神经元的映射向量集,所以在增量式GHSOM算法中判断是否需要插入一行或一列是根据神经元的量化误差是否大于参数T1与qet'的乘积,其中qet'是虚神经元t'的量化误差,T1层内扩展控制系数。直到新拓展子网不再增行或增列时说明新拓展的SOM神经网络稳定,则拓展层训练结束。层拓展后的网络结构如图4所示。此增量学习方法具有调整子网的特点,相比于·固定结构的SOM学习方法和GHSOM学习方法的好处是能够根据增量训练集中向量的内在联系自适应地调整SOM网络结构。6.判断动态更新后的增量式GHSOM网络规模是否满足控制条件。在线检测过程中,动态增量式GHSOM网络会随着新增攻击类型的不断输入而自适应地动态拓展SOM子网,模型结构最终可能会动态拓展成无法控制的规模,造成系统崩溃,因此需要设计一种策略使得动态增量式GHSOM神经网络的规模得到有效控制,要求这种控制机制不仅减小动态增量式GHSOM算法的空间消耗,而且能确保控制后的增量GHSOM模型具有更成熟性,而且依然可动态更新。先引入如下定义定义9 :成熟的GHSOM神经网络。增量GHSOM神经网络成熟的充分必要条件是神经网络中的所有神经元都是成熟神经元。初始GHSOM神经网络是一成熟的GHSOM神经网络。增量式GHSOM网络包括一个在初始GHSOM神经网络基础上动态增长的成熟的GHSOM网络和多个在成熟的神经网络上不断动态拓展出的多个不成熟的GHSOM子网络。成熟的增量式GHSOM网络本质上反映的是聚类效果好的神经网络。不成熟子网本质上反映的是聚类效果不够好的子网。在检测和动态学习过程中,初始GHSOM神经网络会随着新增攻击类型的不断输入而自适应地动态拓展SOM子网,在成熟的神经网络的叶神经元节点上新拓展的SOM子网络中的神经元如果都是成熟神经元,则将该拓展子网并入到成熟的GHSOM子网络中,否则,在该成熟神经元节点下动态拓展一个不成熟的GHSOM子网,而且该不成熟子网是不断动态拓展的。神经网络结构最终可能会动态拓展成无法控制的规模,造成系统崩溃,因此需要设计一种机制使得动态增量式GHSOM神经网络的规模得到有效控制,要求这种控制机制不仅减小动态增量式GHSOM算法的空间消耗,而且能确保控制后的增量GHSOM网络在增强成熟性的同时依然可动态更新。控制方法的基本思想是1)在满足一定条件下删除不成熟的GHSOM子网;2)收集删除的子网神经元上的映射向量重新生成增量训练集;3)采用前面描述的动态层拓展方法重新拓展一层更趋于成熟的SOM子网。
推论4 :由于不成熟子网反映的是聚类效果不好的子网,因此不成熟子网在满足一定条件下可以被删除并重新训练拓展新SOM子网,而成熟子网则要不断扩大,以增强其成熟度,在保持原有检测能力的同时,不断增强其有效检测能力。提出控制机制的主要目的是为了控制动态增量式GHSOM神经网络规模,且使得增量式GHSOM网络模型更成熟,所以当不成熟GHSOM子网络规模足够大时,才会删除不成熟子网。为了说明删除不成熟子网的条件,引入删除条件。删除不成熟子网条件1)不成熟子网的总层数大于a I ;2)并且不成熟神经元总个数大于a 2。其中a I为不成熟子网的层控制参数,a 2为不成熟子网的神经元个数控制参数。实验中一般采用a I = 3,a 2 = 15。由于不成熟子网都是新拓展出的子网,而新拓展出的子网中神经元的映射向量反映的是在线检测过程中的新增攻击类型。另外,由于非覆盖神经元在拓展子网过程中会把映射向量和获胜向量都用于训练新拓展的子网,所以非覆盖神经元拓展子网后映射向量与子层神经元的映射向量重复,因此不需要收集层拓展后的非覆盖神经元上的映射向量。因·此,当某个成熟神经元节点下的不成熟子网都删除后,需要收集该删除的不成熟子网中所有覆盖神经元节点和所有叶子神经元节点的映射向量作为该成熟神经元节点的增量训练集。基于该增量训练集,根据动态层拓展的方法,从成熟神经元动态拓展一个虚神经元和一层新SOM子网,其中虚神经元的权值等于成熟神经元的增量训练集中向量的均值。该SOM子网是对删除前的庞大的GHSOM子网进行精简后的SOM子网。该子网仅包含一层SOM子网,使网络规模得到有效控制。而且由于训练数据更为充分、全面,新拓展训练后的网络结构成熟度不断得到了提高,检测能力将得到增强。增量式GHSOM神经网络拓扑结构总的来说,增量式GHSOM最后会形成类似于图5所示的拓扑结构。白色圆点表示初始GHSOM模型中非叶层节点(不能用于检测)的神经元,虚线方框内的白色圆点表示虚神经元,黑色圆点表示覆盖神经元,灰色神经元表示非覆盖神经元。虚线围起的部分是当前成熟的GHSOM神经网络,其余三个子网是不成熟子网。相比于传统的GHSOM神经网络结构,动态增量式GHSOM神经网络结构具有以下特
占-
^ \\\ (I)动态增量式学习算法在初始成熟的GHSOM神经网络的基础上,以在线方式边检测边进行增量学习,实现在检测过程中对GHSOM模型进行动态更新。因此增量式GHSOM网络结构随动态拓展和删剪而动态变化,动态拓展出的每一层结构包括一个虚神经元和一个SOM子网。(2)在增量式GHSOM神经网络动态变化过程中,网络结构都有两部分组成一成熟的GHSOM网络和多个不成熟的GHSOM子网络。(3)成熟的GHSOM网络中包含的可用于检测的成熟神经元一般具有稳定的、较好的检测效果,而且便于根据其所包含的知识分析并标注与该成熟神经元对应的入侵类型,在入侵检测系统中可以成熟的GHSOM网络为主要模型进行入侵检测。(4)动态增量式GHSOM神经网络结构中的不成熟的GHSOM子网络中包含了不成熟、不稳定的神经元。但这些神经元中也可能是覆盖神经元,也可以用于检测,只是由于不成熟子网在一定条件下会被调整,因此,这些神经元的检测是临时性的,不便于对这些神经元进行分析和标注类型。在入侵检测系统中可使用不成熟的GHSOM子网作为临时性的辅助入侵检测模型。(5)动态增量式GHSOM神经网络结构中的成熟的GHSOM网络中的神经元不会被删除和动态修改,但对于新拓展出的成熟的SOM的子网,会将其加入到成熟的GHSOM子网中。因此,动态增量式GHSOM神经网络结构会逐渐实现增量扩展。这样的可动态拓展的成熟的网络结构在保持已有知识的同时,不断增加新的知识。入侵检测能力随着增量学习的不断进行得到了动态增强。(6)不成熟的子网在达到一定规模时被删剪,并收集已 有的训练向量重新进行拓展学习,拓展一个更精简的SOM子网,该机制使得增量GHSOM网络规模得到控制,并且随着学习的不断进行增量式GHSOM模型会逐渐趋于成熟。入侵检测过程基于增量式GHSOM神经网络的网络入侵检测过程见图6。在线检测时,首先由数据采集与预处理模块从实验网络中采集网络流量数据;然后经过特征提取模块进行特征的提取;最后将检测数据输入给入侵检测&动态增量式学习模块。入侵检测&动态增量式学习模块中的核心部件是动态增量式GHSOM神经网络模型。入侵检测&动态增量式学习模块如果对当前网络行为判别为攻击行为,则需要入侵分析与处理模块对其进一步分析处理。包括以下步骤 数据采集与预处理模块该模块的数据采集部分是采用IDS Informer工具模拟产生网络攻击流量,同时用户终端生成各种应用的正常流量,进行带标签特征向量数据集的采集。对模拟的攻击,每条连接提取如表2所示的39维特征。之后采用规一化方法对特征向量进行规一化处理。规一化处理的原则是找出每一维特征的最大值,然后将每个特征向量的对应值除以这个最大值;如果最大值为0,则对每个特征向量相对应的值不做改变。对整个特征向量集进行规一化等处理后,就可以作为入侵检测&动态增量式学习模块的检测数据了。表I提取的39维特征
权利要求
1.一种基于增量式GHSOM神经网络的入侵检测方法,其步骤为 1)从网络中在线采集网络数据,并生成神经网络能够识别的检测模式向量,输入给入侵检测&动态增量式学习模块;其中,所述入侵检测&动态增量式学习模块包括一离线训练好的GHSOM神经网络模型; 2)所述入侵检测&动态增量式学习模块将当前检测模式向量赋值给X,采用自顶向下的方式按照GHSOM神经网络模型的层拓展关系,计算并找出可用于检测向量X的获胜神经元t ; 3)如果获胜神经元t是覆盖神经元,且向量X与获胜神经元t是同类,则利用该神经元t检测输出该检测向量X的检测结果;否则为向量X打上未知攻击类型的标签并输出检测结果,如果获胜神经元t是非覆盖神经元且增量训练集为空,则需要把获胜神经元t的映射向量集和向量X都添加入增量训练集中,否则只需把向量X添加入获胜神经元t的增量训练集中; 4)当获胜叶子神经元t满足设定拓展条件时,从获胜叶子神经元t下方拓展出一个虚神经元t'再从虚神经元t'拓展出一个新的2X2结构S0M,利用获胜叶子神经元t对应的增量训练集合It进行训练;所述虚神经元不具备检测攻击类型的功能,其权值不能改变且等于父神经元增量训练集中向量的均值,它的映射向量集等于父神经元的增量训练集; 5)查找新拓展SOM子网的成熟父神经元,判断该成熟神经元是否满足删除不成熟子网条件,如果满足删除不成熟子网条件,则对从该成熟神经元动态拓展出的不成熟神经网络部分删除并重新进行训练; 6)入侵分析与处理模块根据入侵检测模块输出的检测结果判断当前是否发生入侵; 其中,所述覆盖神经元为如果神经元上的映射向量到该神经元权值的欧氏距离都小于某一个期望值,那么该神经元称为覆盖神经元;GHS0M神经网络模型离线训练过程中落在神经元上的获胜向量称为映射向量;如果神经元所在子网中的全部神经元及其上层网络的全部神经元均为覆盖神经元,则该神经元为成熟神经元,由所述成熟神经元构成的网络为所述成熟神经网络;包含不成熟神经元的网络为不成熟子网。
2.如权利要求I所述的方法,其特征在于判断向量X与获胜神经元t是否为同类的方法为 计算向量X与获胜神经元的欧氏距离dis(x,t)和获胜神经元t的相似度阈值St ;如果dis (x,t) > St,则判定输入向量X与获胜神经元t不同类,否则为同类;其中,相似度阈值的计算方法为-St^maxV,Mt是获胜神经元的映射向量集合,i是集合Mt中的任意一个向量,wt是获胜神经元t的权值。
3.如权利要求I所述的方法,其特征在于所述拓展条件为增量训练集中向量个数超过设定拓展参数Ex的倍数。
4.如权利要求3所述的方法,其特征在于训练新拓展的SOM子网的方法为将获胜叶子神经元t对应的增量训练集合It作为虚神经元t'的映射向量集合,以集合It中的向量均值作为虚神经元t'的初始权值,以虚神经元t'作为父神经元,训练新拓展的SOM子网。
5.如权利要求I或4所述的方法,其特征在于训练新拓展的SOM子网的方法为1)从集合It中随机选择一种输入向量,计算该输入向量与新拓展的SOM中每个神经元的欧氏距离,具有最小距离神经元为获胜神经元,调整获胜神经元及其领域内神经元的权值;2)达到预定的学习次数后,计算该SOM中所有神经元的平均量化误差MQEm和父虚神经元t'的量化误差qet';如果MQEmS T1Xqe/,则在量化误差值最大神经元及其最远邻近神经元之间插入一行或者一列新的神经元,其权向量初始值为相邻映射单元权向量的平均值,返回步骤I);否则说明SOM层中的每个神经元都达到稳定,新拓展SOM的训练过程结束;其中,^为层内扩展控制系数。
6.如权利要求I所述的方法,其特征在于确定获胜神经元t的方法为计算X与SOM中每个神经元的欧氏距离,距离最小的神经元作为向量X在该子网中的获胜神经元。
7.如权利要求I所述的方法,其特征在于所述删除不成熟子网条件为1)不成熟子网的总层数大于a I ;2)不成熟神经元总个数大于a 2 ;其中a I为不成熟子网的层控制参数,a 2为不成熟子网的神经元个数控制参数。
8.如权利要求7所述的方法,其特征在于对从成熟神经元动态拓展出的不成熟神经网络部分删除并重新进行训练的方法为首先删除成熟神经元下的不成熟子网,并收集该删除的不成熟子网中所有覆盖神经元节点和叶子非覆盖神经元节点的映射向量作为该成熟神经元的增量训练集;然后从该成熟神经元动态拓展一个虚神经元和一层新SOM子网,利用该增量训练集对该SOM子网进行训练。
9.如权利要求8所述的方法,其特征在于aI = 3,a 2 = 15。
10.如权利要求I所述的方法,其特征在于计算所述获胜神经元t的计算公式为
11.如权利要求I所述的方法,其特征在于所述神经元t包括所述离线训练好的GHSOM神经网络模型中的神经元、拓展后网络的叶子神经元,以及非叶层中的覆盖神经元。
全文摘要
本发明公开了一种基于增量式GHSOM神经网络的入侵检测方法,属于网络信息安全技术领域。本方法为1)在线采集网络数据输入给入侵检测模块;2)入侵检测模块计算可检测当前向量x的获胜神经元t;3)如果t是覆盖神经元,且x与t同类,则利用t检测x;否则为x打上未知攻击类型的标签,把x加入增量训练集;4)当t满足拓展条件时,从t下方拓展出一虚神经元t′再从t′拓展出一新SOM,利用t对应的增量训练集合It进行训练;5)查找新拓展SOM子网的成熟父神经元,如果其超过删除不成熟子网的条件,则对动态拓展出的不成熟神经网络部分重新训练;6)根据入侵检测模块输出的检测结果判断是否发生入侵。本发明能及时检测出各种入侵行为,尤其是新出现的入侵行为。
文档编号G06N3/08GK102789593SQ201210206778
公开日2012年11月21日 申请日期2012年6月18日 优先权日2012年6月18日
发明者吴中海, 夏敏, 杨雅辉, 沈晴霓, 阳时来, 黄海珍 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1