基于协作的网络协议异常检测算法

2015-04-07 00:11邓军薛辉
关键词:入侵检测数据包

邓军 薛辉

摘要 最近跟踪发现目前现有网络协议异常检测技术只是对常见的协议进行检测,具有一定的片面性,对DoS攻击中的SYN Flooding攻击无法检测到.为了提高检测性能的实用性和实时性,应用协作式方法将基于马尔可夫链检测法和均值评估法共同实现了协议异常检测建模,分析了模型建立的过程并提出了模型系统架构.论述了在马尔可夫链的基础上建立异常检测子模型以及如何使用均值评估法建立检测模型.结果表明该模型对应用层的多种协议和传输层TCP协议进行异常检测以及对SYN Flooding攻击检测效果明显.该算法不仅具有一定的理论创新,还具有较强的实用价值.

关键词入侵检测;拒绝服务攻击;SYN Flooding攻击;协议异常检测;马尔可夫链;数据包

中图分类号TP393文献标识码A文章编号10002537(2015)01005806

目前入侵检测(Intrusion detection)技术取得了很大的发展,其中最具代表性的就是网络协议异常检测技术,该技术在商业领域使用比较广泛.其基本原理是针对协议的使用行为建模,如果有偏离此模型的行为都可认为是入侵行为.技术较成熟的有基于马尔可夫[1]、基于神经网络和基于遗传算法[2]3种协议异常检测技术.其中第一种技术在入侵检测领域应用最广泛,检测效果也非常显著,但误报率太高.国内当前具有代表性的是文献[3]和由湖南大学秦拯教授2013年研发的国家发改委信息安全系列产品.前者主要论述一种分布式防御系统的建模过程,该模型针对应用层的多种协议和传输层TCP协议的异常检测能力较强,但对未知的攻击检测能力有限且实时检测不够;后者主要解决如何将多种算法(主要算法在文献[4]和文献[5])集成在一起,共同完成协议异常检测.作者作为后者课题组成员,最近跟踪发现该系统只是对常见的协议进行检测,具有一定的片面性,对DoS攻击中的SYN Flooding攻击无法检测到且时效性也差,很难在实践中发挥应有的效果.基于上述原因,为了提高检测性能的实用性和实时性,本课题组决定对以上几种典型算法模型进行综合和改良,形成一种新的协作式网络协议异常检测算法模型.

本文首先分析算法设计的基本思路,然后提出本次建模的体系架构,重点论述该算法中各子模型的设计以及关键模块是如何改进的.最后通过实验检测算法模型对协议异常检测的有效性.

目前入侵检测(Intrusion detection)技术取得了很大的发展,其中最具代表性的就是网络协议异常检测技术,该技术在商业领域使用比较广泛.其基本原理是针对协议的使用行为建模,如果有偏离此模型的行为都可认为是入侵行为.技术较成熟的有基于马尔可夫[1]、基于神经网络和基于遗传算法[2]3种协议异常检测技术.其中第一种技术在入侵检测领域应用最广泛,检测效果也非常显著,但误报率太高.国内当前具有代表性的是文献[3]和由湖南大学秦拯教授2013年研发的国家发改委信息安全系列产品.前者主要论述一种分布式防御系统的建模过程,该模型针对应用层的多种协议和传输层TCP协议的异常检测能力较强,但对未知的攻击检测能力有限且实时检测不够;后者主要解决如何将多种算法(主要算法在文献[4]和文献[5])集成在一起,共同完成协议异常检测.作者作为后者课题组成员,最近跟踪发现该系统只是对常见的协议进行检测,具有一定的片面性,对DoS攻击中的SYN Flooding攻击无法检测到且时效性也差,很难在实践中发挥应有的效果.基于上述原因,为了提高检测性能的实用性和实时性,本课题组决定对以上几种典型算法模型进行综合和改良,形成一种新的协作式网络协议异常检测算法模型.

本文首先分析算法设计的基本思路,然后提出本次建模的体系架构,重点论述该算法中各子模型的设计以及关键模块是如何改进的.最后通过实验检测算法模型对协议异常检测的有效性.

图2中,数据包捕获器负责捕获设定条件的各种网络数据包传入给数据分流器,数据分流器负责按照数据包的报头所对应的端口号分别传递给各自的协议会话重组模块,重组应用层会话数据流,提供比如HTTP、FTP、TELNET和SMTP等会话过程(本文仅重点描述FTP协议,其他协议异常检测方法类似).协议会话重组后,传递给各基于马尔可夫链的协议异常检测模型.由于该模型无法检测到SYN Flooding攻击,所以再将被检测的协议交给基于均值评估法协议异常检测模型,检测是否有SYN Flooding攻击.两者形成互补,避免以前的单独检测.协议检测完成后交分类器,分类器负责分析该报文是正常还是异常,若是异常,则提交报警器报警.下文就两者如何协同进行分述.

3马尔可夫链协议异常检测算法改良

3.1马尔可夫链

马尔可夫过程最显著的特征就是无后效性.具体是指在随机过程中,设在T时刻的状态为S1,那么在T+1时刻所处状态S2有且仅与T时刻的S1有关,而与此过程的T时刻前发送的状态都不相关,这些离散的时间集和状态集就认为是一个马尔可夫链[3].

为此可建立马尔可夫链数学模型,设随机变量序列{F(n),n=1,2,…,j,…,n}是马尔可夫链的状态空间,j是一个离散值,设过程F(n)=F(tn)为状态集{s1,s2,…,sj, …}的任意值,如果在任意时刻n,以及任意状态s1,s2,…,si,sj,有下面概率公式成立:

P{Fn=Si|Fn-1=s1,…,F1=s1}=P{Fn=Fn-1=si}=Pij(n-1,n).

则称{F(n),n=1,2,…}为一个马尔可夫链.Pij(n-1,n)为n-1时刻的一步转移概率.

3.2马尔可夫链协议算法的改进

3.2.1数据样本改进以前的马尔可夫链协议算法所能检测到的数据样本空间不大,仅一天内的网络流量,这种统计的结果值肯定与实际值有偏差.因此,本文采用MITLincoln实验室的DARPA1999[9]数据检测法评估数据,这些评估数据包含两个星期的网络流量.第一周是正常状态下的网络数据流量,第三周是数据包中含有攻击性的网络数据流量.虽然样本空间增大,必然加重服务器的负荷,但是可增加一个数据库服务器单独进行数据处理.这样建立的算法检测模型通过实践证明更能反映正常状态下实际网络中的协议使用情况.

3.2.2数据包标识化调整一般来说,一个TCP数据包的标志位可用图3来标识.

图3中如果TCP首部标志字段的值为000010,表示SYN位置为l,将其转换成相应十进制的值为2,那么可以用2来标识这个数据包.同理,图4中如果TCP首部标志字段的值为000011,表示SYN和ACK都置1,那么相应的十进制数的值为3,就用3来标识这种类型的数据包,这样TCP的数据包表示的数据范围为[0,26-1],但必须说明的是并不是在此范围的数都是合法的.

按该图4计算出的十进制数肯定和图3计算出的值不同,但这些十进制数只不过是对TCP每种数据包进行标识而已,所以并不影响算法的建立.

图5FTP状态转换图

Fig.5FTP state transition diagram

3.2.3状态转换过程设置FTP在网络传输时要经历3次握手过程,每个过程经历的数据包状态也不同,主要是5个状态,根据图4,分别是:1,2,3,6和34.我们可以绘制出FTP的状态转换图,见图5.首先用tcpdump[10]指令对DARPA 1999的评估数据进行协议分离(通过端口号),然后对FTP协议建立模型,图中每个顶点代表状态, 顶点中间的数字代表调整后的TCP六位二进制数首部标志字段所对应的十进制数, 顶点中第二个小数代表该状态空间中每个状态所占的比例,顶点之间的箭头上的数字表示各个状态之间可能发生的转换概率.正常情况下随着三次握手的变化,数据包首部标志字段也将发生变化.我们设定如果各状态间转移的概率在图中设置值以内,则认为FTP正常,反之FTP流量为异常状态.

3.2.4马尔可夫算法改进马尔可夫链算法模型的核心是公式(1).公式中的Π=(pi)表示为图5中各个状态的最初概率值.E={e1,e2,…,eT}用来表示图4中协议所对应的标志字段的标识序列值.

MAP(t)=πet∏T-1tAetet-1,(1)

将图5的数据代入到公式(1)确实可以检测到是否出现协议异常,但网络流量数据包一旦出现SYN Flooding攻击时,MAP(t)的值会很快逼近E,这样系统无法判定是否出现了此类异常.但此类攻击现在却十分频繁,为此特引入均值评估法到模型中来,并对其进行改进,与马尔可夫模型共同协作完成协议异常检测.

具体方法采用取MAP(t)对数值的方法,这样数值可变得均匀而且密集,便于采样和分析,见公式(2).

log(MAP(t))=log(πet)+∑T-1tlog(AetAet-1).(2)

首先由马尔可夫链协议异常检测模型进行初次检测,分析得到FTP检测数据报告;然后再在此基础上作为数据源,对图5中状态2和3的状态转换的值作为公式(2)的输入数据,由公式(2)求得log(MAP(t))的值,评估系统是否受到攻击,这种计算的代价比较小,并不太影响系统性能.然后管理员根据提供的阈值来判断该协议是否受到SYN Flooding攻击.最后由分类器负责分类处理报警.

4算法测试调整

4.1训练过程

本次算法训练建过程,见图6所示.

图6算法训练过程

Fig.6Markov chain training modelling process

训练数据来源按照DARPA提供的网络数据获得,并对其进行量化,根据本次算法建模体系架构,首先按照RCF的规范和图4的设计对协议中的报文进行规范重组后,再按照图5进行状态转换,每个状态转换的值作为本次检测模型的训练输入数据.

4.2测试数据设置

根据上文规定,本次测试采用DARPA第一周和第三周的数据作为测试样本.

第一周部分测试数据为真实正常网络环境下采集1 182 980个数据包.

第三周部分测试数据设计为有攻击特性的数据包:

1) 取10 000个数据包,有6个报文含有DoS攻击、10个含有probe;

2) 取33 690个数据包,有8个报文含有DoS攻击、11个含有probe、2个R2L、2个U2R;

3) 取66 030个数据包,有15个报文含有DoS攻击、11个含有probe、2个R2L、5个U2R.

定义公式(3)为t(小时)时刻数据流量值与最近t-1时刻数据流量值之间的差值.对FTP协议异常检测时,设定阈值为2.

D(t)=logMAP(t)-logMAP(t-1).(3)

测试环境在网络负载500 Mb/s局域网下进行,使用一台intel 2.8G、2G内存,且安装了linux9.0软件作为服务器,另一台为数据库服务器,用于及时更新协议规则库,共同测试算法程序.实验测试结果见图7和图8.

图7正常情况下log(MAP(t))和D(t)变化情况

Fig.7FTP flow log(MAP(t)) and D(t) changes in normal circumstances

图7测试结果显示log(MAP(t))值的范围基本接近直线,D(t)的曲线波峰值集中在阈值2以下,实验表明第一周系统流量正常.

当使用第三周含有攻击性数据包时,由图8可知在每次出现协议异常时log(MAP(t))的值就下降一次,图中显示一共出现了5次,在D(t)的曲线也显示说明在每次受到攻击时波峰立刻出现较大波动,明显高于阈值2.由此可以判定该段时间内出现了5次协议异常,实验表明系统第三周出现了异常.当然阈值的大小设定有很大关系,需要管理员根据实际情况设定适当的值.测试过程中如果大于规定阈值都认为是出现了协议异常.由此可以得出结论,本次算法建模是有效的.

图8异常情况下log(MAP(t))和D(t)变化情况

Fig.8FTP flow log(MAP(t)) and D(t) changes in abnormal circumstances

5结束语

本文提出的基于协作的网络协议异常检测算法建模过程,是在分析几种典型的协议异常检测模型的基础上对其进行改良,采用协作式的方法提高了协议异常检测能力.不仅对应用层常见的协议(如HTTP、FTP、TELNET)异常进行有效的检测,对DoS攻击中的SYN Flooding攻击也具有很好的检测效果,此外、本次算法建模还具有较好的扩展性,实施时采用组件技术即可完成,对同类或同层协议可对模型进行横向扩展,对其他类型的检测方法进行众向扩展即可.对于协议规则库采用在线部署的方式,可以避免协议规则的滞后性,提高了模型的实时检测能力.因此算法不仅具有一定的理论创新,还具有较强的实用价值.但是该算法模型中阈值大小值仍然取决于管理员的经验和人为因素,如何避免或减少人工的取值是我们以后重点需要解决的任务.

参考文献:

[1]尹清波,张汝波,李雪耀.基于线性预测与马尔可夫模型的入侵检查技术研究[J].计算机学报, 2010,28(5):900907.

[2]李晓华,董晓梅,于戈.基于免疫原理的数据库入侵检测方法研究[J].小型微型计算机系统, 2009,30(12):23432347.

[3]李勇征.具有免疫响应能力的入侵防御关键技术研究[D].秦皇岛:燕山大学, 2013.

[4]李娜,秦拯,张大方.基于MarkovChain的协议异常检测模型[J].计算机科学, 2011,31(10):6668.

[5]秦拯,李娜,张大方. Chisquare Distance在协议异常检测中的应用[J].湖南大学学报:自然科学版, 2012,32(5):99103.

[6] 邓军.基于CMMI的企业软件过程与质量管理平台设计[J].湖南师范大学自然科学学报, 2014,37(1):6368.

[7] GANAPATHY S, KULOTHUNGAN K, YOGESH P, et al. A novel weigthed fuzzy CMeans clustering based on Immune genetic algorithm for intrusion detection[J].Procedia Engin, 2012,38(10):17501757.

[8] YE N, CHEN Q, CONNIE M B. EWMA forecast of normal system activity for computer intrusion detection[J].IEEE Transactions on Reliability, 2011,53(4):557566.

[9] LEE C H, LIN C H, JUANG B H. A study on speaker adaptation of the parameters of continuous density hidden markov models[J].IEEE Trans on Signal Proc, 2011,39(4):806814.

[10]穆成坡.网络入侵分析与入侵响应[M].北京:北京理工大学出版社, 2011.

(编辑陈笑梅)

猜你喜欢
入侵检测数据包
满足法规要求的车载终端数据包加密方案分析
C#串口高效可靠的接收方案设计
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
闪展腾挪 小空间平板运行大游戏
基于Φ—OTDR的分布式入侵检测系统的应用综述
网络数据包的抓取与识别
基于Linux的Netfilter处理数据包的过程分析