CN103491107A - 基于网络数据流簇聚类的木马通信特征快速提取方法 - Google Patents

基于网络数据流簇聚类的木马通信特征快速提取方法 Download PDF

Info

Publication number
CN103491107A
CN103491107A CN201310478492.0A CN201310478492A CN103491107A CN 103491107 A CN103491107 A CN 103491107A CN 201310478492 A CN201310478492 A CN 201310478492A CN 103491107 A CN103491107 A CN 103491107A
Authority
CN
China
Prior art keywords
bunch
packet
communication
wooden horse
data flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310478492.0A
Other languages
English (en)
Other versions
CN103491107B (zh
Inventor
刘胜利
王文冰
胥攀
杨杰
费金龙
刘龙
兰景宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University Strategic Support Force of PLA
Original Assignee
刘胜利
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 刘胜利 filed Critical 刘胜利
Priority to CN201310478492.0A priority Critical patent/CN103491107B/zh
Publication of CN103491107A publication Critical patent/CN103491107A/zh
Application granted granted Critical
Publication of CN103491107B publication Critical patent/CN103491107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于网络数据流簇聚类的木马通信特征快速提取方法,首先,将捕获的网络数据流按照基于时间戳的数据流簇聚类算法分成数据包簇,然后按照四元组进行会话划分会话链表;然后,进行木马通信特征的提取,木马通信特征的提取含有连接保持无操作阶段木马通信特征的提取和操作阶段木马通信特征的提取。本发明在对网络数据流进行簇聚类的基础上,以簇为单位处理网络数据包,针对窃密型木马通信过程的不同阶段,分析木马通信行为与正常网络通信行为的差别,并结合传统的统计分析、相关分析和时频分析等技术,深入挖掘二者之间的差别并提取网络通信特征,在保证检测精度的同时提高检测效率,利用本发明可以实现对网络中的窃密行为进行检测。

Description

基于网络数据流簇聚类的木马通信特征快速提取方法
技术领域
本发明涉及一种木马通信特征的提取方法,特别是涉及一种基于网络数据流簇聚类的木马通信特征快速提取方法。
背景技术
当前的窃密攻击大多数是采用木马实现,木马最大的特点即是其行为往往带有较强的隐蔽性。木马被成功植入到目标计算机后,木马控制端必须和被控端进行通信,以便给被控端下达控制指令或者控制被控端将所获取的信息回传给控制端。目前,现有的窃密型木马检测技术主要采用特征码匹配技术。相较于基于特征码匹配的检测技术,基于通信行为特征分析的检测技术在时效性和扩展性方面具有明显优势,有利于发现潜在的、未知的网络窃密行为和威胁,具有更广的应用前景。然而基于通信行为的木马检测算法往往存在计算复杂度较高的问题,在实时监控应用中,给监控系统带来庞大的计算开销。因此,如何有效提取木马通信特征,设计具有高检测性能且计算复杂度较低的检测算法,进而实时有效的检测窃密型木马的网络通信行为就成为当前一个重要的理论和技术问题。
基于通信行为的木马检测方法很多,但大部分已有方法的检测通用性较差,而且计算效率不高。
Borders等利用HTTP请求的时间间隔、请求包大小、包头格式、带宽占用、请求规则等特征构造各种过滤器检测木马通信。然而,木马可以通过在通信细节上的简单改变绕过文章中所构造的各种过滤器。例如:木马只需将请求包的大小限制在某一阈值内即可使请求包大小过滤器失去功效。此种方法只能针对HTTP协议进行检测,通用性较差。而且此种方法还需要对数据包内容进行详细解析,效率较低。
Pack等提出了一种通过使用数据流的行为轮廓对HTTP隐蔽通道进行检测的方法。行为轮廓基于大量的度量,如平均数据包大小、小数据包和大数据包比例、数据包模型变化、所有发送/接收数据包的总数和连接时间。如果一个数据流的观察特性偏离正常HTTP数据包的行为轮廓,则极有可能是HTTP隐蔽通道。方法主要针对HTTP隧道进行检测,通用性较差。
Tumoian等利用正常协议产生的连续TCP ISN号来训练Elman网络,然后将实际的ISN号与神经网络所预测的ISN号比对,当实际值与预测值的差异超过预先设定的阈值时则认为有隐蔽通道存在。作者通过这种方法实现了对NUSHU隐蔽通道的检测。但该方法只能对特定木马通信进行检测同样不具备通用性。
Zhang和Paxson利用数据包到达时间间隔和数据包大小描述了一种木马通信交互模型,用于检测木马和后门等恶意程序。该模型对木马通信行为进行如下描述:1、木马通信过程中相邻数据包到达时间间隔符合帕累托分布;2、由于木马通信过程中存在命令交互,所以小数据包应占一定比例。但实际木马通信过程中可以通过不同的算法使相邻数据包到达时间间隔满足各种分布要求,加之数据包到达时间间隔在很大程度上会受到网络拓扑的影响,所以数据包到达时间间隔用其作为行为描述存在一定弊端。且木马通信过程中的短命令可以隐藏在较大的HTML页面信息中,所以强调通信过程中的小数据包的比例并不能实现有效检测。
以下对本发明涉及的基本概念进行解释。
木马心跳:为了表征自身的存活性,木马会在客户端和服务器端之间建立并保持一个会话,直到任意一端的木马程序关闭或网络连接断开。这种会话的保持是通过向对方发送数据包来实现的。由于这种数据包大部分采用定时发送的方式,其存在方式和意义类似于动物的心脏跳动,故被称为“心跳包”。
心跳间隙:相邻的两次“心跳”过程间会有一定的时间间隔,称之为“心跳间隙”。根据“心跳间隙”是否为恒定值,可以将木马心跳方式分为以下两种:1、定时长心跳,即“心跳间隙”为恒定值。2、变时长心跳。由于定时长心跳规律明显,难以抵抗统计分析。因此攻击者常采用各种算法来将“心跳间隙”随机化,使其不再具有明显统计特征来抵抗检测。特别的,定时长心跳也可视为变时长心跳的平凡情形。
心跳过程:木马在每次发送“心跳包”时,木马被控端和控制端程序可能还会向对方发送一些其他数据包,表示对所收到数据包的确认,将“心跳包”和伴随其发送的一组确认数据包称为“心跳过程”。
木马通信过程:木马通信过程可分为两个阶段:保持连接无操作阶段和操作阶段。木马被植入到目标系统后,攻击者只会在有限的时间段内对木马进行操作(此时木马通信处于操作阶段),其余大部分时间木马都处于空闲状态。部分木马在空闲状态下保持与攻击者之间联系过程称为保持连接无操作阶段。
四元组:称{源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}为等价四元组。
非交互通信:由程序自动发送和接收的数据包通信。
交互通信:由人为操作引起的数据包传输过程。
数据包簇:网络数据包按照通信过程划分算法,进行簇聚类,而得到属于同一簇的数据包集合。
发明内容
本发明要解决的技术问题是:克服现有技术的缺陷,提供一种基于网络数据流簇聚类的木马通信特征快速提取方法,该方法能够通过网络数据流簇聚类,有效提取窃密型木马的通信特征,具有较高的检测性能和计算效率。
本发明的技术方案:一种基于网络数据流簇聚类的木马通信特征快速提取方法,
首先,将捕获的网络数据流,按照基于时间戳的数据流簇聚类算法分成数据包簇,所述基于时间戳的数据流簇聚类算法是:
时间戳论域:设T={t1,t2,…,tn,…}是待划分通信过程的数据包时间戳集合(时间戳论域为一个集合),T中的每个对象ti是第i个数据包的时间戳,ti单位为秒,i、n为大于0的自然数;
簇半径阈值:设ε为簇半径阈值,相邻数据包的时间戳间隔小于该阈值的将被聚类在一个簇中;
簇集合:设数据流为Sj,数据流Sj={c1,c2,…,cm}是经划分得到的一次通信过程的簇的集合,P(ci)=(ci1,ci2,…,cik)是Sj中的每个簇对象ci的特征矢量;在聚类得到簇之后根据特征矢量将簇分类,m为大于0的自然数;
界标窗口:因为数据包是顺序到达的,因此选取界标窗口来存储时间戳论域T,界标窗口的长度ΔW为起始时间点到当前时间点为止记录的数据包的个数;
将数据包簇按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用链表作为记录会话的数据结构,构建基于四元组的数据包簇的会话链表;
基于时间戳的数据流簇聚类算法以数据流S和簇半径阈值ε为输入,数据流S使用TCP会话四元组标识,簇半径阈值ε的单位为秒,以生成的簇集合S′={(ci,P(ci))|(1≤i≤m)}为输出;顺序遍历数据流中的每个数据包,通过计算当前数据包与前一个数据包的时间间隔判断加入当前簇还是新建簇;1≤i≤m,1≤j≤m,i、j、m、n分别为大于0的自然数;(S是输入的数据流和数据流Sj是经过聚类后的数据流)
计算簇集合S′时,顺序遍历数据流中的每个数据包,通过计算当前数据包与前一个数据包的时间间隔判断加入当前簇还是新建簇,方法如下:
(1)如果数据流中没有簇,则建立一个簇,然后接收数据流中下一个数据包;
(2)如果改数据包的到达时间和上一个的数据包到达时间差小于定义的簇半径阈值,则将该数据包加入到簇中,更新簇的信息;
(3)如果数据包的到达时间和上一个数据包的到达时间大于簇半径阈值,则新建立一个簇。
簇集合S′的算法如下:
输入:数据流S,簇半径阈值ε;
输出:生成的簇集合S′;
BEGIN
(1)j=0,ΔW=0;初始化簇数量j=0,窗口长度ΔW=0,记录簇和数据包的个数;
(2)while;数据流S未结束&S中新到达数据包的时间戳为ti
(3)If(j=0)j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj);
(4)else If(ti-ti-1≤ε)ti∈cj,更新簇矢量P(cj),ΔW++;
(5)else j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj);
(6)End If;
(7)Endwhile;
END
所述四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率;系统针对数据包四元组中各元素的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表。
系统利用哈希表+多级链表的结构记录源IP地址分量,源端口分量、目的IP地址分量、目的端口分量依次分别建立多级链表,系统选取源IP地址的最后1个字节进行哈希值的计算建立哈希表。
获取“心跳间隙”的平稳性的方法为:取单向会话数据流的时间间隔采样结果为:
Figure BDA0000395116550000061
其中X表示数据包时间间隔采样集合,单位为秒,xi表示第i个采样值,n表示样本量,1≤i≤n;
Figure BDA0000395116550000062
为对X进行离散傅立叶变换(DFT)后的特征向量,其中yi表示经过离散傅立叶变换变换后的第i个系数;“心跳间隙”的平稳性定义为Stability:
Stability = Σ i = 2 n | y i | n - 1 ≤ ω
其中,ω为阈值。
取单向会话数据流的时间间隔采样结果为:
Figure BDA0000395116550000064
其中X表示数据包时间间隔采样集合,单位为秒,xi表示第i个采样值,n表示样本量,1≤i≤n;
Figure BDA0000395116550000065
为对X进行离散傅立叶变换(DFT)后的特征向量,其中yi表示经过离散傅立叶变换变换后的第i个系数;“心跳间隙”的平稳性定义为Stability:
Stability = x 4 i - x 4 i - 1 - x 4 i - 2 + x 4 i - 3 4 ≤ ω
其中,ω为阈值。
本发明的有益效果:
本发明在对网络数据流进行簇聚类的基础上,以簇为单位处理网络数据包,针对窃密型木马通信过程的不同阶段,分析木马通信行为与正常网络通信行为的差别,并结合传统的统计分析、相关分析和时频分析等技术,深入挖掘二者之间的差别并提取网络通信特征,在此基础上,可根据通信行为特征的自身特点设计快速的窃密型木马通信行为检测算法,在保证检测精度的同时提高检测效率,利用本发明可以实现对网络中的窃密行为进行检测。
附图说明
图1为木马通信相邻数据包到达时间间隔示意图(pcshare);
图2为正常网络通信相邻数据包到达时间间隔示意图;
图3为基于时间戳的数据流簇聚类效果;
图4为会话链表结构图;
图5为DFT采样图。
具体实施方式
实施例1:基于网络数据流簇聚类的木马通信特征快速提取方法为:
首先,将捕获的网络数据流,按照设计的基于时间戳的数据流簇聚类算法分成数据包簇,然后将数据包簇按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用链表作为记录会话的数据结构;然后,进行木马通信特征的提取,木马通信特征的提取含有连接保持无操作阶段木马通信特征的提取和操作阶段木马通信特征的提取,最后结合构建的会话链表和提取的木马通信特征,进行快速和高效的木马检测。
1、基于时间戳的数据流簇聚类算法
相邻数据包到达时间间隔的差异性,因此给出了基于时间戳的数据流簇聚类算法,将数据流聚类为表示人为操作的通信行为簇,以簇的特征表示此次操作行为的特征,下面给出具体的算法描述。
①基本定义
定义1 时间戳论域:设T={t1,t2,…,tn,…}是待划分通信过程的数据包时间戳集合,T中的每个对象ti是第i个数据包的时间戳。
定义2 簇半径阈值:设ε为簇半径阈值,相邻数据包的时间戳间隔小于该阈值的将被聚类在一个簇中。
定义3 簇集合:设Sj={c1,c2,…,cm}是数据流Sj经划分得到的一次通信过程的簇的集合,P(ci)=(ci1,ci2,…,cik)是Sj中的每个对象ci(1≤i≤m)的特征矢量。在聚类得到簇之后根据特征矢量将簇分类。1≤i≤m,1≤j≤m,i、j、m、n分别为大于或等于1的自然数。
定义4 界标窗口:因为数据包是顺序到达的,因此选取界标窗口来存储时间戳论域T,界标窗口的长度ΔW为起始时间点到当前时间点为止记录的数据包的个数。
②算法描述
基于时间戳的数据流簇聚类算法以数据流S和簇半径阈值ε为输入,数据流S使用TCP会话四元组标识,簇半径阈值ε的单位为秒,以生成的S′={(ci,P(ci))|(1≤i≤m)}为输出。顺序遍历数据流中的每个数据包,通过计算当前数据包与前一个数据包的时间间隔判断加入当前簇还是新建簇,具体算法如下:
输入:数据流S,簇半径阈值ε;
输出:生成的簇集合S′。
BEGIN
(1)初始化簇数量j=0,窗口长度ΔW=0;//记录簇和数据包的个数
(2)while(数据流S未结束&S中新到达数据包的时间戳为ti);
(4)If(j=0)j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj);
(5)else If(ti-ti-1≤ε)ti∈cj,更新簇矢量P(cj),ΔW++;
(6)else j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj);
(7)End If;
(8)Endwhile;
END
通过基于时间戳的数据流簇聚类,网络数据流按簇进行划分的效果如图3所示。每个簇内的网络会话数据包之间具有较强的时间相关性,簇与簇之间的时间间隔反映行为的阶段性。由于人为的操作行为和机器自动响应的时间存在较大的差异,预处理实现时将机器响应时间内的包划分在一个簇中,人为的操作分布在不同的簇中,就可以保证网络通信行为的过程以簇为单位进行描述。
2、构建基于四元组的数据包簇的会话链表
将数据包簇按照四元组进行会话划会,每一个会话链表用四元组进行标识,系统需要根据数据包中四元组查找相应的会话,将数据包簇的信息添加到相应的会话链表中;因此四元组的记录形式和查找速度将直接影响系统效率。
四元组可以使用多维数组或多级链表进行保存;多维数组具有存储效率高、查找方便、存取速度快等优点,但是多维数组要求预先为其分配存储空间,一旦建立无法改变多维数组大小,容易造成空间浪费,而且网络会话数量不固定,无法为其预先分配空间;链表的优点是可动态添加或删除、不需要预先分配空间,但缺点是查找速度慢;
系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;这样虽然牺牲了一定的存储空间,但提高了查找效率。系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率。
系统针对数据包四元组中各元素的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表,这样可以获得更高的查找效率,具体以数组链表结构为例分析如下:
设会话数量为S,若将所有的会话以单链表的形式进行组建,每次系统接收到数据包后都要对会话链表进行顺序查找(顺序查找的平均时间复杂度为
Figure BDA0000395116550000109
)。
以数组链表的形式记录会话,设数组长度为n,数组的第i个节点下的会话链表个数为αi,则产生第i个节点的概率为
Figure BDA0000395116550000102
1≤i≤n。
对链表进行查询的平均时间复杂度为:
O ( α i S · α i 2 ) = O ( α i 2 ) 2 S
根据定理均方根大于等于算术平均数可得:
Σ i = 1 n α i 2 n ≥ Σ i = 1 n α i n = S n
将不等式两边同时平方可得:
Σ i = 1 n α i 2 ≥ S 2 n
当且仅当α12=…=αn时,其中
Figure BDA0000395116550000107
Figure BDA0000395116550000108
最小。
由此可知当数组等分链表时查找的时间复杂度最低:
Figure BDA0000395116550000111
该时间复杂度小于单链表的查找时间复杂度。
四元组中元素的取值范围和会话数量按各元素取值的分布情况:
(1)源IP地址(内网主机IP地址):源IP地址的取值范围为:10.0.0.0~10.255.255.25、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255,相对互联网而言,源IP地址空间小且分布均匀。
(2)源端口:根据协议规定源端口一般使用1024~65535之间的任意端口,源端口的取值空间较大,而且很可能出现所有网络会话均使用不同源端口的情况,因此,使用源端口作为第一级链表和直接建立单链表的查找时间复杂度相差不大。
(3)目的IP地址:目的IP地址的取值范围为整个IPv4地址空间,范围巨大而且分布无序,使用其作为一级链表与使用源端口作为一级链表的情况相同。
(4)目的端口:目的端口一般为协议的制定端口,范围主要集中在1~1023之间,但当前的网络通信中以HTTP、HTTPS等协议为主,因此大部分网络通信的目的端口为80、443、8080等端口,这直接导致网络会话数量按照目的端口分布的不均匀性,使用目的端口作为一级链表对降低时间复杂度没有太大的帮助。
综上所述,源IP地址取值范围较小而且分布均匀,会话数量按照源IP地址的分布更为均匀,符合设计要求。而目的端口的分布最不均匀,绝大部分的会话都集中在少数几个通信端口上,若以其作为一级链表,大部分会话分布将集中在少数几个端口节点下,查找时间没有得到明显优化。
系统利用哈希表+多级链表的结构记录源IP地址分量,源端口分量、目的IP地址分量、目的端口分量,依次分别建立多级链表,系统选取源IP地址的最后1个字节进行哈希值的计算建立哈希表,这是因为:局域网的IP地址本身规律性较强,但是局域网的IP地址范围分为3个地址段,每个地址段所能容纳的主机数量也不同,无法以整个IP地址字段建立哈希表。相对而言IP地址的最后1个字节的分布更为均匀,而且一般都是连续分配,其分布范围为1~254。
在理想状态下,通过此种方法进行改进后查找时间复杂度为原来的1/254,系统效率得到明显提升,用于提取会话的链表结构如图4所示。
3、木马通信特征的提取
在进行基于数据流簇聚类的基础上,木马通信特征的提取含有连接保持无操作阶段木马通信特征的提取和操作阶段木马通信特征的提取;
连接保持无操作阶段的木马通信与正常网络通信的差别是由“心跳包”造成的,因此,连接保持无操作阶段的木马行为检测可以通过检测“心跳包”来实现,“心跳包”具有明显的统计特征,连接保持无操作阶段木马通信特征的提取采用传统的统计分析方法。
在连接保持无操作阶段木马通信特征的提取中,提取两个数据包簇统计特征用于检测木马在连接保持无操作阶段的通信行为,该两个数据包簇统计特征为:“心跳过程”接收和发送的数据包比例相等、“心跳间隙”的平稳性小于阈值;
“心跳过程”接收和发送的数据包比例相等是指:不同木马的心跳形式可能会存在差别,但是对于同一个木马而言其心跳过程是不变的,在每个“心跳过程”木马行为是一致的,发送和接收的数据包的数量也是相同的;
所述“心跳间隙”的平稳性小于阈值是指:当“心跳间隙”的平稳性小于阈值时,则判定其为木马通信,反之则为正常网络通信;
取单向会话数据流的时间间隔采样结果(单位:秒)为:
Figure BDA0000395116550000121
其中X表示数据包时间间隔采样集合,xi表示第i个采样值,n表示样本量。
Figure BDA0000395116550000122
为对X进行离散傅立叶变换(DFT)后的特征向量,其中yi表示经过DFT变换后的第i个系数。
“心跳间隙”的平稳性定义为:
Stability = Σ i = 2 n | y i | n - 1 ≤ ω
其中,Stability为“心跳间隙”的平稳性,ω为阈值。
由于频域系数的计算复杂度较高,还可以基于二次haar小波分解的本质构造计算复杂度较低的可检测变长心跳包的统计量。
w 2 i = x 2 i - x 2 i - 1 2 , w 2 i ′ = w 2 i - w 2 i - 1 2 ;
则有 w 4 i ′ = w 4 i - w 4 i - 2 2 = x 4 i - x 4 i - 1 - x 4 i - 2 + x 4 i - 3 4 ,
其中w4i′相当于二次haar小波分解后的高频系数,此时“心跳间隙”的平稳性还可以定义为:
Stability = x 4 i - x 4 i - 1 - x 4 i - 2 + x 4 i - 3 4 ≤ ω
木马的“心跳间隙”并不像心跳过程一样恒定不变,为了躲避统计分析,部分木马设计了专门的算法用来产生可变的“心跳间隙”,其目的是用变化的“心跳间隙”来隐藏恒定的心跳过程,使木马心跳变得无规律可循。
在正常的网络通信过程中,访问发起受到用户的控制,用户根据需要和个人喜好进行网络访问,发起时机完全是随机的。但是木马程序以保证通信的稳定性为首要任务,因此所使用各种算法也只是产生伪随机的“心跳间隙”,与正常网络通信仍然存在一定的差别。在这里我们采用时频分析技术来提取检测特征。
原始数据包时间间隔采样结果记为:
Figure BDA0000395116550000136
其中X表示数据包时间间隔采样集合,xi表示具体的采样值。
离散傅立叶变换变换(DFT)变换公式为:
Figure BDA0000395116550000141
其中yi表示经过DFT变换后的采样值。
经过DFT变换后的“心跳间隙”和正常网络通信的数据包时间间隔如图5所示,图5中的a、b、d、e子图表示木马“心跳间隙”采样数据的DFT变换结果,其中a、b子图表示采用定时长方式进行心跳的木马样本,而d、e子图表示采用变时长方式进行心跳的木马样本。c、f子图表示正常网络通信的数据包时间间隔的DFT变换结果。分析结果表明:正常网络通信数据包的时间间隔转换到频域后,其中频和高频系数都比较大,这表明正常网络通信数据包的时间间隔表现出非平稳信号的特性。这与正常网络通信的随机性相符。木马“心跳间隙”则相反,由于木马心跳具有一定的规律导致其表现出相对平稳信号的特性。其中采用定时长方式进行心跳的木马,由于心跳规律非常明显,使得其信号的中高频系数几乎为0;而变时长心跳的木马,尽管采用了各种伪装的方式,但仍未能模拟随机行为,所以其信号特性虽表现出一定的波动性,但与正常网络通信相比还是较为平稳。
相对于连接保持无操作阶段而言,交互操作阶段更为复杂,提取特征更为困难,因此需要剖析整个操作数据包簇并与正常数据包簇进行对比分析。通过大量的样本分析和实验发现正常的网络数据包簇和木马操作数据包簇在许多统计特征上都存在明显的差异。
操作阶段木马通信特征的提取分四个方面,分别为:
第一:针对木马通信过程的长时交互的特点,分别提取以下行为特征:通信时长和通信小包数量。木马通信过程中,命令交互、文件资源搜索和文件传输需要大量的等待时间,再加上人类的思考时间,使得通信持续时间较长。将长度小于200字节的数据包称为通信小包,否则称为通信大包;控制端发送数据包绝大部分为通信小包,部分木马程序发送的承载主机信息的数据包也小于200字节。
第二:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主机的信息和文件资源异常上传通信量,木马程序根据控制命令将被控主机的信息和文件资源不断上传,导致会话上传数据量偏大。
第三:针对木马通信过程中数据包分布特点,提取以下行为特征:接收小包数量与会话小包数量的比值,该特征值大于0.5时为异常特征;通信过程中接收到的绝大部分是控制命令,所以接收到的基本都是小包;而会话发送的信息以大包为主。
第四:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:会话上传数据量与下载数据量的比值,该特征值大于1时为异常特征;数据流向表现为上传流实际是说明通信过程中上传数据量大于下载数据量。
通信时长、通信小包数量、被控主机的信息和文件资源异常上传通信量、会话接收小包数量与会话小包数量的比值、会话上传数据量与下载数据量的比值这些特征的定义均以被控主机为参照物;其中提到的接收和发送均是相对于被控主机而言的。

Claims (6)

1.一种基于网络数据流簇聚类的木马通信特征快速提取方法,其特征在于, 
首先,将捕获的网络数据流,按照基于时间戳的数据流簇聚类算法分成数据包簇,所述基于时间戳的数据流簇聚类算法是: 
时间戳论域:设T={t1,t2,…,tn,…}是待划分通信过程的数据包时间戳集合,T中的每个对象ti是第i个数据包的时间戳,ti单位为秒,i、n为大于0的自然数; 
簇半径阈值:设ε为簇半径阈值,相邻数据包的时间戳间隔小于该阈值的将被聚类在一个簇中; 
簇集合:设数据流为Sj,数据流Sj={c1,c2,…,cm}是经划分得到的一次通信过程的簇的集合,P(ci)=(ci1,ci2,…,cik)是Sj中的每个簇对象ci的特征矢量;在聚类得到簇之后根据特征矢量将簇分类,m为大于0的自然数; 
界标窗口:因为数据包是顺序到达的,因此选取界标窗口来存储时间戳论域T,界标窗口的长度ΔW为起始时间点到当前时间点为止记录的数据包的个数; 
将数据包簇按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用链表作为记录会话的数据结构,构建基于四元组的数据包簇的会话链表; 
基于时间戳的数据流簇聚类算法以数据流S和簇半径阈值ε为输入,数据流S使用TCP会话四元组标识,簇半径阈值ε的单位为秒,以生成的簇集合S′={(ci,P(ci))|(1≤i≤m)}为输出;顺序遍历数据流中的每个数据包,通过计算当前数据包与前一个数据包的时间间隔判断加入当前簇还是新建簇;1≤i≤m,1≤j≤m,i、j、m、n分别为大于0的自然数; 
计算簇集合S′时,顺序遍历数据流中的每个数据包,通过计算当前数据包与前一个数据包的时间间隔判断加入当前簇还是新建簇,方法如下: 
(1)如果数据流中没有簇,则建立一个簇,然后接收数据流中下一个数据包; 
(2)如果改数据包的到达时间和上一个的数据包到达时间差小于定义的簇半径阈值,则将该数据包加入到簇中,更新簇的信息; 
(3)如果数据包的到达时间和上一个数据包的到达时间大于簇半径阈值,则新建立一个簇; 
然后,进行木马通信特征的提取,木马通信特征的提取含有连接保持无操作阶段木马通信特征的提取和操作阶段木马通信特征的提取; 
在连接保持无操作阶段木马通信特征的提取中:提取两个数据包簇统计特征用于检测木马在连接保持无操作阶段的通信行为,该两个数据包簇统计特征为:“心跳过程”接收和发送的数据包比例相等、“心跳间隙”的平稳性小于阈值;所述“心跳过程”接收和发送的数据包比例相等是指:不同木马的心跳形式可能会存在差别,但是对于同一个木马而言其心跳过程是不变的,在每个“心跳过程”木马行为是一致的,发送和接收的数据包的数量也是相同的;所述“心跳间隙”的平稳性小于阈值是指:当“心跳间隙”的平稳性小于阈值时,则判定其为木马通信,反之则为正常网络通信; 
操作阶段木马通信特征的提取分四个方面,分别为: 
第一:针对木马通信过程的长时交互的特点,分别提取以下行为特征:通信时长、通信小包数量;将长度小于200字节的数据包称为通信小包; 
第二:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主机的信息和文件资源异常上传通信量; 
第三:针对木马通信过程中数据包分布特点,提取以下行为特征:会话接收小包数量与会话小包数量的比值,该特征值大于0.5时为异常特征; 
第四:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:会话上传数据量与下载数据量的比值,该特征值大于1时为异常特征; 
所述通信时长、通信小包数量、被控主机的信息和文件资源异常上传通信量、会话接收小包数量与会话小包数量的比值、会话上传数据量与下载数据量的比值这些特征的定义均以被控主机为参照物。 
2.根据权利要求1所述的方法,其特征在于, 
簇集合S′的算法如下: 
输入:数据流S,簇半径阈值ε; 
输出:生成的簇集合S′; 
BEGIN 
(1)j=0,ΔW=0;初始化簇数量j=0,窗口长度ΔW=0,记录簇和数据包的个数; 
(2)while;数据流S未结束&S中新到达数据包的时间戳为ti
(3)If(j=0)j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj); 
(4)else If(ti-ti-1≤ε)ti∈cj,更新簇矢量P(cj),ΔW++; 
(5)else j++,ΔW++;以ti为起始建立新的簇cj,创建簇矢量P(cj); 
(6)End If; 
(7)Endwhile; 
END 。
3.根据权利要求1所述的方法,其特征在于,所述四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率;系统针对数据包四元组中各元素 的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表。 
4.根据权利要求2所述的方法,其特征在于,系统利用哈希表+多级链表的结构记录源IP地址分量,源端口分量、目的IP地址分量、目的端口分量依次分别建立多级链表,系统选取源IP地址的最后1个字节进行哈希值的计算建立哈希表。 
5.根据权利要求1所述的方法,其特征在于,获取“心跳间隙”的平稳性的方法为:取单向会话数据流的时间间隔采样结果为:其中X表示数据包时间间隔采样集合,单位为秒,xi表示第i个采样值,n表示样本量,1≤i≤n;为对X进行离散傅立叶变换(DFT)后的特征向量,其中yi表示经过离散傅立叶变换变换后的第i个系数;“心跳间隙”的平稳性定义为Stability: 
Figure FDA0000395116540000043
其中,ω为阈值。 
6.根据权利要求1所述的方法,其特征在于,取单向会话数据流的时间间隔采样结果为:
Figure FDA0000395116540000044
其中X表示数据包时间间隔采样集合,单位为秒,xi表示第i个采样值,n表示样本量,1≤i≤n;
Figure FDA0000395116540000045
为对X进行离散傅立叶变换后的特征向量,其中yi表示经过离散傅立叶变换变换后的第i个系数;“心跳间隙”的平稳性定义为Stability: 
Figure FDA0000395116540000046
其中,ω为阈值。 
CN201310478492.0A 2013-10-14 2013-10-14 基于网络数据流簇聚类的木马通信特征快速提取方法 Active CN103491107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310478492.0A CN103491107B (zh) 2013-10-14 2013-10-14 基于网络数据流簇聚类的木马通信特征快速提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310478492.0A CN103491107B (zh) 2013-10-14 2013-10-14 基于网络数据流簇聚类的木马通信特征快速提取方法

Publications (2)

Publication Number Publication Date
CN103491107A true CN103491107A (zh) 2014-01-01
CN103491107B CN103491107B (zh) 2017-01-04

Family

ID=49831066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310478492.0A Active CN103491107B (zh) 2013-10-14 2013-10-14 基于网络数据流簇聚类的木马通信特征快速提取方法

Country Status (1)

Country Link
CN (1) CN103491107B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283897A (zh) * 2014-10-29 2015-01-14 刘胜利 基于多数据流聚类分析的木马通信特征快速提取方法
CN104468507A (zh) * 2014-10-28 2015-03-25 刘胜利 基于无控制端流量分析的木马检测方法
CN105262729A (zh) * 2015-09-11 2016-01-20 携程计算机技术(上海)有限公司 木马检测方法及系统
CN106571973A (zh) * 2016-09-28 2017-04-19 杭州鸿雁智能科技有限公司 心跳包超时管理方法及系统
CN112215287A (zh) * 2020-10-13 2021-01-12 中国光大银行股份有限公司 基于距离的多节聚类方法和装置、存储介质及电子装置
CN115134096A (zh) * 2021-03-11 2022-09-30 深信服科技股份有限公司 一种rat连接检测方法、流量审计设备及介质
CN115776449A (zh) * 2022-11-08 2023-03-10 中车工业研究院有限公司 列车以太网通信状态监测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201937A (zh) * 2011-06-13 2011-09-28 刘胜利 基于心跳行为分析的快速木马检测方法
CN102202064A (zh) * 2011-06-13 2011-09-28 刘胜利 基于网络数据流分析的木马通信行为特征提取方法
WO2013091534A1 (zh) * 2011-12-20 2013-06-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201937A (zh) * 2011-06-13 2011-09-28 刘胜利 基于心跳行为分析的快速木马检测方法
CN102202064A (zh) * 2011-06-13 2011-09-28 刘胜利 基于网络数据流分析的木马通信行为特征提取方法
WO2013091534A1 (zh) * 2011-12-20 2013-06-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邢云冬,刘胜利: ""木马网络通信特征提取模型的设计与实现"", 《计算机工程与设计》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468507A (zh) * 2014-10-28 2015-03-25 刘胜利 基于无控制端流量分析的木马检测方法
CN104468507B (zh) * 2014-10-28 2018-01-30 刘胜利 基于无控制端流量分析的木马检测方法
CN104283897A (zh) * 2014-10-29 2015-01-14 刘胜利 基于多数据流聚类分析的木马通信特征快速提取方法
CN104283897B (zh) * 2014-10-29 2017-12-08 刘胜利 基于多数据流聚类分析的木马通信特征快速提取方法
CN105262729A (zh) * 2015-09-11 2016-01-20 携程计算机技术(上海)有限公司 木马检测方法及系统
CN105262729B (zh) * 2015-09-11 2018-07-31 携程计算机技术(上海)有限公司 木马检测方法及系统
CN106571973A (zh) * 2016-09-28 2017-04-19 杭州鸿雁智能科技有限公司 心跳包超时管理方法及系统
CN112215287A (zh) * 2020-10-13 2021-01-12 中国光大银行股份有限公司 基于距离的多节聚类方法和装置、存储介质及电子装置
CN112215287B (zh) * 2020-10-13 2024-04-12 中国光大银行股份有限公司 基于距离的多节聚类方法和装置、存储介质及电子装置
CN115134096A (zh) * 2021-03-11 2022-09-30 深信服科技股份有限公司 一种rat连接检测方法、流量审计设备及介质
CN115776449A (zh) * 2022-11-08 2023-03-10 中车工业研究院有限公司 列车以太网通信状态监测方法及系统
CN115776449B (zh) * 2022-11-08 2023-10-03 中车工业研究院有限公司 列车以太网通信状态监测方法及系统

Also Published As

Publication number Publication date
CN103491107B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN102202064B (zh) 基于网络数据流分析的木马通信行为特征提取方法
CN102201937B (zh) 基于心跳行为分析的快速木马检测方法
CN103491107A (zh) 基于网络数据流簇聚类的木马通信特征快速提取方法
CN104283897B (zh) 基于多数据流聚类分析的木马通信特征快速提取方法
CN106936667B (zh) 一种基于应用程序流量分布式分析的主机实时识别方法
US20190222603A1 (en) Method and apparatus for network forensics compression and storage
US9781427B2 (en) Methods and systems for estimating entropy
CN102035698A (zh) 基于决策树分类算法的http隧道检测方法
US9350762B2 (en) Intelligent feedback loop to iteratively reduce incoming network data for analysis
CN105978897B (zh) 一种电力二次系统僵尸网络的检测方法
Hernández-Campos et al. Statistical clustering of internet communication patterns
Karimi et al. Distributed network traffic feature extraction for a real-time IDS
CN104468507A (zh) 基于无控制端流量分析的木马检测方法
CN105471635B (zh) 一种系统日志的处理方法、装置和系统
CN105530265A (zh) 一种基于频繁项集描述的移动互联网恶意应用检测方法
Clemm et al. DNA: An SDN framework for distributed network analytics
CN107659560A (zh) 一种用于海量网络数据流日志处理的异常审计方法
Park et al. Performance improvement of payload signature-based traffic classification system using application traffic temporal locality
CN105426407A (zh) 一种基于内容分析的web数据采集方法
CN101984635A (zh) P2p协议流量识别方法及系统
CN101883030B (zh) 一种基于ip地址随机测度的p2p节点检测方法
Liu et al. Complexity measures for IoT network traffic
CN113765891A (zh) 一种设备指纹识别方法以及装置
Han et al. An anomaly detection on the application-layer-based QoS in the cloud storage system
Kong et al. A novel botnet detection method based on preprocessing data packet by graph structure clustering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181220

Address after: 610000 Chengdu High-tech Zone, Sichuan Province, 2 buildings and 3 floors, No. 4, Xinhang Road

Patentee after: Sichuan Yuxin'an Electronic Technology Co., Ltd.

Address before: 450002 Unit 302, Building No. 7, 19, Jinxue Street, Jinshui District, Zhengzhou City, Henan Province

Patentee before: Liu Shengli

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200720

Address after: Room 302, unit 1, building 19, No.7, Jianxue street, Jinshui District, Zhengzhou City, Henan Province

Patentee after: Liu Shengli

Address before: 610000 Chengdu High-tech Zone, Sichuan Province, 2 buildings and 3 floors, No. 4, Xinhang Road

Patentee before: Sichuan Yuxin'an Electronic Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210108

Address after: 450000 Science Avenue 62, Zhengzhou High-tech Zone, Henan Province

Patentee after: Information Engineering University of the Chinese People's Liberation Army Strategic Support Force

Address before: Unit 302, unit 1, building 19, No.7 Jianxue street, Jinshui District, Zhengzhou City, Henan Province, 450000

Patentee before: Liu Shengli