一種木馬遠(yuǎn)程shell行為檢測裝置及方法
【專利摘要】本發(fā)明公開了一種木馬遠(yuǎn)程shell行為檢測裝置及方法,檢測裝置包括數(shù)據(jù)包采集裝置,數(shù)據(jù)流篩選過濾裝置,數(shù)據(jù)流特征提取裝置和木馬shell行為特征檢測裝置。檢測方法首先為獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù);然后對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流;再提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔;最后將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中;最后通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中,適用于大規(guī)模網(wǎng)絡(luò)環(huán)境,能夠?qū)σ阎臀粗抉R遠(yuǎn)程shell行為進(jìn)行檢測。
【專利說明】—種木馬遠(yuǎn)程shel I行為檢測裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種木馬遠(yuǎn)程shell行為檢測裝置及方法?!颈尘凹夹g(shù)】
[0002]近幾年來,網(wǎng)絡(luò)安全問題已經(jīng)成為各國關(guān)注的重點(diǎn)問題之一,“棱鏡”事件的曝出,網(wǎng)絡(luò)隱私與個人用戶上網(wǎng)安全問題再一次成為公眾關(guān)注的焦點(diǎn)。隨著網(wǎng)絡(luò)攻擊技術(shù)的不斷發(fā)展,各種新型木馬技術(shù)不斷涌出,盡管各大安全廠商也都與時俱進(jìn),不斷推出運(yùn)用新型技術(shù)的安全產(chǎn)品,安全問題依然形勢嚴(yán)峻。
[0003]隨著時代的發(fā)展,以往網(wǎng)絡(luò)病毒與木馬的爆發(fā)式出現(xiàn)的概率越來越小,網(wǎng)絡(luò)攻擊者們已經(jīng)轉(zhuǎn)入地下,利用木馬技術(shù)等發(fā)展出了完善的網(wǎng)絡(luò)安全黑色產(chǎn)業(yè)鏈。木馬的設(shè)計越來越具有針對性,通用型木馬的使用已十分少見。對于軍隊(duì)和涉密單位等信息保密級別要求比較高的地方,極易受到這種針對性強(qiáng)的竊密木馬侵入攻擊行為。
[0004]對于竊密型木馬來說,獲取遠(yuǎn)程主機(jī)shell是其最基本的一個功能。所以,如果能夠檢測出木馬的遠(yuǎn)程shell行為,那么就很容易定位木馬流量和感染主機(jī)了。然而,傳統(tǒng)的木馬查殺和檢測技術(shù),并不適合對此類木馬的查殺檢測。主要表現(xiàn)在以下幾個方面:
首先,傳統(tǒng)的安裝反病毒軟件的木馬檢測技術(shù)是基于主機(jī)的檢測,這種方法需要用戶自己安裝反病毒軟件,實(shí)施復(fù)雜,同時無法對整個網(wǎng)絡(luò)中的是否存在木馬行為進(jìn)行檢測和監(jiān)控。
[0005]其實(shí),反病毒軟件查殺木馬主要使用的是基于病毒木馬特征碼檢測的方式,這種方法對于檢測新型木馬來說并不適用,因?yàn)檫@種針對性較強(qiáng)的木馬,其特征碼一般不會被殺毒軟件所記錄,木馬的制作者一般都會對木馬程序做“免殺”處理,殺毒軟件很難提取到其特征碼。而且,一般境外敵對勢力使用的竊密木馬其特征碼也一般是未知的。
[0006]目前主流的入侵檢測系統(tǒng)和防火墻等,也大部分是基于規(guī)則的防火墻系統(tǒng)。這種基于規(guī)則的防護(hù)方式很難對未知的網(wǎng)絡(luò)攻擊流量進(jìn)行區(qū)分和控制。雖然目前也有一些智能防火墻系統(tǒng),但是效果一般,主要還是依靠傳統(tǒng)的技術(shù)手段進(jìn)行檢測。
[0007]從專利文獻(xiàn)中檢索到以下專利中:
申請?zhí)枮镃N200910022718.X的網(wǎng)絡(luò)竊密木馬檢測方法,此專利的思想是通過獲取網(wǎng)絡(luò)數(shù)據(jù)流,對通信地址進(jìn)行分析、對通信協(xié)議進(jìn)行分析、對通信行為進(jìn)行分析、對通信關(guān)系進(jìn)行分析,將高度疑似木馬通信數(shù)據(jù)包,按照高度疑似木馬通信所采用的網(wǎng)絡(luò)通信協(xié)議,與相應(yīng)的目的IP地址建立連接,并按照相應(yīng)的通信協(xié)議構(gòu)造探測數(shù)據(jù)包發(fā)送對方,如果對方返回的應(yīng)答包中含有非協(xié)議規(guī)定的內(nèi)容,即確定該節(jié)點(diǎn)是木馬控制端。但是對于使用正常網(wǎng)絡(luò)通信協(xié)議進(jìn)行通信的木馬通信流量,該方法并不適用。
[0008]申請?zhí)枮镃N201010581622.X的一種木馬檢測方法、裝置及系統(tǒng),該發(fā)明的思想是以木馬攻擊過程中的特征執(zhí)行的時間順序?yàn)樘卣鳎谕ㄟ^預(yù)置的木馬特征庫判斷得到可疑的特征報文后,進(jìn)一步利用木馬攻擊程序執(zhí)行時序的特點(diǎn),判斷可疑的特征報文的執(zhí)行時序是否和木馬攻擊程序的執(zhí)行時序相同,如果相同,則確定可疑特征報文為木馬特征報文。該方法雖然不是傳統(tǒng)的特征碼識別檢測方法,但是仍然需要一個預(yù)置木馬特征庫。
[0009]申請?zhí)枮镃N201110430821.5的一種木馬檢測的方法及裝置,該專利的主要思想是:當(dāng)檢測到會話中存在木馬心跳檢測時,根據(jù)木馬心跳檢測的頻率是否固定,將記錄的會話權(quán)值增加相應(yīng)的權(quán)值并記錄,并針對控制端向被控制端發(fā)送的每個報文,檢測該報文是否符合木馬控制命令報文的特征,若符合,則將記錄的會話權(quán)值增加第三權(quán)值并記錄,在會話權(quán)值達(dá)到告警閾值時發(fā)出告警,以通知該會話為木馬發(fā)起的會話。但是,該方法無法檢測某些無心跳包的靜默式木馬。
[0010]申請?zhí)枮镃N201110157821.2的基于心跳行為分析的快速木馬檢測方法, 該發(fā)明也是一種基于心跳行為分析的木馬檢測方法,通過分析相鄰兩心跳過程之間的“心跳間隙”是否具有規(guī)律性以及心跳過程中被控端接收和發(fā)送的數(shù)據(jù)包數(shù)量比值是否相等,分析該階段木馬通信行為與正常網(wǎng)絡(luò)通信行為之間的差別,挖掘二者之間的本質(zhì)差別并提取行為特征,檢測疑似木馬。同上一發(fā)明,此方法也無法檢測某些無心跳包的靜默式木馬。
[0011]申請?zhí)枮镃N201210412347.8的一種基于網(wǎng)絡(luò)流量中行為特征的智能木馬檢測裝置及其方法,該專利是一種根據(jù)網(wǎng)絡(luò)流量數(shù)據(jù)中反映出來的木馬行為特征去智能地檢測木馬的方法,提供了一種基于網(wǎng)絡(luò)流量中行為特征的智能木馬檢測方法及其裝置,其主旨在于提供一種對新型未知木馬的發(fā)現(xiàn)。但是該專利并未提出具體的木馬特征提取方法。而且誤報率和準(zhǔn)確性也還有待驗(yàn)證。
[0012]申請?zhí)枮镃N103095714A —種基于木馬病毒種類分類建模的木馬檢測方法,該專利公開了一種基于木馬病毒種類分類建模的木馬檢測方法,其中心思想是通過對已知木馬按特征進(jìn)行分類,建立木馬特征識別模式庫。然后依據(jù)該庫來對木馬進(jìn)行檢測。該方法具有一定的未知木馬檢測能力,但是從本質(zhì)上來講還是一種基于木馬特征碼的檢測方式,對新型木馬的檢測誤報率比較高。同時,該檢測方式并不能對木馬shell行為進(jìn)行檢測。
【發(fā)明內(nèi)容】
[0013]本發(fā)明針對現(xiàn)有技術(shù)中存在的缺點(diǎn)和不足提供一種木馬遠(yuǎn)程shell行為檢測裝置及方法,適用于大規(guī)模網(wǎng)絡(luò)環(huán)境,能夠?qū)σ阎臀粗抉R遠(yuǎn)程shell行為進(jìn)行檢測。
[0014]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于,包括:
數(shù)據(jù)包采集裝置:用于獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)的;
數(shù)據(jù)流篩選過濾裝置:用于對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流;
數(shù)據(jù)流特征提取裝置:用于提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔;
木馬shell行為特征檢測裝置:用于將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1,X2,X3I輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔,通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中的步驟。
[0015]所述數(shù)據(jù)包采集裝置,在大型或者高速網(wǎng)絡(luò)的主干節(jié)點(diǎn)上,采用數(shù)據(jù)鏡像的方式采集網(wǎng)絡(luò)上的數(shù)據(jù);是部署在局域網(wǎng)的出入口,采用數(shù)據(jù)包嗅探的方式獲得網(wǎng)絡(luò)數(shù)據(jù)包。
[0016]所述數(shù)據(jù)流篩選過濾裝置通過協(xié)議過濾或白名單過濾方式實(shí)現(xiàn)。
[0017]所述數(shù)據(jù)流特征提取裝置建立一個hash鏈表保存提取的數(shù)據(jù)包包頭信息,hash鏈表以數(shù)據(jù)流五元組源IP、源端口、目的IP、目的端口、協(xié)議類型、中前四個元組hash值作為索引,鏈表字段包括了前述的三種特征及其他控制信息,根據(jù)協(xié)議類型不同,分別建立TCP和UDP數(shù)據(jù)包hash表。
[0018]所述木馬shell行為特征檢測裝置中的模型學(xué)習(xí)算法為神經(jīng)網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)模型的函數(shù)表達(dá)為:y=WX,其中W為特征性向量系數(shù)矩陣[Wi ,W2,w3], X為特征值矩陣[X1 , X2,x3]T,theta,為檢測閥值,t為檢測結(jié)果;對于某個輸入[Xi,x2,X3],B=W1X^W2X2tW3X3≥theta,輸出結(jié)果為I,表示檢測到木馬shell行為;反之輸出結(jié)果O,沒有檢測到木馬shell行為。
[0019]一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于,包括以下實(shí)施步驟:
數(shù)據(jù)包采集裝置獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)的步驟;
數(shù)據(jù)流篩選過濾裝置對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流的步驟;
數(shù)據(jù)流特征提取裝置提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔的步驟;
木馬shell行為特征檢測裝置將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1,X2,X3]輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔,通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中的步驟。
[0020]所述數(shù)據(jù)包采集裝置獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)的步驟,在大型或者高速網(wǎng)絡(luò)的主干節(jié)點(diǎn)上,采用數(shù)據(jù)鏡像的方式采集網(wǎng)絡(luò)上的數(shù)據(jù);是部署在局域網(wǎng)的出入口,采用數(shù)據(jù)包嗅探的方式獲得網(wǎng)絡(luò)數(shù)據(jù)包。
[0021]所述數(shù)據(jù)流篩選過濾裝置對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流的步驟,通過協(xié)議過濾或白名單過濾方式實(shí)現(xiàn)。
[0022]所述數(shù)據(jù)流特征提取裝置提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔的步驟,建立一個hash鏈表保存提取的數(shù)據(jù)包包頭信息,hash鏈表以數(shù)據(jù)流五元組源IP、源端口、目的IP、目的端口、協(xié)議類型、中前四個元組hash值作為索引,鏈表字段包括了前述的三種特征及其他控制信息,根據(jù)協(xié)議類型不同,分別建立TCP和UDP數(shù)據(jù)包hash表。
[0023]所述木馬shell行為特征檢測裝置將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1,X2,X3]輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔,通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程Shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中的步驟,中的模型學(xué)習(xí)算法為神經(jīng)網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)模型的函數(shù)表達(dá)為:y=wX,其中W為特征性向量系數(shù)矩陣[W1,w2,W3], X為特征值矩陣[X1,x2 , X3]1, theta,為檢測閥值;對于某個輸入[X1 , X2 , X3I, B=W1X^W2X2tW3X3≥theta, t為檢測結(jié)果,輸出結(jié)果為1,表示檢測到木馬shell行為;反之輸出結(jié)果O,沒有檢測到木馬shell行為。
[0024]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
本發(fā)明對木馬的shell行為的流量特征進(jìn)行了深刻分析,找到了三個典型的區(qū)別于正常網(wǎng)絡(luò)流量的數(shù)據(jù)包會話特征不同于傳統(tǒng)的基于特征碼的木馬檢測方法,本發(fā)明提出的方法是基于網(wǎng)絡(luò)流量分析,所以不需要獲取到木馬程序本身,也不需要龐大的木馬特征庫。檢測裝置基于神經(jīng)網(wǎng)絡(luò)模型,當(dāng)對模型學(xué)習(xí)訓(xùn)練到一定程度之后,便可以使其智能的判斷數(shù)據(jù)流是否含有木馬shell行為。由于不依賴于木馬特征庫,同時是使用會話行為特征作為檢測依據(jù),所以具有對未知木馬shell行為進(jìn)行檢測的能力。
[0025]本發(fā)明提出的木馬shell行為檢測方法是基于數(shù)據(jù)流的會話特征,僅對數(shù)據(jù)包包頭信息進(jìn)行檢測,而不檢測數(shù)據(jù)包應(yīng)用層具體數(shù)據(jù),所以檢測速度快。同時,本發(fā)明提出的數(shù)據(jù)流篩選過濾裝置,可以對大部分的安全網(wǎng)絡(luò)流量進(jìn)行過濾,進(jìn)一步降低了檢測的數(shù)據(jù)量,減小檢測系統(tǒng)的計算壓力,從而提高檢測效率。
[0026]相對于使用DPI,即深層數(shù)據(jù)包檢測,檢測數(shù)據(jù)包的應(yīng)用層載荷數(shù)據(jù),技術(shù)進(jìn)行數(shù)據(jù)包檢測的方式,本發(fā)明提出的方法具有很明顯的效率優(yōu)勢,更適合對大規(guī)模網(wǎng)絡(luò)流量進(jìn)行檢測。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明的裝置示意圖;
圖2為本發(fā)明的木馬遠(yuǎn)程shell行為檢測示意圖。
【具體實(shí)施方式】
[0028]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[0029]本發(fā)明的關(guān)鍵在于提取出竊密型木馬遠(yuǎn)程shell行為的通信流量特征,然后以這些通信特征建立一個神經(jīng)網(wǎng)絡(luò)模型,并使用學(xué)習(xí)算法,以正常網(wǎng)絡(luò)數(shù)據(jù)流量和木馬shell行為通信流量數(shù)據(jù)集對該神經(jīng)網(wǎng)絡(luò)模型進(jìn)行學(xué)習(xí)訓(xùn)練,調(diào)整優(yōu)化網(wǎng)絡(luò)參數(shù)。
[0030]遠(yuǎn)程shell是大多數(shù)長期潛伏/竊密型木馬的常用功能,根據(jù)木馬遠(yuǎn)程shell功能的實(shí)現(xiàn)方式,以及黑客使用遠(yuǎn)程shell功能的習(xí)慣,我們選取了以下三個特征作為木馬shell行為流量檢測的依據(jù)。
[0031]I)數(shù)據(jù)流入包載荷與出包載荷的大小比率
我們將一次會話過程中,協(xié)議類型、源IP地址、源端口號、目標(biāo)IP地址、目標(biāo)端口號相同的數(shù)據(jù)包歸為一個網(wǎng)絡(luò)數(shù)據(jù)流?!叭氚d荷大小”指的是遠(yuǎn)程主機(jī)到發(fā)送本地主機(jī)的數(shù)據(jù)包載荷數(shù)據(jù)長度,“出包載荷大小”指的是本地主機(jī)到發(fā)送到遠(yuǎn)程主機(jī)的數(shù)據(jù)包載荷數(shù)據(jù)長度。
[0032]由于常見的shell命令,大都在15個字節(jié)以內(nèi)。所以,木馬客戶端發(fā)送的shell命令數(shù)據(jù)包的有效載荷長度一般都很小,而被控端響應(yīng)的數(shù)據(jù)包由于含有命令執(zhí)行的結(jié)果信息,往往載荷長度比較大。這是木馬遠(yuǎn)程shell行文流量區(qū)別于普通web流量等的一大特征。[0033]2)數(shù)據(jù)流入包數(shù)目與出包數(shù)目的比率
有少數(shù)基于C/S結(jié)構(gòu)的網(wǎng)絡(luò)服務(wù)程序,其通信特征也存在一些和數(shù)據(jù)流入包載荷與出包載荷的大小比率所述的特點(diǎn),例如FTP下載數(shù)據(jù)流量。但是,這類網(wǎng)絡(luò)數(shù)據(jù)包還有一個明顯的特點(diǎn):客戶端發(fā)送控制命令后,服務(wù)端會有大量的回應(yīng)報文。而一般木馬服務(wù)端收到shell命令后,由于其響應(yīng)報文僅僅包含shell命令的執(zhí)行結(jié)果,并不會有大量的響應(yīng)報文。所以我們可以將一個數(shù)據(jù)流入包的目和出包的數(shù)目比率作為木馬shell行為流量的一大特征。
[0034]3)數(shù)據(jù)流的應(yīng)答間隔
對于使用木馬shell功能的攻擊者來說,其主要目的是要獲取到一定的系統(tǒng)信息和權(quán)限。攻擊者會使用不同的shell命令來獲取他想要了解的不同信息。系統(tǒng)shell命令執(zhí)行的響應(yīng)速度很快,而且執(zhí)行結(jié)果的信息量一般也不大。攻擊者一般可以很快的瀏覽完返回信息并執(zhí)行下一個shell命令。所以,每個shell命令執(zhí)行的時間間隔也有一定的特征。我們將連續(xù)的兩個數(shù)據(jù)流之間的時間間隔(第一次數(shù)據(jù)包發(fā)送響應(yīng)完畢到第二次數(shù)據(jù)包到來的間隔)作為木馬數(shù)據(jù)流的應(yīng)答間隔特征。
[0035]為提高檢測的精確性,我們將這三個特征作為一個整體來對網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行檢測區(qū)分。
[0036]本發(fā)明的檢測實(shí)施步驟如下:
獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù);
對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流,如DNS協(xié)議,SMTP協(xié)議等;
提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔;
將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1 , X2 , X3] (X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔),將特征向量輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中;
通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中;
本發(fā)明所提出的木馬遠(yuǎn)程shell行為檢測系統(tǒng)由下面的裝置構(gòu)成:數(shù)據(jù)包采集裝置、數(shù)據(jù)流篩選過濾裝置、數(shù)據(jù)流特征提取裝置和木馬shell行為特征檢測裝置。
[0037]數(shù)據(jù)包采集裝置的功能在于實(shí)時采集網(wǎng)絡(luò)上的數(shù)據(jù)流量,供進(jìn)一步檢測使用。如果部署在大型或者高速網(wǎng)絡(luò)的主干節(jié)點(diǎn)上,可以采用數(shù)據(jù)鏡像的方式把網(wǎng)絡(luò)上的數(shù)據(jù)復(fù)制到本發(fā)明所實(shí)現(xiàn)的檢測系統(tǒng)中。如果是部署在局域網(wǎng)的出入口,可以采用數(shù)據(jù)包嗅探的方式獲得網(wǎng)絡(luò)數(shù)據(jù)包。
[0038]數(shù)據(jù)流篩選過濾裝置的主要功能是將捕獲到的數(shù)據(jù)流按照一定的規(guī)則進(jìn)行篩選過濾,比如可以過濾掉木馬很少使用的通信協(xié)議數(shù)據(jù)包,如DNS協(xié)議,SMTP協(xié)議等,以提高檢測效率。
[0039]數(shù)據(jù)包的篩選過濾主要通過兩種方式來實(shí)現(xiàn):一是協(xié)議過濾,二是白名單過濾。
[0040]協(xié)議過濾:常見木馬的通信方式主要使用了 TCP和UDP協(xié)議,有些木馬會使用http或者icmp協(xié)議等作為偽裝協(xié)議。所以,我們可以過濾掉一些木馬使用頻率很低的協(xié)議數(shù)據(jù)包,比如SMTP協(xié)議、SMB協(xié)議、DHCP協(xié)議、DNS協(xié)議數(shù)據(jù)包等。實(shí)際使用過程中可以根據(jù)需要調(diào)整協(xié)議過濾策略 。
[0041]白名單過濾:一般來說,木馬流量在整個局域網(wǎng)流量中所占的比率是很小的,大部分網(wǎng)絡(luò)流量(無論是局域網(wǎng)還是廣域網(wǎng))都是P2P流媒體或下載流量。如果總是對整個局域網(wǎng)的所有流量進(jìn)行木馬shell行為檢測,效率很低而且也沒有必要。在實(shí)際檢測過程中,可以設(shè)置一個檢測白名單,白名單的內(nèi)容為不對其進(jìn)行檢測的數(shù)據(jù)流。
[0042]白名單的構(gòu)建方式如下:對于某一個數(shù)據(jù)流,以源IP、源端口、目的IP、目的端口、協(xié)議類型標(biāo)志的,如果檢測過程中連續(xù)3次檢測沒有發(fā)現(xiàn)可疑木馬shell行為,我們將其加入到白名單,并給這個白名單項(xiàng)一個生命周期T,如10分鐘,在其生命周期內(nèi)不對該數(shù)據(jù)流進(jìn)行檢測,生命周期結(jié)束后將其從白名單中移除,繼續(xù)檢測該流的數(shù)據(jù)。
[0043]數(shù)據(jù)流特征提取裝置本裝置主要有兩個功能:一是將數(shù)據(jù)流篩選過濾裝置過濾后的流量按照源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類并保存數(shù)據(jù)包包頭信息。二是提取一定時間內(nèi)的保存的數(shù)據(jù)包頭信息中各個數(shù)據(jù)流的應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔這三個特征值。
[0044]數(shù)據(jù)流特征提取裝置建立一個hash鏈表保存提取的數(shù)據(jù)包包頭信息,hash鏈表以數(shù)據(jù)流五元組源IP、源端口、目的IP、目的端口、協(xié)議類型中前四個元組hash值作為索引,鏈表字段包括了前述的三種特征及其他控制信息。根據(jù)協(xié)議類型不同,分別建立TCP和UDP數(shù)據(jù)包hash表。
[0045]木馬shell行為特征檢測裝置,主要由構(gòu)造的木馬shell行為檢測神經(jīng)網(wǎng)絡(luò)模型構(gòu)成,它以數(shù)據(jù)流特征提取裝置提取的三個特征值組成的特征向量作為輸入,判斷該數(shù)據(jù)流是否具有木馬shell行為特征,然后將檢測結(jié)果輸出。
[0046]Shell行為檢測裝置主要是由檢測神經(jīng)網(wǎng)絡(luò)模型構(gòu)成的。該神經(jīng)網(wǎng)絡(luò)模型的輸入為由數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率X1,數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比X2,數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔X3,構(gòu)成的特征向量。假設(shè)該神經(jīng)網(wǎng)絡(luò)模型的函數(shù)表達(dá)為:y=wx,其中W為特征性向量系數(shù)矩陣[Wi ,W2,w3], X為特征值矩陣[X1 , X2,x3]T。設(shè)theta為我們的檢測閥值,對于某個輸入[Xi,x2,x3],如果B=W1X^W2X2tW3X3 ^ theta,則輸出結(jié)果1,表示檢測到木馬shell行為,反之輸出結(jié)果0,沒有檢測到木馬shell行為。
[0047]在初始時,我們使用正常網(wǎng)絡(luò)流量和已知木馬shell行為流量對該模型進(jìn)行訓(xùn)練學(xué)習(xí),以調(diào)整W的權(quán)重系數(shù)。構(gòu)造的輸入序列如下:
[X1 , X2 , X3, theta, t]
其中X1,X2,X3為訓(xùn)練數(shù)據(jù)流量的特征值,theta為檢測閥值,t為檢測結(jié)果,?或I。學(xué)習(xí)序列總數(shù)1000條以上。
[0048]當(dāng)模型學(xué)習(xí)訓(xùn)練完畢之后,我們就可以以獲取的實(shí)時網(wǎng)絡(luò)數(shù)據(jù)流量構(gòu)造的特征值向量序列作為該模型函數(shù)的輸入,獲取結(jié)果,判斷某個數(shù)據(jù)流是含有木馬shell行為。同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾裝置。
[0049]任何在思想上沒有根本的改進(jìn),只是在實(shí)現(xiàn)方案上做了小的改動,或是對本發(fā)明提出的模塊做簡單的增刪都在本專利的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于,包括: 數(shù)據(jù)包采集裝置:用于獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)的; 數(shù)據(jù)流篩選過濾裝置:用于對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流; 數(shù)據(jù)流特征提取裝置:用于提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔; 木馬shell行為特征檢測裝置:用于將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1,X2,X3I輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔,通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中的步驟。
2.根據(jù)權(quán)利要求1所述的一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于:所述數(shù)據(jù)包采集裝置,在大型或者高速網(wǎng)絡(luò)的主干節(jié)點(diǎn)上,采用數(shù)據(jù)鏡像的方式采集網(wǎng)絡(luò)上的數(shù)據(jù);是部署在局域網(wǎng)的出入口,采用數(shù)據(jù)包嗅探的方式獲得網(wǎng)絡(luò)數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于:所述數(shù)據(jù)流篩選過濾裝置通過協(xié)議過濾或白名單過濾方式實(shí)現(xiàn)。
4.根據(jù)權(quán)利要求1所述的一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于:所述數(shù)據(jù)流特征提取裝置建立一個hash鏈表保存提取的數(shù)據(jù)包包頭信息,hash鏈表以數(shù)據(jù)流五元組源IP、源端口、目的IP、目的端口、協(xié)議類型、中前四個元組hash值作為索引,鏈表字段包括了前述的三種特征及其他控制信息,根據(jù)協(xié)議類型不同,分別建立TCP和UDP數(shù)據(jù)包hash表。
5.根據(jù)權(quán)利要求1所述的一種木馬遠(yuǎn)程shell行為檢測裝置,其特征在于:所述木馬shell行為特征檢測裝置中的模型學(xué)習(xí)算法為神經(jīng)網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)模型的函數(shù)表達(dá)為:y=wx,其中w為特征性向量系數(shù)矩陣[Wi,w2,w3], X為特征值矩陣[X1,x2,x3]T, theta,為檢測閥值,t為檢測結(jié)果;對于某個輸入[X1,x2,x3],B=W1X^W2X2tW3X3≥theta,輸出結(jié)果為1,表示檢測到木馬shell行為;反之輸出結(jié)果O,沒有檢測到木馬shell行為。
6.一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于,包括以下實(shí)施步驟: (a)數(shù)據(jù)包采集裝置獲取網(wǎng)絡(luò)入口實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)的步驟; (b)數(shù)據(jù)流篩選過濾裝置對實(shí)時網(wǎng)絡(luò)流量數(shù)據(jù)按源IP、源端口、目的IP、目的端口、協(xié)議類型進(jìn)行數(shù)據(jù)流分類,過濾掉無關(guān)協(xié)議數(shù)據(jù)流的步驟; (c)數(shù)據(jù)流特征提取裝置提取每個數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包載荷比率、出入包數(shù)目比率、數(shù)據(jù)流應(yīng)答間隔的步驟; (d)木馬shell行為特征檢測裝置將一定時間間隔內(nèi)提取到的數(shù)據(jù)流特征構(gòu)造成特征向量[X1,X2,X3]輸入到構(gòu)造的神經(jīng)網(wǎng)絡(luò)模型當(dāng)中,X1代表數(shù)據(jù)流的一個應(yīng)答響應(yīng)過程中出入包載荷比率,X2代表數(shù)據(jù)流一個應(yīng)答響應(yīng)過程中出入包數(shù)目比,X3代表數(shù)據(jù)流一個連續(xù)應(yīng)答響應(yīng)過程的時間間隔,通過神經(jīng)網(wǎng)絡(luò)模型計算得出結(jié)果,判斷該數(shù)據(jù)流是否存在木馬遠(yuǎn)程shell行為,并輸出結(jié)果,同時將檢測結(jié)果反饋到數(shù)據(jù)流篩選過濾中的步驟。
7.根據(jù)權(quán)利要求6所述的一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于:所述步驟(a)在大型或者高速網(wǎng)絡(luò)的主干節(jié)點(diǎn)上,采用數(shù)據(jù)鏡像的方式采集網(wǎng)絡(luò)上的數(shù)據(jù);是部署在局域網(wǎng)的出入口,采用數(shù)據(jù)包嗅探的方式獲得網(wǎng)絡(luò)數(shù)據(jù)包。
8.根據(jù)權(quán)利要求6所述的一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于:所述步驟(b)通過協(xié)議過濾或白名單過濾方式實(shí)現(xiàn)。
9.根據(jù)權(quán)利要求6所述的一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于:所述步驟(C)、建立一個hash鏈表保存提取的數(shù)據(jù)包包頭信息,hash鏈表以數(shù)據(jù)流五元組源IP、源端口、目的IP、目的端口、協(xié)議類型、中前四個元組hash值作為索引,鏈表字段包括了前述的三種特征及其他控制信息,根據(jù)協(xié)議類型不同,分別建立TCP和UDP數(shù)據(jù)包hash表。
10.根據(jù)權(quán)利要求6所述的一種木馬遠(yuǎn)程shell行為檢測方法,其特征在于,所述步驟Cd)中的模型學(xué)習(xí)算法為神經(jīng)網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)模型的函數(shù)表達(dá)為:y=wx,其中w為特征性向量系數(shù)矩陣[W1,w2,W3], X為特征值矩陣[X1,x2 , X3]T, theta,為檢測閥值;對于某個輸入[X1 , X2 ,X3La=W1XjW2X2tW3X3≥theta, t為檢測結(jié)果,輸出結(jié)果為I,表示檢測到木馬shell行為;反之輸出結(jié)果0,沒有檢測到木馬shell行為。
【文檔編號】H04L29/06GK103532957SQ201310489714
【公開日】2014年1月22日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
【發(fā)明者】張小松, 黃金, 牛偉納, 陳瑞東, 王東, 羅榮森, 孫恩博 申請人:電子科技大學(xué)