当前位置: 首页 > 专利查询>刘胜利专利>正文

基于无控制端流量分析的木马检测方法技术

技术编号:11196581 阅读:123 留言:0更新日期:2015-03-26 03:07
本发明专利技术公开了一种基于无控制端流量分析的木马检测方法,首先,将捕获的网络数据包进行整理:按照五元组信息和协议规范要求组织成数据流;然后对这些数据流按照等价四元组进行分类,形成一个个由四元组标识的数据流集合;然后采用基于时间戳的数据流聚类算法对数据流集合中的数据流进行聚类,形成数据流簇。本发明专利技术在对网络数据流进行聚类形成数据流簇的基础上,以数据流簇为单位处理数据流,分析木马通信行为与正常网络通信行为的差别,并结合统计分析、数据挖掘等技术,深入挖掘二者之间的差别并提取网络通信特征,利用本发明专利技术可以实现对网络中的无控制端木马流量进行检测。

【技术实现步骤摘要】
基于无控制端流量分析的木马检测方法
本专利技术涉及一种基于通信数据流量分析的木马检测技术,特别是涉及一种基于无控制端流量分析的木马检测方法。
技术介绍
当前的窃密攻击大多数是采用木马实现,木马最大的特点即是其行为往往带有较强的隐蔽性。木马被成功植入到目标计算机后,木马控制端必须和被控端进行通信,以便给被控端下达控制指令或者控制被控端将所获取的信息回传给控制端。现阶段对木马通信流量的检测识别主要针对木马被控制端程序和控制端程序已经建立连接的情形,对控制端程序未上线的情况关注较少。在网络中,木马的控制端未上线情况下,木马被控端程序同样会向控制端发送连接请求,产生无控制端的通信数据流(简称无控制端流量),并且这些数据流量少,不能形成完整的数据流会话,传统基于通信数据流的木马检测方法对于这类无控制端木马流量不具备检测能力。通过对木马程序产生的无控制端流量进行检测,可以有效提高局域网的安全性,增强基于数据流统计特征木马检测方法的检测能力。因此,如何有效检测木马被控制端程序产生的无控制端流量就成为信息安全领域一个重要的理论和技术问题。目前,基于通信数据流的木马检测方法很多,主要方法集中在攻击者与被控端之间的交互操作行为的检测,还未出现针对木马无控制端流量进行检测的方法,而且此类方法均存在一定缺陷,并且不具备良好的通用性。李世淙对木马的通信全过程进行了简要的描述,并根据木马的通信特征将木马通信过程划分成一条主要连接和多条次要连接,并提取各数据流中数据包数量的上传下载比、数据量的上传下载比、通信会话的持续时间与主连接持续时间之比、主连接上的数据包时间间隔的均值等统计特征建立木马检测模型。木马连接中主连接和次连接的划分有时候并不是非常明显,导致部分数据流特征提取不够精确,影响检测的准确率。Tegeler通过从两个终端的通信数据中提取Trace,以Trace为单位提取平均包间隔时间,平均流持续时间,平均上行字节数,平均下行字节数,以及对通信控制流的快速傅立叶变换这5个特征对局域网内部的通信流量进行检测。通过对7款木马程序进行实验测试,发现对不同的木马程序,各属性的识别权重不同,其中快速傅立叶变换在多数木马通信的检测中很重要。但是作者对于Trace的定义没有描述清晰,导致实现难度较大,同时对部分木马程序的检测率较低。陈利对五元组(源IP、目的IP、源端口、目的端口、协议)中的数据包进行聚类形成数据包簇,提取数据包簇的八个统计特征,并计算数据包簇之间的加权欧氏距离,以此作为木马检测的依据。该方法对数据流中数据包的到达时间间隔依赖过高,当木马的数据包规律不明显时,数据包聚类效果变差,会导致该方法失效。刘璇使用NetFlow技术对通信数据流进行采集,并选取了源IP和目的IP对之间数据包字节数、数据包数量、数据流来源子网个数、源端口个数、目的端口个数、各协议所占总流量比例、各源端口所占总流量比例、各目的端口所占总流量比例等特征对用户的行为进行分析统计,并设计用户行为距离公式,检测非正常用户的通信流量行为。由于对用户建模选取的有不同端口的数据,木马程序利用隐蔽通道技术,将自己的通信速度降低,弱化自己的流量特征会导致该方法失效。以下对本专利技术涉及的基本概念进行解释.数据流:数据流是由应用程序发送和接收的网络数据包组成,是两台主机信息交流的集合,即将五元组信息(源IP、目的IP、源端口、目的端口、协议)相同的数据包按照协议规范要求和时间顺序组成的数据包队列。数据流f可以表示成:f={pkt1,pkt2,……,pktn},其中n为数据流中数据包个数,pk表示顺序到达的数据包。四元组:称{源IP地址、目的IP地址、目的端口、协议}为四元组。五元组:称{源IP地址、目的IP地址、源端口、目的端口、协议}为五元组。等价四元组:若四元组{a1,b1,c1,d1}和{a2,b2,c2,d2}满足:a1=c2且b1=d2且c1=a2且d1=b2,则称{a1,b1,c1,d1}和{a2,b2,c2,d2}为等价四元组。数据流开始时间:数据流中第一个数据包的时间戳。数据流结束时间:数据流中最后一个数据包的时间戳。数据流簇开始时间:数据流簇中数据流开始时间的最小值。数据流簇结束时间:数据流簇中数据流结束时间的最大值。
技术实现思路
本专利技术的目的是通过对木马被控制端程序产生的无控制端流量分析,发现木马无控制端流量的特征,实现对网络中木马无控制端流量的有效检测,以便及时检测潜伏在局域网中的木马程序,保护局域网的安全。具体是提供一种基于无控制端流量分析的木马检测方法。技术方案:一种基于无控制端流量分析的木马检测方法,首先将捕获的数据流按照等价四元组进行分类,形成数据流集合,然后在数据流集合中,按照基于时间戳的数据流聚类算法对数据流进行聚类形成数据流簇,最后在数据流簇上提取数据流最小差异度和源端口有序度,检测疑似木马。首先需要通过四元组信息对数据流进行分类,本文中数据流是一条条五元组信息相同的数据包时间队列,数据流可以表示为f={pkt1,pkt2,……,pktn},其中n为数据流中数据包个数,pk表示顺序到达的数据包。各个数据流f由五元组信息标识。对数据流按照等价四元组进行分类,将四元组信息相同的数据流聚集在一个四元组标识的数据流集合U中,四元组分类后的数据流集合U={f1,f2……,fn},fi表示数据流,其中fj∈U,fi和fj的四元组信息相同。然后在四元组标识的数据流集合中,按照基于时间戳的数据流聚类算法对数据流进行聚类形成数据流簇,所述基于时间戳的数据流聚类算法是:时间戳论域:设T={(t1,t1'),(t2,t'2),…,(tn,t'n),…}是待划分的数据流开始时间戳和结束时间戳集合,T中的每个对象ti是第i个数据流的开始时间戳,t'i是第i个数据流的结束时间戳。簇半径阈值:设ε为簇半径阈值,数据流簇的结束时间和下个数据流的开始时间间隔小于该阈值的将被聚类在一个数据流簇中。簇集合:设Sj={c1,c2,…,cm}是数据流集合Sj经划分得到的一个个数据流簇的集合,P(ci)={ci1,ci2,…,cik}是Sj中的每个数据流簇ci(1≤i≤m)的特征矢量。界标窗口:因为数据流是顺序出现的,因此选取界标窗口来存储时间戳论域T,界标窗口的长度ΔW为起始时间点到当前时间点为止记录的数据流个数。基于时间戳的数据流聚类算法以数据流集合S和簇半径阈值ε为输入,数据流集合S使用会话四元组(源IP、目的IP、目的端口、协议)标识,簇半径阈值ε的单位为秒,以生成的S'={(ci,P(ci))|(1≤i≤m)}为输出。顺序遍历数据流集合中的每个数据流,通过计算当前数据流的开始时间与数据流簇的结束时间间隔判断加入当前簇还是新建簇,1≤i≤m,1≤j≤m,i、j、m、n分别为大于0的自然数;S是输入的数据流集合和数据流S'是经过聚类后的数据流簇。输入:数据流集合S,簇半径阈值ε;输出:生成的簇集合S'。Begin(1)初始化簇数据量j=0,窗口长度ΔW=0;/*记录簇和数据流个数*/(2)While(数据流集合S未结束&S中新到达的数据流f已经结束);(3)f的开始时间为ti,结束时间为t'i(4)If(j=0)j++,ΔW++;(5)以f为起始建立新的簇cj,创本文档来自技高网
...
基于无控制端流量分析的木马检测方法

【技术保护点】
一种基于无控制端流量分析的木马检测方法,其特征在于:包括以下步骤:(1)将捕获的网络无控制端数据包进行整理:按照五元组信息和协议规范要求组织成数据流,数据流f={pkt1,pkt2,……,pktn},数据流是多条五元组信息相同的数据包时间队列,其中n为数据流中数据包个数,pk表示顺序到达的数据包,各个数据流f由五元组信息标识;所述无控制端流量是指木马被控制端程序在无法连接到木马控制端情况下,产生的网络流量;(2)对这些数据流按照等价四元组进行分类,形成多个由四元组标识的数据流集合;将四元组信息相同的数据流聚集在一个四元组标识的数据流集合U中,四元组分类后的数据流集合U={f1,f2……,fn},fi表示数据流,其中fi和fj的四元组信息相同;(3)采用基于时间戳的数据流聚类算法对数据流集合中的数据流进行聚类,形成数据流簇;(4)在数据流簇上提取数据流最小差异度和源端口有序度:数据流簇的最小数据流差异度的判断,数据流簇中两条数据流差异度diff计算方法为:diff=Σi=1n-1(((ti+1-ti)-(ti+1′-ti′))2+(qi-qi&prime;)2)n-1]]>数据流簇的最小数据流差异度min_diff是所有数据流差异度diff的最小值;数据流簇的端口有序度的判断,数据流簇的源端口有序度order计算方法为:order=n-1Σi=1n-2[(ai+1-ai)2-(ai+2-ai+1)2]2]]>其中n>2,ai表示第i(1≤i≤n)个端口号大小;(5)检测疑似木马:当数据流簇的最小数据流差异度min_diff=0,且数据流簇中且数据流数n>2(n为整数)时,判断为木马流量;或者,当数据流簇的最小数据流差异度0<min_diff<0.375且源端口号有序度order>0.45时,判断为木马流量。...

【技术特征摘要】
1.一种基于无控制端流量分析的木马检测方法,其特征在于:包括以下步骤:(1)将捕获的网络无控制端数据包进行整理:按照五元组信息和协议规范要求组织成数据流,数据流f={pkt1,pkt2,LL,pktn},数据流是多条五元组信息相同的数据包时间队列,其中n为数据流中数据包个数,pk表示顺序到达的数据包,各个数据流f由五元组信息标识;所述无控制端流量是指木马被控制端程序在无法连接到木马控制端情况下,产生的网络流量;其中,pk表示顺序到达的数据包,ti是第i个数据流的开始时间戳,1≤i≤n;(2)对这些数据流按照等价四元组进行分类,形成多个由四元组标识的数据流集合;将四元组信息相同的数据流聚集在一个四元组标识的数据流集合U中,四元组分类后的数据流集合U={f1,f2LL,fn},fi表示数据流,其中fj∈U,fi和fj的四元组信息相同;(3)采用基于时间戳的数据流聚类算法对数据流集合中的数据流进行聚类,形成数据流簇;基于时间戳的数据流聚类算法是:时间戳论域:设T={(t1,t′1),(t2,t′2),L,(tn,t′n),L}是待划分的数据流开始时间戳和结束时间戳集合,T中的每个对象ti是第i个数据流的开始时间戳,t′i是第i个数据流的结束时间戳;簇半径阈值:设ε为簇半径阈值,数据流簇的结束时间和下个数据流的开始时间间隔小于该阈值的将被聚类在一个数据流簇中;簇集合:设Sj={c1,c2,L,cm}是数据流集合Sj经划分得到的一个个数据流簇的集合,P(ci)={ci1,ci2,L,cik}是Sj中的每个数据流簇ci(1≤i≤m)的特征矢量;界标窗口:选取界标窗口来存储时间戳论域T,界标窗口的长度ΔW为起始时间点到当前时间点为止记录的数据流个数;基于时间戳的数据流聚类算法以数据流集合S和簇半径阈...

【专利技术属性】
技术研发人员:刘胜利王文冰武东英
申请(专利权)人:刘胜利
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1