一種基于網絡數據流的木馬探測方法
【技術領域】
[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日