一种基于粒子群的入侵检测研究

时间:2022-09-13 09:52:32

一种基于粒子群的入侵检测研究

【摘要】当今攻击网络的手段是多种多样的,为保护网络的用户不受来自网络的攻击,网络在使用中需要安全设备和安全技术。入侵检测技术是一种安全检测技术,该技术能够来阻止网络攻击行为。但要阻止网络的攻击行为,必须检测到该行为。本文在简述了入侵检测技术,粒子群知识后,然后提出了粒子群在入侵检测技术上的应用。该技术在入侵检测上的应用将使得检测方法具有一定的智能性,将粒子群技术应用到入侵检测中属于是首次。本文提出的具有一定智能性检测算法可分为两个步骤:①首先通过函数y=f(x)判断链路中的数据流是否在正常范围内,还是属于异常。②然后如果某种数据流属于异常的流,则使用粒子群算法来对未知属性数据流的属性进行定性判断。本文提出的算法具有一定的智能性,能够作为现有的入侵检测算法的补充。

【关键词】粒子群;异常检测;入侵检测

1.引言

现在互联网规模早超出地区性了,其规模在全球还不断地扩大。网络的四通八达,使得用户在访问网络资源时更快捷,更方便和内容更丰富。但网络是一种资源共享平台,在访问过程中安全问题日益突出。没有采取保护措施的网络用户极易受到来自黑客,病毒和蠕虫的攻击。因此如何保护用户在访问资源时,不受攻击变得十分重要。

当今攻击网络的手段是多种多样的,不同的攻击手段,对网络造成的破坏程度是不一样的。由于各种网络协议存在安全漏洞,因此要想避免网络技术上的漏洞是不可能的。但另一方面正是由于黑客不断的对网络进行攻击,给互联网络造成了不小的损失。

为了应对来自网络的攻击,网络科研单位的技术人员因此开发出了各种网络安全技术,同时也不断改进已有的网络安全性技术。这些设备主要有防火墙,防毒墙和入侵检测系

统。如果防火墙是第一道防护墙,那么入侵检测系统就是第二道防护墙,因此,入侵检测系统在防护设备中有着不可替代的作用。入侵检测系统是一种较为成熟的安全系统。本文以已有的入侵检测技术为基础,提出了一种新的检测方法。将粒子群技术应用到入侵检测的算法中尚属首次。

2.入侵检测技术简介

入侵检测技术的目的就是阻止网络入侵行为的发生。当今已知的网络攻击方式有两种:①已知模式的攻击,②未知模式的攻击。为了应对这两种网络攻击的方式,入侵检测技术开发出了两种检测技术:①误用检测,②异常检测[1]。误用检测是一种基于串匹配模型技术,当一个行为事件进入侵检测系统,误用检测就会根据行为事件的特征进行模式,来判断这个行为是正常的还是异常的[2]。误用检测的不足之处是在进行模式匹配的时候只能根据已知的行为事件的属性为依据,因此,该种技术只能检测出已知模式的网络攻击。异常检测是基于统计分析的检测技术,异常检测技术对网络行为的检测能力强于误用检测。异常检测最大的优势是能够同时检测出已知的网络和未知的网络攻击。由于异常检测的检测技术是根据统计学的来区分正常行为和异常行为,因此异常检测具有自我学习能力,这使得该技术在检测网络行为的属性时具有一定的智能性。异常检测技术与计算机技术相融合的有以下几种:基于神经网络的入侵检测,基于遗传算法的入侵检测和基于数据挖掘的入侵检测。入侵检测技术与其它技术融合还有:基于免疫的入侵检测技术和基于入侵容忍的入侵检测技术[2]。

3.粒子群的几个重要基本概念

种群:种群是群体的概念,最常见的种群有鸟类,鱼群。

粒子:粒子是种群中的个体,鸟群和鱼群中的个体就是种群中的粒子。

适应度函数:适应度函数能够为种群的粒子的搜索方向和寻找最优解提供依据,加快种群的收敛速度[8]。

目标函数:目标函数的目的是使得粒子在搜索空间寻找最优解,该函数的期望值就是粒子的最优解[8]。

粒子间的协作:如果粒子群中某个粒子找到了最优解,那么其它粒子可以通过粒子之间的相互学习来调整粒子的飞行的速度和方向使得粒子找到最优解。粒子在搜索空间中不会重复搜索同一个位置,这将加快种群收敛速度[10]。

4.网络数据包以及其属性的研究

在正常状态的网络流量中,一组数据包含有的包个数为10-15个,一般不会超过30个。在数据包分组中数据包个数大于20个的几率小于5%[6]。当网络被攻击时,网络中的包组数目将明显地变大并且一般都超过50.不同强度的攻击数据包组数目分布不同,越强烈的攻击,其包组数目就越大,包组数目甚至达到几百个[6]。网络链路中的常见数据包有①TCP数据包,②UDP数据包,③ICMP数据包,④Ip数据包。根据网络中数据包的大小,可将数据包分为长报文数据包和短报文数据包。长报文的字节数≥1024的个字节,短报文的字节数≤64个字节数。

检测函数:

时:

如果当前链路中某种数据包数量≈正常状态下链路中该数据包的数量,那么这时黑客攻击网络的几率很小。

如果当前链路中某种数据包的数量大于或远大于正常状态下链路中该种数据包的数量,那么这时数据包越大或个数越多,则此时网络被黑客攻击网络的几率较大。

讨论:①如果:

那么该种数据包被要求检测的概率较小。

②如果:

如果网络链路中某种数据包的数量偏离正常链路中该种数据包的越大,那么该种数据包被要求检测的概率较大。

网络数据包行为属性:入侵检测系统能够检测出来自网络具有攻击行为数据包的属性,在网络收发的数据中,这些数据包的属性有两类:①正常,②异常。正常属性的行为与异常属性的行为的逻辑关系式反对对立面得逻辑关系。因此,日常来自网络所有数据包的属性可分为三类:正常,异常和部分正常和部分异常。

5.粒子群算法在检测网络数据包属性上的应用

5.1 粒子群算法简介

粒子群算法寻找最优解的算法。由于粒子在寻找最优解时能够相互协作,因此当种群中的某个粒子找到了最优解,那么与其它粒子通过相互协作同样能够使其它粒子也找到最优解。为了使粒子在搜索空间中较快的找到最优解,算法需通过中适应函数来控制和调整种群中每个粒子自身飞行的方向和速度。如果粒子在搜索空间中找到了十分符合目标函数期望值,则此时粒子也就找到了最优解。粒子群求解的过程中加快粒子的收敛速度,也就加快了种群的收敛速度[12]。

5.2 粒子群在病毒上的应用

在某种未知的数据包组成的粒子群,在这个粒子群众每个数据包都具有自身固有的属性,所以在本文中将所有某种未知属性的数据包的属性提取出来,把数据包组成一个粒子群。而这些由某种未知数据包组成的粒子群都要在搜索空间中找到自己的最优解。因此还需构建一个搜索空间,使得每一个粒子在搜索空间中都能找到最优解。为了加快粒子群的收敛速度这里将某种已知数据包的属性种类按照一定的规模组成若干个搜索空间。这样使得求解空间中的粒子在搜索空间中都能较快的找到最优值。

基于粒子具有上述的特点,为了将粒子群技术应用在入侵检测的技术上,在这里需要建立两个函数:这两个函数分别是目标函数和适应函数,这两个函数具体形式如下:

(1)目标函数:

目标函数是用来描述粒子寻找最优解的衡量标准。n=某种未知网络数据包的大小属性值,m=该种已知网络数据包的大小属性值。

(2)适应函数:

适应函数的作用用来调整粒子飞行的方向,使得粒子的飞行的逐步接近最优解。

n=某种未知网络数据包的大小属性值,m=该种已知网络数据包的大小属性值。

5.3 粒子群参数初始化

粒子群算法在求最优化问题时,每个粒子根据如下公式来更新自己的速度和新的位置[11]

[11]

xk+1=xk+vk+1[11] ⑵

在式⑴中r1和r2为(0,1)之间的随机数,c1和c2为学习因子,一般取c1=c2=2,为惯性权重,取较大值粒子群算法具有较强的全局搜索能力,取较小值粒子群算法倾向于局部搜索。速度vk+1可以设定在vmax和vmin之间,当超过这个区域时,就取对应的上下限(下转封三)(上接第76页)值。xk位置也可设定在一定的[xmin,xmax]区间范围内,由式⑴⑵所组成的粒子群算法一般称为基本粒子算法。在此基础上,如果将惯性性权重的取值根据迭代次数依次递减,此时粒子群算被称为惯性权重线性递减粒子群算法,一般情况下,将的初值设置为0.9,然后按照迭代次数线性递减到0.4。惯性权重线性递减粒子群算法是粒子群算法研究领域一种比较常用的算法模型,因此本文采用上述惯性权重线性递减粒子群算法对病毒种群构成的粒子群进行研究[9]。

5.4 求解空间粒子群和搜索空间粒子群的划分

(1)求解空间粒子种群的划分

从求解空间中取出一个粒子,求解空间中剩余粒子个数为:n1,n2,n3,……nn;其属性值分别为n1',n2',n3',……nn'。

将求解空间中的某个粒子的属性值与求解空间中所有粒子的属性值进行比较。

属性判定函数:

令x=j,如果粒子j与求解空间中的粒子属性的比较有以下的结论:

,,

,,……

则将求解空间中这n个粒子组成一个子种群,并且将这n个粒子从求解空间种群分离出去,组成一个独立的求解空间A1。

再将剩余求解空间中依次取出粒子重复以上的过程⑴,直到将求解空间种群中的粒子划分为若干子种群A1,A2,A3,A4……An。

(2)搜索空间粒子种群的划分

从求搜索间中取出一个粒子,求搜索空间中剩余粒子个数为:n1,n2,n3,……nn;其属性值分别为n1',n2',n3',……nn'。

将搜索空间中的某个粒子的属性值与搜索空间中所有粒子的属性值进行比较。

属性判定函数:

令x=j,如果粒子j与搜索空间中的粒子属性的比较有以下的结论:

,,

,,……

则将搜索空间中这n个粒子组成一个子种群,并且将这n个粒子从搜索空间种群分离出去,组成一个独立的搜索空间B1。再将剩余搜索空间中依次取出粒子重复以上的过程⑵,直到将搜索空间种群中的粒子划分为若干独立的搜索空间种群B1,B2,B3,B4……Bn。

5.5 粒子群技术在检测病毒上的实现

在子种群A1,A2,A3,A4……An,中依次选出一个种群An,在种群A1中提取粒子a,粒子a的属性值为a'。

在子种群B1,B2,B3,B4……Bn中依次选出一个种群Bn,种群Bn中有粒子数b1,b2,b3,b4……bn,粒子群的属性值分别为b1,b2,b3,b4……bn。

(1)标函数:

本文中令,n=某种未知数据包的大小属性值,m=该种已知数据包的大小属性值。

粒子a寻找最优解过程如下:

,,,

,……

如果存在,则粒子a找到了最优解。

如果粒子群A中的粒子a找到了最优解,那么粒子群A中的其它粒子根据粒子群中粒子协作和竞争机制,同样能够很快地找到自身的最优解。根据相同的理由种群A1,A2,A3,A4……An,都能很快找到各自的最优解。

(2)适应函数:

适应函数的作用用来调整粒子飞行的方向,使得粒子的飞行的逐步接近最优解。

n=某种未知数据包的大小属性值,m=该种已知数据包的大小属性值。

①当:

有:

如果时:有以下讨论:

由,可得n>m,但目标函数中:,需要n≈m。

为了使n无限接近于m,达到n≈m的目的,因此在搜索空间中需要寻找属性值比粒子m属性值大的粒子,这样才能找到粒子的最优解。

②当:

有:

如果时,有以下讨论:

由,可得n

为了使n无限接近于m,达到n≈m的目的,因此在搜索空间中需要寻找属性值比粒子m属性值小的粒子,这样才能找到粒子的最优解。

③当:

有:

如果时,则此时粒子在搜索空间中找到了最优解。

5.6 粒子群技术的检测算法:

(1)初始化搜索空间中的粒子群。

(2)初始化求解空间中的粒子群。

(3)将未知种类病毒组成的种群,划分成若干个子种群,并且将子种群中的粒子数目控制在30以内。

(4)同样将搜索空间中的粒子种群划分为若干个的子种群,并且将子种群中的粒子数目控制在30以内。

(5)某个未知属性数据包组成的粒子群在搜索空间中寻找最优的解。

(6)使用适应函数不断调整粒子飞行的方向和速度。

(7)如果粒子群中的某些粒子在第一次搜索中未找到最优解,将这些粒子提取出来组成一个新的粒子群。

(8)将新组成的粒子群在下一个搜索空间寻找最优解。

5.7 粒子群技术在异常检测上应用的算法

(1)使用入侵检测系统监视网络中的流量。

(2)检测的数据包中捕获有异常的数据包。

(3)在入侵检测系统中保存在该数据包。

(4)提取未知数据包的属性,并计算出属性的值。

(5)通过粒子群算法来进行未知属性数据包与已知数据包的属性比对

(6)通过属性值的计算和属性值的比较,得出相应的结论来判断数据包是异常还是正常。

6.结束语

本文提出的新的检测算法是基于现有的入侵检测算法,并首次将粒子群技术应用到入侵检测的异常检测中。这是本文的创新点。异常检测是一种成熟的检测技术,异常检测技术与其它技术相结合的应用前景十分广泛,随着计算机技术和人工智能技术的发展,将会出现更多的新异常检测算法。随着入侵检测技术不断的发展,这必将遏制网络攻击事件的发生,网络攻击事件的成功率将会有明显的下降。

参考文献

[1]阎巧,谢维信,异常检测技术的研究与发展[J].西安电子科技大学学报,2002,2(29)1.

[2]金文进,杨武.异常检测技术研究综述[J].软件导刊,2008,1.

[3]任照松,印润远.基于统计方法的入侵检测模型[J].上海水产大学学报,2005,6(14):2.

[4]王艳华,马志华,臧露.入侵检测技术在网络安全中的应用与研究[J].信息技术,2009,6.

[5]刘陶,叶君耀,朱永宣.一种基于统计方法的入侵检测模型的研究[J].微计算机信息,2007,23:10-3.

[6]孙知信著.网络异常流量识别与监控技术研究[M].清华大学出版社,2009.

[7]刘芳.网络流量监测与控制[M].北京邮电大学出版社,2009.8

[8]高海兵,周驰,高亮.广义粒子群优化模型[J].计算机学报,2005(28).

[9]刘志雄,梁华.粒子群算法中随机数参数的设置与实验分析[J].控制理论与应用,2010(27).

[10]朱丽莉,杨志鹏,袁华.粒子群优化算法分析及研究进展[J].2007.

[11]朱龙云,陈瀚宁,申海.生物启发计算[M].清华大学出版社,2013.

[12]潘峰,李位星,高琪.粒子群优化算法与多目标优化[M].北京理工大学出版社,2013.

[13]Frans David,王建新,王斌.基于异常的特征的入侵检测系统模型[J].计算机技术与自动化,2004,9(23):3.

本文是北京航空航天大学软件开发环境国家重点实验室开放基金资助项(SKLSDE-2013KF)。

作者简介:朱俚治(1980―),男,南京航空航天大学信息中心工程师,研究方向:网络安全。

上一篇:基于有限元的结构优化分析方法―拓扑优化 下一篇:关于地铁通风空调系统节能问题的分析