网络行为异常检测方法及系统的制作方法

文档序号:7702246阅读:169来源:国知局

专利名称::网络行为异常检测方法及系统的制作方法
技术领域
:本发明涉及网络安全领域,特别涉及网络行为异常检测方法及系统。
背景技术
:近年来,网络入侵检测(NetworkIntrusionDetection)作为网络安全保障的重要技术手段已经成为网络安全领域的研究重点和难点。一般地,网络入侵检测可分为误用检测(MisuseDetection)和异常检测(AnomalyDetection)。误用检测主要通过对已知攻击行为的深入分析,提取其相对应的固定特征,然后对网络数据进行该特征的模式匹配,匹配上的网络数据被认为是网络攻击。异常检测的一般原理是通过对网络历史数据的统计分析,预先建立网络正常活动的轮廓,然后在检测时统计当前网络数据形成的轮廓,如果当前网络数据的轮廓与网络正常活动的轮廓的偏离程度超过一定范围则认为当前发生了网络攻击。与误用检测相比,异常检测由于具有发现未知攻击行为的优点,所以逐渐成为人们研究的热点。^^艮据^r测对象的不同,网络异常^r测可分为网络流量异常^f全测和网全各行为异常检测。网络流量异常检测主要以网络数据包和数据流的数量为检测对象,适用于以流量异常为特征的规模型网络攻击的检测,具有较好的实时性。网络行为异常检测主要以网络行为为检测对象,不仅包括网络数据数量行为的异常检测,而且包括网络数据质量行为的异常检测,较网络流量异常检测具有更强的检测能力。目前,从公开文献来看,本领域技术人员已对网络行为异常检测进行了大量的研究工作,主要的检测模型及方法包括概率统计、D-S证据融合、小波技术、分形理论、聚类、贝叶斯分类、置信度机器学习方法、数据挖掘方法、神经网络方法、模糊数学理论、人工免疫方法、支持向量片几、马尔可夫模型、K-邻近方法等等。由此可见,人们已在网络行为异常检测领域取得了较好的阶段性成果,然而,面对大规模高速网络异常检测的实际应用需求,已公开的方法还存在着以下问题1、现有的检测模型和方法出于追求更高检测率和准确率的考量,在模型和方法设计上较为复杂,对计算资源和存储资源的要求较高,因而难以满足大规模高速网络异常检测的实时性要求,往往仅能适用于局域网和指定目标网络的异常检测。2、现有的大多数检测方法在使用前需要正确的训练数据集进行学习,但在实践中却很难找到这样的训练数据集,所以严重影响了已有方法的实用性。3、现有的检测模型和方法在各自适合的前提和环境下具有良好的检测效果,但也呈现出一定程度的片面性,缺乏对不同应用环境的适应性。4、由于研究目的和关注问题的不同,现有的4企测才莫型和方法往;f主只侧重于判定网络是否存在攻击(即网络总体异常检测),而忽视了攻击目标以及攻击源的发现问题。
发明内容本发明的目的是克服现有的网络异常检测方法不适用于大规模高速网络的缺陷,从而提供一种实时性好、准确率高的网络行为异常检测方法。为了实现上述目的,本发明提供了一种网络行为异常检测方法,包括步骤1)、接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果,建立所述网络数据包所在的连接;步骤2)、为所建立的各个连接分别提取检测特征,一个连接对应一个由多个^r测特征所组成的^r测特征向量;步骤3)、将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;步骤4)、根据所述检测特征向量中的各个检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度^t型的知识中,所述检测特征中独立的检测特征对应一个独立的知识,而所述检测特征中的相关检测特征在同一个知识内;步骤5)、将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连接是否存在网络行为异常的结论事件进行可信度计算。上述技术方案中,在所述的步骤l)中,所述的网络数据包包括ICMP包、TCP包和UDP包,所建立的连接包括ICMP连接、TCP连接和UDP8连接。上述技术方案中,在所述的步骤l)中,建立所述的TCP包所在的连接包括步骤1-1-1)、检测所接收到的TCP包是否为TCP同步包,若为TCP同步包,则将所述TCP同步包的源IP地址作为TCP连接的发起方IP地址,所述TCP同步包的目的IP地址和端口作为TCP连4妄的4妄收方IP;也址和端口,若不是TCP同步包,执行下一步;步骤1-1-2)、检测所接收到的TCP包是否为TCP同步应答包,若为TCP同步应答包,则将所述TCP同步应答包的目的IP地址作为TCP连才妄的发起方IP地址,将所述TCP同步应答包的源IP地址和端口作为TCP连接的接收方IP地址和端口,若不是TCP同步应答包,1^l行下一步;步骤1-1-3)、检测所接收的TCP包是否属于已有的TCP连接,若属于不为该TCP包建立新的TCP连接,否则为该TCP包建立一个TCP连4妾,所述TCP包的源IP地址为该TCP连4妄的发起方IP地址,所述TCP包的目的IP地址和端口为该TCP连接的接收方IP地址和端口。上述技术方案中,在所述的步骤l)中,建立所述的UDP包所在的连接包括步骤1-2-1)、为接收到的首个UDP包建立一个UDP连接,所述UDP包的源IP地址为该UDP连接的发起方IP地址,所述UDP包的目的IP地址和端口为该UDP连4姿的4妄收方IP地址和端口;步骤1-2-2)、判断所接收的UDP是否属于已有的UDP连接,若属于,则不建立新的UDP连接,若不属于,为该UDP包建立相应的UDP连接。上述技术方案中,在所述的步骤1)中,建立所述的ICMP包所在的连接包括步骤1-3-1)、检测所接收到的ICMP包是否为ICMPUnreachable包,若是,对所述ICMPUnreachable包做协议还原,为协议还原所得到的TCP包或UDP包建立相应的TCP连接或UDP连接,若不是,则执行下一步;步骤1-3-2)、为接收到的首个ICMP包建立一个ICMP连接,所述ICMP包的源IP地址为该ICMP连接的发起方IP地址,所述ICMP包的目的IP地址为该ICMP连接的4妄收方IP地址;步骤1-3-3)、判断所接收到的ICMP包是否属于已有的ICMP连接,若属于,不再建立新的ICMP连接,否则,为接收到的ICMP包建立相应的ICMP连接。上述技术方案中,在所述的步骤2)中,所述检测特征向量至少包括以下冲企测特征中的至少两个用于表示当前连接的发起方发出的数据包数的检测特征spkt、用于表示当前连接的接收方发出的数据包数的检测特征dpkt、用于表示在一定斗企测间隔时间内与当前连接具有相同发起方IP地址和相同接收方IP地址的连接数的检测特征sip—dip—count、用于表示在一定检测间隔时间内与当前连接具有相同发起方IP地址和相同接收方端口的连接数的检测特征sip—dport—count、用于表示在一定检测间隔时间内与当前连接具有不同发起方IP地址和相同才妄收方IP地址的连4妄凄史的^r测特4正nosip—dip—count、用于表示在一定检测间隔时间内与当前连接的发起方具有相同平均包长的连接数的检测特征spktlen—count、用于表示当前连接的持续时间的^r测特征dumtion、用于表示当前连接的发起方发出的数据包的包长相似度的检测特征spktlensim、用于表示差错数据包的数量的检测特征errorpkt、用于表示当前连接的协议的^r测特征protocol。上述技术方案中,在所述的步骤3)中,所述证据包括用于表示检测特征spkt超过第一阈值所形成的特征异常的第一证据用于表示检测特征spkt低于第二阈值所形成的特征异常的第二证据E2、用于表示检测特征dpkt低于第三阈值所形成的特征异常的第三证据E3、用于表示检测特征sip—dip—count超过第四阈值所形成的特征异常的第四证据E4、用于表示检测特征sip—dport一count超过第五阈值所形成的特征异常的第五证据E5、用于表示检测特征nosip—dip—count超过第六阈值所形成的特征异常的第六证据E6、用于表示检测特征spktlen—count超过第七阈值所形成的特征异常的第七证据E7、用于表示检测特征duration超过第八阈值所形成的特征异常的第八证据E8、用于表示检测特征spktlensim超过第九阈值所形成的特征异常的第九证据E9、用于表示检测特征errorpkt超过第十阈值所形成的特征异常的第十证据E1();其中,所述的第一阈值到第十阈值的大小根据实践经验和应用环境设置,或通过采用已公开的技术和方法对应用环境的网络数据进行预先训练和学习来设置。上述技术方案中,所述的计算证据可信度包括将所述检测特征向量中的检测特征与相应的阈值进行比较以得到检测特征的异常程度,将所述异常程度做归一化处理以得到所述的证据可信度。上述技术方案中,在所述的步骤4)中,根据所述检测特征向量中的9个检测特征所创建的朴素可信度模型中的知识包括K1:EiAEOHCF讽E)K2:E2AE3^HCF2(H,E)K3:E4+HCF3(H,E)K4:E5+HCF4(H,E)K5:E6^HCF5(H,E)K6:E7+HCF6(H,E)K7:E8+HCF7(H,E)K8:E9+HCF8(H,E)K9:E10+HCF9(H,E)其中,Ei(i410)表示证据,H表示结论事件"该连接存在行为异常",CFi(i-l9)表示知识的可信度。上述技术方案中,在所述的步骤5)中,所述的可信度计算公式包括复合证据可信度计算公式以及结论可信度计算公式;其中,所述的复合证据可信度计算公式包括当所述证据为合取事件时,将证据E表示为E:E!A…AEn,则其可信度计算公式为CF(E)《F(EiA…AEn一min《CF(EO,…,CF(En)〉;(1)当所述证据为析取事件时,将证据E表示为E-EiV...VEn,则其可信度计算公式为C卿CF(EiV…VEn"max(CF(EO,…,CF(En";(2)当证据为同时包含合取事件和析取事件的复合事件时,将其拆解成若干合取和析取事件,分别应用公式(1)和(2)求得;所述的结论可信度计算公式包括对一个知识的结论可信度计算7>式以及对多知识同一结论的合成计算公式;其中,所述的一个知识的结论可信度计算公式包括CF(H)=CF(H,E)xC卿(3)所述的CF(H)表示所述的结论可信度,CF(E)表示所述的证据可信度,CF(H,E)表示知识可信度;所述的多知识同一结论的合成计算公式包括C卿二CFi(H)+CF2(H)-CFi(H)xCF2(H)(4)另一个知识中对结论H的可信度。本发明还提供了一种网络行为异常检测系统,包括协议还原与连接建立模块、检测特征提取模块、证据可信度计算模块、知识可信度计算才莫块、网络行为异常检测模块;其中,所述的协议还原与连接建立模块接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果,建立所述网络数据包所在的连接;所述的检测特征提取模块为所建立的各个连接分别提取检测特征,一个连接对应一个由多个4企测特征所组成的检测特征向量;所述的证据可信度计算模块将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;所述的知识可信度计算模块根据所述检测特征向量中的各个检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度模型的知识中,所述检测特征中独立的检测特征对应一个独立的知识,而所述4全测特征中的相关4企测特征在同一个知识内;所述的网络行为异常检测模块将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连4妄是否存在网络行为异常的结论事件进行可信度计算。本发明的优点在于1、本发明的网络行为异常检测方法和系统具有较高的准确率与广泛的适应性。2、本发明的网络行为异常检测方法和系统具有很好的实时性和实用性,适合于大规模高速网络环境下网络行为异常的检测。3、本发明的网络行为异常检测方法和系统能够确定攻击目标、攻击源,为进一步针对网络攻击、入侵的过滤、緩解和防御提供了有效信息。图1为本发明的网络行为异常检测方法的流程图。具体实施方式下面结合附图和具体实施方式对本发明进行说明。不确定性推理是人工智能研究领域的重要组成部分,它为解决所需知识不充分、不准确,或多原因导致同一结论的应用问题提供了坚实的理论基础和有效的方法手段。1975年,肖特里菲等人(E.H.ShortliffeandB.GBuchanan,"AModelofInexactReasoninginMedicine,"MathematicalBiosciences,vol.23,pp.351-379,1975)提出了一种不确定性推理的可信度模型(CertaintyFactor模型,简称为CF模型),并在医疗会诊系统MYCIN中得到了成功应用。科学实践活动表明,网络行为异常检测问题具有已知经验知识不完整、不准确的特点,因此,本发明考虑采用CF模型来解决网络行为异常检测问题。为便于CF模型的实际应用,本发明在其基础上增加了一个假设知识中的证据总是支持结论为真,从而提出了一种朴素可信度模型(NaiveCertaintyFactor模型,简称为N-CF模型)。N-CF模型具有简单、直观、实用性强等特点。为了方便理解,在此首先对朴素可信度模型的概念及具体的内容加以说明。定义1知识(Knowledge,简写为K)。知识是指由证据推理出结i仑为真的规则,通常用产生式规则来表示,其一般形式为K:H其中,E为证据,H为结论。证据是一个简单事件或由合取和/或析取构成的复合事件,结论是一个或多个事件,一个知识的结论也可以作为另一个知识的i正据。定义2可信度(CertaintyFactor,简写为CF)。可信度是指确定对象事件为真的可信程度,包括证据可信度CF(E)、知识可信度CF(H,E)和结论可信度CF(H),其大小通常用模糊数(e[o,i])来表述,当可信度为O,表示对象事件为假或不相关。下面给出N-CF模型中可信度的计算公式。1、复合证据可信度的计算如果证据为合取事件,设为E二EtA...AEn,则其可信度计算公式为CF(E"CF(EiA…AEn—min(CF(EO,…,CF(En"(1)如果证据为析取事件,设为E-E!V...VEn,则其可信度计算公式为CF(E)=CF(E!V…VEn"max《CF(EO,…,CF(En"(2)如果证据为复合事件,则先将其拆解成若干合取和析取事件,然后选用公式(1)或(2)计算证据的可信度。2、知识可信度的计算知识可信度通常由具有丰富专业知识及实践经验的领域专家直接给13出,或者由客观历史数据通过学习或训练方法计算得出,其原则是证据的出现对结论为真的支持度越高,则知识可信度的值越大。3、结论可信度的计算a、一个知识的结论可信度计算一个知识的结论可信度计算公式为CF(H)=CF(H,E)xc卿(3)b、多知识同一结论的合成如果两个知识IQ和K2可推理出同一结论H,并且Ki的证据与K2的证据E2是相互独立的,则可通过合成运算计算出两个知识推出的结论的综合可信度,其结论合成运算的计算公式如下CF(H)=CFi(H)+CF2(H)-CF!(H)xCF2(H)(4)结论可信度计算中的多知识同一结论的合成运算还满足以下定理定理1多知识同一结论的合成运算满足结合律和交换律。由定理1可知,当用n个知识合成某一结论时,由于合成运算满足结合律,因此可以利用公式(4)依次合成由两个知识分别推出的结论,然后将合成后的结论与由下一个知识推出的结论继续合成,依次类推,可计算出由多个知识推出的结论的综合可信度。由此可见,多结论合成的时间复杂度为O(n),由于实践中知识数n—般很小,所以推理过程所需的计算量很小。另一方面,多结论的合成过程将相互独立的证据对结论的支持效果科学地结合起来,有效地体现了客观证据对推理结论的积极影响,提高了不确定性推理的准确性。以上是对本发明所涉及的朴素可信度模型的说明,在上述模型的基础上,可实现对网络行为异常的检测。本发明的网络行为异常检测方法在所算由这些检测特征所形成的证据的可信度,另一方面根据检测特征创建朴素可信度模型中的知识,最后利用证据的可信度以及知识的可信度计算知识中结论的可信度,从而得出网络行为是否异常的结论。为了方便理解,在下文中将结合图1与具体实施例,对本发明的网络行为异常的检测方法力口以i兌明。在对网络行为做异常检测前,首先要对与检测有关的参数做初始化操作。初始化操作包括将计时器T设置为0、将检测时间间隔设置为TV设置检测特征阈值和结论可信度检测阈值等。所述的检测特征阈值和结论可信度^r测阈值的具体取值将在下文中加以i兌明。14在完成对参数的初始化操作后,就可以接收网络数据包,并对网络数据包进行协议还原,以获取网络数据包的网络层首部、互联网控制报文协议(ICMP)首部和传输层首部的信息。在本发明的一个实施例中,所述的网络数据包为通过TCP/IP协议传输的数据包,因此网络数据包包括ICMP包、TCP包和UDP包。对这些数据包做TCP/IP协议还原可得到网络层首部、ICMP首部和传输层首部。在网络层首部、ICMP首部和传lt层首部中包含有源IP、目的IP、源端口、目的端口、协议、包长、TCP标志信息、ICMP类型和代码信息等多种类型的信息。特别地,对于ICMPUnreachable包(ICMP不可达包,类型Type为3的ICMP包),还要将该类型包的数据负载中所承载的IP包首部和TCP或UDP包首部信息进行协议还原。在得到网络数据包经协议还原的信息后,将根据这些信息进一步提取与网络行为异常有关的检测特征。出于提高检测效率的考虑,在本发明中,所提取的与网络行为异常有关的检测特征为网络数据包所在连接的相关特征,因此,在提取检测特征前,先要根据网络数据包得到其所在的连接。在前面的说明中已经提到,在本发明的一个实施例中,所述的网络数据包包括ICMP包、TCP包和UDP包,因此由这些网络数据包可以分别得到ICMP连接、TCP连接和UDP连接。无论是上述何种类型的连接,都可以用一个三元组〈sip,dip,dport〉统一力口以描述。在该三元组中,sip表示发起方IP地址,dip表示接收方IP地址,dport表示接收方端口。特别的,对于ICMP连接,其三元组中的dport的值为0。在由TCP包得到TCP连接时,在检测间隔To内,为每个TCP同步包(标志位为Syn的TCP包)或反向对应的TCP同步应答包(标志位为Syn和Ack的TCP包)建立一个TCP连接,此处所建立的TCP连接也被称为TCP正常连接。如果是TCP同步包,贝'JTCP同步包的源IP地址为该TCP连接的发起方IP地址,目的IP地址和端口为该TCP连接的接收方IP地址和端口,如果是TCP同步应答包,则TCP同步应答包的目的IP地址为该TCP连接的发起方IP地址,源IP地址和端口为该TCP连接的接收方IP地址和端口,在后续的网络传输过程中,该连"l妄的发起方与"l妄收方相互发送的TCP包均属于该TCP连接。在网络传输过程中,也可能存在这样一种情况所接收到的TCP包既不是TCP同步包或TCP同步应答包,也不属于任何已有的TCP连接,对于此类TCP包建立一个TCP连接,TCP包的源IP地址为该TCP连接的发起方IP地址,目的IP地址和端口为该TCP连接的接收方IP地址和端口,所建立的TCP连4妄也被称为TCP非正常连接。在后续的网络传输过程中,该连接的发起方与接收方相互发送的TCP包均属于此TCP连接。在由UDP包得到UDP连接时,在检测间隔To内,为首个UDP包建立一个UDP连接,UDP包的源IP地址为该UDP连接的发起方IP地址,目的IP地址和端口为该UDP连接的接收方IP地址和端口,在后续的网络传输过程中,该连接的发起方与接收方相互发送的UDP包均属于此UDP连接。当接收到不属于现有UDP连接的UDP包后,需要为这些UDP包建立相应的UDP连4^。在由ICMP包得到ICMP连接时,分两种情况处理(l)当考察的ICMP包是ICMPUnreachable包时,则根据前文所述进行协议还原,按协议还原得到的TCP包或UDP包处理;(2)当考察的ICMP包不是ICMPUnreachable包时,则lt文以下处理在^r测间隔To内,为首个ICMP包建立一个ICMP连4妄,ICMP包的源IPi也址为该ICMP连4妄的发起方IPi也址,目的IP;也址为该ICMP连接的接收方IP地址,在后续的网络传输过程中,发起方与接收方相互发送的ICMP包均属于此ICMP连接,当接收到不属于现有ICMP连接的ICMP包后,需要为这些ICMP包建立相应的ICMP连接。在其他的实施例中,网络数据包可以为其他类型的数据包,利用现有的公知技术也可由这些数据包得到与之对应的其他类型的连接。在得到网络数据包所在的连接后,就可以为这些连接分别提取检测特征。所述的检测特征是指发生网络安全事件时所呈现出的网络流量特征和/或行为特征,通过这些检测特征可发现是否存在网络行为异常。检测特征的种类与数量一般由本领域技术人员根据需要加以选择,在前面的说明中已经提到,出于提高检测效率的考虑,在本发明中所提取的检测特征与网络数据包所在连接有关。在本发明的一个优选实施例中,对于每一个连接提取由以下10个检测特征所组成的检测特征向量〈spkt,dpkt,sip—dip—count,sip—dport—count,nosip—dip_count,spktlen—count,duration,spktlensim,errorpkt,protocol>。在其他实施例中,4企测特征向量也可以由上述10个^r测特征中的若干个组成。前述检测特征向量中各个^r测特征的具体含义如下spkt:表示当前连接的发起方发出的数据包数;dpkt:表示当前连接的接收方发出的数据包数;sip—dip—count:表示在检测间隔T0时间内与当前连接具有相同发起方IP;也址和相同4妄收方IPi也址的连4妄l史;sip—dport—count:表示在检测间隔T0时间内与当前连接具有相同发起方IP地址和相同4妄收方端口的连4妻^:;nosip—dip—count:表示在检测间隔T0时间内与当前连接具有不同发起方IP地址和相同4妄收方IP地址的连接凄t;spktlen_count:表示在4全测间隔T0时间内与当前连4妄的发起方具有相同平均包长的连接数;duration:表示当前连接的持续时间,对于TCP正常连^t妄而言,其最大值为To,对TCP非正常连接、UDP连接和ICMP连接,duration的值为0;spktlensim:表示当前连接的发起方发出的数据包的包长相似度;errorpkt:表示差错数据包的数量,在本实施例中,差错数据包指TCPRst包(标志位为Rst的TCP包)和ICMPUnreachable包;protocol:表示当前连接的协议,具体包括TCP、UDP、ICMP。在得到连接的检测特征向量后,就可以计算这些检测特征向量所对应的证据的可信度。在计算证据可信度之前,先对证据在本发明中的具体含义进行说明。在本发明中,所述的证据用来反映才全测特征向量中各个4企测特征的异常,该异常可由各个检测特征与相应阈值的比较来判定。例如,在一个实施例中,用证据E!表示^r测特征spkt超过第一阈值所形成的特征异常,用证据E2表示检测特征spkt低于第二阈值所形成的特征异常,用证据E3表示检测特征dpkt低于第三阈值所形成的特征异常,用证据E4表示检测特征sip—dip—count超过第四阈值所形成的特征异常,用证据E5表示检测特征sip—dport—count超过第五阈值所形成的特征异常,用证据E6表示检测特征nosip_dip—count超过第六阈值所形成的特征异常,用证据E7表示检测特征spktlen一count超过第七阈值所形成的特征异常,用证据Es表示检测特征duration超过第八阈值所形成的特征异常,用证据Eg表示检测特征spktlensim超过第九阈值所形成的特征异常,用证据E^表示检测特征errorpkt超过第十阈值所形成的特征异常。上述第一阈值到第十阈值的大小可根据实践经验和应用环境分别加以-没置。例如,在一个实施例中,所述的第一阈值和第二阈值与检测特征spkt有关,第一阈值的大小大于第二阈值的大小,第一阈值可设为5000,第二阈值可设为10。第三阈值的大小为50。第四阈值的大小为128。第五阈值的大小为128。第六阈值的大小为256。第七阈值的大小为256。第八阈值的大小为TQ/2。第九阈值的大小为0.8。第十阈值的大小为128。上述阈值除了可以根据实践经验和应用环境设置外,也可以通过采用已公开的技术和方法对应用环境的网络数据进行预先训练和学习来设置。证据的可信度用于描述与证据相关的检测特征发生异常的可信程度,证据可信度的大小通常用模糊数(E[O,l])来表述。在将检测特征向量中的检测特征与相应的阈值进行比较,得到检测特征的异常程度后,就可以采用归一化处理的方法来计算证据的可信度。所述的归一化处理方法可采用现有技术中的相关方法,如线性函数归一化方法,y=(x-Min)/(Max-Min),xE[Min,Max],yE[O,l],其中Min表示最小值,Max表示最大值,x表示归一化前的一个整数,y表示归一化后对应的小数。如果某一证据所对应的4企测特征不存在异常,则该证据的可信度为0。在朴素可信度模型中,知识会根据朴素可信度模型所适用的场景的不同而发生变化。因此,在利用朴素可信度模型进行网络行为异常检测之前,需要预先根据检测特征构建相应的知识。在构建知识时,应当使得独立的检测特征对应一个知识,而相互之间具有关联关系的检测特征在同一个知识内。以本实施例中所提到的9个(除去了检测特征protocol)检测特;f正为基础,给出一个用于网络行为异常检测的知识库的实例K"EiAE—HCF(H,E)K2:E2AE3+HCF2(H,E)K3:E4^HCF3(H,E)K4:E5+HCF4(H,E)K5:E6^HCF5(H,E)K6:E7HCF6(H,E)K7:E8+HCF7(H,E)K8:E9+HCF8(H,E)K9:E10^HCF9(H,E)其中,Ei(i^10)为证据,H表示结论事件"该连接存在行为异常",CFi(i^9)表示知识的可信度。每个知识的可信度由本领域内的专家直4妄给出,或者由客观历史数据通过学习或训练方法计算得出,其度量原则为应保证证据的出现对结论为真的支持度越高,则知识可信度的值越大。以上知识库仅为本发明为了说明;险测方法而给出的一个具体实施例,在具体应用时并不局限于上述知识库中的内容。此外,虽然在此处将根据4企测特征构建知识并计算知识可信度的过程置于计算证据可信度的过程之后,但本领域技术人员应当了解,在具体实现时,也可以先构建知识并计算知识可信度,然后再计算证据可信度。无论是何种实现方式,对本发明的最终实现不造成实质性的影响。在得到知识以后,就可以将证据的可信度和知识的可信度代入所述的知识中,从而计算结论的可信度。在计算过程中,对知识库中的每个知识运用公式(1)或(2)计算合取事件或/和析取事件的证据可信度;运用公式(3)计算每个知识的结论可信度;然后通过反复运用公式(4)将知识库中所有知识的同一结论可信度进行两两合成运算,最终生成结论的综合可信度。在得到结论的综合可信度后,就可以根据结论综合可信度得出当前连接是否存在异常的结论。例如,当结论的综合可信度超过结论可信度检测阈值(通常设为0.50.8),就可以认为当前的连接存在行为异常,该异常事件的攻击源的IP地址为当前连接的发起方IP地址sip,攻击目标的IP地址为当前连接的接收方IP地址dip,攻击目标的端口为端口dport。根据上述信息生成报警事件并写入事件库。相反的,如果结论的综合可信度不超过结论可信度检测阈值,则认为当前连接不存在行为异常。本发明还提供了一种网络行为异常检测系统,包括协议还原与连接建立模块、检测特征提取模块、证据可信度计算模块、知识可信度计算模块、网络行为异常检测模块;其中,所述的协议还原与连接建立模块接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果,建立所述网络数据包所在的连接;所述的检测特征提取模块为所建立的各个连接分别提取检测特征,一个连接对应一个由多个检测特征所组成的4企测特征向量;所述的证据可信度计算模块将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;所述的知识可信度计算模块根据所述检测特征向量中的各个检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在19所述朴素可信度模型的知识中,所述检测特征中独立的检测特征对应一个独立的知识,而所述检测特;f正中的相关4全测特4正在同一个知识内;所述的网络行为异常检测模块将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连接是否存在网络行为异常的结论事件进行可信度计算。为进一步说明本发明方法的有效性和优势,我们选取当前已公开的相关工作中效果最好的TCM-KNN方法(李洋,方滨兴,郭莉等.基于直推式方法的网络异常检测方法.软件学报.2007,18(10):2595-2604)与本发明方法进行比较。下面从时间复杂性和检测效果两个方面进行比较(1)时间复杂性TCM-KNN方法训练阶段的时间复杂性为0(m2),其中m为训练集样本数,检测阶段的时间复杂性为0(sm)+0(m),s为待检测样本数,该方法应用实践中m值一般大于10000;而本发明方法不要求必须训练,;险测阶段的时间复杂性为O(n),其中n为证据数,根据前文可知,证据数为10,可视为常数。因此,从时间复杂性上看,本发明方法检测性能提高了若干数量级,更适合大规模高速网络环境。(2)检测效果由于TCM-KNN方法采用了公开的KDDCUP1999数据集中的41个特征作为检测特征,而本发明方法采用的特征与该41个特征大不相同,因此,很难采用同一数据集来测评两种方法的检测效果。为验证本发明方法的检测效果,我们通过一个包含网络异常事件的实际网络流量的数据集对本发明方法进行-险证。1)软硬件环境釆用曙光服务器,4个CPU(Dual-CoreAMDOpteron,2211MHz,64位),4GB内存,CentOSLinux5.264位操作系统。本实验仅采用一个CPU处理数据。2)测试数据集观'J试数据集主要由背景流量和网络异常事件流量按时间序列混合而成。其中背景流量为2007年5月31日在某教育网2.5G出入口采集的真实网络流量,流量文件大小为2918MB,平均发包率约为46.7Kpps。网络异常事件流量文件大小为390MB,主要包括大流UDPDDoS攻击、高速小包TCPAckDDoS攻击、SynFlood攻击、随才几伪造源;也址SynFlood攻页击、蠕虫传播、网络扫描等有代表性的6类8个异常事件23047个攻击源(或传播源、扫描源)。3)本方法的阈值和参数设置根据对网络背景流量的学习和分析,我们将本方法中检测时间间隔"^殳置To为6秒,检测特征的阈值分别设置为18400、5、5、1000、2000、1400、29000、3、1、1000,知识可信度分别设置为0.5、0.2、0.4、0.4、0.4、0.1、0.3、0.1、0.5,结论可信度检测阈值设置为0.5。4)实验结果<table>tableseeoriginaldocumentpage21</column></row><table>实验结果表明,本发明方法针对典型的网络异常事件具有较强的4企测能力,并且能够准确地发现攻击源、传播源以及扫描源等信息。综上所述,本发明的网络行为异常检测方法与检测系统在实现检测过程中,利用朴素可信度模型对spkt、dpkt、sip—dip—count、sip—dport—count、nosip—dip—count、spktlen—count、duration、spktlensim、errorpkt等9种网络流量及行为特征进行融合,与现有方法只孤立地利用个别特征相比,无论是准确率还是适应性上都有了较大的提高。此外,本发明提供的检测方法主要利用特征统计与阈值比较,所以方法简单,具有很好的实时性和实用性,适合于大规模高速网络环境下网络行为异常的检测。再次,本发明的方法与现有方法相比,不仅能够判定网络行为异常存在性问题,更重要的是能够进一步确定攻击目标、攻击源,为进一步针对网络攻击、入侵的过滤、緩解和防御提供了有效信息。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。权利要求1、一种网络行为异常检测方法,包括步骤1)、接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果,建立所述网络数据包所在的连接;步骤2)、为所建立的各个连接分别提取检测特征,一个连接对应一个由多个检测特征所组成的检测特征向量;步骤3)、将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;步骤4)、根据所述检测特征向量中的各个检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度模型的知识中,所述检测特征中独立的检测特征对应一个独立的知识,而所述检测特征中的相关检测特征在同一个知识内;步骤5)、将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连接是否存在网络行为异常的结论事件进行可信度计算。2、根据权利要求1所述的网络行为异常检测方法,其特征在于,在所述的步骤1)中,所述的网络彰:据包包括ICMP包、TCP包和UDP包,所建立的连接包括ICMP连接、TCP连接和UDP连接。3、根据权利要求2所述的网络行为异常检测方法,其特征在于,在所述的步骤1)中,建立所述的TCP包所在的连接包括步骤1-1-1)、检测所接收到的TCP包是否为TCP同步包,若为TCP同步包,则将所述TCP同步包的源IP地址作为TCP连接的发起方IP地址,所述TCP同步包的目的IP地址和端口作为TCP连4妄的4妄收方IP地址和端口,若不是TCP同步包,执行下一步;步骤1-1-2)、检测所接收到的TCP包是否为TCP同步应答包,若为TCP同步应答包,则将所述TCP同步应答包的目的IP地址作为TCP连接的发起方IP地址,将所述TCP同步应答包的源IP地址和端口作为TCP连接的接收方IP地址和端口,若不是TCP同步应答包,执行下一步;步骤1-1-3)、检测所接收的TCP包是否属于已有的TCP连接,若属于不为该TCP包建立新的TCP连接,否则为该TCP包建立一个TCP连接,页所述TCP包的源IP地址为该TCP连接的发起方IP地址,所述TCP包的目的IP地址和端口为该TCP连接的接收方IP地址和端口。4、根据权利要求2所述的网络行为异常4企测方法,其特征在于,在所述的步骤1)中,建立所述的UDP包所在的连接包括步骤1-2-1)、为接收到的首个UDP包建立一个UDP连接,所述UDP包的源IP地址为该UDP连接的发起方IP地址,所述UDP包的目的IP地址和端口为该UDP连4妄的4矣收方IP地址和端口;步骤1-2-2)、判断所接收的UDP是否属于已有的UDP连接,若属于,则不建立新的UDP连接,若不属于,为该UDP包建立相应的UDP连接。5、根据权利要求2所述的网络行为异常检测方法,其特征在于,在所述的步骤l)中,建立所述的ICMP包所在的连接包括步骤1-3-1)、检测所接收到的ICMP包是否为ICMPUnreachable包,若是,对所述ICMPUnreachable包做协议还原,为协议还原所得到的TCP包或UDP包建立相应的TCP连接或UDP连接,若不是,则执行下一步;步骤1-3-2)、为接收到的首个ICMP包建立一个ICMP连接,所述ICMP包的源IP地址为该ICMP连接的发起方IP地址,所述ICMP包的目的IP地址为该ICMP连4妄的4矣收方IP地址;步骤1-3-3)、判断所接收到的ICMP包是否属于已有的ICMP连接,若属于,不再建立新的ICMP连接,否则,为接收到的ICMP包建立相应的ICMP连接。6、根据权利要求1所述的网络行为异常检测方法,其特征在于,在所述的步骤2)中,所述检测特征向量至少包括以下检测特征中的至少两个用于表示当前连接的发起方发出的数据包数的检测特征spkt、用于表示当前连接的接收方发出的数据包数的检测特征dpkt、用于表示在一定检测间隔时间内与当前连接具有相同发起方IP地址和相同接收方IP地址的连接数的检测特征sip—dip—count、用于表示在一定4企测间隔时间内与当前连接具有相同发起方IP地址和相同接收方端口的连接数的检测特征sip—dport—count、用于表示在一定才企测间隔时间内与当前连接具有不同发起方IP地址和相同4妾收方IP地址的连接^:的^r测特征nosip—dip—count、用于表示在一定检测间隔时间内与当前连接的发起方具有相同平均包长的连接数的检测特征spktlen—count、用于表示当前连接的持续时间的检测特征dumtion、用于表示当前连接的发起方发出的数据包的包长相似度的检测特征spktlensim、用于表示差错数据包的数量的检测特征errorpkt、用于表示当前连接的协议的检测特征protocol。7、根据权利要求3所述的网络行为异常检测方法,其特征在于,在所述的步骤3)中,所述证据包括用于表示检测特征spkt超过第一阈值所形成的特征异常的第一证据E"用于表示检测特征spkt低于第二阈值所形成的特征异常的第二证据E2、用于表示检测特征dpkt低于第三阈值所形成的特征异常的第三证据E3、用于表示检测特征sip—dip一count超过第四阈值所形成的特征异常的第四证据E4、用于表示检测特征sip_dport—count超过第五阈值所形成的特征异常的第五证据E5、用于表示检测特征nosip_dip—count超过第六阔值所形成的特征异常的第六证据E6、用于表示检测特征spktlen_count超过第七阈值所形成的特征异常的第七证据E7、用于表示检测特征duration超过第八阈值所形成的特征异常的第八证据E8、用于表示检测特征spktlensim超过第九阈值所形成的特征异常的第九证据E9、用于表示4全测特征errorpkt超过第十阈值所形成的特征异常的第十证据E10;其中,所述的第一阈值到第十阈值的大小根据实践经验和应用环境设置,或通过采用已公开的技术和方法对应用环境的网络数据进行预先训练和学习来设置。8、根据权利要求7所述的网络行为异常检测方法,其特征在于,所述的计算证据可信度包括将所述检测特征向量中的检测特征与相应的阈值进行比较以得到检测特征的异常程度,将所述异常程度做归一化处理以得到所述的证据可信度。9、根据权利要求7所述的网络行为异常检测方法,其特征在于,在所述的步骤4)中,根据所述检测特征向量中的9个检测特征所创建的朴素可信度模型中的知识包括E!AE3今HCF讽E)K2E2AE3HCF2(H,E)K3E4^HCF3(H,E)K4E5+HCF4(H,E)K5E6+HCF5(H,E)K6E一HCF6(H,E)K7E8+HCF7(H,E)K8:E9+HCF8(H,E)K9:E10+HCF9(H,E)其中,Ei(^l10)表示证据,H表示结论事件"该连接存在行为异常",CFi(i^9)表示知识的可信度。10、根据权利要求1所述的网络行为异常检测方法,其特征在于,在所述的步骤5)中,所述的可信度计算公式包括复合证据可信度计算公式以及结论可信度计算公式;其中,所述的复合证据可信度计算公式包括当所述证据为合取事件时,将证据E表示为E=E!A…AEn,则其可信度计算公式为CF(E):CF(E,…AEn"min《CF(EO,…,CF(En";(1)当所述证据为析取事件时,将证据E表示为E二EiV…VEn,则其可信度计算公式为CF(E)《F(EiV...VEn)=max(CF(EJ,...,CF(En";(2)当证据为同时包含合取事件和析取事件的复合事件时,将其拆解成若干合取和析取事件,分别应用公式(1)和(2)求得;所述的结论可信度计算公式包括对一个知识的结论可信度计算公式以及对多知识同一结论的合成计算公式;其中,所述的一个知识的结论可信度计算公式包括CF(H)=CF(H,E)xc卿(3)所述的CF(H)表示所述的结论可信度,CF(E)表示所述的证据可信度,CF(H,E)表示知识可信度;所述的多知识同一结论的合成计算公式包括CF(H"CFi(H)+CF2(H)曙CFi(H)xCF2(H)(4)所述的CFi(H)表示在一个知识中对结论H的可信度,CF2(H)表示在另一个知识中对结论H的可信度。11、一种网络行为异常检测系统,其特征在于,包括协议还原与连接建立模块、检测特征提取模块、证据可信度计算模块、知识可信度计算模块、网络行为异常检测模块;其中,所述的协议还原与连接建立模块接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果,建立所述网络数据包所在的连接;所述的检测特征提取模块为所建立的各个连接分别提取检测特征,一个连4妻对应一个由多个4佥测特征所组成的4佥测特4正向量;所述的证据可信度计算模块将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;所述的知识可信度计算模块根据所述检测特征向量中的各个检观'J特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度模型的知识中,所述4企测特征中独立的4全测特征对应一个独立的知识,而所述4全测特征中的相关冲企测特;f正在同一个知识内;所述的网络行为异常检测模块将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连接是否存在网络行为异常的结论事件进行可信度计算。全文摘要本发明提供一种网络行为异常检测方法,包括接收网络数据包,对所得到的网络数据包做协议还原,并根据所述协议还原的结果建立所述网络数据包所在的连接;为所建立的各个连接分别提取检测特征,一个连接对应一个由多个检测特征所组成的检测特征向量;将所述检测特征向量中各个检测特征的异常作为朴素可信度模型中的证据,计算证据可信度;根据所述检测特征向量中的各个检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络数据包所在连接是否存在网络行为异常的结论事件进行可信度计算。本发明具有较高的准确率与广泛的适应性。文档编号H04L12/26GK101626322SQ200910091288公开日2010年1月13日申请日期2009年8月17日优先权日2009年8月17日发明者云晓春,张永铮,莉郭申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1