APP下载

基于SOFM的入侵检测技术研究

2011-06-09林永菁

关键词:步长延时神经元

林永菁

(福建儿童发展职业学院信息中心,福州350007)

0 引言

目前的入侵检测系统主要存在以下几方面问题:首先,存在过多的报警信息,即使在没有直接针对入侵系统本身的恶意攻击时,入侵检测系统也会发出大量报警;其次,入侵检测系统自身的抗强力攻击能力差,入侵检测系统的智能分析越强,处理越复杂,抗强力攻击的能力就越差。目前入侵检测系统的设计趋势是越来越多地追踪和分析网络数据流状态,使系统的智能分析能力得到提高,但由此引起的弊端是系统的健壮性被削弱,同时,对高带宽网络的适应能力有所下降。再次,缺乏检测高水平攻击者的有效手段。现有的入侵检测系统一般是设置了阈值的,只要攻击者将网络探测、攻击速度和频率控制在阈值之下,入侵检测系统就不会报警[1-2]。

在入侵检测技术发展的同时,入侵技术也在更新,一些地下组织已经将如何绕过IDS或攻击IDS系统作为研究重点。高速网络,尤其是交换技术的发展以及通过加密信道的数据通信,使得通过共享网段侦听的网络数据采集方法已显得不足,而大量的通信量对数据分析也提出了新的要求。随着信息系统对一个国家的社会生产与国民经济的影响越来越重要,信息战已逐步被各个国家重视,信息战中的主要攻击“武器”之一就是网络的入侵技术,信息战的防御主要包括“保护”、“检测”与“响应”,入侵检测则是其中“检测”与“响应”环节不可缺少的部分。

近年来,入侵检测技术的主要研究方向包括[3-4]:

(1)分布式入侵检测与通用入侵检测架构

传统的IDS一般局限于单一的主机或网络架构,对异构系统及大规模的网络的监测明显不足。同时不同的IDS系统之间不能协同工作,为解决这一问题,需要分布式入侵检测技术与通用入侵检测架构。CIDF以构建通用的IDS体系结构与通信系统为目标,GrIDS跟踪与分析分布系统入侵,EMER-ALD实现在大规模的网络与复杂环境中的入侵检测。

(2)应用层入侵检测

许多入侵的语义只有在应用层才能理解,而目前的IDS仅能检测如WEB之类的通用协议,而不能处理如LotusNotes、数据库系统等其他的应用系统。许多基于客户、服务器结构与中间件技术及对象技术的大型应用,需要应用层的入侵检测保护。

(3)智能的入侵检测

入侵方法越来越多样化与综合化,尽管已经有智能体、神经网络、人工免疫与遗传算法在入侵检测领域的应用研究,但是这只是一些尝试性的研究工作,需要对智能化的IDS加以进一步的研究,以解决其自学习与自适应的能力。

1 自组织特征映射神经网络及相关函数

自组织神经网络是神经网络领域中最吸引人的话题之一。这种结构的网络能够从输入信息中找出规律及关系,并且根据这些规律和关系来相应地调整均衡网络,使得以后的输出与之相适应。自组织竞争神经网络能够识别成组的相似向量,常用于进行模式分类。自组织特征映射神经网络不但能够像自组织竞争网络一样学习输入分布情况,而且可以学习进行训练神经网络的拓扑结构。在MATLAB神经网络工具箱中,自组织网络被分为自组织竞争神经网络和自组织特征映射神经网络2种。本文采用自组织特征映射神经网络,研究过程中使用的主要函数有[5]:

(1)newsom()

利用newsom()函数可以建立一个自组织特征映射网络。其调用格式为:net=newsom(Xr,[d1,d2……],T fcn,Dfcn,Olr,Osterps,Tlr,Tns)。其中,Xr为一个R×2矩阵,它决定了R维输入列向量的最大值和最小值范围,R为网络的输入数;di为自组织特征映射网络第i层的维数,默认值为[5,8];Tfcn为结构函数,默认值为‘hextop’;Dfcn为距离函数,默认值为‘linkdist’;Olr为分类阶段学习速率,默认值为0.9;Osterps为分类阶段的步长,默认值为1 000;T lr为调谐阶段的学习速率,默认值为0.02;T ns为调谐阶段的领域距离,默认值为1;net为生成的自组织特征映射神经网络。自组织特征映射神经网络会自动把差别很小的点归为一类,差别不大的点激发的神经元位置也是邻近的。

(2)plostsom()

该函数是用于绘制自组织特征映射网络的权值图,在每个神经元的权向量(行)相应的坐标处画一点,表示相邻神经元权值的点,根据邻域m,用线事先连接起来。即如果m(i,j)小于等于1,则将神经元i和j用线连接起来。其调用格式为plotsom(W,m)。式中,W为权值矩阵;m为网络邻域。

(3)train()

此函数用来训练神经网络的。调用格式为[net,tr,Y,E,Xf,Af]=train(NET,X,T,Xi,Ai),式中:NET为要训练的网络;X为网络输入;T表示网络的目标输出,默认值为0;Xi表示初始输入颜色,默认值为0;Ai表示初始的层延时,默认值为0;net为训练后的网络;tr训练步数和性能;Y为网络的输出;E表示网络误差;Xf表示最终输入延时;Af表示最终的层延时。可选参数为Xi,Ai,Xf和Af,它们只适用于村庄输入延时和层延时的网络。

(4)sim()

网络仿真函数sim()可以仿真一个神经网络的性能。其调用格式为[Y,Xf,Af,E,perf]=sim(net,X,Xi,Ai,T),其中:net为要仿真的网络;X为网络的输入;Xi表示初始输入延时,默认值为0;Ai表示初始的层延时,默认值为0;T为网络的目标输出,默认值为0;Y表示网络的输出;Xf表示最终输入延时;Af表示最终的层延时;E表示网络的误差;perf表示网络的性能。参数Xi,Ai,Xf,和Af是可选的,它们只适用于存在输入延时和层延时的网络。

(5)vec2ind()

该函数为向量组变化成数据索引向量函数。其调用格式为ind=vec2ind(vec)。式中:vec为m行n列的稀疏矩阵,vec中的每个列向量,除仅包含一个1外,其余元素为0;ind为n维行向量,向量ind中分量的最大值为m。

2 仿真实验数据结果及分析

本文实验中数据选取采用美国国防高级研究计划局(DARPA)的KDD CUP99数据源作为实验样本数据。从中选取120条记录作为实验的输入样本数据。再选取8条记录作为测试样本数据。为增强网络实用性和容纳性,尽可能地选取了包含本数据源中所含有的各类数据特征状态。因此,输入样本和测试数据均包含本数据源中给出的normal,smurf,back,neptures,ipsweep,satan共6种状态,分别用数值 1、2、3、4、5 和 6 表示 。

本实验是根据已知的数据(已知样本),利用SOFM网络自动将其分类后,然后对输入向量(入侵向量)进行分析后自动加以归类。在该实验中我们的已知样本向量组成41×120的矩阵,分为6类。输入向量从大量数据中随机抽取向量组成41×8的矩阵。在创建好网络后,利用plotsom画出已知函数的三维分类图形。

2.1 不同步长下的仿真结果比较

首先,在同一神经元个数下(5×6),分别对100,300,500步长的网络进行训练,得到的样本向量分类如图1~图3所示。

图1 100步长

图2 300步长

图3 500步长

从图1~图3这3幅实验样图我们不难发现,对于实验样本数据的分类效果最好的训练步长为500,其余2幅实验样图中点比较分散,聚类不明显。当然,若是步长再次提高,训练效果会更加显著。但根据本实验需要,我们在此只采取步长为500的训练参数。

2.2 不同结构下的仿真结果比较

接着,我们在500步长下采取不同网络的网络结构(不同神经元),得到的样本向量分类如图4~图6所示。

图4 4×5神经元

图5 5×6神经元

图6 6×7神经元

由实验图示可知,在4×5与5×6情况下数据分类不够详细。同理,根据实际操作要求,本实验采取6×7的网络结构即可。

2.3 实验结果及分析

在前面实验的基础上,我们设置训练步长500,神经元个数为6×7,利用MATLAB进行仿真实验,得到如下实验数据(ac为输入样本向量分类,yc为输入测试向量分类):

从上述数据我们不难看出,仿真实验所得样本分类有:1、3 、7、8、12 、13、18 、19、21 、24、25 、26、33、37、38、39 、40、41、42 共 19个小类 ;测试向量分类有3、13 、15、29、36、39共 6 个小类 。样本分类中 18、19、21;24、25、26;37、38、39、40、41、42 这 3 组数据比较接近,在一定情况仿真可以归为3类,测试向量都可以在样本向量中找到相应或者是类似的归类,如36,39属于样本向量中的37-42的类型。当然,在更加精确的实验条件下,其分类则会更加精准。

综上所述,SOFM网络的相关技术完全可以运用于入侵检测系统之中,并且能大大提高入侵检测系统的性能和网络的安全性。

3 相关问题及解决方法

(1)newsom()函数当输入为R×2矩阵时,其定义需给定参数确定范围。当其输入不为R×2矩阵时,定义范围应使用函数minmax(P)。

(2)在使用矩阵输入多组向量时由于 MATLAB的显示设置应注意要将矩阵转秩。否则在输出时将会与输入状态产生冲突。

(3)在定义神经元个数和训练步长时,应该根据所给数据及相应的硬件设备合适确定,避免造成不必要的工作。

(4)在样本向量中应当做好相应的分类标记,在改变函数参数后再对测试向量的分类情况进行对比,以确认仿真实验对测试向量的分类是否成功。

(5)在使用KDD CUP99数据源时,样本中存在着一些标志向量的特征属性,在用数字代替这些属性的时候应该注意属于同一类的不同特征属性在数字代替时应该避免重复。不同类型的特征属性则没有限制。

[1]肖道举,毛辉.BP神经网络在入侵检测中的应用[J].华中科技大学学报:自然科学版,2003(3):34-38.

[2]郭翠英,余雪丽.基于神经网络的入侵检测模型[J].太原理工大学学报,2001(5):11-14.

[3]唐正军,刘代志.径向基函数网络在入侵检测中的应用[J].计算机工程,2009(5):78-81.

[4]卢航,王珩.计算机网络安全及控制策略[J].长春工程学院学报:自然科学版,2006(2):75-77.

[5]冯定.神经网络专家系统[M].北京:科学出版社,2006:86-89.

猜你喜欢

步长延时神经元
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
跃动的神经元——波兰Brain Embassy联合办公
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
基于二次型单神经元PID的MPPT控制
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
基于逐维改进的自适应步长布谷鸟搜索算法
毫米波导引头预定回路改进单神经元控制
一种新型光伏系统MPPT变步长滞环比较P&O法