一种Email蠕虫检测方法

文档序号:6585846阅读:333来源:国知局
专利名称:一种Email蠕虫检测方法
技术领域
本发明涉及计算机网络病毒检测技术领域,具体涉及一种Email蠕虫检测方法。
背景技术
Email蠕虫是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是 通过网络和电子邮件。蠕虫病毒是一种自包含的程序,它能拷贝其自身或自身的某些部分 并通过网络传播到其他的计算机系统中。 Email蠕虫最大的特点就是能够利用Email的方式进行主动自我传播,主要体现 为两种行为特征感染特征和连接特征。感染特征是指被监控节点出现了异常的主动连接 其他网络节点的行为(如在一个单位时间段里面发送Email的数目超过预先设定的阈值); 连接特征是指被监控节点出现被感染节点或者可疑节点连接的行为。 近年来,Email蠕虫逐渐成为一种主要的网络攻击手段,各种的Email蠕虫程序 在网络中广泛传播,如"Melissa"、"Love Letter"、"W32/Sircam"、"SoBig"、"MyDoom"、 "Bagle"、"Netsky"等等。大量无用的Email数据存在于整个网络,直接导致了网络数 据传输阻塞,严重地影响了邮件系统网络的工作性能。对于Email蠕虫的检测和控制 成为石开究热点之一。ZOUC, Gong W, T0WSLEY D. Feedback email worm defense system forenterprise networks[C]//Umass ECE Technical Report TR_04_CSE_05 :Umass, 2004.介绍了一种检测方法称为"反馈防御系统"(Feedback Defense System),它利用 了现有的入侵检测软件对于可疑邮件进行拦截,再采用虚拟的蜜罐系统进行分析检测,该 方法对Ema i 1用户有很好的保护作用,但是对于Ema i 1蠕虫在网络中转播的主动控制, 效果不是很明显。GUPTA A, SEKAR R. An approach for detecting self-propagating Email using anomalydetection[C]//Proceedings of Recent Advances in Intrusion Detection (RAID). Pittsburgh PA :Springer, 2003 :55-72.介绍了一种利用机器学习对网 络异常流量进行监测的方法,能够有效地减少检测误报率,但是该方法需要对网络流量进 行统计,存在一定的检测延迟性。HUSNA H,raiTHAKKITN區00NS,DANTU R. Traffic sh即ing of spam botnets[C]〃Proceedings of CCNC 2008, 5thlEEE丄as Vegas, NV :IEEE, 2008 : 786-787.提出了利用熵值来归类垃圾邮件的方法,该方法通过对垃圾邮件的行为特征的分 析(如在一个单位时间段里面连续发送邮件的数量),利用熵值的大小来快速的区分垃圾 邮件和正常邮件,该归类方法的精度取决于阈值的大小,对于防御者来说,很难找到一个合 适的阈值使检测结果同时达到最小的假阳性(正常节点被检测机制错误地归类为感染节 点)和最小的假阴性(感染节点被检测机制错误地归类为正常节点)。

发明内容
针对现有技术存在的上述不足,本发明的目的在于提供一种能够快速、及时地 检测出蠕虫的基于接触跟踪链的Emai 1蠕虫检测方法CTCBF (Contact-Tracing Chain BasedFramework)。
本发明的目的是这样实现的一种Email蠕虫检测方法,包括如下步骤
a、单点检测将单点检测模块配置在网关上,利用网关实现对单个节点异常SMTP 数据包的检测,分析单个节点的感染特征,然后利用差分熵检测出疑似Email蠕虫的异常 节点; b、多点跟踪检测将多点跟踪模块配置在邮件服务器,通过分析单点检测模块检 测出的异常节点之间的连接关系建立跟踪链,并对每条跟踪链进行跟踪检测,超过预设长 度的跟踪链上的可疑节点被确定为感染节点。
进一步,所述单点检测的具体步骤包括 al)利用网关接收SMTP数据包,在一个检测时段内确定SMTP数据包分布序列V ;
a2)利用熵值算法对分布序列V求熵值; a3)确定阈值M,通过对每个终端用户长时间发送Email的习惯,确定一个平均值 E,令M > E,将序列V超出阈值M部分定义为新序列V';
a4)利用熵值算法对分布序列V'求熵值;
a5)比较两个熵值相似度,求取差分熵值DH ; a6)定义一个固定的相似度阈值,当差分熵DH小于此相似度阈值时,将被检测网 络节点认定为异常节点。 熵值计算能够体现在一个时间段内发送邮件数目的分布情况,只要M设置合理, 可以作如下假设定义V'为异常邮件部分,相似度为一个时间段内总的邮件分布的熵值 和异常邮件分布的熵值相比较的结果,异常邮件数目越多,H(v')越高,DH越小,则相似度越高。 相似度阈值是划分正常节点与异常节点的差分熵DH临界值,它能够体现单点检
测的安全等级相似度阈值定义得越高,差分熵DH临界值就相对增大,被认定为异常节点
的网络节点数目相对增加,增强了系统的警惕性,则单点检测的安全等级就越高。相似度阈
值可根据网络安全等级的要求自由设置。
进一步,多点跟踪检测的具体步骤包括 bl)所有节点信息初始化,为每个节点开辟跟踪链缓冲区,同时将所有节点初始化 为正常类型; b2)服务器等待接收网关信息; b3)基于单点检测的节点A出现感染特征,检测节点A的邮件地址和目标地址是否 为同一邮件服务器,如果不是属于同一邮件服务器,则需要两个邮件服务期相互交换关于 节点A的跟踪链信息; b4)节点A如果是第一次出现感染特征,以该节点作为根节点建立跟踪链;
b5)更新节点A跟踪链缓冲区信息; b6)以递归的方法更新所有与节点A相关联的节点缓冲区信息;
b7)另一节点B在接收到异常节点A发送的Email以后出现了同样的感染特征,则 节点B作为节点A的子节点被加入跟踪链,跟踪链的长度增加一级,同时重复步骤b5和步 骤b6 ; b8)当跟踪链长度达到设定阈值K的时候,该跟踪链上的节点被确认为感染节点。
再进一步,阈值K采用动态设置,根据不同的网络感染等级来动态地改变阈值K的大小,动态阈值调整具体步骤包括 ①根据跟踪链单位时间段内增加的感染节点数目确定网络的感染等级,将典型的
Email蠕虫传播周期分为三个传播时间段初始期,上升期,饱和期; ②应用动态阈值算法,根据不同传播时间段动态改变跟踪链的阈值K ; ③将动态阈值K反馈给跟踪模块。
相比现有技术,本发明具有如下优点 1]将单点检测模块配置在网关上,将多点跟踪模块配置在邮件服务器上,这种分 布式的结构能够减小邮件服务器负荷,提高检测的效率。 2]单点检测模块和多点跟踪模块相对独立,可以将其他的单点检测手段作为一种 感染特征检测手段应用到系统中,系统具有很好的兼容性。 3]由于本系统检测基于对蠕虫传播过程的监控,所以能够快速、及时地检测出蠕 虫的传播行为。 4]利用跟踪算法提高检测精度,在单个节点感染特征的基础上,通过分析节点之 间的连接特征,从而确定真正的感染节点;相对于目前普遍采用的一些单点检测的方法,本 系统增加了跟踪模块减小的误报率,提高了检测精度。 5]由于跟踪链的建立会使得检测出现一定的延迟性,本系统采用了动态阈值的方 法平衡了检测精度和检测速度之间的关系。 6]该方法采用广泛应用于传染病检测的接触跟踪法,通过建立跟踪链对异常 的Email传播过程进行监控,同时根据跟踪链的状态来确定Email蠕虫感染节点,为未知 Email蠕虫的检测提供了一种新的模式。


图1是本发明Email蠕虫检测方法的方框流程图; 图2是本发明的系统结构图,其中,图2(a)为Email蠕虫传播示意图,图2 (b)为 CTCBF检测示意图; 图3被检测网络节点在检测周期内的感染特征曲线图;
图4是被检测网络节点的差分熵分析柱状图;
图5是本发明方法一种实施方式的跟踪链建立过程示意图;
图6是不同的阈值K跟踪检测效果对比图。
具体实施例方式
本发明系统结构如图2所示,演示了节点A通过Email蠕虫感染节点B、C、D的过 程,时间序列tl < t2 < t3. . . <tl3<tl4。在此过程中,网关1、网关2和网关3分别在 t2、t6、t11时刻向邮件服务器发送了异常节点信息,由于节点D相对于节点A、B、C,属于不 同的邮件服务器,所以分别在t7, t12时刻,邮件服务器1和邮件服务器2交换了异常节点 信息。 参见图l,本发明提供一种Email蠕虫检测方法CTCBF (Contact-Tracing Chain BasedFramework): a、单点检测,利用单点检测算法对于单个节点的感染特征进行检测;具体方法是将单点检测模块配置在网关上,利用网关实现对单个节点异常SMTP数据包的检测,分析单
个节点的感染特征,然后利用差分熵检测出疑似Email蠕虫的异常节点; b、多点跟踪检测,利用跟踪算法提高检测精度,在单个节点感染特征的基础上,通
过分析节点之间的连接特征,从而确定真正的感染节点;具体方法是将多点跟踪模块配
置在邮件服务器,通过分析单点检测模块检测出的异常节点之间的连接关系(两点之间发
送Email的记录)建立跟踪链,并对每条跟踪链进行跟踪检测,超过预设长度的跟踪链上的
可疑节点被确定为感染节点。
1、单点检领lj : 单点检测的具体步骤是 al)利用网关接收SMTP数据包,在一个检测时段内确定SMTP数据包分布序列V :
V(T) = 〈v(l), v(2),…,v(t),…,v(n)〉,其中,v(t)为在时间段t中被检测节
点与外部节点建立的连接数,T为序列V的长度; a2)利用熵值算法对分布序列V求熵值根据香农定理,定义V (T)的熵值为 i/(7) = —wZ-
'max艺v"),l
log2
v(,)
max f>(/), 1 a3)确定阈值M,通过对每个终端用户长时间发送Email的习惯,确定一个平均值
E,令M > E,将序列V超出阈值M部分定义为新序列V': V' (T' )=〈v' (l),v' (2),…,v' (t),…,v' (n)>, 其中,v' (t)为v(t)中超出预先设定的阈值M的连接数,S卩v' (t)=maX(0,
v(t)-M),T'为序列V'的长度; a4)利用熵值算法对分布序列V'求熵值由v' (t) = max(O, v(t)-M)得到 V' (T)的熵值为
i/(F')=-"》
max(0,v(/) —AQ 1 max (f: max(O, v(/) — A/), 1)
「log2
max(O,v(,)-M) max J X max(O, v(Z) - M), 1) a5)比较两个熵值相似度,求取差分熵值DH :DH = H (v) _H (v'); a6)定义一个固定的相似度阈值,当差分熵DH小于此相似度阈值时,将被检测网
络节点认定为异常节点。 熵值计算能够体现在一个时间段内发送邮件数目的分布情况,只要M设置合理, 我们可以作如下假设定义V'为异常邮件部分,相似度为一个时间段内总的邮件分布的 熵值和异常邮件分布的熵值相比较的结果,异常邮件数目越多,H(v')越高,DH越小,则相 似度越高。 相似度阈值是划分正常节点与异常节点的差分熵DH临界值,它能够体现单点检 测的 安全等级相似度阈值定义得越高,差分熵DH临界值就相对增大,被认定为异常 节点的网络节点相对增加,增强了系统的警惕性,则单点检测的安全等级就越高。相似度阈 值可根据网络安全等级的要求自由设置。 但仅通过单点检测方法得到的可疑节点数与真实的感染节点数还有一定误差。有 些正常节点被误识别为异常节点,造成网络节点假阳性;有些感染节点没有被归类识别异
7常节点,造成网络节点假阴性。 假阳性和假阴性的数量高低与阈值M的大小有直接关系。当v(t) >> M的时候, DH —O,V(t)与V' (t)的相似度较高,假阳性的数量较高;当v(t) <<1的时候,011由正 常连接的序列分布决定,V(t)与V' (t)的相似度较低,就可能出现数量较高的假阴性。因 此,M的大小对差分熵的结果有影响,M越小,DH也就越小,V(t)与V' (t)的相似度越高, 假阳性数量越高。 M的值可以根据网络状况进行设置,但仅通过设置M值很难同时保证最低假阳性 和最低假阴性,从而检测结果难免有一定误差。而多点跟踪检测能在单点检测的基础上提 高检测精度,将单点检测与多点跟踪结合,便能够识别出假阳性的可疑节点,有效提高检测 精度。所以,如果进一步进行多点跟踪检测,单点检测就允许出现较高的假阳性,不妨将M 设置为一个较小的值。
2、多点跟踪检测 多点跟踪检测的目的是在假阳性较高的单点检测机制的基础上,利用跟踪链提高 检测精度。我们作如下定义 定义1 :网络中的任意节点r G S都有可能与其他节点发生连接,并且成为任意跟 踪链的根节点,所以每个节点设置s-i跟踪链存储空间。 定义2 :网络中的任意节点i G S, i # r都有可能成为以r为根节点的跟踪链节 点。任意节点状态可表示为函数Ai = f(Ci(r), Li(r), Pi(r)), i G S, & (r)定义为节点i 的类型,Li(r)定义为节点i相对于根节点r的级数,Pjr)定义为节点i的父节点。
定义3 :根据网络节点的行为特征,将节点划分为4个类型正常类型(NS),连接 类型(CS),可疑类型(SS),感染类型(IS):
NS :没有出现感染特征和连接特征。
CS :出现连接特征,但没有出现感染特征。
SS:出现了感染特征。
IS :出现过感染特征,所在跟踪链被确认为感染链。 在初始状态下,Li (r) = -1表示节点i没有被任何以r为根节点的跟踪链节点感 染,当i = r时,b (r) = 0表示每个节点相对于自己都处于第0级,Pi = i将所有节点都 初始化为根节点,每个初始节点的类型被定义为NS。
多点跟踪检测的具体步骤是 bl)所有节点信息初始化,为每个节点开辟跟踪链缓冲区,同时将所有节点初始化 为正常类型; b2)服务器等待接收网关信息; b3)基于单点检测的节点A出现感染特征,检测节点A的邮件地址和目标地址是否 为同一邮件服务器,如果不是属于同一邮件服务器,则需要两个邮件服务期相互交换关于 节点A的跟踪链信息; b4)节点A如果是第一次出现感染特征,以该节点作为根节点建立跟踪链;
b5)更新节点A跟踪链缓冲区信息; b6)以递归的方法更新所有与节点A相关联的节点缓冲区信息; b7)另一节点B在接收到异常节点A发送的Email以后出现了同样的感染特征,则节点B作为节点A的子节点被加入跟踪链,跟踪链的长度增加一级,同时重复步骤b5和步 骤b6 ; b8)当跟踪链长度达到设定阈值K的时候,该跟踪链上的节点被确认为感染节点。
在多点跟踪检测中,阈值K可采用动态设置,根据不同的网络感染等级来动态地 改变阈值K的大小 ①根据跟踪链单位时间段内增加的感染节点数目确定网络的感染等级,将典型的 Email蠕虫传播周期分为三个传播时间段初始期,上升期,饱和期。定义AI为单位时间 段内增加的感染节点数目,用AI体现网络的感染等级。 初始期感染的数目不多,被感染节点增长的速度不快,AI比较小,网络感染等 级低。 上升期感染的数目逐渐增多,被感染的节点增长速度急剧加快,AI迅速增大, 网络感染等级增加。
饱和期感染的数目增加的速度减慢,A I逐渐减小,网络感染等级逐渐降低。
动态设置阈值K的优势体现于在网络感染等级较低的时候采用较大的阈值K以 提高跟踪链的精度,减少误报率;在网络感染等级较高的时候采用较小的阈值K以提高跟 踪链的速度,减少更多节点被感染的可能性。 ②应用动态阈值算法,根据不同传播时间段动态改变跟踪链的阈值K,动态阈值算 法定义为ii:(, + l)-min(max^(0^^,i^丄^j , 其中,AI(t)为当前传播时间段增加的感染节点数目,AI(t+l)为下一传播时间 段增加的感染节点数目,K(t)为当前传播时间段设定的阈值,K(t+l)为下一传播时间段的 阈值,Kmin和Kmax分别为阈值K的上限阈值和下限阈值。
③将动态阈值K反馈给跟踪模块。 下面结合附图和具体实施方式
对本发明作进一步说明。
实施例
1、单点检测 利用单点检测法检测一个网络节点的感染特征。该实施例中,整个检测周期被划 分为4个时间段T1、 T2、 T3、 T4,每个时间段设置的时长为160秒,被检测节点各时间段的 感染特征曲线参见图3 ;分别取阈值M = 100、200和300,利用差分熵对4个时间段的数据 进行计算,计算结果参见图4。
2、多点跟踪检测 跟踪链建立过程参见图5 :设置M = 2, tl < t2 < t3,初始状态下,每个节点处于 类型NS,图中箭头代表异常连接,虚线代表没有连接,Li代表节点i的级数。图中存在两条 跟踪链,节点1,2,3构成链l,节点5,4构成链2。 tl时刻,节点1和节点5出现了感染特 征,分别与节点2和节点4发生了连接关系,将节点1和节点5分别作为两条跟踪链的根节 点,则b = L5 = O,类型由NS变为SS,节点2和节点4的类型由NS变为CS ;t2时刻,节点2 出现了感染特征,并且与节点3发生了连接关系,节点2的类型由CS变为SS,同时L2 = 1, 节点3的类型由NS变为CS ;t3时刻,节点3出现了感染特征,连接了节点4,则L3 = 2,同时节点3的类型由CS变为SS,跟踪链1中的类型为SS的节点数目达到了阈值M,所以跟踪 链1被确认为感染链,链上的节点被确定为感染节点,节点1,2,3的类型由SS变为IS。跟 踪链2的长度由于没有达到阈值M,所以不能被确认为感染链。节点6为孤立节点,既没有 出现连接特征也没有出现感染特征,所以保持类型为NS。 为进一步体现阈值K对多点跟踪监测的影B向,分别取阈值K = 4、11和动态设置, 对被检测跟踪链进行跟踪检测,检测效果图参见图6 ;从图中能够看到,采用动态设置阈值 K的跟踪检测效果更好。 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较 佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技 术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本 发明的权利要求范围当中。
10
权利要求
一种Email蠕虫检测方法,其特征在于,包括如下步骤a、单点检测将单点检测模块配置在网关上,利用网关实现对单个节点异常SMTP数据包的检测,分析单个节点的感染特征,然后利用差分熵检测出疑似Email蠕虫的异常节点;b、多点跟踪检测将多点跟踪模块配置在邮件服务器,通过分析单点检测模块检测出的异常节点之间的连接关系建立跟踪链,并对每条跟踪链进行跟踪检测,超过预设长度的跟踪链上的可疑节点被确定为感染节点。
2. 根据权利要求1所述的Email蠕虫检测方法,其特征在于,所述步骤a中,单点检测 的具体步骤包括al)利用网关接收SMTP数据包,在一个检测时段内确定SMTP数据包分布序列V ; a2)利用熵值算法对分布序列V求熵值;a3)确定阈值M,通过对每个终端用户长时间发送Email的习惯,确定一个平均值E,令 M^E,将序列V超出阈值M部分定义为新序列V'; a4)利用熵值算法对分布序列V '求熵值; a5)比较两个熵值相似度,求取差分熵值DH;a6)定义一个固定的相似度阈值,当差分熵DH小于此相似度阈值时,将被检测网络节 点认定为异常节点。
3. 根据权利要求1所述的Email蠕虫检测方法,其特征在于,所述步骤b中,多点跟踪 检测的具体步骤包括bl)所有节点信息初始化,为每个节点开辟跟踪链缓冲区,同时将所有节点初始化为正 常类型;b2)服务器等待接收网关信息;b3)基于单点检测的节点A出现感染特征,检测节点A的邮件地址和目标地址是否为同 一邮件服务器,如果不是属于同一邮件服务器,则需要两个邮件服务期相互交换关于节点A 的跟踪链信息;b4)节点A如果是第一次出现感染特征,以该节点作为根节点建立跟踪链; b5)更新节点A跟踪链缓冲区信息;b6)以递归的方法更新所有与节点A相关联的节点缓冲区信息;b7)另一节点B在接收到异常节点A发送的Email以后出现了同样的感染特征,则节 点B作为节点A的子节点被加入跟踪链,跟踪链的长度增加一级,同时重复步骤b5和步骤 b6 ;b8)当跟踪链长度达到设定阈值K的时候,该跟踪链上的节点被确认为感染节点。
4. 根据权利要求3所述的Email蠕虫检测方法,其特征在于,所述阈值K采用动态设 置,根据不同的网络感染等级来动态地改变阈值K的大小① 根据跟踪链单位时间段内增加的感染节点数目确定网络的感染等级,将典型的 Email蠕虫传播周期分为三个传播时间段初始期,上升期,饱和期;② 应用动态阈值算法,根据不同传播时间段动态改变跟踪链的阈值K ;③ 将动态阈值K反馈给跟踪模块。
5. 根据权利要求4所述的Email蠕虫检测方法,其特征在于,所述动态阈值算法为<formula>formula see original document page 3</formula>其中,AI(t)为当前传播时间段增加的感染节点数目,AI(t+l)为下一传播时间段 增加的感染节点数目,K(t)为当前传播时间段设定的阈值,K(t+l)为下一传播时间段的阈 值,Kmin和Kmax分别为阈值K的上限阈值和下限阈值。
全文摘要
本发明提供一种Email蠕虫检测方法CTCBF(Contact-Tracing Chain Based Framework基于接触跟踪链的检测机制)。该方法首先利用差分熵的方法对网络节点的异常发送Email行为进行检测,再通过异常节点之间的连接关系利用跟踪算法建立跟踪链,当跟踪链的长度达到一定阈值的时候,链上的可疑节点被确认为感染节点;针对阈值的不确定性,本发明提出了一种动态阈值的方法,根据不同的网络感染等级来动态的改变阈值大小。该方法能够快速、准确地检测出蠕虫的传播行为,同时为未知Email蠕虫的检测提供了一种新的模式。
文档编号G06F21/00GK101764838SQ200910250848
公开日2010年6月30日 申请日期2009年12月30日 优先权日2009年12月30日
发明者仲元红, 周建林, 曾孝平, 熊东, 黄智勇 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1