吳金龍,石曉飛,許 佳,史 軍
(江南計(jì)算技術(shù)研究所,江蘇 無錫 214083)
?
基于隨機(jī)森林的分層木馬檢測(cè)技術(shù)研究*
吳金龍,石曉飛,許佳,史軍
(江南計(jì)算技術(shù)研究所,江蘇 無錫 214083)
摘要:為了應(yīng)對(duì)以未知木馬為核心的APT類攻擊帶來的威脅,對(duì)基于數(shù)據(jù)流的木馬檢測(cè)技術(shù)進(jìn)行了研究。提出一種基于分層的多維通信特征的木馬檢測(cè)方法,檢測(cè)網(wǎng)絡(luò)數(shù)據(jù)流中的木馬數(shù)據(jù)。在對(duì)已有分類檢測(cè)算法調(diào)研的基礎(chǔ)上,創(chuàng)新的將隨機(jī)森林算法應(yīng)用于訓(xùn)練集,以建立檢測(cè)模型,創(chuàng)新的建立了分層評(píng)分策略,為分析人員提供可信的檢測(cè)結(jié)果。通過實(shí)驗(yàn)將該方法與三種常用的機(jī)器學(xué)習(xí)算法對(duì)比,在數(shù)據(jù)流的檢測(cè)方面,該方法的準(zhǔn)確率至少提高了1.8%,誤報(bào)率最少降低了2.77%。
關(guān)鍵詞:木馬檢測(cè); 隨機(jī)森林; 多維特征; APT攻擊;分層檢測(cè)
0引言
隨著網(wǎng)絡(luò)的普及和廣泛應(yīng)用,隨之而來的安全問題日益凸出。近年來,網(wǎng)民的上網(wǎng)呈現(xiàn)出網(wǎng)民規(guī)模化和上網(wǎng)方式多樣化的特點(diǎn),網(wǎng)民的上網(wǎng)環(huán)境異常復(fù)雜。據(jù)瑞星報(bào)告指出,2015 年,新增病毒樣本3,715萬余個(gè),其中木馬病毒占總體病毒的 61.79%,報(bào)告期內(nèi),共有 4.75 億人次網(wǎng)民被病毒感染,人均病毒感染次數(shù)為 35.65 次。(數(shù)據(jù)引自《瑞星 2015 年中國信息安全報(bào)告》[1])。面對(duì)如此規(guī)模的網(wǎng)民數(shù)和多樣的上網(wǎng)方式,保護(hù)用戶隱私數(shù)據(jù),降低上網(wǎng)風(fēng)險(xiǎn)的問題尤為凸出。
除個(gè)人終端外,企業(yè)用戶終端也常成為木馬的受害者。據(jù)FireEye的調(diào)查報(bào)告指出[2]。在企業(yè)網(wǎng)絡(luò)中,有95%以上的主機(jī)曾被木馬植入。然而,在這些被植入的主機(jī)中,僅不到10%的木馬樣本被安全軟件和防護(hù)設(shè)備檢測(cè)。未知木馬由于較難及時(shí)捕獲,因而是控制和實(shí)施APT等高危攻擊的核心環(huán)節(jié)。因此,傳統(tǒng)的木馬檢測(cè)方法都很難發(fā)揮有效的作用。
本文旨在提出一種基于隨機(jī)森林的木馬檢測(cè)方法,通過對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的分類,提前檢測(cè)出木馬行為,及時(shí)為用戶預(yù)警,以降低用戶上網(wǎng)的風(fēng)險(xiǎn),加強(qiáng)用戶網(wǎng)絡(luò)環(huán)境的安全性。
1研究現(xiàn)狀
1.1現(xiàn)有的木馬檢測(cè)技術(shù)
目前木馬檢測(cè)技術(shù)主要分為以下兩類[3]。
1.1.1基于主機(jī)端
根據(jù)上一節(jié)介紹,目前上網(wǎng)主機(jī)平臺(tái)多樣,且操作系統(tǒng)種類和版本繁雜,其復(fù)雜性和多樣性導(dǎo)致了檢測(cè)存在較大的實(shí)現(xiàn)難度,且基于主機(jī)系統(tǒng)行為的檢測(cè)方法要求對(duì)主機(jī)系統(tǒng)平臺(tái)有非常深入的了解。因此,在現(xiàn)有的技術(shù)條件下,單靠主機(jī)端的防護(hù)軟件尚無法實(shí)現(xiàn)對(duì)木馬進(jìn)行有效檢測(cè)。
1.1.1基于網(wǎng)絡(luò)端
目前,基于網(wǎng)絡(luò)端的數(shù)據(jù)流木馬檢測(cè)主要分為三種。
一是基于特征匹配及信譽(yù)值的檢測(cè)技術(shù),該類檢測(cè)基于已有樣本的特征和信譽(yù)值判定未知數(shù)據(jù)的屬性。二是基于協(xié)議分析的檢測(cè)技術(shù),以數(shù)據(jù)流中采用的協(xié)議與已知協(xié)議對(duì)比,如有不同則認(rèn)為異常。這兩類的檢測(cè)方法的缺陷在于對(duì)偽裝和變形的木馬數(shù)據(jù)檢測(cè)效果較差,如隧道加密或采用代理方式通信,此類技術(shù)提高了各木馬程序的隱蔽性和生存周期,隱藏了木馬的特征[4]。三是基于通信行為分析的檢測(cè)技術(shù)。該檢測(cè)技術(shù)是基于木馬通信的網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行檢測(cè)分類,具有較強(qiáng)的通用性。該技術(shù)被認(rèn)為是最有前景的木馬檢測(cè)方法,代表著該領(lǐng)域未來的發(fā)展趨勢(shì)。文獻(xiàn)[5]是基于此類檢測(cè)技術(shù)。本文的研究也是基于此類檢測(cè)技術(shù)。
1.2隨機(jī)森林用于檢測(cè)分類現(xiàn)狀
隨機(jī)森林分類器是在決策樹這種單一分類器基礎(chǔ)上的一種組合分類器。隨機(jī)森林分類器有以下優(yōu)點(diǎn):
(1)其性能和檢測(cè)率方面,優(yōu)于單一的分類器。
(2)對(duì)異常值和噪聲的容忍度好。
(3)不易出現(xiàn)過度擬合[6-9]。
故而,隨機(jī)森林提出至今,已廣泛應(yīng)用于文本和語言的驗(yàn)證處理、醫(yī)療和臉部識(shí)別等諸多領(lǐng)域。同時(shí),隨機(jī)森林的分類方法也較好的應(yīng)用于郵件過濾、入侵檢測(cè)等安全領(lǐng)域。然而,目前尚未發(fā)現(xiàn)將隨機(jī)森林的分類方法單純用于檢測(cè)網(wǎng)絡(luò)數(shù)據(jù)流中的木馬數(shù)據(jù)。
1.3基本思路
不難發(fā)現(xiàn)隨機(jī)森林在入侵檢測(cè)領(lǐng)域已得到較好的應(yīng)用,且目前的木馬檢測(cè)領(lǐng)域中,尚未使用隨機(jī)森林進(jìn)行數(shù)據(jù)的分類檢測(cè)。木馬雖是一種廣義上的病毒,屬于一種特殊的入侵行為,但木馬與病毒、蠕蟲等其他惡意程序的行為特征有較大的區(qū)別。通常病毒、蠕蟲等惡意程序會(huì)對(duì)用戶終端系統(tǒng)造成明顯的破壞,然而木馬行為特點(diǎn)主要是潛伏在用戶電腦,監(jiān)視用戶操作,竊取用戶文件,收集系統(tǒng)信息。基于木馬與普通病毒、蠕蟲等其他病毒行為特征的不同,其檢測(cè)技術(shù)不能一概而論,否則,在檢測(cè)木馬數(shù)據(jù)時(shí),會(huì)有較高的誤報(bào)率和漏報(bào)率,無法完成細(xì)粒度的木馬檢測(cè)。故,隨機(jī)森林的方法應(yīng)用于木馬檢測(cè)領(lǐng)域與應(yīng)用于入侵檢測(cè)、異常檢測(cè)等安全領(lǐng)域是不同的。本文將側(cè)重關(guān)注隨機(jī)森林應(yīng)用于木馬檢測(cè)領(lǐng)域。
通過加密、變形等技術(shù)實(shí)現(xiàn)自身隱藏,躲避查殺是木馬程序存活的重要特征,然而此類特征是經(jīng)常變換,不易作為檢測(cè)依據(jù)。然而,木馬要實(shí)現(xiàn)其完整功能,必有一些可以從端到端的數(shù)據(jù)流中提取的固定不變的特征。如:基于流量的上傳下載特征、基于連接的 “心跳”特征、基于時(shí)間的通聯(lián)時(shí)間特征等。因此從數(shù)據(jù)流的角度進(jìn)行檢測(cè),可以有效解決木馬免殺和未知木馬檢測(cè)的問題,也為APT攻擊檢測(cè)提供新的思路。木馬在運(yùn)行中,服務(wù)端與客戶端的交互更多的是人工的控制和干預(yù)。故,基于網(wǎng)絡(luò)流木馬的檢測(cè)的核心是區(qū)分正常通信行為(自動(dòng)行為)與木馬通信行為(人工干預(yù)行為)。
本文提出一種快速的基于通信行為多維特征的木馬檢測(cè)方法。分層提取的木馬通信行為的多維特征,結(jié)合機(jī)器學(xué)習(xí)技術(shù)中的隨機(jī)森林分類算法,建立木馬數(shù)據(jù)流特征模型。創(chuàng)建可以區(qū)分木馬程序和正常應(yīng)用程序數(shù)據(jù)流特征的判定規(guī)則集。參照該模型實(shí)現(xiàn)的原型系統(tǒng)可通過網(wǎng)絡(luò)數(shù)據(jù)流特征判定規(guī)則集,有效檢測(cè)未知木馬,并可根據(jù)實(shí)際環(huán)境進(jìn)行自學(xué)習(xí)和調(diào)整優(yōu)化,使得該檢測(cè)方法具有較強(qiáng)的適應(yīng)能力。
2木馬通信行為檢測(cè)模型
木馬要實(shí)現(xiàn)自身功能,必然無法使自身通信行為與正常通信行為一致,例如,上傳/下載數(shù)據(jù)量的比例、客戶端與服務(wù)端之間的“Keep-Alive” 機(jī)制(也稱為?;顧C(jī)制)等造成了木馬與正常數(shù)據(jù)流的特征差異。木馬的功能及自身的特殊性讓基于通信行為分析的木馬檢測(cè)技術(shù)可行且有效。
2.1分析木馬通信行為
不同的木馬程序在功能上,針對(duì)不同操作系統(tǒng)、不同應(yīng)用平臺(tái),其采用的網(wǎng)絡(luò)通信協(xié)議方面存在很大差異,但它們?cè)谕ㄐ判袨樯嫌志哂幸欢ǖ南嗨菩?。通過對(duì)大量木馬樣本進(jìn)行分析發(fā)現(xiàn):木馬通信過程大致分為兩個(gè)階段,即連接保持階段和命令控制階段。
連接保持階段不僅包括植入木馬后的上線通知,還包括了木馬上線之后保持通聯(lián)的“心跳”機(jī)制。攻擊者將木馬程序植入到目標(biāo)系統(tǒng)后,攻擊者需等待木馬植入成功的消息,然后進(jìn)行遠(yuǎn)程控制。所以,木馬程序植入的成功與否則需要一種通知機(jī)制,即上線通知。實(shí)際上,上線通知也是一種前期特殊的“心跳”行為,有些木馬在上線通知的數(shù)據(jù)包里包含了“心跳”包。
2.2木馬通信行為描述
定義1用D表示所有網(wǎng)絡(luò)通信數(shù)據(jù),C表示正常網(wǎng)絡(luò)通信數(shù)據(jù),T表示木馬通信數(shù)據(jù),對(duì)網(wǎng)絡(luò)通信行為特征向量F定義如下:
F(D)=F1(D)×F2(D)×…×Fn(D);
D=C∪T;
其中,隨機(jī)變量Fi(i=1,2,…,n)表示網(wǎng)絡(luò)通信的單一行為特征屬性,并且是多項(xiàng)式時(shí)間可計(jì)算的。
定義2定義函數(shù)SF為與F(D)一致的分類器,其中
SF:F1×F2×…×Fn→{0,1};
其中,SF是多項(xiàng)式時(shí)間可計(jì)算的, 0是正常通信,1是木馬通信,(F,SF)稱為木馬通信行為檢測(cè)模型。因此,網(wǎng)絡(luò)通信行為特征屬性提取和分類器設(shè)計(jì)是實(shí)現(xiàn)木馬檢測(cè)的關(guān)鍵。
分析木馬通信行為,將木馬的通信全過程劃分為:連接保持和命令控制這兩個(gè)階段。故,檢測(cè)木馬通信行為按照這兩個(gè)階段分別定義并檢測(cè)。相關(guān)定義和檢測(cè)過程如下:
首先,根據(jù)木馬通信行為分析分階段提取木馬通信行為特征屬性Fki和Foi。其中,F(xiàn)ki(i=1,2,…,n)表示木馬連接保持階段的網(wǎng)絡(luò)通信的行為特征屬性,F(xiàn)oi(i=1,2,…,n)表示木馬命令控制階段的網(wǎng)絡(luò)通信行為特征屬性。
然后,根據(jù)行為特征屬性Fki和Foi的數(shù)據(jù)類型特點(diǎn)和實(shí)際檢測(cè)要求,選擇分類算法構(gòu)造分類器SFk和SFo,其中,SFk表示木馬連接保持階段的分類器,SFo表示木馬命令控制階段的分類器。
其中,這里0表示正常網(wǎng)絡(luò)通信,1表示木馬通信。
最后,判斷分類器的輸出結(jié)果SFk∪SFo,檢測(cè)到任意階段產(chǎn)生報(bào)警,就認(rèn)為存在木馬通信行為。
3隨機(jī)森林分層檢測(cè)木馬
根據(jù)定義的木馬通信行為,本節(jié)將介紹構(gòu)建隨機(jī)森林的步驟及基于分層思路的多維特征的選取。
3.1C4.5決策樹的局限性
C4.5決策樹是一種典型的單分類器,使用單分類器檢測(cè)木馬通信行為具有一些局限性,主要體現(xiàn)在:
(1)C4.5決策樹分類器的精度在到達(dá)一定指標(biāo)后,難以繼續(xù)提高,其檢測(cè)精度存在不易突破的瓶頸。
(2)一種給定的分類器,其檢測(cè)的準(zhǔn)確率較為依賴實(shí)際的檢測(cè)環(huán)境,同樣的算法和檢測(cè)模型在不同的環(huán)境,其檢測(cè)準(zhǔn)確率可能差別很大。
(3)在有監(jiān)督的學(xué)習(xí)訓(xùn)練過程中,C4.5這類單分類器需要大量的訓(xùn)練數(shù)據(jù)。
由機(jī)器學(xué)習(xí)領(lǐng)域的研究結(jié)論可知,就檢測(cè)分類效果而言,基于單一分類分類器弱于基于由多分類器組合集成的檢測(cè)分類器。隨機(jī)森林檢測(cè)方法是一種建立在統(tǒng)計(jì)分析理論上集成的組合檢測(cè)分類器。隨機(jī)森林由多顆決策樹組成,它通過組合多個(gè)弱分類器,集成一個(gè)強(qiáng)分類器的方法克服決策樹的局限性,多個(gè)分類器通過投票決定最終分類屬性,既起到了互補(bǔ)作用提高了檢測(cè)的穩(wěn)定性,又降低了個(gè)別分類器錯(cuò)誤所帶來的影響,進(jìn)而提高了檢測(cè)分類的準(zhǔn)確率。
3.2構(gòu)建隨機(jī)森林
本文提出將Random-SMOTE方法結(jié)合隨機(jī)森林算應(yīng)用于木馬通信行為檢測(cè)。采用Random-SMOTE方法的目的是對(duì)數(shù)據(jù)集抽樣預(yù)處理,將數(shù)量較少的木馬樣本進(jìn)行過抽樣,以提高稀有類數(shù)據(jù)所占的比重,降低大類數(shù)據(jù)的比例,提高稀有類數(shù)據(jù)中木馬行為的識(shí)別率。隨后用隨機(jī)森林的方法訓(xùn)練預(yù)處理后的數(shù)據(jù)集,生成檢測(cè)模型。
定義T為原訓(xùn)練數(shù)據(jù)集中的木馬數(shù)據(jù)流樣本集,S為正常應(yīng)用數(shù)據(jù)流樣本集,隨機(jī)森林的生成步驟如下:
(1)首先對(duì)木馬數(shù)據(jù)流樣本集T進(jìn)行過抽樣,根據(jù)Random-SMOTE方法和過抽樣倍率N,為每個(gè)木馬數(shù)據(jù)流樣本隨機(jī)生成N個(gè)新樣本;將新的樣本加入原訓(xùn)練數(shù)據(jù)集,形成新的木馬數(shù)據(jù)流樣本集T′,以減少樣本集中木馬樣本和正常樣本在個(gè)數(shù)上的不平衡。
(3)基于每個(gè)自助樣本,構(gòu)建一棵決策樹。采用Forest-RI(ForestRandomInputs,隨機(jī)選擇輸入變量)方法。假設(shè)屬性特征有M維,從M維特征中隨機(jī)抽取Mca維特征作為候選特征。選擇這Mca個(gè)特征上最好的分裂方式對(duì)決策樹每個(gè)節(jié)點(diǎn)進(jìn)行分裂,使每個(gè)決策樹都得到最大限度的生長,不進(jìn)行剪枝。
(4)重復(fù)步驟(2)和步驟(3),可以得到多棵決策樹,并且在隨機(jī)森林生長過程中Mca值保持不變。
(5)讓每一棵決策樹對(duì)輸入的未知數(shù)據(jù)流X進(jìn)行投票。計(jì)算所有的投票數(shù),找出其中票數(shù)最高的一個(gè)就是數(shù)據(jù)流X的分類標(biāo)簽。
3.3分層檢測(cè)
作者在設(shè)計(jì)分層提取多維通信設(shè)計(jì)的基礎(chǔ)上,設(shè)計(jì)了可信度評(píng)分策略,為分析人員提供結(jié)果可信度的結(jié)果。
3.3.1基本思路
上文描述的是單個(gè)隨機(jī)森林的生成過程。在此基礎(chǔ)上,作者從基于IP協(xié)議的網(wǎng)絡(luò)層會(huì)話數(shù)據(jù)流、基于TCP協(xié)議的傳輸層會(huì)話數(shù)據(jù)流和基于HTTP協(xié)議的應(yīng)用層會(huì)話數(shù)據(jù)流三個(gè)層面分別提取木馬的多維特征屬性。在數(shù)據(jù)預(yù)處理時(shí),對(duì)原始捕獲的PCAP數(shù)據(jù)包,按照IP會(huì)話、TCP會(huì)話和HTTP會(huì)話三個(gè)層次分別提取數(shù)據(jù)流通信特征,進(jìn)而構(gòu)建三個(gè)隨機(jī)森林分類器,分別記為RFip、RFtcp和RFhttp,用以從不同層面檢測(cè)數(shù)據(jù)流行為特征屬性。判斷三個(gè)分類器的輸出結(jié)果RFip∪RFtcp∪RFhttp,檢測(cè)到任意層面產(chǎn)生異常數(shù)據(jù)流報(bào)警,就認(rèn)為存在木馬通信行為。
3.3.2分層多維特征選取
分別按照網(wǎng)絡(luò)層、傳輸層和應(yīng)用層簡單例舉選取的多維特征:
基于IP協(xié)議的網(wǎng)絡(luò)層會(huì)話特征:
(1)IP會(huì)話下載數(shù)據(jù)量/IP會(huì)話上傳數(shù)據(jù)量特征:控制端流向被控端的字節(jié)數(shù)與反方向字節(jié)數(shù)的比較,該行為特征值一般小于1。
(2)IP會(huì)話時(shí)長/主連接時(shí)長:IP會(huì)話數(shù)據(jù)流的持續(xù)時(shí)間與主連接持續(xù)時(shí)間之比,該行為特征值一定大于1,但是木馬程序的取值會(huì)顯著小于正常網(wǎng)絡(luò)應(yīng)用。
基于TCP協(xié)議的傳輸層會(huì)話特征:
(1)TCP會(huì)話時(shí)長:命令交互、文件資源搜索和文件傳輸需要大量的等待時(shí)間,再加上人類的思考時(shí)間,使得通信會(huì)話持續(xù)時(shí)間較長。
(2)TCP會(huì)話上傳數(shù)據(jù)量:木馬程序根據(jù)控制命令將被控主機(jī)的信息和文件資源不斷上傳,導(dǎo)致會(huì)話上傳數(shù)據(jù)量偏大。
基于HTTP協(xié)議的應(yīng)用層會(huì)話特征:
(1)HTTP會(huì)話數(shù)據(jù)包集參差度:正常HTTP應(yīng)用的數(shù)據(jù)包集參差度對(duì)其總尺寸的分布體現(xiàn)出分段性和有界性,而HTTP隧道卻跟其差異很大。
(2)HTTPRequest數(shù)據(jù)包信息熵特征:在信息層面提供一個(gè)評(píng)估正常HTTP通信和HTTP隧道通信行為的一個(gè)指標(biāo)。
以上從3個(gè)會(huì)話層例分別舉了2個(gè)特征作為隨機(jī)森林決策樹的判斷條件。類似的特征可以選取很多,然而,需要根據(jù)實(shí)驗(yàn)和實(shí)際情況決定在每一層采用哪些特征。
3.3.3可信度評(píng)分策略
參數(shù)λ的圖像如圖1所示
圖1 λ的圖像
記檢測(cè)結(jié)果中,分別命中網(wǎng)絡(luò)層、傳輸層、應(yīng)用層的協(xié)議為0x0001、0x0010、0x0100,三層均命中則為0x0111,分別定義Credit1、Credit2、Credit3表示協(xié)議命中一層、兩層和三層。
(1)檢測(cè)結(jié)果,協(xié)議命中其中一層。
If(protocol == (0x0001, 0x0010, 0x0100))
Credit1=Standpoint*λ;
則,48.4≤Credit1≤55
(2)檢測(cè)結(jié)果,協(xié)議命中其中兩層。
If(protocol == (0x0011, 0x0101, 0x0110))
Credit2=Credit1*1.35*λ;
則,57.5≤Credit2≤74.25
(3)檢測(cè)結(jié)果,協(xié)議三層全部命中
If(protocol == (0x0111))
Credit3=Credit2*1.25*λ;
則,63.25≤Credit3≤92.81
4實(shí)驗(yàn)分析
為了更好的驗(yàn)證本文的方法。本文采用兩組試驗(yàn)分析對(duì)比實(shí)驗(yàn)結(jié)果。
4.1實(shí)驗(yàn)一
第一組實(shí)驗(yàn)數(shù)據(jù)是:綜合搜集結(jié)合網(wǎng)絡(luò)上2015年以前相關(guān)文獻(xiàn)實(shí)驗(yàn)數(shù)據(jù)或有代表性的61款樣本,包括:PcShell、灰鴿子、Gh0st、ZXShell等,共325個(gè)木馬通信數(shù)據(jù)流作為樣本數(shù)據(jù)。選取MSN、ICQ、QQ、skype等65款正常應(yīng)用的通信數(shù)據(jù),共1 175個(gè)數(shù)據(jù)流作為正常數(shù)據(jù)。正常和樣本數(shù)據(jù)合計(jì)1 500個(gè)數(shù)據(jù)流。
為了對(duì)比試驗(yàn)結(jié)果,更好的評(píng)價(jià)本文的方法。選?。篊4.5決策樹[10]、SVM[11-12]、Naive Bayes[5,11]作為木馬檢測(cè)算法。通過開源機(jī)器學(xué)習(xí)模塊“scikit-learn”[13]實(shí)現(xiàn)了對(duì)應(yīng)算法。將這些方法與本文分層檢測(cè)的隨機(jī)森林(記為MRF)的檢測(cè)方法進(jìn)行對(duì)比。將C4.5決策樹(記為C4.5)、SVM和Naive Bayes算法(記為NB)用于檢測(cè)木馬數(shù)據(jù),四種方法對(duì)1500個(gè)數(shù)據(jù)流的檢測(cè)結(jié)果,按照性能評(píng)價(jià)指標(biāo)參數(shù)匯總?cè)绫?所示。
表1 4種機(jī)器學(xué)習(xí)算法的性能評(píng)價(jià)指標(biāo)
通過實(shí)驗(yàn)的對(duì)比結(jié)果,不難看出,基于隨機(jī)森林的檢測(cè)方法其準(zhǔn)確率(Accuracy,ACC)最高,假負(fù)率(False Negative Rate,FNR)最低,真正率(True Positive Rate,TPR) 最好,即靈敏度(sensitivity)最好。綜合對(duì)比分析,用隨機(jī)森林算法作為木馬檢測(cè)分類模型的效果最優(yōu)。
4.2實(shí)驗(yàn)二
第二組數(shù)據(jù)是:選取2015年以來的,基于漏洞利用的15款木馬數(shù)據(jù),共36個(gè)數(shù)據(jù)流,對(duì)于訓(xùn)練模型而言,該15款木馬均為未知屬性的數(shù)據(jù)。(數(shù)據(jù)來源:malware traffic analysis[14]網(wǎng)站)
近年來,通過系統(tǒng)及應(yīng)用軟件的漏洞作為木馬傳播載體的方式廣泛且流行。此類木馬的傳播方式較為隱蔽,一般隱匿或捆綁在文檔、應(yīng)用、鏈接等看似正常的文件中。包括:Angler-EK( 利用IE漏洞,如:CVE-2015-2419 )、 BizCN( 利用Flash漏洞,如: CVE-2015-0522等 ) 、Nuclear-EK(利用Flash漏洞)等。作者將搜集的2015年以來的數(shù)據(jù)流文件作為未知木馬樣本。在已有的檢測(cè)模型上,測(cè)試本方法對(duì)于未知數(shù)據(jù)流(未知木馬及未知的傳播方式)的檢測(cè)率,結(jié)果見表2。
表2 15款未知數(shù)據(jù)的檢測(cè)結(jié)果
實(shí)驗(yàn)結(jié)果顯示,在15個(gè)未知應(yīng)用數(shù)據(jù)中,檢測(cè)出14個(gè),檢測(cè)率為93.3%,其中36個(gè)數(shù)據(jù)流中檢測(cè)出32個(gè),數(shù)據(jù)流的檢測(cè)率為88.9%。與其他三種方法的對(duì)比結(jié)果如圖2所示。
圖2 未知數(shù)據(jù)檢測(cè)對(duì)比
實(shí)驗(yàn)結(jié)果顯示,就預(yù)測(cè)性而言, 隨機(jī)森林的檢測(cè)方法對(duì)未知數(shù)據(jù)屬性的分類效果最好,預(yù)測(cè)性最佳。
6結(jié)語
本文創(chuàng)新的提出了將隨機(jī)森林引用于單一的木馬檢測(cè)領(lǐng)域,通過實(shí)驗(yàn)驗(yàn)證,本文的方法在提高檢測(cè)率和降低誤報(bào)率方面均優(yōu)于目前已知的木馬檢測(cè)方法,對(duì)于未知數(shù)據(jù)有較好的檢測(cè)分類效果。此外,本文創(chuàng)新提出可信度評(píng)分策略,通過大量實(shí)踐驗(yàn)證得到的行之有效的評(píng)分方法對(duì)檢測(cè)結(jié)果進(jìn)行評(píng)分,為研判人員提供可信參考。但是,依然存在一些有待改進(jìn)的地方,比如,檢測(cè)出來的結(jié)果中,誤告警所占比例達(dá)7.76%,下一步將嘗試通過數(shù)據(jù)挖掘算法對(duì)檢測(cè)結(jié)果分析,以去除誤告警,降低誤報(bào)率。
參考文獻(xiàn):
[1]瑞星.瑞星2015年中國信息安全報(bào)告[EB/OL]. (2016-01-20)[2016-03-02]. http://it.rising.com.cn/dongtai/18131.html.
Rising. Rising 2015 China Information Security Report[EB/OL]. (2016-01-20)[2016-03-02]. http://it.rising.com.cn/dongtai/18131.html
[2]Fire Eye. Advanced Targeted Attacks: How to Protect Against the New Generation of Cyber Attacks.[EB/OL].[2016-03-02].http://www2.fireeye.com/rs/fireye/images/fireeye-advanced-targeted-attacks.pdf.
[3]李世淙,云曉春,張永錚.一種基于分層聚類方法的木馬通信行為檢測(cè)模型[J].計(jì)算機(jī)研究與發(fā)展,2012(S2):9-16.
LI Shi-cong, YUN Xiao-chun, ZHANG Yong-zheng. A Model of Trojan Communication Behavior Detection based Hierarchical Clustering Technique[J]. Journal of Computer Research and Development,2012,(S2):9-16 .
[4]周趙軍, 張劍, 彭春林. 多Web代理技術(shù)在木馬通信中的實(shí)現(xiàn) [J]. 通信技術(shù), 2012, 45(08):73-76.
ZHOU Zhao-jun, ZHANG Jian, PENG Chun-lin. Trojan Communication based on Multi-Web Proxy[J]. Communications Technology,2012,45(08):73-76.
[5]薛磊. 基于通信行為證據(jù)鏈的木馬檢測(cè)系統(tǒng)[D].南京:南京郵電大學(xué),2013.
XUE Lei. Trojan Detection System based on Evidence of Communication Behaviors.[D].2013,Nanjing:Nanjing University of Posts and Telecommunications,2013.
[6]WOLPERT D H. Stacked Generalization [J]. Neural Networks, 1992, 5(2): 241-259.
[7]Breiman L. Bagging Predictors [J]. Machine Learning, 1996, 24(2): 123-140.
[8]Dietterich T G. Ensemble Methods in Machine Learning [M]. Multiple Classifier Systems. Springer Berlin Heidelberg,2000:1-15.
[9]方匡男, 吳見彬, 朱見平等. 隨機(jī)森林方法研究綜述[J]. 統(tǒng)計(jì)與信息論壇, 2011, 26(03): 32-38.
FANG Kuang-nan, WU Jian-bin, ZHU Jian-ping,et al. Research of Random Forest Method[J]. Statistics & Information Forum, 2011, 26(03): 32-38.
[10]ZHANG Xiao-chen, LIU Sheng-li, MENG Lei, SHI Yun-fang. Trojan Detection based on Network Flow Clustering. Multimedia Information Networking and Security (MINES), 2012 Fourth International Conference on DOI: 10.1109/MINES.2012.242[C]. 2012:947-950.
[11]Ponomarev S, Durand J, Wallace N, et al. Evaluation of Random Projection for Malware Classification[C] Software Security and Reliability-Companion(SERE-C), 2013 IEEE 7th International Conference on IEEE, 2013:68-73.
[12]李鵬,王汝傳,高德華.基于模糊識(shí)別和支持向量機(jī)的聯(lián)合Rootkit動(dòng)態(tài)檢測(cè)技術(shù)研究[J].電子學(xué)報(bào),2012(01):49-56.
LI Peng, WAGN Ru-chuan, GAO De-hua. Research on Rootkit Dynamic Detection based on Fuzzy Pattern Recognition and Support Virtual Machine Technology[J]. Acta Electronica Sinica, 2012(01):49-56.
[13]scikit-learn.[EB/OL]. [2015-10-09]. http://scikit-learn.org/stable/.
[14]Malware Traffic Analysis. [EB/OL]. [2015-10-09].http://www.malware-traffic-analysis.net/blog-entries.html
Hierarchical Detection of Trojan Behavior based on Random Forest
WU Jin-long,SHI Xiao-fei,XU Jia,SHI Jun
(Jiangnan Institute of Computing Technology,Wuxi Jiangsu 214083,China)
Abstract:In order to deal with the threat from APT attacks with unknown Trojan as the core,Trojan detection technology based on net flows is studied and discussed. A method based on multidimensional features from different layers for Trojan detection is proposed, thus to detect Trojan data in the network data flows. Based on intestigation of the existing detection technology,the random forest algorithm is applied to training data set,thus to construct the detection model,establish hierarchical scoring policy,and providing a trusted detection result for analysts.Experiment and comparison of the three learning algorithms indicate that this method could improve accuracy rate at least 1.8% and reduce the false alarm rate at least 2.77% in the detection of Trojans.
Key words:trojan detection;random forest;multi-dimensional features;APT attack;hierarchical detection
doi:10.3969/j.issn.1002-0802.2016.04.018
*收稿日期:2015-11-09;修回日期:2016-02-20Received date:2015-11-09;Revised date:2016-02-20
中圖分類號(hào):TP393.08
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-0802(2016)04-0475-06
作者簡介:
吳金龍(1988—),男,碩士,研究實(shí)習(xí)員,主要研究方向?yàn)樾畔踩途W(wǎng)絡(luò)安全;
石曉飛(1976—),女,碩士,工程師,主要研究方向?yàn)樾畔踩途W(wǎng)絡(luò)安全;
許佳(1981—),男,博士,工程師,主要研究方向?yàn)樾畔踩途W(wǎng)絡(luò)安全;
史軍(1972—),男,碩士,高級(jí)工程師,主要研究方向?yàn)樾畔踩途W(wǎng)絡(luò)安全。