本發(fā)明屬于信息安全領(lǐng)域,涉及木馬的檢測技術(shù),具體涉及一種基于通信行為的木馬檢測方法。
背景技術(shù):
apt(advancedpersistentthreat,高級持續(xù)性威脅)一直是互聯(lián)網(wǎng)所面臨的主要安全威脅,而木馬仍然是apt的主要的攻擊手段,因此對木馬的檢測防范在信息安全領(lǐng)域有著非常重要的意義。
目前,木馬檢測技術(shù)主要有以下幾種類型:
(1)基于特征的已知木馬檢測方法。首先運行已知的木馬樣本并運行,提取通信數(shù)據(jù)的數(shù)據(jù)特征;然后用提取的特征和網(wǎng)絡(luò)流量數(shù)據(jù)進行匹配,從而達到對木馬的識別。這種木馬的檢測技術(shù)的優(yōu)點是方案成熟,準(zhǔn)確率也高,但卻無法對未知木馬進行檢測,即使是對已知木馬輕微修改的變種,因此不能構(gòu)建一個統(tǒng)一的檢測模型,需要不斷地更新木馬特征庫。
(2)基于通信行為的木馬檢測方法。這種檢測方法理論上適用于已知木馬和未知木馬的檢測,而且在時效性和擴展性方面有著明顯優(yōu)勢。但是由于木馬的多樣性,要想用一種模型或算法對所有木馬進行檢測,就使得檢測算法異常復(fù)雜,檢測的準(zhǔn)確率非常低。
現(xiàn)有技術(shù)文獻中,公告號為cn102523223b、名稱為“一種木馬檢測的方法及裝置”的發(fā)明專利公開了一種木馬檢測的方法及裝置,用以解決現(xiàn)有技術(shù)不能有效的對網(wǎng)絡(luò)中存在的木馬進行檢測的問題。該方法當(dāng)檢測到會話中存在木馬心跳檢測時,根據(jù)木馬心跳檢測的頻率是否固定,將記錄的會話權(quán)值增加相應(yīng)的權(quán)值并記錄,并針對控制端向被控制端發(fā)送的每個報文,檢測該報文是否符合木馬控制命令報文的特征,若符合,則將記錄的會話權(quán)值增加第三權(quán)值并記錄,在會話權(quán)值達到告警閾值時發(fā)出告警,以通知該會話為木馬發(fā)起的會話。由于通過對會話中的報文進行檢測實現(xiàn)木馬檢測,因此可以檢測到網(wǎng)絡(luò)中存在的木馬,并且對會話中的報文進行檢測時,并不只是簡單的字符串匹配。但該專利的缺點是檢測準(zhǔn)確率低,目前很多非木馬的協(xié)議有它的心跳特征和木馬控制命令報文的特征。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是基于通信行為的木馬檢測方法,針對其中的一種類型木馬,即心跳和數(shù)據(jù)傳輸在同一條流,被控制端被認(rèn)為遠程控制的木馬進行檢測,算法簡單,能大大提高對該種類型木馬檢測的準(zhǔn)確率。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為一種基于通信行為的木馬檢測方法,具體包含以下步驟:
s1:采集網(wǎng)絡(luò)原始數(shù)據(jù)包,通過旁路的方式獲取網(wǎng)絡(luò)原始數(shù)據(jù)包;
s2:對采集到的網(wǎng)絡(luò)原始數(shù)據(jù)包進行解析重組,將數(shù)據(jù)包進行解析,解析出網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層的相關(guān)信息,包括四元組信息,四元組相同的則為同一條流,并在網(wǎng)絡(luò)層及傳輸層進行數(shù)據(jù)包的重組;
s3:識別常用的已知的不可能為木馬數(shù)據(jù)流的協(xié)議,并對這些協(xié)議數(shù)據(jù)流進行過濾;
s4:判斷同一條流是否同時存在:
(1)心跳行為;
(2)心跳包外的每個上行小包都伴隨下行一個或多個連續(xù)的大包;
(3)每組“上行小包+下行大包”都至少有一定的時間間隔;
如果同時滿足上述三個條件則判定為木馬,否則判定為非木馬。
進一步,上述通過旁路的方式包含交換機、路由器鏡像。
進一步,上述步驟2中,所述四元組信息包括源ip、目的ip、源端口、目的端口。
與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果:
本發(fā)明針對基于通信行為的木馬檢測方法存在的檢測準(zhǔn)確率異常低的問題,對心跳和數(shù)據(jù)傳輸在同一條流,被控制端被認(rèn)為遠程控制這種類型的木馬的通信行為做出了精確提煉,簡化了常用的對未知木馬的識別算法,大大提高了對這類木馬的識別準(zhǔn)確率。
附圖說明
圖1為本發(fā)明的檢測流程示意圖。
具體實施方式
現(xiàn)結(jié)合附圖對本發(fā)明做進一步詳盡的說明。
如圖1所示,本發(fā)明對木馬的檢測過程可以分為以下幾個步驟:
(1)采集網(wǎng)絡(luò)原始數(shù)據(jù)包;
比如可以通過旁路的方式(交換機、路由器鏡像過來的數(shù)據(jù))獲取網(wǎng)絡(luò)原始數(shù)據(jù)包。
(2)對采集到的網(wǎng)絡(luò)原始數(shù)據(jù)包進行解析重組;
將數(shù)據(jù)包進行解析,解析出網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層的相關(guān)信息,包括四元組信息(源ip、目的ip、源端口、目的端口)等。四元組相同的則為同一條流,并在網(wǎng)絡(luò)層及傳輸層進行數(shù)據(jù)包的重組。
(3)識別常用的已知的協(xié)議,并過濾這些協(xié)議數(shù)據(jù)流;
識別出常用的已知的不可能為木馬數(shù)據(jù)流的協(xié)議,如smtp、pop3、ftp等,并將這些協(xié)議的數(shù)據(jù)流進行過濾,以提高數(shù)據(jù)流處理的效率,及檢測的準(zhǔn)確度;
(4)判斷同一條流是否同時存在:1)心跳行為;2)心跳包外的每個上行小包都伴隨下行一個或多個連續(xù)的大包;3)每組“上行小包+下行打包”都至少有一定的時間間隔,如果同時滿足上述三個條件則判定為木馬,否則判定為非木馬。
本發(fā)明主要是檢查這種類型的木馬:所有的數(shù)據(jù)傳輸都在同一條中,且被控制端能被人為的遠程控制。
經(jīng)研究發(fā)現(xiàn),這類木馬有著這樣的共同特征:
1)保持連接的周期性傳遞的心跳包;
2)木馬運行時,被控制端被遠程人為控制后,人工下發(fā)操作指令;而人工操作速度上是有一定的限制的,也就是兩次操作之間有一定的時間間隔,且這個時間間隔相對于于正常的數(shù)據(jù)傳輸包之間的時間間隔要大得多;
3)每次人工操作,也即下發(fā)操作命令后,被控制端響應(yīng)該命令,都會上傳大量的數(shù)據(jù),也就所說的“心跳包外的每個上行小包都伴隨下行一個或多個連續(xù)的大包”。
通過上面的特征就能準(zhǔn)確地判斷數(shù)據(jù)包中是否包含該種木馬。
本發(fā)明針對具有上述特征木馬的通信行為做出了精確提煉,簡化了常用的對未知木馬的識別算法,大大提高了對這類木馬的識別準(zhǔn)確率。解決了目前基于通信行為的木馬檢測方法存在的檢測準(zhǔn)確率異常低的缺陷。