基于协作的网络协议异常检测算法
2015-12-22邓军,薛辉
邓 军,薛 辉
(1.湖南科技职业学院,中国长沙 410004;2.湖南涉外经济学院,中国长沙 410205)
目前入侵检测(Intrusion detection)技术取得了很大的发展,其中最具代表性的就是网络协议异常检测技术,该技术在商业领域使用比较广泛.其基本原理是针对协议的使用行为建模,如果有偏离此模型的行为都可认为是入侵行为.技术较成熟的有基于马尔可夫[1]、基于神经网络和基于遗传算法[2]3 种协议异常检测技术.其中第一种技术在入侵检测领域应用最广泛,检测效果也非常显著,但误报率太高.国内当前具有代表性的是文献[3]和由湖南大学秦拯教授2013年研发的国家发改委信息安全系列产品.前者主要论述一种分布式防御系统的建模过程,该模型针对应用层的多种协议和传输层TCP 协议的异常检测能力较强,但对未知的攻击检测能力有限且实时检测不够;后者主要解决如何将多种算法(主要算法在文献[4]和文献[5])集成在一起,共同完成协议异常检测.作者作为后者课题组成员,最近跟踪发现该系统只是对常见的协议进行检测,具有一定的片面性,对DoS 攻击中的SYN Flooding 攻击无法检测到且时效性也差,很难在实践中发挥应有的效果.基于上述原因,为了提高检测性能的实用性和实时性,本课题组决定对以上几种典型算法模型进行综合和改良,形成一种新的协作式网络协议异常检测算法模型.
本文首先分析算法设计的基本思路,然后提出本次建模的体系架构,重点论述该算法中各子模型的设计以及关键模块是如何改进的.最后通过实验检测算法模型对协议异常检测的有效性.
1 算法模型设计思路
协议异常检测建模实际上主要涉及到信息特征的选择、模型的设计和方法匹配[6].检测从网络上收集到大量的信息,这些信息的选择是按其数据包中表现的特征进行的;检测模型的功能就是分析这些数据包中的行为是否有入侵行为;模型中的算法实际上就是将这些特征和行为与模型中正常行为特征进行比较和分析[7].这三个要素共同一起决定模型系统的性能.
设来自网络采集到的数据表示为向量N=(x1,x2,…,xn),经过预处理的数据表示为向量M=(y1,y2,…,ym),m <n 且m,n 都属于自然数.模型可表示为
F 表示为模型集合,由若干个子模型组成,因此建模的关键就是模型算法的选择.建模流程如图1所示.
首先数据采集是来自网络的数据包和主机日志.由数据包捕获器按设定的规则和标准捕获相关数据包后,再传给协议检测模型进行分析,分析的依据是协议规则库,分析的结论作为参数传递给系统管理模块.管理模块主要负责处理协议规则库的配置、修改数据包捕获的规则和分析协议异常情况,并将分析结果以告警的方式通知管理人员进行相关处理.为了克服以前协议规则库的滞后性,本次建模采用在线部署的方式,分时段升级或更新协议规则库,这样可以大大提高模型的实时检测能力,协议规则的制定和设计由管理人员根据实际检测需要及时修改或增加协议规则库.图1 中的关键部分主要是协议检测模型的改良设计.因此,本文主要从这方面进行分析.
图1 建模流程图Fig.1 Modelling flow diagram
2 模型体系架构的提出
在协议异常检测中,主要是对正常状态下的基于主机的系统行为或基于网络的数据包两种建模.文献[7~9]中和以前的大多数的算法或模型都是对在正常状态下利用系统调用进行建模,通过分析判断该调用序列来判断协议是否异常.本文则采用MITLincoln 实验室DARPA1999[10]数据检测法,通过马尔可夫链分析网络流量值与设计的阈值相比较和应用层不同协议对应的端口号不同为依据分类进行检测,两者一起协同建立系统模型.模型系统架构见图2所示.
图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 时刻的一步转移概率.
图2 模型体系架构图Fig.2 Model architecture diagram
3.2 马尔可夫链协议算法的改进
3.2.1 数据样本改进 以前的马尔可夫链协议算法所能检测到的数据样本空间不大,仅一天内的网络流量,这种统计的结果值肯定与实际值有偏差.因此,本文采用MITLincoln 实验室的DARPA1999[9]数据检测法评估数据,这些评估数据包含两个星期的网络流量.第一周是正常状态下的网络数据流量,第三周是数据包中含有攻击性的网络数据流量.虽然样本空间增大,必然加重服务器的负荷,但是可增加一个数据库服务器单独进行数据处理.这样建立的算法检测模型通过实践证明更能反映正常状态下实际网络中的协议使用情况.
3.2.2 数据包标识化调整 一般来说,一个TCP 数据包的标志位可用图3 来标识.
图3 TCP 首部标志字段Fig.3 TCP header field
为了较好地检测到SYN Flooding 攻击,将图3 的TCP 首部的标识位进行调整,见图4.
图4 调整后的TCP 首部标志字段Fig.4 TCP header field after adjusting
图3 中如果TCP 首部标志字段的值为000010,表示SYN 位置为l,将其转换成相应十进制的值为2,那么可以用2 来标识这个数据包.同理,图4 中如果TCP 首部标志字段的值为000011,表示SYN 和ACK 都置1,那么相应的十进制数的值为3,就用3 来标识这种类型的数据包,这样TCP 的数据包表示的数据范围为[0,26-1],但必须说明的是并不是在此范围的数都是合法的.
按该图4 计算出的十进制数肯定和图3 计算出的值不同,但这些十进制数只不过是对TCP 每种数据包进行标识而已,所以并不影响算法的建立.
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 中协议所对应的标志字段的标识序列值.
图5 FTP 状态转换图Fig.5 FTP state transition diagram
将图5 的数据代入到公式(1)确实可以检测到是否出现协议异常,但网络流量数据包一旦出现SYN Flooding 攻击时,MAP(t)的值会很快逼近E,这样系统无法判定是否出现了此类异常.但此类攻击现在却十分频繁,为此特引入均值评估法到模型中来,并对其进行改进,与马尔可夫模型共同协作完成协议异常检测.
具体方法采用取MAP(t)对数值的方法,这样数值可变得均匀而且密集,便于采样和分析,见公式(2).
首先由马尔可夫链协议异常检测模型进行初次检测,分析得到FTP 检测数据报告;然后再在此基础上作为数据源,对图5 中状态2 和3 的状态转换的值作为公式(2)的输入数据,由公式(2)求得log(MAP(t))的值,评估系统是否受到攻击,这种计算的代价比较小,并不太影响系统性能.然后管理员根据提供的阈值来判断该协议是否受到SYN Flooding 攻击.最后由分类器负责分类处理报警.
4 算法测试调整
4.1 训练过程
本次算法训练建过程,见图6所示.
训练数据来源按照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.
测试环境在网络负载500 Mb/s 局域网下进行,使用一台intel 2.8G、2G 内存,且安装了linux9.0 软件作为服务器,另一台为数据库服务器,用于及时更新协议规则库,共同测试算法程序.实验测试结果见图7 和图8.
图7 正常情况下log(MAP(t))和D(t)变化情况Fig.7 FTP 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.8 FTP flow log(MAP(t))and D(t)changes in abnormal circumstances
5 结束语
本文提出的基于协作的网络协议异常检测算法建模过程,是在分析几种典型的协议异常检测模型的基础上对其进行改良,采用协作式的方法提高了协议异常检测能力.不仅对应用层常见的协议(如HTTP、FTP、TELNET)异常进行有效的检测,对DoS 攻击中的SYN Flooding 攻击也具有很好的检测效果,此外、本次算法建模还具有较好的扩展性,实施时采用组件技术即可完成,对同类或同层协议可对模型进行横向扩展,对其他类型的检测方法进行众向扩展即可.对于协议规则库采用在线部署的方式,可以避免协议规则的滞后性,提高了模型的实时检测能力.因此算法不仅具有一定的理论创新,还具有较强的实用价值.但是该算法模型中阈值大小值仍然取决于管理员的经验和人为因素,如何避免或减少人工的取值是我们以后重点需要解决的任务.
[1]尹清波,张汝波,李雪耀.基于线性预测与马尔可夫模型的入侵检查技术研究[J].计算机学报,2010,28(5):900-907.
[2]李晓华,董晓梅,于 戈.基于免疫原理的数据库入侵检测方法研究[J].小型微型计算机系统,2009,30(12):2343-2347.
[3]李勇征.具有免疫响应能力的入侵防御关键技术研究[D].秦皇岛:燕山大学,2013.
[4]李 娜,秦 拯,张大方.基于MarkovChain 的协议异常检测模型[J].计算机科学,2011,31(10):66-68.
[5]秦 拯,李 娜,张大方.Chi-square Distance 在协议异常检测中的应用[J].湖南大学学报:自然科学版,2012,32(5):99-103.
[6]邓 军.基于CMMI 的企业软件过程与质量管理平台设计[J].湖南师范大学自然科学学报,2014,37(1):63-68.
[7]GANAPATHY S,KULOTHUNGAN K,YOGESH P,et al.A novel weigthed fuzzy C-Means clustering based on Immune genetic algorithm for intrusion detection[J].Procedia Engin,2012,38(10):1750-1757.
[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):557-566.
[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):806-814.
[10]穆成坡.网络入侵分析与入侵响应[M].北京:北京理工大学出版社,2011.