一种基于网络数据流的木马探测方法

文档序号:9891482阅读:260来源:国知局
一种基于网络数据流的木马探测方法
【技术领域】
[0001]本发明涉及木马检测技术领域,尤其涉及一种基于网络数据流的木马探测方法。
【背景技术】
[0002]随着现代社会电子化和信息化的发展,木马程序随之在技术上也快速更新,严重影响互联网安全,威胁互联网用户的安全。我国每年都会发生大量的网络盗窃案件,其中许多案件涉及政府和军队等要害单位的信息,这些案件大多通过木马手段进行攻击,因此研究木马检测技术有着至关重要的意义。而随着木马隐藏技术的不断提升,木马在系统中变得越来越难以发现,很多常规手段都难以发现其踪迹。因此,木马检测技术正面临着一个瓶颈,需要有一系列技术来解决这些问题。
[0003]传统的木马检测技术都是特征码或者本地行为分析,并不对网络行为做太多的监控,而针对网络行为的入侵检测系统却只检测网络行为,并不能够定位到本地木马的具体位置,入侵检测系统如果发现了网络数据异常,往往需要大费周章来进行系统扫描。

【发明内容】

[0004]本发明的目的在于针对现有技术的不足,提供一种基于网络数据流行为和本地行为联合分析的木马探测方法。
[0005]本发明的目的是通过以下技术方案来实现的:一种基于网络数据流的木马探测方法,该方法包括以下步骤:
[0006](1)、网络数据的筛选分类,该步骤通过以下子步骤来实现(时间的单位为秒):
[0007](1.1)、抓取两个IP之间一段互相通信的网络数据D,并且记D的截止时间为To,开始时间为Ti,D的源IP和目的IP之间的IP地址对取&=(1?^。,1?<^),式中,见^。为0的源1?,IPdst为D的目的IP;
[0008](1.2)、计算七秒内Dt的总发包数PacketDt,其中Dt为D中离Tq最近的t秒数据;
[0009](1.3)、计算1:秒内Dt的上传下载比RateDt = UpDt/DownDt,其中UpDt为Dt中的上传数据量,DownDt为Dt中的下载数据量;
[0010](1.4)、计算1:秒内Dt的长度小于200的数据包占比TinyDt = TinyCountDt/TotalCountDt,其中TinyCountDt为Dt中长度小于200的数据包的总数,TotalCoun tDt为Dt中的数据包总数;
[0011 ] (1.5)、计算t秒内Dt的命令数量CommandDt,其中命令包的定义为:X为D中一个下载的包,X的发包时刻记作Tx,在时间区间[Tx-30,Tx-0.5 ]中没有收发任何数据包,在时间区间[Τχ-0.5,ΤΧ]中发送I个或者没有发送数据包,并且没有接受任何数据包,在时间区间[Τχ,Τχ+0.5]中至少发送I个数据包,则称X为命令包;
[0012](1.6)、计算To时,D的会话长度TimeD,计算方法为:对数据D从To时刻往回溯,直到时刻T2 (T2)T1),使在一定时间区间中,没有收发任何数据包,则TimeD = To-T2;若T2-SOW1,所述时间区间为[Τ2-30 ,T2],若T2KT1,则所述时间区间为[T1,Τ2];
[0013](1.7)、以PacketDt,RateD,TinyDt,Commancbt,TimeD五个计算结果为特征,通过C5.0决策树算法来对数据D进行判定,判定其是否为木马数据;
[0014](2)、若D被判定为木马数据,则对操作系统中木马文件进行定位,该步骤通过以下子步骤来实现;
[0015](2.1)、通过编写底层驱动的方法得到步骤I中木马数据D的发包程序X;
[0016](2.2)、将程序X中的所有网络发包API函数进行HOOK处理,监视程序X的所有发包情况,直到地址为IPpair的包P再次被发送;
[0017](2.3)、通过已被HOOK处理的API函数中的堆栈情况,回溯出发出数据包P的API函数的调用者:文件T;所述T即为所需的木马文件。
[0018]本发明的有益效果是,本发明的方法基于网络数据行为,通过筛选分类,并反向追踪本地木马文件。本发明根据木马程序的网络行为选出的五个特征作为机器学习算法的输入,可以有效地筛选出木马数据,进而通过本地行为回溯的方法找出木马本体的正确位置。本发明在发现网络数据异常的时候就直接进行本地的行为分析,大大提升了木马的探测率。
【附图说明】
[0019]图1是本发明的方法流程图。
【具体实施方式】
[0020]如图1所示,本发明提供一种基于网络数据行为,通过筛选分类,并反向追踪本地木马文件位置的方法。木马检测技术主要用于泄密检测,服务器防护,个人电脑安全等,是计算机安全领域的一个重要内容。具体的实施过程包括两个大的步骤,分别是网络数据的筛选分类、操作系统中木马文件的定位。
[0021]1、网络数据的筛选分类,该步骤通过以下子步骤来实现(时间的单位为秒):
[0022]1.1、抓取两个IP之间一段互相通信的网络数据D,并且记D的截止时间为To,开始时间为T1,D的源IP和目的IP之间的IP地址对IPpair= (IPsr。,IPdst),式中,IPsr。为D的源IP,IPdst为D的目的IP。
[0023]1.2、计算t秒内Dt的总发包数PacketDt,其中Dt为D中离To最近的t秒数据。
[0024]I.3、计算1:秒内Dt的上传下载比RateDt = UpDt/DownDt,其中UpDt为Dt中的上传数据量,DownDt为Dt中的下载数据量。
[0025]1.4、计算1:秒内Dt的长度小于200的数据包占比TinyDt = TinyCountDt/TotalCountDt,其中TinyCountDt为Dt中长度小于200的数据包的总数,TotalCoun tDt为Dt中的数据包总数。
[0026]1.5、计算t秒内Dt的命令数量CommandDt,其中命令包的定义为:X为D中一个下载的包,X的发包时刻记作Tx,在时间区间[Tx-30,Tx-0.5 ]中没有收发任何数据包,在时间区间[Τχ-0.5,Tx]中发送I个或者没有发送数据包,并且没有接受任何数据包,在时间区间[Tx,Tx+0.5]中至少发送I个数据包,则称X为命令包。
[0027]1.6、计算To时,D的会话长度TimeD,计算方法为:对数据D从To时刻往回溯,直到时亥IjT2 (T2)T1),使在一定时间区间中,没有收发任何数据包,则TimeD = To-T2 ;若MOST1,所述时间区间为[T2-30 ,T2],若T2-SCKT1,则所述时间区间为[T1,T2]。
[0028]1.7、以 Packe tDt,RateD,T inyDt,Commancbt,T imeD 五个计算结果为特征,通过 C5.0 决策树算法来对数据D进行判定,判定其是否为木马数据。
[0029]2、若D被判定为木马数据,则对操作系统中木马文件进行定位,该步骤通过以下子步骤来实现。
[0030]2.1、通过编写底层驱动的方法得到步骤I中木马数据D的发包程序X。
[0031]2.2、将程序X中的所有网络发包API函数进行HOOK处理,监视程序X的所有发包情况,直到地址为IPpair的包P再次被发送。
[0032]2.3、通过已被HOOK处理的API函数中的堆栈情况,回溯出发出数据包P的API函数的调用者:文件T;所述T即为所需的木马文件。
[0033]本发明根据木马程序的网络行为选出的五个特征作为机器学习算法的输入,可以有效地筛选出木马数据,进而通过本地行为回溯的方法找出木马本体的正确位置。
【主权项】
1.一种基于网络数据流的木马探测方法,其特征在于,该方法包括以下步骤: (1)、网络数据的筛选分类,该步骤通过以下子步骤来实现(时间的单位为秒): (1.1)、抓取两个IP之间一段互相通信的网络数据D,并且记D的截止时间为To,开始时间为T1,D的源IP和目的IP之间的IP地址对IPpair= (IPsr。,IPdst),式中,IPsr。为D的源IP,IPdst为D的目的IP。 (1.2)、计算t秒内Dt的总发包数PacketDt,其中Dt为D中离To最近的t秒数据。 (1.3)、计算1:秒内Dt的上传下载比RateDt= UpDt/DownDt,其中UpDt为Dt中的上传数据量,DownDt为Dt中的下载数据量。 (1.4)、计算1:秒内Dt的长度小于200的数据包占比TinyDt= TinyCountDt/TotalCountDt,其中TinyCountDt为Dt中长度小于200的数据包的总数,TotalCountDt为Dt中的数据包总数。 (1.5)、计算t秒内Dt的命令数量CommandDt,其中命令包的定义为:X为D中一个下载的包,X的发包时刻记作Tx,在时间区间[Tx-30,Tx-0.5 ]中没有收发任何数据包,在时间区间[Τχ-0.5,Τχ]中发送I个或者没有发送数据包,并且没有接受任何数据包,在时间区间[Τχ,Τχ+0.5]中至少发送I个数据包,则称X为命令包。 (1.6)、计算To时,D的会话长度TimeD,计算方法为:对数据D从To时刻往回溯,直到时刻T2(Τ2>Τι),使在一定时间区间中,没有收发任何数据包,则TimeD = T0-T2 ;若MOW1,所述时间区间为[Τ2-30 ,T2],若T2-SCKT1,则所述时间区间为[T1,T2]。 (1.7)、以PacketDt,RateD,TinyDt,CommandDt,T imeD 五个计算结果为特征,通过 C5.0 决策树算法来对数据D进行判定,判定其是否为木马数据。 (2)、若D被判定为木马数据,则对操作系统中木马文件进行定位,该步骤通过以下子步骤来实现。 (2.1 )、通过编写底层驱动的方法得到步骤I中木马数据D的发包程序X。 (2.2 )、将程序X中的所有网络发包API函数进行HOOK处理,监视程序X的所有发包情况,直到地址为IPpair的包P再次被发送。 (2.3)、通过已被HOOK处理的API函数中的堆栈情况,回溯出发出数据包P的API函数的调用者:文件T;所述T即为所需的木马文件。
【专利摘要】本发明公开了一种基于网络数据流的木马探测方法,本发明首次采用会话长度,上传下载比,传输中的长度小于Size(Size=200)的包占比和命令包占比等四个特征进行分类处理,筛选出木马数据。首先利用现有网络数据包采集工具进行数据包获取,然后通过本方法进行木马分类识别,最后通过HOOK网络发包API和栈回溯的方法定位出木马文件位置。本发明采用从网络行为到本地行为的联合分析顺序,优于传统的网络行为或者本地行为独立分析的方法。
【IPC分类】H04L29/06
【公开号】CN105656944
【申请号】
【发明人】吴春明, 陈双喜, 蔡扬
【申请人】浙江大学
【公开日】2016年6月8日
【申请日】2016年3月19日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1