APP下载

基于模糊识别和网络行为的木马检测模型设计

2016-05-28王国栋

关键词:网络流量

陈 庄,王国栋

( 重庆理工大学 计算机科学与工程学院,重庆 400054)



基于模糊识别和网络行为的木马检测模型设计

陈庄,王国栋

( 重庆理工大学 计算机科学与工程学院,重庆400054)

摘要:当前主流的木马检测技术主要基于特征码检测,但这种检测方法往往存在滞后,无法及早发现未知木马。此外,目前基于行为的木马检测方法过于单一,容易产生误检或漏检。针对以上情况,提出了一种基于模糊识别和网络行为的二次检测模型,旨在对采用模糊识别方法检测出来的木马程序进行二次检测,从而获得更好的检出率,降低误检机率。

关键词:木马检测;特征码;模糊识别;网络流量

目前,主流的木马检测技术依然是基于特征码的检测,也称为静态检测技术。该技术主要是提取木马的静态特征构建特征库,然后对其进行查杀。然而特征码技术存在一定的局限性,比如资源空间占用大、无法及时预防和对抗未知的木马攻击等。针对静态检测技术的缺陷,目前出现了一种新的检测技术——基于行为分析的检测技术,也称为动态检测技术。该技术不依赖于强大的病毒特征库,而是主要根据木马从植入到通信整个过程表现出来的行为对其进行查杀[1-6]。作为当前新兴的木马检测技术,基于行为分析的木马检测技术发展迅速。李焕洲等[2]提出了基于行为特征库的木马检测模型,应用模糊识别技术识别木马程序。易军凯等[4]综合木马的几个网络行为特征,利用层级聚类、Davies-Bouldin指数和K-means聚类方法进行木马检测。赵天福等[6]从网络行为的角度来分析木马的心跳行为和交互性操作行为,从而识别木马程序。这些检测方法在一定程度上促进了基于行为分析的木马检测技术的发展。但基于行为的分析容易造成误判,即将正常程序误判为木马程序进行删除。上述学者在检测时仅考虑了木马的检出效果,对误判的情况考虑得不够充分,造成误判的概率较高,这在一定程度上也影响了木马的检出率。

针对上述问题,本文提出了一种基于模糊识别和网络行为的二次木马检测模型。首先利用模糊识别的方法进行训练识别,然后对识别出来的木马进行网络流量行为分析,进行二次检测[8-15]。实验结果表明:本文提出的二次木马检测模型具有较好的检出效果,同时减少了误判的发生。

1木马行为分析

基于行为分析的木马检测,简而言之就是在程序运行的过程中,检测其是否具有木马的行为特征,如果有,则判断该程序可能是木马,进而进行阻止或查杀。但是,并不是所有的木马都具有明显区别于合法程序的特征,因此要对木马的行为特征进行详细的分析与了解。木马程序一般在植入、安装、启动和通信等阶段体现出不同寻常的行为特征。

通过查阅相关文献,本文归纳出木马在植入、安装、启动和通信阶段的行为特征。

1) 植入阶段

木马在进行攻击之前,往往会通过操作系统的漏洞或者零日漏洞,将木马程序植入入侵的主机。木马程序也可以通过网站链接的形式注入用户的电脑。此外,还可通过邮件的方式将程序附着到文件上进行传播,从而达到隐藏自身的目的。

2) 安装阶段

在通常情况下,木马安装程序都将木马服务器及相关程序拷贝到系统目录下,因为系统目录下存在大量的系统文件,用户担心破坏系统文件,一般不会轻易进行修改或删除操作。此外,木马的命名和系统文件有很大的相似性,这也增加了定位的难度。在安装阶段,木马显著区别于合法程序的行为特征主要有:自启动设置;修改注册表;修改系统配置文件;杀死其他进程;修改文件关联等。

3) 启动阶段

木马服务器端安装之后,服务器会采用“进程隐藏”的方式,以进程或者线程的形式运行,这也是大多数木马在该阶段的显著特征之一。此外,该阶段木马行为特征还包括利用远程线程注入技术获取系统权限,采用API拦截技术拦截系统信息,以子进程的形式附着在系统进程上等。

4) 通信阶段

在该阶段,木马客户端往往会通过发送控制指令或者接收信息达到控制目标主机、窃取私密信息的目的。目前,木马在通信阶段表现出来的行为特征主要有:端口反弹或反向链接;采用ICMP 作为通信协议;使用隧道技术实现隐蔽通信等。

综上所述,本文将根据木马所表现的异常行为特征,通过特征提取进行模糊识别,然后应用网络流量分析二次检测木马,提高木马的检出效果,减少误判的发生。

2木马检测模型

木马行为的提取和判断是木马检测关键的一步,因此如何提取木马行为以及如何判断是否是木马成为研究的重点。由于单一的检测方法会造成误检的发生,所以采用一种二次检测的方式来进行木马的检测,从而降低误检的概率。本文采取如下步骤对木马进行检测(如图1所示):

1) 利用概率统计学中的均方差法进行实验。采用类间频率均方差法计算不同行为对识别木马程序的贡献度,总结出排名前10位的特征作为木马程序的通用特征,构建木马程序行为特征库。

2) 根据隶属度函数分别计算待测样本、正常样本、木马样本的行为特征隶属度,通过贴合度计算判断木马程序和正常程序。

3) 对检测出来的木马程序进行网络流量的检测,进一步确定是否为木马程序,如果流量异常则为木马程序,否则不是。

图1 检测步骤

2.1模糊识别数学模型

设木马程序有m个样本,合法程序有n个样本,根据采集到的k个通用行为特征,每个程序样本均会有其中的s(0

(1)

同理,合法程序样本集N也可用上述指标特征矩阵表示。如果xij=1表示木马程序样本j具有第i个行为特征,反之则不具有[5,7]。

设将y个程序样本按照样本的k个指标特征分为c个级别(或类别)加以识别,其模糊识别矩阵为

(2)

待测样本有两种可能:一种是木马程序;另一种是合法程序。因此,设c=2,根据k个通用行为特征加以识别,其模糊识别矩阵如下:

(3)

对于一个分类样本,获取其k个特征的隶属度u1,u2,…,uk,这k个特征在分类中的作用是不同的,可以根据计算得到的相关贴近度按照就近原则进行分类。

2.2检测模型

2.2.1特征提取

木马程序在运行的过程中往往会表现出与正常程序相似或者一致的行为特征,但是由于木马程序在窃取数据的过程中某些行为较为活跃,这对识别木马起到了一定的辅助作用。当某些行为在木马程序中出现的频率非常高,而在正常程序中出现的频率较低时,就可以认为该行为对识别木马程序所作的贡献较大。因此,经过实验分析对比,利用概率统计学中的均方差法进行实验。采用类间频率均方差可以很好地反映不同行为对木马程序识别的贡献度。具体计算过程如下:

步骤4根据计算的均方差的大小进行排序,选出前10个组成的“模糊特征集”,以此作为判别木马行为的通用特征。排名前10位的木马程序通用行为特征见表1。

表1 排名前10位的木马程序通用行为特征

2.2.2模糊识别阶段

木马程序集T的隶属函数:

(4)

式中:

t为特征量的个数。

正常程序集N的隶属函数:

(5)

待测程序集F的隶属函数:

(6)

(7)

同样,针对正常程序进行通用的操作,可以得到模糊集:

(8)

对待测程序集进行特征频率的统计,并根据隶属函数计算待测程序集的模糊集:

(9)

步骤3计算贴近度。根据步骤2计算得到的模糊集计算F与T之间的贴近度以及F与N之间的贴近度。本文采用的是Euclid贴近度[1],计算公式如下:

(10)

步骤4根据“择近原则”将待测程序文件归于木马程序或正常程序。

2.2.3网络流量检测阶段

在模糊识别阶段,一般通过通用行为模糊化来进行检测,这样易将部分正常程序当成木马程序,从而导致误判。因此,本研究采用二次检测技术,从网络流量的角度对筛选出来的木马程序进行第2次检测,从而获得更高的检出率。

木马程序在通信阶段往往存在大量的人为参与过程,这主要表现在:

1) 所有的控制命令发起方都在客户端,与正常的C/S架构有明显的差异。

2) 由于客户端需要对服务端不停地发送指令,因此服务端响应的数据量势必会很大。

3) 一般客户端发送的指令为短文本,而服务端上传的数据多为图像、报文等数据。

4) 木马程序的通信往往具有周期性。

根据以上特点,选用了一款名为Wireshark的流量监控软件对程序进行监控与识别。控制型木马程序在网络通信方面有明显的时序特性。通过对木马控制行为的分析,采用文献[3]提到的时序分析方法进行第2阶段的检测。

步骤1进行时序分簇处理。簇是在时序关系上密切的数据包的集合,如果相邻数据包的时间间隔在一定的阈值T内,则表示这两个数据包属于一个簇,否则不属于一个簇。T一般由网络的往返时延决定,具体计算公式如下:

(11)

其中t(i+1)-t(i)表示当前会话中两个有交互行为的相邻数据包的时间差。一般情况下,取最近20次通信的往返数据包的平均值,即n=20,经过放大后则为T的取值。式(11)中k为放大倍数。

通过构造临时数据包列表,对网络数据流中的每一个数据包,判断其与临时列表中最后一个数据包的时间差是否大于T。如果是,就将临时列表中的数据包集合构成一个簇;否则,将其加至末尾,如此循环。以pk表示数据包,clu表示簇,sn表示会话,则其关系为

(12)

(13)

运用数理统计思想,计算首包方向cdir、首包时间ctime、序列数量cnum、序列均值cavg、序列纯度cpure、时间跨度ctc、序列最值cmax、序列速度csp这8个属性。以属性向量作为簇的特征值,记为:

步骤2进行距离计算。通过计算加权欧式距离来计算分簇间的关联度,反映其在网络行为上的关系,具体计算公式为

(14)

式中:proci表示簇属性向量中的不同属性值;ωi表示不同属性值的计算权值。

步骤3对控制行为进行识别。通过计算网络流的相邻数据分簇的加权欧氏距离可以发现,正常网络应用数据流时序分簇处理后无明显控制响应交互行为,且变化过程无规律;而控制型木马程序则相反,经过处理后,相邻分簇之间呈现平稳的规律,表明控制和响应会话有明显的交互行为,且有一定的周期。因此,通过计算相邻分簇加权欧氏距离的方差d,然后根据统计学思想计算加权欧氏距离均值w,并将其设为阈值th,判断距离方差d是否超过th,以此进一步检测木马程序。如果超过th,则证明是正常程序,否则是木马程序。

3实验结果与分析

本文的实验在成都中科慧创科技有限公司搭建的云平台上实现,主要采用Windows 7-32位操作系统。样本集是由成都中科慧创科技有限公司提供,共计300个样本,其中200个为木马程序,100个为正常程序。首先,选取50个木马程序和50个正常程序进行训练学习,然后对剩余的150个木马程序和50个正常程序进行测试。实验数据见表2。

表2 实验样本数据

为了评判检测模型的准确性,本文选择检测率和误判率2个指标进行佐证。检测率等于正确检测出木马程序的数量与测试集中木马程序的总数之比;误判率等于检测为木马程序但实际上为正常程序的数量与测试集中正常程序的总数之比。

首先选择数量不同的测试集,分别使用模糊识别算法、木马心跳行为进行单一算法检测,然后与本文采用的二次检测算法进行对比,结果见表3。

实验结果表明:本文采用的模糊识别和网络行为的二次检测算法在检测木马程序时比单一的检测算法具有更高的检测率和更低的误判率。

为了更全面地验证算法的有效性,选定相同数量、不同类型的木马,验证对比单一算法与二次检测算法的检测效率,实验结果见表4。

表3 数量不同的样本数据检测木马程序实验结果对比

表4 不同类型木马程序检测实验结果对比

实验结果表明:在检测不同类型木马时,二次检测算法在检测率和误判率方面效果好于单一检测算法。

通过对比两组实验结果可以发现:检测率有所提升,误判率有所降低,但这样的检测无疑增加了运算复杂度。针对当前木马变种日益增多的情况,特征码防御往往滞后3~5天,甚至更长,而单一的行为检测方式则在检测率和误判率方面有所欠缺。因此,为了能尽快发现并阻止木马等危险性程序,可以在适度牺牲运算复杂度的前提下采用二次检测技术来检测木马程序。这样的检测技术可以应用在如工业控制系统等与国计民生密切相关的行业,保障基础设施的安全。

4结束语

本文针对木马检测中产生的误判问题,将模糊识别和网络流量检测技术相结合,对模糊识别后得到的木马程序进行网络流量方面的再次检测,从而得到更高的木马程序检出率,降低误判的概率,对行为检测技术的发展具有一定的推动作用。本文所提检测技术的不足之处在于检测时间过长,资源消耗过多等。这种检测方式以牺牲运算效率为代价来提高检测率和降低误检率。如何在检测率更高的情况下降低运算复杂度将是下一步的研究重点。此外,当前的木马程序种类繁多也加大了木马程序检测的难度和复杂度。单一地依靠一种技术已无法应对木马程序的发展趋势,只有综合运用各种不同的技术,从不同角度去检测,才能在最大程度上保障用户免受木马程序的侵袭。

参考文献:

[1]ZHANG B,YIN J,HAO J.Using fuzzy pattern recognition to detect unknown malicious executables code[M]//Fuzzy Systems and Knowledge Discovery.Berlin :Springer Berlin Heidelberg,2005:629-634.

[2]李焕洲,陈婧婧,钟明全,等.基于行为特征库的木马检测模型设计[J].四川师范大学学报(自然科学版),2011,34(1):123-127.

[3]陈利,张利,姚轶崭,等.基于时序分析的木马控制行为识别方法[J].计算机科学,2013,40(6A):337-339.

[4]陈庆章,莫建华,顾雨捷.用于行为分析反木马的模糊分类算法研究[C]//全国第 20 届计算机技术与应用学术会议 (CACIS· 2009) 暨全国第 1 届安全关键技术与应用学术会议论文集 (上册).合肥:[出版者不详],2009.

[5]易军凯,刘健民,万静.一种基于网络行为分析的 HTTP 木马检测模型[J].北京化工大学学报(自然科学版),2014 (3):114-118.

[6]张波云,殷建平,唐文胜,等.基于模糊模式识别的未知病毒检测[J].计算机应用,2005,25(9):2050-2053.

[7]赵天福,周丹平,王康,等.一种基于网络行为分析的反弹式木马检测方法[J].信息网络安全,2011(9):80-83.

[8]张波云,殷建平,唐文胜.一种未知病毒智能检测系统的研究与实现[J].计算机工程与设计,2006,27(11):1936-1938.

[9]LIANG Y,LIANG J,HUANG L,et al.Trojan Detection Model of Nonlinear SVM Based on an Effective Feature Selection Optimization Algorithm[C]//Information Technology and Applications (ITA),2013 International Conference on.USA:IEEE,2013:138-142.

[10]闫军伟,钟求喜,贾欣,等.基于行为的分布式恶意代码检测技术[J].计算机与现代化,2011(9):126-129.

[11]苗甫,王振兴,张连成.基于流量统计指纹的恶意代码检测模型[J].计算机工程,2011,37(18):131-133.

[12]孟磊,刘胜利,刘龙,等.基于心跳行为分析的木马快速检测方法[J].计算机工程,2012,38(14):13-16.

[13]郝增帅,郭荣华,文伟平,等.基于特征分析和行为监控的未知木马检测系统研究与实现[J].信息网络安全,2015 (2):57-65.

[14]马立军.基于行为检测的窃密型木马检测研究[J].广西民族大学学报(自然科学版),2014,20(2):70-74.

[15]朱立军.基于动态行为的未知恶意代码识别方法[J].沈阳化工大学学报,2012,26(1):77-80.

(责任编辑杨黎丽)

Design of Trojan Detection Model Based on Fuzzy Recognition and Network Behavior

CHEN Zhuang, WANG Guo-dong

(College of Computer Science and Engineering,Chongqing University of Technology, Chongqing 400054, China)

Abstract:Recently, the Trojan detection technology is mainly based on feature code detection. However, this detection method often has lagging and cannot identify unknown Trojan. In addition, the other detection method based on behavior is too single and is easy to appear error or missing. For the condition of error detection, this paper proposed a second-detection-model based on fuzzy recognition and network behavior and aimed at secondary detection for Trojans detected by fuzzy recognition method. It not only achieves better detection rate, but also reduces the risk of error and missing.

Key words:trojan detection; feature code; fuzzy recognition; network flow

文章编号:1674-8425(2016)04-0084-07

中图分类号:TP393

文献标识码:A

doi:10.3969/j.issn.1674-8425(z).2016.04.015

作者简介:陈庄(1964—),男,重庆人,教授,主要从事信息安全和人工智能领域研究;王国栋(1990—),男,河南人,硕士研究生,主要从事信息安全研究。

基金项目:四川省科技支撑计划资助项目(2015GZ0345)

收稿日期:2015-11-07

引用格式:陈庄,王国栋.基于模糊识别和网络行为的木马检测模型设计[J].重庆理工大学学报(自然科学),2016(4):84-90.

Citation format:CHEN Zhuang, WANG Guo-dong.Design of Trojan Detection Model Based on Fuzzy Recognition and Network Behavior[J].Journal of Chongqing University of Technology(Natural Science),2016(4):84-90.

猜你喜欢

网络流量
基于多元高斯分布的网络流量异常识别方法
大数据驱动和分析的舰船通信网络流量智能估计
基于神经网络的P2P流量识别方法
网络流量异常检测中的维数约简研究
大数据环境下的网络流量非线性预测建模
基于组合模型的网络流量预测
AVB网络流量整形帧模型端到端延迟计算
基于组合模型的网络流量预测
一种通信网络业务流异常实时侦测方法
面向通信网络的业务流量特征分析方法