CN102202064A - 基于网络数据流分析的木马通信行为特征提取方法 - Google Patents

基于网络数据流分析的木马通信行为特征提取方法 Download PDF

Info

Publication number
CN102202064A
CN102202064A CN2011101580551A CN201110158055A CN102202064A CN 102202064 A CN102202064 A CN 102202064A CN 2011101580551 A CN2011101580551 A CN 2011101580551A CN 201110158055 A CN201110158055 A CN 201110158055A CN 102202064 A CN102202064 A CN 102202064A
Authority
CN
China
Prior art keywords
communication
wooden horse
session
data
packet
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
CN2011101580551A
Other languages
English (en)
Other versions
CN102202064B (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 CN 201110158055 priority Critical patent/CN102202064B/zh
Publication of CN102202064A publication Critical patent/CN102202064A/zh
Application granted granted Critical
Publication of CN102202064B publication Critical patent/CN102202064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于网络数据流分析的木马通信行为特征提取方法;具体为:将木马通信过程分为三个阶段:建立连接阶段、连接保持无操作阶段和操作阶段;在建立连接阶段,进行DNS响应IP异常特征和DNS请求流量异常特征的提取;在连接保持无操作阶段,先将捕获的TCP协议数据按照网络会话进行整理,再提取如下会话统计特征:“心跳间隙”的平稳性小于阈值;在操作阶段,先将捕获的TCP协议数据按照网络会话进行整理,再提取如下特征:通信时长、通信小包数量、被控主机上传通信量、会话接收小包数量与会话小包数量的比值、被控端上传数据量与下载数据量的比值;本发明能够对木马通信进行全面的检测,具有较高的性能和计算效率。

Description

基于网络数据流分析的木马通信行为特征提取方法
(一)、技术领域:本发明涉及一种木马通信行为特征提取方法,特别是涉及一种基于网络数据流分析的木马通信行为特征提取方法。
(二)、背景技术:目前,现有的窃密型木马检测技术主要采用特征码匹配技术。相较于基于特征码匹配的检测技术,基于通信行为特征分析的检测技术在时效性和扩展性方面具有明显优势,有利于发现潜在的、未知的网络窃密行为和威胁,具有更广的应用前景。然而基于通信行为的木马检测算法往往存在计算复杂度较高的问题,在实时监控应用中,给监控系统带来庞大的计算开销。因此,如何设计具有高检测性能且计算复杂度较低的检测算法,进而实时有效的检测窃密型木马的网络通信行为就成为当前一个重要的理论和技术问题。
基于通信行为的木马检测方法很多,但大部分已有方法的检测通用性较差,检测能有力有限,而且计算效率不高。
Borders等利用HTTP请求的时间间隔、请求包大小、包头格式、带宽占用、请求规则等特征构造各种过滤器检测木马通信。然而,木马可以通过在通信细节上的简单改变绕过文章中所构造的各种过滤器。例如:木马只需将请求包的大小限制在某一阈值内即可使请求包大小过滤器失去功效。此种方法只能针对HTTP协议进行检测,通用性较差。而且此种方法还需要对数据包内容进行详细解析,效率较低。
Pack等提出了一种通过使用数据流的行为轮廓对HTTP隐蔽通道进行检测的方法。行为轮廓基于大量的度量,如平均数据包大小、小数据包和大数据包比例、数据包模型变化、所有发送/接收数据包的总数和连接时间。如果一个数据流的观察特性偏离正常HTTP数据包的行为轮廓,则极有可能是HTTP隐蔽通道。方法主要针对HTTP隧道进行检测,通用性较差。
Tumoian等利用正常协议产生的连续TCP ISN号来训练Elman网络,然后将实际的ISN号与神经网络所预测的ISN号比对,当实际值与预测值的差异超过预先设定的阈值时则认为有隐蔽通道存在。作者通过这种方法实现了对NUSHU隐蔽通道的检测。但该方法只能对特定木马通信进行检测同样不具备通用性。
Zhang和Paxson利用数据包到达时间间隔和数据包大小描述了一种木马通信交互模型,用于检测木马和后门等恶意程序。该模型对木马通信行为进行如下描述:1、木马通信过程中相邻数据包到达时间间隔符合帕累托分布;2、由于木马通信过程中存在命令交互,所以小数据包应占一定比例。但实际木马通信过程中可以通过不同的算法使相邻数据包到达时间间隔满足各种分布要求,加之数据包到达时间间隔在很大程度上会受到网络拓扑的影响,所以数据包到达时间间隔用其作为行为描述存在一定弊端。且木马通信过程中的短命令可以隐藏在较大的HTML页面信息中,所以强调通信过程中的小数据包的比例并不能实现有效检测。
(三)、发明内容:
本发明要解决的技术问题是:克服现有技术的缺陷,提供一种基于网络数据流分析的木马通信行为特征提取方法,该方法能够针对木马通信不同阶段的行为特点,通过分析网络数据流有效提取木马的通信行为特征,对木马通信进行全面的检测,具有较高的性能和计算效率。
本发明的技术方案:
一种基于网络数据流分析的木马通信行为特征提取方法,将木马通信过程分为三个阶段:建立连接阶段、连接保持无操作阶段和操作阶段,通过对网络数据流分析,分别针这三个阶段提取相应的通信行为特征;
目前主流木马采用如下连接模式:首先,木马被控端按照控制端预设的控制域名向远程域名服务器发送DNS请求,进而根据收到的DNS响应报文解析出控制端的IP地址,并向控制端的IP地址发起连接;建立连接阶段的木马通信与正常网络通信的区别包括:DNS响应IP异常和DNS请求流量异常。
DNS响应IP异常是由于部分木马程序被控端上线策略中采用了静默模式,所谓静默模式,即由于控制端在不需要被控端上线时,会将控制域名对应的IP改为特殊IP;当被控端收到内容为特殊IP的域名解析数据包时,进入静默状态;采用静默模式可增强木马的隐蔽性。
DNS请求流量异常是由于当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,从而反复大量的发出DNS请求。
在建立连接阶段,木马通信特征的提取含有DNS响应IP异常特征的提取和DNS请求流量异常特征的提取;
DNS响应IP异常特征的提取方法为:当被控端收到的域名解析数据包含有特殊IP时,即可判断发生了DNS响应IP异常,特殊I P是指国际互联网标准RFC规定的非广域网IP地址;常见的特殊IP如:127.0.0.1,0.0.0.0等。
DNS请求流量异常特征的提取方法为:首先,被控端将DNS数据包按照源IP进行划分,即每个源IP作为会话的唯一标识,并选用哈希表作为记录会话的数据结构;该哈希表的规模视实际情况而定,例如对C类网络采用256元的哈希表。其次,引入累加和算法(cumulative sums,CUSUM)的思想检测DNS请求流量异常,提取任意一个源IP对应的DNS流量特征序列其中xi表示在时间间隔t(单位:秒)内该源IP发出的DNS请求数据包的个数,n表示样本量;定义DNS请求流量特征为
Z 1 = 0 Z i = max { 0 , Z i - 1 + x i - k }
其中,k为区分参数,当Zi≥w时,即可判断发生了DNS请求流量异常,w为判断值;在n=20、t=30秒、k=5的情况下,通常取w=50;
在连接保持无操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行连接保持无操作阶段木马通信特征的提取;
连接保持无操作阶段的木马通信与正常网络通信的差别是由木马的心跳行为造成的。因此,检测连接保持无操作阶段的木马通信行为可以通过检测“心跳包”来实现。“心跳包”具有明显的统计特征,连接保持无操作阶段木马通信特征的提取采用传统的统计分析方法结合差分分析方法。
在连接保持无操作阶段木马通信特征的提取中,提取如下会话统计特征用于检测木马在连接保持无操作阶段的通信行为:“心跳间隙”的平稳性小于阈值;
相对于连接保持无操作阶段而言,交互操作阶段更为复杂,提取特征更为困难,因此需要剖析整个操作会话并与正常会话进行对比分析。通过大量的样本分析和实验发现正常的网络会话和木马操作会话在许多统计特征上都存在明显的差异。
在操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行操作阶段木马通信特征的提取;操作阶段木马通信特征的提取分四个方面,分别为:
第一:针对木马通信过程的长时交互的特点,提取以下行为特征:通信时长、通信小包数量,当通信时长大于92.8秒、通信小包数量大于10个时为异常特征。木马通信过程中,命令交互、文件资源搜索和文件传输需要大量的等待时间,再加上人类的思考时间,使得通信会话持续时间较长。将长度小于200字节的数据包称为通信小包,否则称为通信大包;控制端发送的数据包绝大部分为通信小包,而被控端发送的承载主机信息的数据包大部分是大于200字节的数据包。
第二:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主机上传通信量,被控主机上传通信量大于15700字节时为异常特征。被控端根据控制端的控制命令将被控主机的信息和文件资源不断上传,导致会话上传数据量偏大。
第三:针对木马通信过程中数据包分布特点,提取以下行为特征:会话接收小包数量与会话小包数量的比值,该特征值大于0.5时为异常特征;通信过程中被控端接收到的绝大部分是控制命令,所以接收到的基本都是小包;而被控端发送的信息以大包为主。
第四:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:被控端上传数据量与下载数据量的比值。该特征值大于1时为异常特征,此时被控端上传数据量大于下载数据量。
通信时长、通信小包数量、被控主机上传通信量、会话接收小包数量与会话小包数量的比值、被控端上传数据量与下载数据量的比值这些特征的定义均以被控主机为参照物,其中提到的接收和发送均是相对于被控主机而言的。
将捕获的TCP协议数据按照网络会话进行整理是指:将数据包按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用会话链表作为记录会话的数据结构;选用会话链表作为记录会话的数据结构的原因是:由于网络通信是一个动态的过程,会话中的数据包随着通信的进行而不断增加,用于保存会话的数据结构也要随之发生动态变化。
每一个会话链表都要用四元组进行标识,系统需要根据数据包中四元组查找相应的会话,将数据包信息添加到相应的会话链表中;因此四元组的记录形式和查找速度将直接影响系统效率。
四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;四元组可以使用多维数组或多级链表进行保存;多维数组具有存储效率高、查找方便、存取速度快等优点,但是多维数组要求预先为其分配存储空间,一旦建立无法改变多维数组大小,容易造成空间浪费,而且网络会话数量不固定,无法为其预先分配空间;链表的优点是可动态添加或删除、不需要预先分配空间,但缺点是查找速度慢;
系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;这样虽然牺牲了一定的存储空间,但提高了查找效率。系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率。
系统针对数据包四元组中各元素的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表,这样可以获得更高的查找效率,具体以数组链表结构为例分析如下:
设会话数量为S,若将所有的会话以单链表的形式进行组建,每次系统接收到数据包后都要对会话链表进行顺序查找(顺序查找的平均时间复杂度为 O ( S 2 ) )。
以数组链表的形式记录会话,设数组长度为n,数组的第i个节点下的会话链表个数为αi,则产生第i个节点的概率为
Figure BDA0000067971520000061
对链表进行查询的平均时间复杂度为:
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
当且仅当α1=α2=…=αn时,其中
Figure BDA0000067971520000065
Figure BDA0000067971520000066
Figure BDA0000067971520000067
最小。
由此可知当数组等分链表时查找的时间复杂度最低:
Figure BDA0000067971520000068
该时间复杂度小于单链表的查找时间复杂度。
四元组中元素的取值范围和会话数量按各元素取值的分布情况:
(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,系统效率得到明显提升。
“心跳间隙”的平稳性小于阈值是指:当“心跳间隙”的平稳性小于阈值时,则判定其为木马通信,反之则为正常网络通信;
记原始单向数据流数据包时间间隔采样集合(单位:秒)为:其中,x1i1表示第i1个采样值,n1表示样本量;采用差分方法可计算“心跳间隙”的平稳性,记
Figure BDA0000067971520000072
为对X1进行差分变换后的特征向量,
w 1 i 1 = x 1 i 1 - x 1 i 1 - 1 2 ;
其中,w1i1为对原始数据作差分后的取值;此时“心跳间隙”的平稳性小于阈值是指:
Stability = Σ i 1 = 2 n 1 w 1 i 1 n 1 - 1 ≤ w 1
其中,Stability为“心跳间隙”的平稳性,w1为阈值(通常取w1=0.01)。
下面对木马通信特征提取分别进行计算复杂度分析:
①连接阶段。假设某个源IP发出n个DNS请求数据包,相应地收到n个DNS响应数据包。则判定是否存在DNS响应IP异常的计算复杂度为O(n),判断DNS请求流量是否异常的计算复杂度为O(n)。
②连接保持无操作阶段。假设会话包含n个数据包,由于提取“心跳间隙”平稳性时采用差分分析,该算法的计算复杂度为O(n)。
③操作阶段。假设会话包含n个数据包,除提取通信时长的计算复杂度为O(1)外,提取其他行为特征的计算复杂度均为O(n)。
综上所述,本发明所选取的通信行为特征的最坏计算复杂度为O(n),因此本发明的方法的计算效率较高。
本发明的有益效果:
1、本发明针对木马通信过程的不同阶段,分析木马通信行为与正常网络通信行为的差别,并结合传统的统计分析和模式识别方法,深入挖掘二者之间的差别并提取网络通信特征。在此基础上,可根据通信行为特征的特点设计快速的木马通信行为检测算法,在保证检测精度的同时提高检测效率。利用本发明可以实现对网络中的木马窃密行为进行检测。
(四)、附图说明:
图1为通信时长采样图;
图2为会话接收小包数量与会话小包数量的比值采样图;
图3为被控端上传数据量与下载数据量的比值采样图;
图4为通信小包数量采样图;
图5为被控主机上传通信量采样图。
(五)、具体实施方式:
基于网络数据流分析的木马通信行为特征提取方法为:将木马通信过程分为三个阶段:建立连接阶段、连接保持无操作阶段和操作阶段,通过对网络数据流分析,分别针这三个阶段提取相应的通信行为特征;
目前主流木马采用如下连接模式:首先,木马被控端按照控制端预设的控制域名向远程域名服务器发送DNS请求,进而根据收到的DNS响应报文解析出控制端的IP地址,并向控制端的IP地址发起连接;建立连接阶段的木马通信与正常网络通信的区别包括:DNS响应IP异常和DNS请求流量异常。
DNS响应IP异常是由于部分木马程序被控端上线策略中采用了静默模式,所谓静默模式,即由于控制端在不需要被控端上线时,会将控制域名对应的IP改为特殊IP;当被控端收到内容为特殊IP的域名解析数据包时,进入静默状态;采用静默模式可增强木马的隐蔽性。
DNS请求流量异常是由于当木马控制端与被控端的网络不连通时,被控端通常会误以为域名解析存在错误,从而反复大量的发出DNS请求。
在建立连接阶段,木马通信特征的提取含有DNS响应IP异常特征的提取和DNS请求流量异常特征的提取;
DNS响应IP异常特征的提取方法为:当被控端收到的域名解析数据包含有特殊IP时,即可判断发生了DNS响应IP异常,特殊IP是指国际互联网标准RFC规定的非广域网IP地址;常见的特殊IP如:127.0.0.1,0.0.0.0等。
DNS请求流量异常特征的提取方法为:首先,被控端将DNS数据包按照源IP进行划分,即每个源IP作为会话的唯一标识,并选用哈希表作为记录会话的数据结构;该哈希表的规模视实际情况而定,例如对C类网络采用256元的哈希表。其次,引入累加和算法(cumulative sums,CUSUM)的思想检测DNS请求流量异常,提取任意一个源IP对应的DNS流量特征序列
Figure BDA0000067971520000091
其中xi表示在时间间隔t(单位:秒)内该源IP发出的DNS请求数据包的个数,n表示样本量;定义DNS请求流量特征为
Z 1 = 0 Z i = max { 0 , Z i - 1 + x i - k }
其中,k为区分参数,当Zi≥w时,即可判断发生了DNS请求流量异常,w为判断值;在n=20、t=30秒、k=5的情况下,通常取w=50;
在连接保持无操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行连接保持无操作阶段木马通信特征的提取;
连接保持无操作阶段的木马通信与正常网络通信的差别是由木马的心跳行为造成的。因此,检测连接保持无操作阶段的木马通信行为可以通过检测“心跳包”来实现。“心跳包”具有明显的统计特征,连接保持无操作阶段木马通信特征的提取采用传统的统计分析方法结合差分分析方法。
在连接保持无操作阶段木马通信特征的提取中,提取如下会话统计特征用于检测木马在连接保持无操作阶段的通信行为:“心跳间隙”的平稳性小于阈值;
相对于连接保持无操作阶段而言,交互操作阶段更为复杂,提取特征更为困难,因此需要剖析整个操作会话并与正常会话进行对比分析。通过大量的样本分析和实验发现正常的网络会话和木马操作会话在许多统计特征上都存在明显的差异。
在操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行操作阶段木马通信特征的提取;操作阶段木马通信特征的提取分四个方面,分别为:
第一:针对木马通信过程的长时交互的特点,提取以下行为特征:通信时长、通信小包数量,当通信时长大于92.8秒、通信小包数量大于10个时为异常特征。木马通信过程中,命令交互、文件资源搜索和文件传输需要大量的等待时间,再加上人类的思考时间,使得通信会话持续时间较长。将长度小于200字节的数据包称为通信小包,否则称为通信大包;控制端发送的数据包绝大部分为通信小包,而被控端发送的承载主机信息的数据包大部分是大于200字节的数据包。
第二:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主机上传通信量,被控主机上传通信量大于15700字节时为异常特征。被控端根据控制端的控制命令将被控主机的信息和文件资源不断上传,导致会话上传数据量偏大。
第三:针对木马通信过程中数据包分布特点,提取以下行为特征:会话接收小包数量与会话小包数量的比值,该特征值大于0.5时为异常特征;通信过程中被控端接收到的绝大部分是控制命令,所以接收到的基本都是小包;而被控端发送的信息以大包为主。
第四:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:被控端上传数据量与下载数据量的比值。该特征值大于1时为异常特征,此时被控端上传数据量大于下载数据量。
通信时长、通信小包数量、被控主机上传通信量、会话接收小包数量与会话小包数量的比值、被控端上传数据量与下载数据量的比值这些特征的定义均以被控主机为参照物,其中提到的接收和发送均是相对于被控主机而言的。
通信时长、会话接收小包数量与会话小包数量的比值、被控端上传数据量与下载数据量的比值、通信小包数量、被控主机上传通信量这5个特征的采样图分别如图1~图5所示,图中,Normal表示正常通信行为,Trojan表示木马通信行为。
将捕获的TCP协议数据按照网络会话进行整理是指:将数据包按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用会话链表作为记录会话的数据结构;选用会话链表作为记录会话的数据结构的原因是:由于网络通信是一个动态的过程,会话中的数据包随着通信的进行而不断增加,用于保存会话的数据结构也要随之发生动态变化。
每一个会话链表都要用四元组进行标识,系统需要根据数据包中四元组查找相应的会话,将数据包信息添加到相应的会话链表中;因此四元组的记录形式和查找速度将直接影响系统效率。
四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;四元组可以使用多维数组或多级链表进行保存;多维数组具有存储效率高、查找方便、存取速度快等优点,但是多维数组要求预先为其分配存储空间,一旦建立无法改变多维数组大小,容易造成空间浪费,而且网络会话数量不固定,无法为其预先分配空间;链表的优点是可动态添加或删除、不需要预先分配空间,但缺点是查找速度慢;
系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;这样虽然牺牲了一定的存储空间,但提高了查找效率。系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率。
系统针对数据包四元组中各元素的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表,这样可以获得更高的查找效率,具体以数组链表结构为例分析如下:
设会话数量为S,若将所有的会话以单链表的形式进行组建,每次系统接收到数据包后都要对会话链表进行顺序查找(顺序查找的平均时间复杂度为 O ( S 2 ) )。
以数组链表的形式记录会话,设数组长度为n,数组的第i个节点下的会话链表个数为αi,则产生第i个节点的概率为
Figure BDA0000067971520000122
对链表进行查询的平均时间复杂度为:
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
当且仅当α1=α2=…=αn时,其中
Figure BDA0000067971520000126
Figure BDA0000067971520000127
Figure BDA0000067971520000128
最小。
由此可知当数组等分链表时查找的时间复杂度最低:
Figure BDA0000067971520000129
该时间复杂度小于单链表的查找时间复杂度。
四元组中元素的取值范围和会话数量按各元素取值的分布情况:
(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,系统效率得到明显提升。
“心跳间隙”的平稳性小于阈值是指:当“心跳间隙”的平稳性小于阈值时,则判定其为木马通信,反之则为正常网络通信;
记原始单向数据流数据包时间间隔采样集合(单位:秒)为:
Figure BDA0000067971520000131
其中,x1i1表示第i1个采样值,n1表示样本量;采用差分方法可计算“心跳间隙”的平稳性,记
Figure BDA0000067971520000141
为对X1进行差分变换后的特征向量,
w 1 i 1 = x 1 i 1 - x 1 i 1 - 1 2 ;
其中,w1i1为对原始数据作差分后的取值;此时“心跳间隙”的平稳性小于阈值是指:
Stability = Σ i 1 = 2 n 1 w 1 i 1 n 1 - 1 ≤ w 1
其中,Stability为“心跳间隙”的平稳性,w1为阈值(通常取w1=0.01)。

Claims (7)

1.一种基于网络数据流分析的木马通信行为特征提取方法,其特征是:将木马通信过程分为三个阶段:建立连接阶段、连接保持无操作阶段和操作阶段,通过对网络数据流分析,分别针这三个阶段提取相应的通信行为特征;
在建立连接阶段,木马通信特征的提取含有DNS响应IP异常特征的提取和DNS请求流量异常特征的提取;
DNS响应IP异常特征的提取方法为:当被控端收到的域名解析数据包含有特殊IP时,即可判断发生了DNS响应IP异常,特殊IP是指国际互联网标准RFC规定的非广域网IP地址;
DNS请求流量异常特征的提取方法为:首先,被控端将DNS数据包按照源IP进行划分,即每个源IP作为会话的唯一标识,并选用哈希表作为记录会话的数据结构;其次,提取任意一个源IP对应的DNS流量特征序列
Figure FDA0000067971510000011
其中xi表示在时间间隔t内该源IP发出的DNS请求数据包的个数,n表示样本量;定义DNS请求流量特征为
Z 1 = 0 Z i = max { 0 , Z i - 1 + x i - k }
其中,k为区分参数,当Zi≥w时,即可判断发生了DNS请求流量异常,w为判断值;
在连接保持无操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行连接保持无操作阶段木马通信特征的提取,提取如下会话统计特征用于检测木马在连接保持无操作阶段的通信行为:“心跳间隙”的平稳性小于阈值;
在操作阶段,首先,将捕获的TCP协议数据按照网络会话进行整理,然后,进行操作阶段木马通信特征的提取;操作阶段木马通信特征的提取分四个方面,分别为:
第一:针对木马通信过程的长时交互的特点,提取以下行为特征:通信时长、通信小包数量,当通信时长大于92.8秒、通信小包数量大于10个时为异常特征;将长度小于200字节的数据包称为通信小包;
第二:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主机上传通信量,被控主机上传通信量大于15700字节时为异常特征;
第三:针对木马通信过程中数据包分布特点,提取以下行为特征:会话接收小包数量与会话小包数量的比值,该特征值大于0.5时为异常特征;
第四:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:被控端上传数据量与下载数据量的比值,该特征值大于1时为异常特征;
通信时长、通信小包数量、被控主机上传通信量、会话接收小包数量与会话小包数量的比值、被控端上传数据量与下载数据量的比值这些特征的定义均以被控主机为参照物。
2.根据权利要求1所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:所述将捕获的TCP协议数据按照网络会话进行整理是指:将数据包按照四元组进行会话划分,即每个会话通过四元组唯一标识,并选用会话链表作为记录会话的数据结构;每一个会话链表都要用四元组进行标识,系统需要根据数据包中四元组查找相应的会话,将数据包信息添加到相应的会话链表中。
3.根据权利要求2所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:所述四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;系统采用数组链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;系统利用数组建立哈希表,将哈希表作为链表的索引来提高查找效率;系统针对数据包四元组中各元素的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链表。
4.根据权利要求3所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:系统利用哈希表+多级链表的结构记录源IP地址分量,源端口分量、目的IP地址分量、目的端口分量依次分别建立多级链表,系统选取源IP地址的最后1个字节进行哈希值的计算建立哈希表。
5.根据权利要求1所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:所述“心跳间隙”的平稳性小于阈值是指:当“心跳间隙”的平稳性小于阈值时,则判定其为木马通信,反之则为正常网络通信;
记原始单向数据流数据包时间间隔采样集合为:其中,x1i1表示第i1个采样值,n1表示样本量;采用差分方法可计算“心跳间隙”的平稳性,记为对X1进行差分变换后的特征向量,
w 1 i 1 = x 1 i 1 - x 1 i 1 - 1 2 ;
其中,w1i1为对原始数据作差分后的取值;此时“心跳间隙”的平稳性小于阈值是指:
Stability = Σ i 1 = 2 n 1 w 1 i 1 n 1 - 1 ≤ w 1
其中,Stability为“心跳间隙”的平稳性,w1为阈值。
6.根据权利要求5所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:所述w1=0.01。
7.根据权利要求1所述的基于网络数据流分析的木马通信行为特征提取方法,其特征是:在n=20、t=30秒、k=5的情况下,w=50。
CN 201110158055 2011-06-13 2011-06-13 基于网络数据流分析的木马通信行为特征提取方法 Active CN102202064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110158055 CN102202064B (zh) 2011-06-13 2011-06-13 基于网络数据流分析的木马通信行为特征提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110158055 CN102202064B (zh) 2011-06-13 2011-06-13 基于网络数据流分析的木马通信行为特征提取方法

Publications (2)

Publication Number Publication Date
CN102202064A true CN102202064A (zh) 2011-09-28
CN102202064B CN102202064B (zh) 2013-09-25

Family

ID=44662459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110158055 Active CN102202064B (zh) 2011-06-13 2011-06-13 基于网络数据流分析的木马通信行为特征提取方法

Country Status (1)

Country Link
CN (1) CN102202064B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523223A (zh) * 2011-12-20 2012-06-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置
CN102594825A (zh) * 2012-02-22 2012-07-18 北京百度网讯科技有限公司 一种内网木马的检测方法和装置
CN103036743A (zh) * 2012-12-19 2013-04-10 中国科学院信息工程研究所 一种窃密木马的tcp心跳行为的检测方法
CN103428223A (zh) * 2013-08-28 2013-12-04 北京永信至诚科技有限公司 一种木马行为识别方法与系统
CN103475663A (zh) * 2013-09-13 2013-12-25 无锡华御信息技术有限公司 基于网络通信行为特征的木马识别方法
CN103491107A (zh) * 2013-10-14 2014-01-01 刘胜利 基于网络数据流簇聚类的木马通信特征快速提取方法
CN103701814A (zh) * 2013-12-27 2014-04-02 北京启明星辰信息技术股份有限公司 一种基于行为检测实现网络流量识别的方法及装置
CN104283897A (zh) * 2014-10-29 2015-01-14 刘胜利 基于多数据流聚类分析的木马通信特征快速提取方法
CN104468507A (zh) * 2014-10-28 2015-03-25 刘胜利 基于无控制端流量分析的木马检测方法
CN105227408A (zh) * 2015-10-22 2016-01-06 蓝盾信息安全技术股份有限公司 一种智能木马识别装置及方法
CN106730847A (zh) * 2016-11-10 2017-05-31 北京像素软件科技股份有限公司 一种游戏外挂检测方法及装置
CN107026766A (zh) * 2016-02-02 2017-08-08 中国移动通信集团河北有限公司 一种网络质量的评估检测方法及装置
WO2017193271A1 (zh) * 2016-05-10 2017-11-16 华为技术有限公司 检测网络攻击的方法及设备
CN107733851A (zh) * 2017-08-23 2018-02-23 刘胜利 基于通信行为分析的dns隧道木马检测方法
CN108197199A (zh) * 2017-12-27 2018-06-22 珠海市君天电子科技有限公司 数据监控方法、装置、电子设备及计算机可读存储介质
CN108390864A (zh) * 2018-02-01 2018-08-10 杭州安恒信息技术股份有限公司 一种基于攻击链行为分析的木马检测方法及系统
CN108712462A (zh) * 2018-04-09 2018-10-26 阿里巴巴集团控股有限公司 一种连接建立方法、装置以及设备
CN108769034A (zh) * 2018-06-01 2018-11-06 杭州安恒信息技术股份有限公司 一种实时在线监测远控木马控制端ip地址的方法及装置
CN104660584B (zh) * 2014-12-30 2018-12-18 赖洪昌 基于网络会话的木马病毒分析技术
CN109450932A (zh) * 2018-12-17 2019-03-08 北京天融信网络安全技术有限公司 一种检测方法及装置
CN109600394A (zh) * 2019-01-19 2019-04-09 郑州轻工业学院 一种基于深度学习的http隧道木马检测方法
CN113452581A (zh) * 2021-08-30 2021-09-28 上海观安信息技术股份有限公司 流式数据的特征提取方法及装置、存储介质、计算机设备
CN113992442A (zh) * 2021-12-28 2022-01-28 北京微步在线科技有限公司 一种木马连通成功检测方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796405B (zh) * 2015-03-18 2019-04-12 深信服网络科技(深圳)有限公司 反弹连接检测方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567884A (zh) * 2009-05-26 2009-10-28 西北工业大学 网络窃密木马检测方法
CN101686239A (zh) * 2009-05-26 2010-03-31 中山大学 一种木马发现系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567884A (zh) * 2009-05-26 2009-10-28 西北工业大学 网络窃密木马检测方法
CN101686239A (zh) * 2009-05-26 2010-03-31 中山大学 一种木马发现系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DING, YAO-JUN; CAI, WAN-DONG: "《Communication Software and Networks(ICCSN),2011 IEEE 3rd International Conference on》", 29 May 2011 *
邢云冬等: "木马网络通信特征提取模型的设计与实现", 《计算机工程与设计》 *

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015507259A (ja) * 2011-12-20 2015-03-05 北京神州▲緑▼盟信息安全科技股▲分▼有限公司 トロイの木馬検出方法及び装置
WO2013091534A1 (zh) * 2011-12-20 2013-06-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置
CN102523223A (zh) * 2011-12-20 2012-06-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置
US9596248B2 (en) 2011-12-20 2017-03-14 NSFOCUS Information Technology Co., Ltd. Trojan detection method and device
CN102523223B (zh) * 2011-12-20 2014-08-27 北京神州绿盟信息安全科技股份有限公司 一种木马检测的方法及装置
CN102594825A (zh) * 2012-02-22 2012-07-18 北京百度网讯科技有限公司 一种内网木马的检测方法和装置
CN102594825B (zh) * 2012-02-22 2016-08-17 北京百度网讯科技有限公司 一种内网木马的检测方法和装置
CN103036743A (zh) * 2012-12-19 2013-04-10 中国科学院信息工程研究所 一种窃密木马的tcp心跳行为的检测方法
CN103036743B (zh) * 2012-12-19 2015-10-07 中国科学院信息工程研究所 一种窃密木马的tcp心跳行为的检测方法
CN103428223A (zh) * 2013-08-28 2013-12-04 北京永信至诚科技有限公司 一种木马行为识别方法与系统
CN103475663A (zh) * 2013-09-13 2013-12-25 无锡华御信息技术有限公司 基于网络通信行为特征的木马识别方法
CN103475663B (zh) * 2013-09-13 2016-08-17 无锡华御信息技术有限公司 基于网络通信行为特征的木马识别方法
CN103491107B (zh) * 2013-10-14 2017-01-04 刘胜利 基于网络数据流簇聚类的木马通信特征快速提取方法
CN103491107A (zh) * 2013-10-14 2014-01-01 刘胜利 基于网络数据流簇聚类的木马通信特征快速提取方法
CN103701814A (zh) * 2013-12-27 2014-04-02 北京启明星辰信息技术股份有限公司 一种基于行为检测实现网络流量识别的方法及装置
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 刘胜利 基于多数据流聚类分析的木马通信特征快速提取方法
CN104660584B (zh) * 2014-12-30 2018-12-18 赖洪昌 基于网络会话的木马病毒分析技术
CN105227408A (zh) * 2015-10-22 2016-01-06 蓝盾信息安全技术股份有限公司 一种智能木马识别装置及方法
CN107026766A (zh) * 2016-02-02 2017-08-08 中国移动通信集团河北有限公司 一种网络质量的评估检测方法及装置
WO2017193271A1 (zh) * 2016-05-10 2017-11-16 华为技术有限公司 检测网络攻击的方法及设备
CN106730847A (zh) * 2016-11-10 2017-05-31 北京像素软件科技股份有限公司 一种游戏外挂检测方法及装置
CN106730847B (zh) * 2016-11-10 2020-07-17 北京像素软件科技股份有限公司 一种游戏外挂检测方法及装置
CN107733851A (zh) * 2017-08-23 2018-02-23 刘胜利 基于通信行为分析的dns隧道木马检测方法
CN107733851B (zh) * 2017-08-23 2020-05-01 刘胜利 基于通信行为分析的dns隧道木马检测方法
CN108197199A (zh) * 2017-12-27 2018-06-22 珠海市君天电子科技有限公司 数据监控方法、装置、电子设备及计算机可读存储介质
CN108197199B (zh) * 2017-12-27 2021-10-29 珠海市君天电子科技有限公司 数据监控方法、装置、电子设备及计算机可读存储介质
CN108390864A (zh) * 2018-02-01 2018-08-10 杭州安恒信息技术股份有限公司 一种基于攻击链行为分析的木马检测方法及系统
CN108390864B (zh) * 2018-02-01 2020-12-11 杭州安恒信息技术股份有限公司 一种基于攻击链行为分析的木马检测方法及系统
CN108712462A (zh) * 2018-04-09 2018-10-26 阿里巴巴集团控股有限公司 一种连接建立方法、装置以及设备
CN108769034A (zh) * 2018-06-01 2018-11-06 杭州安恒信息技术股份有限公司 一种实时在线监测远控木马控制端ip地址的方法及装置
CN109450932A (zh) * 2018-12-17 2019-03-08 北京天融信网络安全技术有限公司 一种检测方法及装置
CN109600394A (zh) * 2019-01-19 2019-04-09 郑州轻工业学院 一种基于深度学习的http隧道木马检测方法
CN113452581A (zh) * 2021-08-30 2021-09-28 上海观安信息技术股份有限公司 流式数据的特征提取方法及装置、存储介质、计算机设备
CN113992442A (zh) * 2021-12-28 2022-01-28 北京微步在线科技有限公司 一种木马连通成功检测方法及装置
CN113992442B (zh) * 2021-12-28 2022-03-18 北京微步在线科技有限公司 一种木马连通成功检测方法及装置

Also Published As

Publication number Publication date
CN102202064B (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN102202064B (zh) 基于网络数据流分析的木马通信行为特征提取方法
CN104283897B (zh) 基于多数据流聚类分析的木马通信特征快速提取方法
CN111277578B (zh) 加密流量分析特征提取方法、系统、存储介质、安全设备
CN102035698B (zh) 基于决策树分类算法的http隧道检测方法
Homayoun et al. BoTShark: A deep learning approach for botnet traffic detection
US10200382B2 (en) System and method for detecting abnormal traffic behavior using infinite decaying clusters
US8065722B2 (en) Semantically-aware network intrusion signature generator
CN103312565B (zh) 一种基于自主学习的对等网络流量识别方法
CN102201937A (zh) 基于心跳行为分析的快速木马检测方法
CN103491107A (zh) 基于网络数据流簇聚类的木马通信特征快速提取方法
US9350762B2 (en) Intelligent feedback loop to iteratively reduce incoming network data for analysis
CN105376110A (zh) 以大数据流式技术实现网络数据包的分析方法及系统
CN101184000A (zh) 基于报文采样和应用签名的互联网应用流量识别方法
US20170134413A1 (en) System and method for connection fingerprint generation and stepping-stone traceback based on netflow
Amoli et al. A real time unsupervised NIDS for detecting unknown and encrypted network attacks in high speed network
CN105357071B (zh) 一种网络复杂流量识别方法及识别系统
CN105429950A (zh) 一种基于动态数据包采样的网络流量识别系统和方法
CN102571946A (zh) 一种基于对等网络的协议识别与控制系统的实现方法
CN113364624A (zh) 基于边缘计算的混合云流量采集方法和系统
Wang et al. Benchmark data for mobile app traffic research
CN110266603A (zh) 基于http协议的身份认证业务网络流量分析系统及方法
Oudah et al. A novel features set for internet traffic classification using burstiness
CN106257867A (zh) 一种加密流量的业务识别方法和装置
CN104125106A (zh) 基于分类决策树的网络纯净性检测装置及方法
CN110912906B (zh) 一种边缘计算恶意节点识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Liu Shengli

Inventor after: Yang Jie

Inventor after: Sun Haitao

Inventor after: Meng Lei

Inventor after: Chen Jiayong

Inventor after: Zhang Xiaochen

Inventor before: Liu Shengli

Inventor before: Sun Haitao

Inventor before: Meng Lei

Inventor before: Chen Jiayong

Inventor before: Zhang Xiaochen

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LIU SHENGLI SUN HAITAO MENG LEI CHEN JIAYONG ZHANG XIAOCHEN TO: LIU SHENGLI YANG JIE SUN HAITAO MENG LEI CHEN JIAYONG ZHANG XIAOCHEN

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160926

Address after: 450000 B, building 8, No. 1, No. 18-19, welfare Road, Jinshui District, Henan, Zhengzhou

Patentee after: Henan Jindun information security level Technical Evaluation Center Co. Ltd.

Address before: Located in Henan city of Zhengzhou Province Kim street 450002 No. 7 No. 19 Building 1 unit 302

Patentee before: Liu Shengli

TR01 Transfer of patent right

Effective date of registration: 20190103

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: 450000 Floor 18-19, Block B, Office Building No. 1, Fucai Road, Jinshui District, Zhengzhou City, Henan Province

Patentee before: Henan Jindun information security level Technical Evaluation Center Co. Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200717

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
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