一种网络蠕虫检测方法及检测系统转让专利

申请号 : CN200910081630.5

文献号 : CN101521672B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张永铮侯春军云晓春

申请人 : 中国科学院计算技术研究所

摘要 :

本发明提供一种网络蠕虫检测方法,包括:接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;将检测特征作为朴素可信度模型中的证据,计算证据可信度;根据检测特征创建朴素可信度模型中的知识,计算知识的可信度;将证据可信度以及知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。本发明将朴素可信度模型与短连接度、流量、数据包均匀度、连接树图模式、包数增长率等5类8种网络流量及行为特征相融合,能够更早地发现蠕虫,提高了检测的准确性;本发明具有很好的实时性和实用性,适合于大规模高速网络的未知蠕虫及其变种的检测。

权利要求 :

1.一种网络蠕虫检测方法,包括:

步骤1)、接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;

步骤2)、将所述检测特征作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;

步骤3)、根据所述检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度模型的知识中,所述检测特征中的独立检测特征对应一个独立的知识,而所述检测特征中的相关检测特征在同一个知识内;

步骤4)、将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。

2.根据权利要求1所述的网络蠕虫检测方法,其特征在于,在所述的步骤1)中,所述的与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征包括差错包短连接度特征、正常包短连接度特征、数据流量特征、数据包速率特征、包速率均匀度特征、包长均匀度特征、连接树图模式特征以及包数增长率特征在内的8个检测特征中的至少两个。

3.根据权利要求2所述的网络蠕虫检测方法,其特征在于,所述的连接树图模式特征的提取方法为:当的正常包短连接度超过一设定的阈值,则所述sip为可疑传播源;其中的sip为数据包的源IP,dip为数据包的目的IP,dport为数据包的目的端口;

考察每个的正常包短连接度,若存在新的可疑传播源sip,则将sip加入到对应的的可疑传播源集合中。

4.根据权利要求2所述的网络蠕虫检测方法,其特征在于,在所述的步骤2)中,计算所述连接树图模式特征的证据可信度包括:考察所有的可疑传播源集合,若所述集合中的一个可疑传播源是另一个可疑传播源的受害主机,则存在一个树图模式;其中的dport为数据包的目的端口;

若树图模式数超过一阈值,则该的连接树图模式为异常,其证据的可信度置为1。

5.根据权利要求4所述的网络蠕虫检测方法,其特征在于,所述的阈值为包括2或3在内的整数。

6.根据权利要求2所述的网络蠕虫检测方法,其特征在于,在所述的步骤3)中,根据所述的8个检测特征所创建的朴素可信度模型中的知识包括:K1: E1→H CF1(H,E)

K2: E2→H CF2(H,E)

K3: E3∨E4→H CF3(H,E)

K4: E5∨E6→H CF4(H,E)

K5: E7→H CF5(H,E)

K6: E8→H CF6(H,E)

其中,E1表示由差错包短连接度特征所得到的证据;E2表示由正常包短连接度特征所得到的证据;E3表示由数据流量特征所得到的证据;E4表示由数据包速率特征所得到的证据;E5表示由包速率均匀度特征所得到的证据;E6表示由包长均匀度特征所得到的证据;E7表示由连接树图模式特征所得到的证据;E8表示由包数增长率特征所得到的证据;H表示结论事件“存在蠕虫攻击”;CFi(H,E)(i=1~6)表示知识的可信度。

7.根据权利要求1所述的网络蠕虫检测方法,其特征在于,在所述的步骤4)中,所述的可信度计算公式包括复合证据可信度计算公式以及结论可信度计算公式;其中,所述的复合证据可信度计算公式包括:当所述证据为合取事件时,将证据E表示为E=E1∧...∧En,则其可信度计算公式为:CF(E)=CF(E1∧...∧En)=min{CF(E1),...,CF(En)}; (1)当所述证据为析取事件时,将证据E表示为E=E1∨...∨En,则其可信度计算公式为:CF(E)=CF(E1∨...∨En)=max{CF(E1),...,CF(En)}; (2)当证据为同时包含合取事件和析取事件的复合事件时,将其拆解成若干合取和析取事件,分别应用公式(1)和(2)求得;

所述的结论可信度计算公式包括对一个知识的结论可信度计算公式以及对多知识同一结论的合成计算公式;其中,所述的一个知识的结论可信度计算公式包括:

CF(H)=CF(H,E)×CF(E) (3)

所述的CF(H)表示所述的结论可信度,CF(E)表示所述的证据可信度,CF(H,E)表示知识可信度;

所述的多知识同一结论的合成计算公式包括:

CF(H)=CF1(H)+CF2(H)-CF1(H)×CF2(H) (4)所述的CF1(H)表示在一个知识中对结论H的可信度,CF2(H)表示在另一个知识中对结论H的可信度。

8.一种网络蠕虫检测系统,其特征在于,包括检测特征提取模块、证据可信度计算模块、知识创建模块以及蠕虫检测模块;其中,所述的检测特征提取模块用于接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;

所述的证据可信度计算模块用于将所述检测特征作为朴素可信度模型中的证据,计算证据可信度;

所述的知识创建模块用于根据所述检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;

所述的蠕虫检测模块用于将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。

说明书 :

一种网络蠕虫检测方法及检测系统

技术领域

[0001] 本发明涉及网络安全领域,特别涉及网络蠕虫检测方法及检测系统。

背景技术

[0002] 随着网络技术的迅猛发展,网络安全问题日益突出,其中,网络蠕虫由于其自身传播速度快、破坏性大等特点已成为当前影响网络安全的一个重要问题。网络蠕虫的早期检测和预警对于控制蠕虫的传播具有重要意义,因此,人们对蠕虫检测技术纷纷展开深入的研究工作。蠕虫检测技术主要包括误用检测和异常检测两类,由于异常检测类方法具有发现未知蠕虫的优点,所以逐渐成为人们研究的热点。
[0003] 根据网络蠕虫在传播过程中呈现的关键行为特征的不同,用于检测网络蠕虫的异常检测类方法可分为基于扫描行为和基于传播行为两类。
[0004] (1)基于扫描行为的检测方法。网络蠕虫一般通过扫描的方法来发现攻击目标,蠕虫的扫描行为往往会产生流量、连接数、IP地址分布、差错包等等方面的异常,该类方法主要基于上述异常特征并利用阈值比较或其他模型方法进行蠕虫检测。该类方法利于蠕虫的早期发现预警,但已有方法往往孤立地利用个别特征,针对复杂的实际应用环境,误报率较高,适应性较差。
[0005] (2)基于传播行为的检测方法。网络蠕虫在发现攻击目标后需要进行必要的安全漏洞的攻击以及蠕虫体的复制传播,这些传播行为往往呈现出数据包长和负载内容的一致性或相似性、连接呈树状结构、受害主机转变为传播源等方面的特征,该类方法主要基于上述特征进行蠕虫检测。该类方法能够自动提取蠕虫及其变种的特征指纹,检测准确性高,但该类方法发现蠕虫较晚,并且已有方法由于过于复杂,部分方法还需要分析数据包负载,占用大量的计算资源,不适合大规模高速网络环境下的实时检测。
[0006] 总体看来,人们已在网络蠕虫异常检测领域取得了较好的阶段性成果,然而,面对大规模高速复杂网络环境下的实时检测和早期预警的实际应用需求,上述已公开的方法还存在着以下问题:1)基于传播行为的已有方法缺乏蠕虫的早期发现能力,而基于扫描行为的已有方法缺乏对蠕虫多行为特征的综合分析,针对复杂的实际应用环境,误报率较高;2)由于部分方法过于复杂,对计算和存储资源要求较高,所以难以满足大规模高速网络实时检测的要求。

发明内容

[0007] 本发明的目的是克服现有的蠕虫检测方法误报率高、难以满足大规模高速网络实时检测的要求等缺陷,从而提供一种高效、准确的网络蠕虫检测方法。
[0008] 为了实现上述目的,本发明提供一种网络蠕虫检测方法,包括:
[0009] 步骤1)、接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;
[0010] 步骤2)、将所述检测特征作为朴素可信度模型中的证据,计算证据可信度;其中,所述朴素可信度模型在可信度模型的基础上增加了知识中的证据总是支持结论为真的假设;
[0011] 步骤3)、根据所述检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;其中,在所述朴素可信度模型的知识中,所述检测特征中的独立检测特征对应一个独立的知识,而所述检测特征中的相关检测特征在同一个知识内;
[0012] 步骤4)、将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。
[0013] 上述技术方案中,在所述的步骤1)中,所述的与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征包括差错包短连接度特征、正常包短连接度特征、数据流量特征、数据包速率特征、包速率均匀度特征、包长均匀度特征、连接树图模式特征以及包数增长率特征在内的8个检测特征中的至少两个。
[0014] 上述技术方案中,所述的连接树图模式特征的提取方法为:
[0015] 当的正常包短连接度超过一设定的阈值,则所述sip为可疑传播源;其中的sip为数据包的源IP,dip为数据包的目的IP,dport为数据包的目的端口;
[0016] 考察每个的正常包短连接度,若存在新的可疑传播源sip,则将sip加入到对应的的可疑传播源集合中。
[0017] 上述技术方案中,在所述的步骤2)中,计算所述连接树图模式特征的证据可信度包括:
[0018] 考察所有的可疑传播源集合,若所述集合中的一个可疑传播源是另一个可疑传播源的受害主机,则存在一个树图模式;其中的dport为数据包的目的端口;
[0019] 若树图模式数超过一阈值,则该的连接树图模式为异常,其证据的可信度置为1。
[0020] 上述技术方案中,所述的阈值为包括2或3在内的整数。
[0021] 上述技术方案中,在所述的步骤3)中,根据所述的8个检测特征所创建的朴素可信度模型中的知识包括:
[0022] K1:E1→H CF1(H,E)
[0023] K2:E2→H CF2(H,E)
[0024] K3:E3∨E4→H CF3(H,E)
[0025] K4:E5∨E6→H CF4(H,E)
[0026] K5:E7→H CF5(H,E)
[0027] K6:E8→H CF6(H,E)
[0028] 其中,E1表示由差错包短连接度特征所得到的证据;E2表示由正常包短连接度特征所得到的证据;E3表示由数据流量特征所得到的证据;E4表示由数据包速率特征所得到的证据;E5表示由包速率均匀度特征所得到的证据;E6表示由包长均匀度特征所得到的证据;E7表示由连接树图模式特征所得到的证据;E8表示由包数增长率特征所得到的证据;H表示结论事件“存在蠕虫攻击”;CFi(H,E)(i=1~6)表示知识的可信度。
[0029] 上述技术方案中,在所述的步骤4)中,所述的可信度计算公式包括复合证据可信度计算公式以及结论可信度计算公式;其中,
[0030] 所述的复合证据可信度计算公式包括:
[0031] 当所述证据为合取事件时,将证据E表示为E=E1∧...∧En,则其可信度计算公式为:
[0032] CF(E)=CF(E1∧...∧En)=min{CF(E1),...,CF(En)};(1)
[0033] 当所述证据为析取事件时,将证据E表示为E=E1∨...∨En,则其可信度计算公式为:
[0034] CF(E)=CF(E1∨...∨En)=max{CF(E1),...,CF(En)};(2)
[0035] 当证据为同时包含合取事件和析取事件的复合事件时,将其拆解成若干合取和析取事件,分别应用公式(1)和(2)求得;
[0036] 所述的结论可信度计算公式包括对一个知识的结论可信度计算公式以及对多知识同一结论的合成计算公式;其中,
[0037] 所述的一个知识的结论可信度计算公式包括:
[0038] CF(H)=CF(H,E)×CF(E)(3)
[0039] 所述的CF(H)表示所述的结论可信度,CF(E)表示所述的证据可信度,CF(H,E)表示知识可信度;
[0040] 所述的多知识同一结论的合成计算公式包括:
[0041] CF(H)=CF1(H)+CF2(H)-CF1(H)×CF2(H)(4)
[0042] 所述的CF1(H)表示在一个知识中对结论H的可信度,CF2(H)表示在另一个知识中对结论H的可信度。
[0043] 本发明还提供了一种网络蠕虫检测系统,包括检测特征提取模块、证据可信度计算模块、知识创建模块以及蠕虫检测模块;其中,
[0044] 所述的检测特征提取模块用于接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;
[0045] 所述的证据可信度计算模块用于将所述检测特征作为朴素可信度模型中的证据,计算证据可信度;
[0046] 所述的知识创建模块用于根据所述检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;
[0047] 所述的蠕虫检测模块用于将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。
[0048] 本发明的优点在于:
[0049] 1、本发明的网络蠕虫检测方法将朴素可信度模型与短连接度、流量、数据包均匀度、连接树图模式、包数增长率等5类8种网络流量及行为特征相融合,能够更早地发现蠕虫,提高了检测的准确性;
[0050] 2、由于本发明的网络蠕虫检测方法主要利用特征统计与阈值比较,所以方法简单,具有很好的实时性和实用性,适合于大规模高速网络的未知蠕虫及其变种的检测。

附图说明

[0051] 图1为本发明的网络蠕虫检测方法;
[0052] 图2为本发明的网络蠕虫检测方法中利用证据可信度计算朴素可信度模型中的结论可信度的流程图;
[0053] 图3为本发明的网络蠕虫检测系统的应用示意图。

具体实施方式

[0054] 下面结合附图和具体实施方式对本发明加以说明。
[0055] 不确定性推理是人工智能研究领域的重要组成部分,它为解决所需知识不充分、不准确,或多原因导致同一结论的应用问题提供了坚实的理论基础和有效的方法手段。1975年,肖特里菲等人(E.H.Shortliffe and B.G.Buchanan,“A Model of Inexact Reasoning in Medicine,”MathematicalBiosciences,vol.23,pp.351-379,1975)提出了一种不确定性推理的可信度模型(Certainty Factor模型,简称为CF模型),并在医疗会诊系统MYCIN中得到了成功应用。科学实践活动表明,网络蠕虫的传播和爆发往往呈现出多种不同网络行为的异常,同时,网络蠕虫检测问题也具有已知经验知识不完整、不准确的特点,因此,本发明考虑采用CF模型来解决网络蠕虫检测问题。为便于CF模型的实际应用,本发明在该模型的基础上增加了一个假设:知识中的证据总是支持结论为真,从而提出了一种朴素可信度模型(Naive Certainty Factor模型,简称为N-CF模型)。为了方便理解,在此首先对朴素可信度模型的概念及具体的内容加以说明。
[0056] 定义1知识(Knowledge,简写为K)。知识是指由证据推理出结论为真的规则,通常用产生式规则来表示,其一般形式为:
[0057] K:E→H
[0058] 其中,E为证据,H为结论。证据是一个简单事件,或由合取和/或析取构成的复合事件,结论是一个或多个事件,一个知识的结论也可以作为另一个知识的证据。
[0059] 定义2可信度(Certainty Factor,简写为CF)。可信度是指确定对象事件为真的可信程度,包括证据可信度CF(E),知识可信度CF(H,E)和结论可信度CF(H),其大小通常用模糊数(∈[0,1])来表述,当可信度为0,表示对象事件为假或不相关。
[0060] 下面给出N-CF模型中可信度的计算公式。
[0061] 1、复合证据可信度的计算
[0062] 如果证据为合取事件,设为E=E1∧...∧En,则其可信度计算公式为:
[0063] CF(E)=CF(E1∧...∧En)=min{CF(E1),...,CF(En)}(1)
[0064] 如果证据为析取事件,设为E=E1∨...∨En,则其可信度计算公式为:
[0065] CF(E)=CF(E1∨...∨En)=max{CF(E1),...,CF(En)}(2)
[0066] 如果证据为同时包含合取事件和析取事件的复合事件时,则将其拆解成若干合取和析取事件,分别应用公式(1)和(2)求得。
[0067] 2、知识可信度的计算
[0068] 知识可信度通常由具有丰富专业知识及实践经验的领域专家直接给出,或者由客观历史数据通过学习或训练方法计算得出,其原则是:证据的出现对结论为真的支持度越高,则知识可信度的值越大。
[0069] 3、结论可信度的计算
[0070] a、一个知识的结论可信度计算
[0071] 一个知识的结论可信度计算公式为:
[0072] CF(H)=CF(H,E)×CF(E)(3)
[0073] b、多知识同一结论的合成
[0074] 如果两个知识K1和K2可推理出同一结论H,并且K1的证据E1与K2的证据E2是相互独立的,则可通过合成运算计算出两个知识推出的结论的综合可信度,其结论合成运算的计算公式如下:
[0075] CF(H)=CF1(H)+CF2(H)-CF1(H)×CF2(H)(4)
[0076] 以上是对朴素可信度模型的简要说明。与已知的CF模型相比,由于知识中的证据总是支持结论为真,因此应用N-CF模型时只选择支持结论为真的证据。此外,多知识同一结论的可信度计算公式(4)与CF模型中的相关计算公式也存在差异。在网络蠕虫检测过程中采用N-CF模型具有简单、直观、实用性强等优点。
[0077] 在上述朴素可信度模型的基础上,检测网络是否受到蠕虫攻击的过程包括:在给定的时间间隔内,接收网络数据包,从这些数据包中提取检测特征,然后计算各个检测特征的可信度;将检测特征作为证据代入所述的朴素可信度模型,利用朴素可信度模型中的证据可信度、知识可信度计算网络受到蠕虫攻击的结论可信度,根据结论可信度的计算结果得到网络是否受到蠕虫攻击的相关结论。为了方便理解,在下面的实施例中将结合实例对本发明方法的具体实现加以说明。
[0078] 图1中示出了本发明的网络蠕虫检测方法的一种具体实现方式。参考图1,在进行网络蠕虫检测时,首先要将与网络蠕虫检测相关的参数进行初始化,例如,将计时器T的值设为0,设定检测时间间隔为T0等。
[0079] 在完成包括参数初始化在内的准备工作后,就可以对所接收到的网络数据包进行协议还原。在本实施例中,所述的协议还原包括对数据包进行TCP/IP协议还原,获取数据包网络层首部和传输层首部的信息。
[0080] 在得到数据包网络层首部和传输层首部的信息后,就可以根据这些信息得到数据包的类型,然后再根据数据包类型统计相应的检测特征。在本实施例中,所涉及数据包的类型包括ICMP包、TCP包和UDP包等。在前文中已经提到,采用朴素可信度模型时,所用到的证据总是支持结论为真,而朴素可信度模型中的证据都由检测特征得到,因此在统计检测特征时只统计与网络蠕虫检测有关,且用于发现网络蠕虫(即支持网络蠕虫检测为真)的相关检测特征,而无需统计那些用于证明网络蠕虫不存在的检测特征。在一种优选实施方式中,统计所需的检测特征包括有5类8个特征,对于某一具体类型的数据包,可统计这些特征的全部或部分。关于所述5类8个特征的具体内容将在下文中详细说明。
[0081] 在得到数据包的检测特征后,对计数器T是否超过了检测时间间隔T0进行判断,若超过则根据这些检测特征计算它们所形成的证据的可信度,若没有超过则继续接收网络数据包。证据的可信度可以用上述检测特征的异常程度来度量,证据可信度的计算方法与检测特征的具体类型有关,在下文中会就前面所提到的5类8个检测特征如何计算可信度进行说明,这8个特征形成的证据可以依次用E1~E8表示。
[0082] 在得到网络数据包中由检测特征所得到的证据的可信度后,可以将上述证据输入到所述的朴素可信度模型中,计算该数据包存在蠕虫及其传播源的相关证据的可信度,根据可信度结果判断网络是否存在蠕虫攻击。
[0083] 以上是本发明的网络蠕虫检测方法在一个实施例中的大致实现过程的说明。下面就该方法中的某些具体的技术细节做进一步的讨论。
[0084] 一、关于5类8个特征。
[0085] 第一类:短连接度特征。短连接是指数据包数很少的连接,一般指扫描、探测等发起的连接。考虑到基于网络扫描方式的蠕虫在传播过程中往往呈现出短连接数的异常,因此有必要提取网络数据包的短连接度特征。短连接度特征具体包括以下两个特征:
[0086] a、差错包短连接度特征,其中,差错包指TCP重置包(重置标志位RST为1的TCP数据包)和ICMP不可达包(类型Type为3的ICMP数据包)。
[0087] 差错包短连接度特征的统计方法为:将数据包的源IP、目的IP、源端口和目的端口分别记为sip,dip,sport,dport;对所有TCP重置包,考察数据包的dip和sport,为每个统计来自不同sip的数据包数,每个的短连接度可以用不同sip的个数来表示;对所有ICMP不可达包,考察数据包中记录的原始数据包的sip和dport,为每个统计流向不同dip的数据包数,每个的短连接度可以用不同dip的个数来表示。
[0088] b、正常包短连接度特征,其中,正常包指除上述TCP重置包以外的其他TCP包和UDP包。
[0089] 所述正常包短连接度特征的统计方法为:设短连接度阈值为D0,对所有正常包,考察数据包的sip和dport,为每个统计流向不同dip的数据包数,每个的短连接度可以用数据包数小于D0的不同dip的个数来表示。
[0090] 第二类:流量特征。流量特征就是用于表征网络流量的特征。考虑到网络蠕虫在传播过程中往往呈现出网络流量的异常,因此有必要提取流量特征。流量特征具体包括以下两个特征:
[0091] c、数据流量特征(单位:bps,bits per second)。
[0092] d、数据包速率特征(单位:pps,packets per second)。
[0093] 上述两个流量特征的统计方法相类似,即对所有正常包,考察数据包的sip和dport,为每个统计流量累加和可得到数据流量特征,为每个统计数据包总数可得到数据包速率特征。
[0094] 第三类:数据包均匀度特征。数据包均匀度特征是用来描述多个数据包的包速率或包长是否均匀的特征。考虑到网络蠕虫发送的数据包的包速率和包长往往呈现出比较均匀的特征,因此有必要提取数据包均匀度特征。数据包均匀度特征具体包括:
[0095] e、包速率均匀度特征。
[0096] f、包长均匀度特征。
[0097] 上述两个数据包均匀度的统计方法相类似,即将检测时间间隔平均划分成若干个区间,对所有正常包,考察数据包的sip和dport,为每个统计不同区间内数据包的总数,从而得到包速率均匀度特征,为每个统计不同区间内数据包的平均包长,从而得到包长均匀度特征。
[0098] 第四类:连接树图模式特征。由于网络中的受害主机在被蠕虫感染后会成为新的传播源继续感染其他主机,所以蠕虫在传播过程中产生的网络连接行为往往会呈现出“树”形状或“图”形状,其中由主机构成树或图的顶点,由网络连接组成树或图的边,我们将蠕虫的这种传播行为模式称为树图模式。考虑到蠕虫在传播过程中呈现出的连接树图模式,因此需要提取该特征。
[0099] 所述连接树图模式的统计方法为:如果的正常包短连接度超过设定阈值,那么称sip为可疑传播源。考察每个的正常包短连接度,如果存在新的可疑传播源sip,则将sip加入到对应的的可疑传播源集合中。
[0100] 第五类:包数增长率特征。包数增长率特征用来描述网络中数据包的增长情况。考虑到网络蠕虫的爆发在网络中往往会呈现出数据包数的指数增长,因此需要提取包数增长率特征。
[0101] 所述包数增长率的统计方法为:将检测时间间隔平均划分成若干个区间,对所有正常包,考察数据包的dport,为每个统计不同区间内数据包的总数。
[0102] 以上5类8个特征是一种优选实施方式中所提取的网络数据包的特征,对于某一类特定类型的网络数据包,提取上述8个特征对蠕虫检测并非都有意义,例如,对于ICMP包,提取前述差错包短连接度特征对蠕虫检测是有意义的,而其它7个特征是无意义的。此外,在本发明的其他实施例中,对网络数据包的检测特征提取并不局限于上述特征,也可采用其他检测特征,如DNS扫描特征、目的端口相似性特征、流量均匀度特征、数据负载相似性特征等等。
[0103] 二、关于如何为检测特征计算所形成证据的可信度。
[0104] 在前文中已经提到,证据可信度的计算方法与检测特征的具体类型有关,下面将就5类8个检测特征所形成的证据E1~E8如何计算可信度分别加以说明。
[0105] 1、所述E1和E2可信度的计算方法为:为差错包短连接度和正常包短连接度分别设置合理的阈值,比如均设置为128。考察所有的短连接度,如果其统计数超过前述阈值,则该的短连接度为异常,将超出的数值转换成一个数值范围在0到1之间的模糊数来表示其证据的可信度。将超出的数值转换成数值范围在0到1之间的模糊数可以采用现有技术中的相应方法,如线性函数归一化方法,y=(x-Min)/(Max-Min),x∈[Min,Max],y∈[0,1]。
[0106] 2、所述E3和E4可信度的计算方法为:通过实践经验为数据流量和数据包速率分别设置合理的阈值,也可以通过采用已公开的技术和方法对网络数据进行预先训练和学习来设置阈值,比如分别设置为1Mbps和800pps。考察所有的流量累加和以及数据包总数,计算流量和包速率,如果超过所述的阈值,则该的流量或包速率为异常,将超出的数值转换成一个模糊数(∈[0,1])来表示其证据的可信度。
[0107] 3、所述E5和E6可信度的计算方法为:通过实践经验为包速率均匀度和包长均匀度分别设置合理的阈值,比如均设置为0.95。考察所有的不同区间内数据包的总数和平均包长,通过公开的数理统计方法计算其均匀度,如果超过所述的阈值,则该的包速率均匀度或包长均匀度为异常,将超出的数值转换成一个模糊数(∈[0,1])来表示其证据的可信度。
[0108] 4、所述E7可信度的计算方法为:通过实践经验为连接树图模式设置合理的阈值,实践中为保证检测性能,该阈值一般设置为一个比较小的整数,比如2或3。考察所有的可疑传播源集合,如果集合中的一个可疑传播源是另一个可疑传播源的受害主机,则称存在一个树图模式,如果树图模式数超过阈值,则该的连接树图模式为异常,其证据的可信度置为1。
[0109] 5、所述E8可信度的计算方法为:通过实践经验为包数增长率设置合理的阈值,比如设置为3。考察所有的不同区间内数据包的总数,如果数据包数呈指数增长所涉及的区间数超过所述的阈值,则该的包数增长率为异常,将该区间数转换成一个模糊数(∈[0,1])来表示其证据的可信度。
[0110] 需要说明的是,在进行可信度计算时,如果检测特征不超过相应的阈值,则对应的证据的可信度为0。
[0111] 三、关于如何利用朴素可信度模型计算结论的可信度。
[0112] 在朴素可信度模型中,知识会根据朴素可信度模型所适用的场景(主要是检测特征的内容)不同而发生变化。因此,在进行朴素可信度模型的相关计算前,需要根据检测特征构建知识,在构建时,应当使得独立的检测特征对应一个知识,而相关的检测特征在同一个知识内。下面以本实施例中所提到的8个检测特征为基础,给出了用于检测网络蠕虫及其传播源的知识库的一个实例:
[0113] K1:E1→H CF1(H,E)
[0114] K2:E2→H CF2(H,E)
[0115] K3:E3∨E4→H CF3(H,E)
[0116] K4:E5∨E6→H CF4(H,E)
[0117] K5:E7→H CF5(H,E)
[0118] K6:E8→H CF6(H,E)
[0119] 其中,Ei(i=1~8)表示由前述8个检测特征所得到的8个证据,H表示结论事件“存在蠕虫攻击”,CFi(H,E)(i=1~6)表示知识的可信度,每个知识的可信度由领域专家直接给出,或者由客观历史数据通过学习或训练方法计算得出,其度量原则应保证证据的出现对结论为真的支持度越高,则知识可信度的值越大。在知识库中,所述的CFi(H,E)(i=1~6)是已知值。
[0120] 可信度的计算公式是不会随着应用场景的变化而发生改变的,在前文中已经就可信度计算公式(1)-(4)做了相应的说明,此处为了方便理解,对可信度计算公式的具体应用做一个举例说明。在计算前述知识K1的结论可信度时,根据公式(3)可以知道,CF1(H)=CF1(H,E)×CF1(E1)。其中,CF1(H,E)在知识库中是已知的值,而CF1(E1)在前面的可信度计算过程中也已经知道相应的结果,因此可以得到K1的结论可信度。其它知识的结论可信度的计算与之相类似。
[0121] 在检测网络是否存在蠕虫攻击时,需要采用前面知识库中的知识。如图2所示,对于一个及其对应的,基于前述说明中已经计算得出的8个证据的可信度,对知识库中的每个知识运用公式(1)或(2)计算合取事件或/和析取事件的证据可信度;然后运用公式(3)计算每个知识的结论可信度;接着通过反复运用公式(4)将知识库中所有知识的结论可信度进行两两合成运算,最终生成结论事件的综合可信度;如果该综合可信度超过检测阈值,则发现蠕虫攻击,蠕虫端口为dport,传播源为sip,生成报警事件。此处所提到的检测阈值∈[0,1],比如可设为0.5。
[0122] 本发明还提供了一种网络蠕虫检测系统,包括检测特征提取模块、证据可信度计算模块、知识创建模块以及蠕虫检测模块;其中,
[0123] 所述的检测特征提取模块用于接收网络数据包,在所述网络数据包中提取与网络蠕虫检测相关且用于证明网络蠕虫存在的检测特征;
[0124] 所述的证据可信度计算模块用于将所述检测特征作为朴素可信度模型中的证据,计算证据可信度;
[0125] 所述的知识创建模块用于根据所述检测特征创建所述朴素可信度模型中的知识,计算所述知识的可信度;
[0126] 所述的蠕虫检测模块用于将所述证据可信度以及所述知识的可信度代入朴素可信度模型的可信度计算公式,对网络中存在蠕虫攻击的结论事件进行可信度计算。
[0127] 上述的网络蠕虫检测系统可如图3所示,部署于企业网关出入口、运营商接入路由器或骨干路由器等各种运行环境,处理网关或路由器的镜像数据。
[0128] 本发明的网络蠕虫检测方法与检测系统在实现网络蠕虫检测的过程中,利用朴素可信度模型对短连接度特征、流量特征、数据包均匀度特征、连接树图模式特征、包数增长率特征进行融合,与现有方法只孤立地利用个别特征相比,无论是准确率还是适应性上都有了较大的提高。此外,本发明的方法在网络蠕虫检测的过程中,主要是将与检测相关的数据和阈值进行比较,所以方法简单,具有很好的实时性和实用性,适合于大规模高速网络的未知蠕虫及其变种的检测。
[0129] 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。