一种基于MIB信息熵统计的网络异常检测方法
2015-12-17苏庆刚罗宜元
赵 雷, 苏庆刚, 罗宜元
(上海电机学院 电子信息学院, 上海 200240)
一种基于MIB信息熵统计的网络异常检测方法
赵雷,苏庆刚,罗宜元
(上海电机学院 电子信息学院, 上海 200240)
摘要:针对网络发展中出现的犯罪和攻击,研究了基于管理信息库(MIB)信息熵统计的网络异常发现方法。给出了基于MIB的网络异常发现的相关概念及实现方法。在此基础上,讨论了固定时间窗口和滑动时间窗口在该方法中的应用。与传统的网络异常检测方法相比,该方法能够实时、有效地检测网络异常的发生。选取大型网络提供商的MIB数据为应用背景,验证了方法的准确性和精确性。
关键词:网络异常检测; 管理信息库; 信息熵; 时间窗口
近年来,随着国际互联网的迅速发展,计算机网络在现代社会中发挥着日益重要的作用。随着网络规模不断扩大,网络设备和网络应用、服务相应增多,网络已成为犯罪或敌人攻击的目标之一。如何快速有效地检测网络异常并提高检测可靠性已成为一大研究热点。
异常检测(anomaly detection)是指建立系统正常的模式轮廓,若实时获得的系统或用户的轮廓值与正常值的差异超出指定的阈值,就进行入侵报警[1-3]。异常检测依赖于异常模型的建立,模型不同,检测方法也不同。常用的异常入侵检测方法包括基于机器学习的方法[1-2]、基于统计的入侵检测方法[3-6]、基于小波分析的方法[7]、基于贝叶斯网络和贝叶斯推理的异常检测方法[8-9]、基于数据挖掘的异常检测方法等[10-14]。其中,基于统计的方法由于具有建模容易、检测精度高、易于与其他方法结合使用等优点而被广泛使用。
早期用于网络异常检测的方法是统计假设检验,其中,顺序概率比测试(Sequential Probability Ratio Test, SPRT)和似然比(likelihood Ratio, LR)检验[3]是较为典型的网络异常检测方法。Wald证明了有效天SPRT族中一定存在一个一致最有效的贯序检验,但不易检测突发性异常;LR检验对于网络异常检测具有显著的适用性和良好的统计性,但缺点是缺乏容错能力[3]。近年来,基于统计的方法被广泛应用。文献[4]中通过定义一个新的统计量并建立AR模型,可以实时和有效地发现连续网络数据流中的异常特征。文献[5]中提出了一种基于统计推演的异常检测技术。文献[7]中结合统计方法和机器学习,提出了基于朴素贝叶斯分类的网络异常检测模型,具有较高的发现精确度。文献[8]中将文本分类中的最大信息熵技术应用于网络异常分类中,对连续流量特征的网络进行分类。文献[12]中提出了一种大规模高速网络环境中网络熵值估算的方法,将基于熵的网络流量异常检测应用于大规模高速网络环境中。文献[13]中使用机器学习和统计方法,对网络数据流的时间序列和特征空间进行综合检测,具有较好的实时特性。通过选取路由器中的管理信息库(Management Information Base, MIB)数据,文献[14]中提出了针对大规模网络数据流和网络管理漏洞进行异常检测的策略。目前,大部分的异常检测策略都具有不依赖于攻击特征,立足于受检测的目标发现入侵行为的优点。但是,如何建立异常指标、定义正常的模式轮廓、降低误报率,是异常检测难以解决的问题[15]。
本文尝试建立新的网络异常指标与正常模式轮廓,将MIB数据与信息熵统计方法相结合,研究了基于MIB信息熵统计的网络异常发现方法,给出了基于MIB的网络异常发现的相关概念及方法;在此基础上,讨论了固定时间窗口和滑动时间窗口在该方法中的应用;并选取大型网络提供商的MIB数据为应用背景,结果显示该方法能够有效、实时地检测网络异常,并具有一定的准确性和精确性。
1基于MIB的异常检测
异常检测系统主要分为3个部分: 数据预处理单元、数据处理单元和异常检测单元。检测流程如图1所示。
图1 基于MIB的网络异常检测流程Fig.1 Overview of network anomaly detection using MIB
图中,数据预处理单元与数据处理单元的主要功能是从MIB中选择适当的变量进行分析。如MIB中有11类对象数据,包括系统基本信息(如system类)或与协议相关的信息(如IP类和TCP类)等,由于这些数据的非数值型以及与网络应用的相关性太强,不适合用作普遍性的异常检测。本文选取MIB中的interfaces类为指标集。该类型标识的内容是网络接口的信息,如通过接口的数据包数量等,而与具体的协议无关,具有与应用无关的普遍性,适合用作普遍性异常检测。
在变量的选取方面,也可以通过合并对象的方式进行研究,如MIB中ifInOctets指标集随时间变化的指标用x(t)表示,而MIB中ifInDiscards指标集随时间变化的指标用y(t)表示。若综合考查两项指标,也可以将它们结合起来,用变量z(t)=x(t)+αy(t)表示,其中,α为变量y(t)的权值。本文采用基于信息熵统计的网络异常检测方法。
定义1信息熵。设一个离散随机变量xi和它的分布概率为p(xi),i=1,2,…,r,则r个随机变量的不确定性的度量简称为熵,记为
(1)
定义2固定时间窗口。按照时间顺序依次选取固定时间段的方法称为固定窗口,如图2所示。
图2 固定时间窗口设置Fig. 2 Fixed time window model
定义3滑动时间窗口。设一个时间窗口内部有m个时间点。滑动窗口是后继时间窗口作为前时间窗口向前滑动p(p 图3 滑动时间窗口设置Fig.3 Sliding time window model 定义4熵比。在固定窗口或滑动窗口中,前s(s≥1)个时间窗口指标变量具有的平均信息熵与当前窗口指标变量信息熵的比值,称为熵比。熵比在一定程度上反映了最近一段时间内信息熵的变化程度。 2基于MIB的信息熵统计的异常检测 interfaces类指标集主要包括12种数值型变量指标,如表1所示。 表1 MIB中interfaces类主要指标列表Tab.1 Indicators of interface class in MIB 本文数据采自某大型网络设备供应商提供的实时MIB数据记录,路由器中每2min都会对MIB进行更新。图4给出了该MIB中部分interfaces类的指标记录,依次记录了表1中12种数值型变量指标值。 图4 MIB中interface类的指标记录举例Fig.4 Example of records for interface class in MIB 由图4可见,8月4日星期一11:44接口收到的总比特数(ifInOctets指标)为828590480,接口收到并丢弃的包数(ifInDiscards指标)为0,接口传送出的单播包数(ifOutVcastPkts)为3108960798。 本文以对MIB中ifInOctets指标进行网络异常检测为例,设时间窗口TWk为时间点k到k+w的时间段,其中,窗口大小为w;时间点t(t=k,k+1,…,k+w)处的ifInOctets指标值(即时间点t处接口收到的总比特数)为bt,时间点单位为min,则接口在时间点i接收到的比特数为 xt=bt-bt-1 (2) 为衡量时间窗TWk内接收比特xt的不确定性,可以通过其信息熵来体现。归一化xt,令 (3) 假设zt近似服从某种概率分布,若为正态分布,则zt满足 (4) 时间窗TWk在变量zt上的信息熵为 (5) 由于p(zi)取值区间为(0,1],故logp(zt)≤0且随p(zt)单调递增,则E(TWk)也随p(zt)单调递增。因此,若窗口内部接收到的比特数发生异常,则zt满足正态分布的概率降低,熵值变小;反之亦然。 为了更好地反映近一段时间内网络接收比特的变化,可以通过计算前一段时间(如前个时间窗口)的平均熵和当前窗口熵的比值来反映当前熵的变化。定义第s个窗口的熵比为 (6) 式中,j为循环变量。 若熵比超出给定阈值,则可判定此时间窗口内发生了网络异常。在时间窗口的设置时,则可以采取固定和滑动窗口两种方法。 本文以ifInOctets指标为例,给出基于MIB信息熵统计的异常检测算法。 步骤1定义窗口大小n和窗口的滑动距离p。 步骤2按照滑动窗口设置依次递进计算每个窗口的熵值和熵比值。 (1) 计算时间窗口内各时间点的比特数xt和归一化值zt; (2) 计算各时间点上zt的概率p(zt); (3) 计算窗口在zt上的熵值和熵比值。 步骤3异常判断。将所得熵值或熵比值与给定阈值进行比较,若超出范围,即判断此时间窗口内有数据突变或有不符合之前规律的情况发生,即可能发生异常。 3实验及分析 在思科研究中心模拟一个小型网络,其中1台路由器连接3个子网,路由器采用思科Cisco 7500。3个子网中1个连接HTTP服务器,1个子网上具有一个SQL Server数据库服务器,最后1个子网用来模拟DDoS攻击。人为制造4种网络异常类型,包括:服务器CPU占用、DDoS攻击、数据库关闭和HTTP服务器中断。模拟运行时间为24h,在路由器上收集MIB数据,用Matlab软件进行模拟软件编程实现,其中运行软件的计算机CPU主频为2.4GHz,内存为2GB。 本文考察IfInOctets和IfInDiscards指标变量在0~12000min内的变化情况,如图5所示。 图5 IfInOctets和IfInDiscard指标变量数据分布Fig.5 Distribution of IfInOctets and IfInDiscard indicators 合并考察IfInDiscards(用x(t)表示)和IfInOctets(用y(t)表示),得到新的变量指标z(t),其中,α=3000。其数据分布如图6所示。 以z(t)为例进行测试,随机取6个时间窗口内的信息熵值如图7所示。由图7可见,曲线越平缓,其熵值越小。由熵的定义可知[6],熵值越小,规则性越明显,则判定异常发生的可能性越大,反之亦然。另一方面,熵比越大,则当前信息熵与过去一段时间内的平均信息熵相比越小,反映在网络上则认为发生异常的可能性越大。 图6 IfInOctets和IfInDiscard合并后的数据分布Fig.6 Combinations of IfInOctets and IfInDiscard indicators 图7 z(t)变量6个时间窗口的熵的计算Fig.7 Example of entropy computing for 6 different time windows 本文根据图7,设窗口大小为10,采用固定窗口,利用基于MIB信息熵统计的异常检测算法1计算4320~4560时间段内各窗口熵值和熵比值,如图8所示。 图中,有圆圈标注的窗口z(t)发生了突变。利用实验计算可以得到图8中各时间窗口的数据,其中上方为窗口的熵值,下方为各窗口的熵比值(本文采用当前窗口熵与之前12个窗口(即2min)的平均熵的比值)。由图可见,时间窗口[4410,4420]的熵值和熵比值分别为2.7659×10-8和6.2034;时间窗口[4430,4440]的熵值和熵比值分别为1.4009×10-8和9.0558;时间窗口[4440,4450]的熵值和熵比值分别为1.7876×10-8和5.7915。阈值可以动态设定为当前窗口之前的n个正常窗口熵或熵比的平均值,试验中设n=5。经计算,这3个窗口的计算值都远远超出了对应阈值,因此可诊断网络有异常发生。 图8 4320~4560min内各时间窗口熵值和熵比值Fig.8 Entropy values computed in time 4320-4560 minutes 在使用相同数据源的情况下,将本文方法与两种异常检测的最常见算法,即广义似然比(Generalized Lkelihood Ratio, GLR)方法和主成分分析方法 (Principal Component Analysis, PCA)进行比较分析。GLR方法要求预先给出数据的正常模式,并在假设数据符合自回归(Auto Regressive, AR)模型的情况下计算测试数据的最大似然率[1]。PCA方法则主要用于对给定的数据进行正常和异常部分的分类[7],将MIB数据表示为时间向量序列并通过主成分方法进行正常和异常数据的分类。利用给出的MIB数据 ,考虑两个相邻的时间窗口u(t)和w(t)以及这两个时间窗口的并集uw(t),在GLR方法中,模拟每个窗口为AR模型并计算AR中的残差,通过与给定的残差阈值进行比较,判断是否发生异常。表2给出了3种方法下的CPU时间和内存的耗费。 表2 3种方法下的CPU时间和内存耗费比较Tab.2 Comparision of CPU time consumption and memory needs among three methods 由表2可知,GLR方法和PCA方法需要较高的CPU时间,主要原因如下: GLR方法中,要对每个窗口中的数据进行回归分析,而PCA方法需要计算矩阵的特征值,故它们都耗费了较高的CPU时间;同时,由于PCA方法处理的是由变量值构成的矩阵向量,故需要占用较大的内存空间。 利用本文的检测方法对服务器CPU占用、数据库性能问题、数据库关闭、服务器中断4种不同的异常实验进行准确率和精确率的统计分析。其中,准确率是正确检测出网络异常的次数和网络总异常发生次数的比率,如在统计100次异常情况发生的情况下,系统检测出了所有异常,则准确率为100%;精确率是误检测发生的概率,即网络正常情况被错判为异常或网络异常情况被错判为正常所发生的概率,如100次检测中,有1次网络正常被检测为异常且有1次网络异常被检测为正常,则精确率为98%。表3给出了统计结果。 表3 异常检测准确率和精确率统计Tab.3 Accuracy and precision ratio of four abnormal types 由表3可见,该方法的准确率及精确率都是相当高的,实验结果令人满意。 4结语 本文结合MIB指标与信息熵统计技术,研究了基于MIB的信息熵统计进行网络异常检测方法。对各指标之间的相关性进行深入研究,构建时间窗口,通过检测窗口内熵值和熵比值变化情况判断异常是否发生。实验检测结果表明,该方法能以极高的准确率及精确率对单个和多个异常节点的情况进行检测;对于建立网络流量的真实视图,准确评估网络蠕虫、网络服务器故障等安全事件对网络所造成的影响具有重要指导意义。 参考文献: [1]Gavalas D,Greenwood D,Ghanbari M,et al.Advanced network monitoring applications based on mobile/intelligent agent technoloy[J].Computer Communications,2002,23(8): 720-730. [2]Tagliaferri R,Eleuteri A,Meneganti M,et al.Fuzzy min-max neural network: from classification to regression[J].Soft Computing,2001,5(1): 69-76. [3]Basseville M,Nikiforov I V.Detection of abrupt changes: theory and application[M].New York: Prentice Hall,1993: 350-412. [4]Simmross-Wattenberg F,Juan I A.Anomaly detection in network traffic based on statistical inference and alpha-stable modeling[J].IEEE Transactions on Dependable and Secure Computing,2011,8(4): 494-509. [5]魏小涛,黄厚宽,田盛丰.在线自适应网络异常检测系统模型与算法[J].计算机研究与发展,2010,47(3): 485-492. [6]曹敏,程东年,张建辉,等.基于自适应阈值的网络流量异常检测算法[J].计算机工程,2009,35(19): 164-166. [7]Lakhina A,Crovella M,Diot C.Diagnosing network-wide traffic anomalies[C]∥Proceedings of the ACM SIGCOMM.Portland,Oregon,USA: ACM,2004: 219-230. [8]钱叶魁,陈鸣,叶立新,等.基于多尺度主成分分析的全网络异常检测方法[J].软件学报,2012,23(2): 361-377. [9]卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004,25(7): 19-29. [10]邹柏贤.一种网络异常实时检测方法[J].计算机学报,2003,26(8): 940-948. [11]宿娇娜,李巍,唐发根,等.基于NB分类方法的网络异常检测模型[J].计算机应用研究,2008,25(2): 569-571. [12]钱亚冠,关晓惠,王滨.基于最大信息熵模型的异常流量分类方法[J].计算机应用研究,2012,29(3): 1019-1023. [13]Limthong K.Real-time computer network anomaly detection using machine learning techniques[J].Journal of Advances in Computer Networks,2013(1): 1-5. [14]俞承志,王淑静,宋瀚涛.基于MIB-Ⅱ的网络安全入侵检测策略[J].北京理工大学学报,2004,5(8): 696-700. D,Greenwood D,Ghanbari M,et al.Advanced network monitoring applications based on mobile/intelligent agent technoloy[J].Computer Communications,2002,23(8): 720-730. [2]Tagliaferri R,Eleuteri A,Meneganti M,et al.Fuzzy min-max neural network: from classification to regression[J].Soft Computing,2001,5(1): 69-76. [3]Basseville M,Nikiforov I V.Detection of abrupt changes: theory and application[M].New York: Prentice Hall,1993: 350-412. [4]Simmross-Wattenberg F,Juan I A.Anomaly detection in network traffic based on statistical inference and alpha-stable modeling[J].IEEE Transactions on Dependable and Secure Computing,2011,8(4): 494-509. [5]魏小涛,黄厚宽,田盛丰.在线自适应网络异常检测系统模型与算法[J].计算机研究与发展,2010,47(3): 485-492. [6]曹敏,程东年,张建辉,等.基于自适应阈值的网络流量异常检测算法[J].计算机工程,2009,35(19): 164-166. [7]Lakhina A,Crovella M,Diot C.Diagnosing network-wide traffic anomalies[C]∥Proceedings of the ACM SIGCOMM.Portland,Oregon,USA: ACM,2004: 219-230. [8]钱叶魁,陈鸣,叶立新,等.基于多尺度主成分分析的全网络异常检测方法[J].软件学报,2012,23(2): 361-377. [9]卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004,25(7): 19-29. [10]邹柏贤.一种网络异常实时检测方法[J].计算机学报,2003,26(8): 940-948. [11]宿娇娜,李巍,唐发根,等.基于NB分类方法的网络异常检测模型[J].计算机应用研究,2008,25(2): 569-571. [12]钱亚冠,关晓惠,王滨.基于最大信息熵模型的异常流量分类方法[J].计算机应用研究,2012,29(3): 1019-1023. [13]Limthong K.Real-time computer network anomaly detection using machine learning techniques[J].Journal of Advances in Computer Networks,2013(1): 1-5. [14]俞承志,王淑静,宋瀚涛.基于MIB-Ⅱ的网络安全入侵检测策略[J].北京理工大学学报,2004,5(8): 696-700. Entropy Statistics Method for Network Anomaly DetectionBased on Management Information Base ZHAOLei,SUQinggang,LUOYiyuan (School of Electronic Information Engineering, Shanghai Dianji University, Shanghai 200240, China) Abstract:Networks play an increasingly vital role in the modern society, while they are also targets of attacks by criminals and enemies. This paper proposes an entropy-based real-time method that can report entropy contents of data provided by a management information base (MIB). Change of the entropy value indicates a massive network event, meaning that anomaly may happen. Application of fixed time windows and sliding time windows are considered. Experiments are carried out with data from a large network company. The result shows that the method is accurate and precise in a wide variety of computing environments. Key words:network anomaly detection; management information base(MIB); information entropy; time window 文章编号2095-0020(2015)02-0102-08 作者简介:覃海焕(1978-),女,博士,讲师,主要研究方向为工作流、服务计算、云计算和大数据,E-mail: qinhh@sdju.edu.cn 基金项目:上海电机学院重点学科建设项目资助(13XKJ01,A1-1201-14-005) 收稿日期:2015-02-02 中图分类号:TP 393.08 文献标志码:A2.1 数据采集与指标选取
2.2 基于MIB信息熵统计的网络异常检测及算法
3.1 时间窗口MIB数据信息熵的计算
3.2 异常检测实验及分析
3.3 与其他方法的比较