基于多数据流聚类分析的木马通信特征快速提取方法
【专利摘要】本发明公开了一种基于网络数据流聚类的木马通信特征快速提取方法,首先,将捕获的网络数据包按照网络会话进行整理:将监控对象的IP地址和端口作为源IP地址和源端口,将数据包按照等价四元组进行会话划分;然后,按照基于时间戳的数据流聚类算法把数据流聚类成数据流簇;最后,进行木马通信特征的提取,木马通信特征的提取是指木马交互操作阶段木马通信特征的提取。本发明在对网络数据流进行聚类的基础上,以簇为单位处理网络数据流,分析木马通信行为与正常网络通信行为的差别,并结合传统的统计分析、相关分析等技术,深入挖掘二者之间的差别并提取网络通信特征,在保证检测率的同时降低误报率,利用本发明可以实现对网络中的窃密行为进行检测。
【专利说明】基于多数据流聚类分析的木马通信特征快速提取方法
【技术领域】
[0001] 本发明涉及一种木马通信特征的提取方法,特别是涉及一种基于多数据流聚类分 析的木马通信特征快速提取方法。
【背景技术】
[0002] 近年来,木马程序被网络黑客利用,进行信息窃取和网络破坏的行为越来越多,对 用户和网络的信息安全构成严重威胁。木马最大的特点即是其行为往往带有较强的隐蔽 性。木马被成功植入到目标计算机后,木马控制端必须和被控端进行通信,以便给被控端下 达控制指令或者控制被控端将所获取的信息回传给控制端。基于通信行为特征分析的检测 技术利用网络数据包、数据流等流量特征构建数据流轮廓模型,根据通信数据在不同的网 络环境下具有的时空稳定性,建立异常检测分类模型。该方法在时效性和扩展性方面具有 明显优势,有利于发现潜在的、未知的网络窃密行为和威胁,具有更广的应用前景。然而现 有的基于通信行为分析的木马检测算法往往在单条数据流会话上提取一些刻画木马通信 行为的特征属性,不能完全区分木马程序和正常程序的通信数据,导致误报率较高。在实际 网络环境中,绝大多数数据流持续时间较短,黑客为了提高木马通信的隐蔽性,常常会将一 次网络活动产生的通信数据拆分成多条数据流进行传输。因此,如何捕获一次完整的网络 活动产生的多条数据流并在多数据流中有效提取木马通信特征,设计具有高检测性能且计 算复杂度较低的检测算法,进而有效地检测窃密型木马的网络通信行为就成为当前一个重 要的理论和技术问题。
[0003] 基于通信行为的木马检测方法很多,但大部分已有方法的检测通用性较差,而且 误报率较高。
[0004] Borders等利用HTTP请求的时间间隔、请求包大小、包头格式、带宽占用、请求规 则等特征构造各种过滤器检测木马通信。然而,木马可以通过在通信细节上的简单改变绕 过文章中所构造的各种过滤器。例如:木马只需将请求包的大小限制在某一阈值内即可使 请求包大小过滤器失去功效。此种方法只能针对HTTP协议进行检测,通用性较差。而且此 种方法还需要对数据包内容进行详细解析,效率较低。
[0005] C. Rossow等人设计了一个名叫Sandnet的网络数据采集分析环境,他们指出,对 恶意代码的行为进行长时间的跟踪分析对理解其行为更有帮助。此外他们着重对恶意代 码常用的DNS和HTTP协议进行深入分析,根据协议中不同字段的异常取值来检测恶意代 码。该方法的优点在于选取了更长的时间,综合协议的具体字段取值对恶意代码进行分析 检测,缺点在于对遵守协议规范设计的恶意代码会失去效果。
[0006] R.perdisci等人提出,基于恶意代码产生的HTTP通信数据流的结构相似性可以 对恶意代码的网络通信行为进行聚类,并根据聚类结果自动的生成恶意代码的网络特征, 以此来检测基于HTTP通信的恶意代码程序。这种方法改进了恶意代码特征的提取方法,但 是对不具备HTTP通信数据相似性的通信数据流失去提取特征并检测的能力。
[0007] Shicong Li等人从TCP会话层面和IP流层面分析木马的通信行为,选取多维属性 来描述木马的网络通信行为,并使用数据挖掘的分类算法建立了木马检测模型。对于实时 检测来说,他们选取了更广泛的属性,描述会话之间的相关性,但是这种方法仍局限于单个 数据流,没有对网络通信数据流的规律性进行分析,木马通过改变操作方式和通信方式可 以躲避检测。
[0008] Zhang和Paxson利用数据包到达时间间隔和数据包大小描述了一种木马通信交 互模型,用于检测木马和后门等恶意程序。该模型对木马通信行为进行如下描述:1、木马 通信过程中相邻数据包到达时间间隔符合帕累托分布;2、由于木马通信过程中存在命令交 互,所以小数据包应占一定比例。但实际木马通信过程中可以通过不同的算法使相邻数据 包到达时间间隔满足各种分布要求,加之数据包到达时间间隔在很大程度上会受到网络拓 扑的影响,所以数据包到达时间间隔用其作为行为描述存在一定弊端。且木马通信过程中 的短命令可以隐藏在较大的HTML页面信息中,所以强调通信过程中的小数据包的比例并 不能实现有效检测,导致误报率较高。
[0009] 孙海涛分析了木马的概念、原理、通信技术及隐蔽性特点,给出了木马通信的隐蔽 性模型。并在此基础上,分析不同阶段木马的通信行为。在连接保持无操作阶段检测木马 的"心跳行为",在交互操作阶段提取通信行为特征,使用C4. 5决策树算法构造分类器,实 现了木马通信行为检测系统。该研究提出的检测方法能够有效的对实时数据流进行检测, 但也存在一定的缺点,检测方法仍旧是基于单数据流的分析,准确度较低。
【发明内容】
[0010] 本发明要解决的技术问题是:克服现有技术的缺陷,提供一种基于多数据流聚类 分析的木马通信特征快速提取方法,该方法通过网络数据流聚类,将木马程序一次完整的 网络活动中产生的数据流聚类成数据流簇,然后在数据流簇上有效提取窃密型木马的通信 特征,具有较高的检测性能和计算效率。
[0011] 本发明的技术方案:一种基于多数据流聚类分析的木马通信特征快速提取方法。 首先,将捕获的网络数据包按照网络会话进行整理:将监控对象的IP地址和端口作为源IP 地址和源端口。将数据包按照等价四元组(源IP地址、源端口、目的IP地址、目的端口)进 行会话划分,即每个会话通过等价四元组唯一标识(此时每个会话链表包含双向数据流), 并选用会话链表作为存储会话的数据结构。选用会话链表作为记录会话的数据结构的原因 是:由于网络通信是一个动态的过程,会话中的数据包随着通信的进行而不断增加,用于保 存会话的数据结构也要随之发生动态变化。组建会话链表过程中,需根据链表结点的等价 四元组查找数据包对应的位置,并将其插入至该位置中。因此,会话的记录方式和查找速度 将直接影响会话重组效率。
[0012] 会话可以使用多维数组或多级链表进行保存;多维数组具有存储效率高、查找方 便、存取速度快等优点,但是多维数组要求预先为其分配存储空间,一旦建立无法改变多维 数组大小,容易造成空间浪费,而且网络会话数量不固定,无法为其预先分配空间;链表的 优点是可动态添加或删除、不需要预先分配空间,但缺点是查找速度慢。
[0013] 本发明采用结合哈希表和多级链表的数组链表结构来重组会话。数组链表结构 是指数组和链表相结合的数据结构;数组链表可通过牺牲较小的存储空间有效提高查找效 率。可根据等价四元组中各元素的不同特性设定数组链表的链接顺序,通过把取值范围适 中且对应会话数量分布最均匀的元素设为数组链表的第一级,依次设定链接顺序,以获得 更高的会话重组效率。具体分析如下:
[0014] 设会话数量为S,若将所有的会话以传统的单链表的形式进行组建,每次接收到数 据包后都要对会话链表进行顺序查找,顺序查找的平均计算时间复杂度为〇(S/2)。
[0015] 以数组链表的形式整理会话,设数组具有η个下标,数组第i个下标串接的会话链 表个数为a i,则接收数据包加入数组第i个下标的概率为j
[0016] 故对链表进行查询的平均时间复杂度为:
[0017]
【权利要求】
1. 一种基于多数据流聚类分析的木马通信特征快速提取方法,其特征在于, 首先,将捕获的网络数据包按照网络会话进行整理:将监控对象的IP地址和端口作为 源IP地址和源端口,将数据包按照等价四元组进行会话划分,即每个会话通过等价四元组 唯一标识,并选用会话链表作为存储会话的数据结构; 其次,在此基础上,将上述方法得到的网络数据流,按照基于时间戳的数据流聚类算法 聚类成数据流簇,所述基于时间戳的数据流聚类算法是: 时间戳论域:设T = {(怀t/ ),(t2, t2'),…(tn,tn')--?}是待划分的数据流开始时间戳 和结束时间戳集合,T中的每个对象&是第i个数据流的开始时间戳,V是第i个数据流 的结束时间戳; 簇半径阈值:设e为簇半径阈值,数据流簇的结束时间和下一个数据流的开始时间间 隔小于该阈值的将被聚类到一个数据流簇中; 簇集合:设Sj = {Cl,C2,…,C1J是数据流集合Sj经划分得到的一个个数据流簇的集合, P (Ci) = {cn, Ci2,…,CiJ是Sj中的每个数据流簇Ci (1彡i彡m)的特征矢量; 界标窗口 :因为数据流是顺序出现的,因此选取界标窗口来存储时间戳论域T,界标窗 口的长度AW为起始时间点到当前时间点为止记录的数据流个数; 基于时间戳的数据流聚类算法以数据流集合S和簇半径阈值e为输入,簇半径阈值e 的单位为秒,以生成的簇集合S' ={ (Ci,P (Ci)) I (1彡i彡m)}为输出;顺序遍历数据流中 的每个数据流,通过计算当前数据流的开始时间与数据流簇的结束时间间隔判断加入当前 簇还是新建簇; 然后,在数据流簇上进行木马通信行为特征的提取,木马通信行为特征的提取是指木 马交互操作阶段行为特征的提取; 操作阶段木马通信特征的提取分五个方面,分别为: 第一:针对木马被控端在通信中扮演资源服务器的角色,提取以下行为特征:被控主 机的信息和文件资源异常上传通信量;数据流簇上传数据量偏大时为异常特征; 第二:针对木马通信过程中数据包分布特点,提取以下行为特征:数据流簇接收小包 数量与小包总数量的比值、数据流簇上传大包数量与大包总数量的比值;这两个比值任一 项大于〇. 5时为异常特征; 第三:针对木马通信时的数据流表现为由内向外的上传流的特点,提取以下特征:数 据流簇上传数据量与下载数据量比值;该特征值大于1时为异常特征; 第四,针对木马通信过程包含一个主要连接和多个次要连接的特点,提取以下行为特 征:主连接持续时间与数据流簇持续时间的比值,这个比值大于0. 8时为异常特征; 第五,针对木马通信过程中人为控制的因素较大的特点,提取以下行为特征:提取以下 行为特征:数据流簇中数据流持续时间的方差,方差大于50时为异常特征。
2. 根据权利要求1所述的方法,其特征在于,数组链表结构如下: 设会话数量为S,若将所有的会话以传统的单链表的形式进行组建,每次接收到数据包 后都要对会话链表进行顺序查找,顺序查找的平均计算时间复杂度为O(S/2); 以数组链表的形式整理会话,设数组具有n个下标,数组第i个下标串接的会话链表个 数为ct i,则接收数据包加入数组第i个下标的概率为 9 故对链表进行查询的平均时间复杂度为:
根据定理"均方根大于等于算术平均数"可得:
3. 根据权利要求1所述的方法,其特征在于,根据权利要求1所述的方法,其特征在于, 所述四元组中的元素为源IP地址、源端口、目的IP地址和目的端口;数据包按照等价四元 组进行会话划分是指对源IP地址、源端口、目的IP地址、目的端口进行划分;系统采用数组 链表结构来记录四元组,数组链表结构是指数组和链表相结合的数据结构;系统利用数组 建立哈希表,将哈希表作为链表的索引来提高查找效率;系统针对数据包四元组中各元素 的不同概率分布,把分布均匀的元素分量设为数组链表,把分布不均匀的元素分量设为链 表。
4. 根据权利要求2所述的方法,其特征在于,系统利用哈希表+多级链表的结构记录源 IP地址分量,源端口分量、目的IP地址分量、目的端口分量依次分别建立多级链表,系统选 取源IP地址的最后1个字节进行哈希值的计算建立哈希表。
【文档编号】H04L29/06GK104283897SQ201410593969
【公开日】2015年1月14日 申请日期:2014年10月29日 优先权日:2014年10月29日
【发明者】刘胜利, 王文冰, 武东英 申请人:刘胜利