999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用序列分析的遠控木馬早期檢測方法研究

2021-12-13 12:54:16申國偉崔允賀
計算機與生活 2021年12期
關(guān)鍵詞:特征檢測方法

王 晨,郭 春+,申國偉,崔允賀

1.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴陽 550025

2.公共大數(shù)據(jù)國家重點實驗室,貴陽 550025

遠控木馬(remote access Trojan,RAT)作為一類危害性極大且知名度極高的惡意程序,主要被用于控制目標(biāo)主機、監(jiān)控受害者的主機行為以及竊取機密信息等[1]。CNCERT 發(fā)布的2019 年度報告[2]指出,我國境內(nèi)感染計算機惡意程序的主機數(shù)量約582 萬臺;ProofPoint 在其2019 年Q3 威脅報告[3]中顯示,盡管惡意程序數(shù)量呈現(xiàn)整體下滑趨勢,遠控木馬的數(shù)量相比第二季度卻增長了55%。由此可見,遠控木馬相比于其他類型的惡意程序仍在高速增長,儼然成為了互聯(lián)網(wǎng)所面臨的主要安全威脅之一。

與勒索軟件等以破壞信息系統(tǒng)可用性為主的惡意軟件不同,遠控木馬以破壞信息系統(tǒng)機密性為主,其集成了鍵盤記錄、文件上傳和下載、系統(tǒng)信息竊取、桌面/攝像頭監(jiān)控、進程與注冊表修改以及文件讀寫等一系列危險功能。遠控木馬被攻擊者通過各種手段植入到目標(biāo)主機后進行潛伏,待接收相關(guān)指令后向攻擊者返回指令執(zhí)行結(jié)果。由于遠控木馬具有高隱蔽性的特點,其常被用于APT(advanced persistent threat)攻擊[4]的后滲透階段以竊取機密信息。

為應(yīng)對遠控木馬所引發(fā)的安全威脅,近年來國內(nèi)外研究者提出了一系列遠控木馬檢測方法。基于網(wǎng)絡(luò)流量的檢測方法是現(xiàn)階段遠控木馬檢測方法的主流[5-8],但是這類方法中大多使用從整條流中提取的統(tǒng)計特征,對木馬通信流的完整性要求較高,致使可能出現(xiàn)在檢測到遠控木馬流量的同時,被控主機已然執(zhí)行部分攻擊指令而泄露了隱私信息。因此,實現(xiàn)對遠控木馬的有效防御,對檢測方法的檢測及時性有著很高的要求。

為及時檢測遠控木馬流量,從遠控木馬控制端和被控端建立會話后初期的流量中提取特征是一個可行思路。然而,若從遠控木馬會話建立后初期的流量中所提取的特征不能較好地反映木馬的通信行為,則基于這些特征的檢測方法容易出現(xiàn)較高的漏報率或誤報率。針對上述情況,本文分析了遠控木馬會話建立后初期的網(wǎng)絡(luò)流量行為,發(fā)現(xiàn)其控制端和被控端通常會在該時間段中出現(xiàn)不涉及人為操作而自動進行的、較為固定的數(shù)據(jù)包交互行為,且該行為與正常應(yīng)用同時期的流量存在明顯的差異?;谏鲜龇治鼋Y(jié)果,本文提出了一種利用序列分析的遠控木馬早期檢測方法。該方法針對遠控木馬會話建立后初期流量中的“上線包”及其后少量數(shù)據(jù)包所提取的包負載大小序列、包時間間隔以及包負載上傳下載比三個特征,運用機器學(xué)習(xí)算法建立木馬檢測模型實現(xiàn)對遠控木馬的早期檢測。

本文主要工作如下:

(1)對35 個遠控木馬與12 個正常軟件的通信行為進行實驗分析,通過比較遠控木馬和正常軟件各自通信會話建立后初期的流量,發(fā)現(xiàn)它們在數(shù)據(jù)包負載大小、數(shù)據(jù)包時間間隔等方面存在明顯區(qū)別,并進一步分析了遠控木馬通信會話建立后流量中首個具有較大負載的數(shù)據(jù)包(“上線包”)及其后數(shù)個數(shù)據(jù)包所具有的特性。

(2)基于遠控木馬和正常軟件在會話建立后初期通信流量的差別,提出了一種利用序列分析的遠控木馬檢測方法。該方法使用從“上線包”及其后少量數(shù)據(jù)包的負載大小序列與時間間隔序列中提取的三個特征,結(jié)合機器學(xué)習(xí)算法實現(xiàn)對遠控木馬的早期檢測。

(3)搭建模擬環(huán)境對所提出的遠控木馬檢測方法進行了實驗測試,并探索了“上線包”后不同的數(shù)據(jù)包數(shù)量對于所提方法檢測結(jié)果的影響。實驗結(jié)果表明本文方法能夠以通信會話建立后初期的數(shù)個數(shù)據(jù)包實現(xiàn)對已知和未知遠控木馬的高準(zhǔn)確率檢測,有助于及時檢測出遠控木馬流量。

1 相關(guān)工作

現(xiàn)今遠控木馬檢測方法主要分為兩類,即基于主機的檢測方法與基于網(wǎng)絡(luò)的檢測方法。

1.1 基于主機的檢測方法

基于主機的檢測方法主要通過分析木馬源代碼構(gòu)建木馬特征庫以檢測遠控木馬,亦或是在受控環(huán)境下(沙箱、虛擬機等)監(jiān)測遠控木馬運行時的主機資源消耗情況、注冊表編輯、端口隱藏以及關(guān)鍵API調(diào)用等敏感行為構(gòu)建模型進行檢測。

Ahmadi 等人[9]通過將程序運行中的API 調(diào)用轉(zhuǎn)化為灰度圖并運用圖像識別相關(guān)技術(shù)來檢測木馬。Rhode 等人[10]通過收集惡意程序在沙箱中運行的早期行為來進行惡意程序判別。Canali 等人[11]基于n-gram 模型提出了一種木馬程序的檢測方法?;谥鳈C的檢測方法需要將檢測系統(tǒng)部署在主機上,除了占用一定主機資源之外,還需要涉及對操作系統(tǒng)的底層操作,可能對主機的穩(wěn)定性造成一定影響。并且隨著隱蔽技術(shù)在遠控木馬中的應(yīng)用及發(fā)展,基于主機的檢測難度逐漸增加。

1.2 基于網(wǎng)絡(luò)的檢測方法

早期基于網(wǎng)絡(luò)的檢測方法通常采用報文負載匹配技術(shù),提取數(shù)據(jù)包負載與木馬特征庫進行匹配以檢測遠控木馬。該類檢測方法檢測速度快,同時還能具有較高的準(zhǔn)確率,但是基于報文負載匹配方法的識別能力依賴于特征庫的完備程度,且只能檢測已知木馬[12]。因此,基于通信行為分析的檢測方法更受現(xiàn)階段遠控木馬檢測研究者的青睞,在網(wǎng)絡(luò)入侵檢測方法[13-14]中也常被運用。

李巍等人[15]通過分析遠控木馬的通信行為,將遠控木馬運行過程分為建立連接、命令控制與保持連接三個階段,從每個階段中提取不同的統(tǒng)計特征并結(jié)合C4.5 算法實現(xiàn)檢測。該方法需要使用完整的數(shù)據(jù)流,因而其檢測存在一定程度的滯后,這也是現(xiàn)今很多遠控木馬檢測方法都存在的問題。姜偉等人在文獻[16]及文獻[17]中設(shè)計了一種基于異常網(wǎng)絡(luò)行為的遠控木馬檢測模型,但該方法同樣需要使用較長的通信流。Jiang 等人[18]將遠控木馬通信流量中出現(xiàn)在TCP 三次握手后且相鄰數(shù)據(jù)包時間間隔大于1 s之前的會話定義為早期階段,從中提取了數(shù)據(jù)包數(shù)量、上下行數(shù)據(jù)包數(shù)量比等6 個統(tǒng)計特征來快速檢測遠控木馬,但該方法的漏報率較高;Adachi 等人[19]在Jiang 研究的基礎(chǔ)上將網(wǎng)絡(luò)會話與主機進程進行關(guān)聯(lián),增加了4 個特征用于檢測遠控木馬,但是其方法仍存在較高的誤報率。宋紫華等人[20]從TCP 會話的前5 個數(shù)據(jù)包中提取了14 個特征,并以此設(shè)計了一種木馬快速檢測方法,但此方法的檢測對象是TCP會話,因此需要對多個TCP 會話進行檢測才能識別出具有主從連接的遠控木馬。Wu 等人[21]受文獻[22]的啟發(fā),以遠控木馬的人為控制特性為檢測出發(fā)點,先對數(shù)據(jù)流進行切片,再以每個切片中前3 個包的方向序列來判斷數(shù)據(jù)流是否屬于遠控木馬會話,但該方法需要分析每條流中250 個數(shù)據(jù)包以檢測遠控木馬會話。Pallaprolu 等人[23]從每個數(shù)據(jù)包中提取出特征向量,并運用集成學(xué)習(xí)對每個分類器的檢測結(jié)果進行投票來獲得高檢測率,但由于該方法以會話中全部數(shù)據(jù)包為分析對象,需要很長的訓(xùn)練時間和檢測時間。

通過對上述文獻的分析可知,現(xiàn)階段基于網(wǎng)絡(luò)的檢測方法大多對數(shù)據(jù)流的完整性有較高的要求,其檢測存在一定程度的滯后;已有的遠控木馬早期檢測方法則較少考慮數(shù)據(jù)流的序列特性而僅使用統(tǒng)計特征導(dǎo)致誤報率較高。因此,本文重點關(guān)注遠控木馬通信會話建立后初期流量的序列特性,旨在高準(zhǔn)確率的前提下提高遠控木馬流量檢測的及時性。

2 木馬通信行為分析

遠控木馬包括控制端與被控端,植入受害主機的被控端通常會伴隨系統(tǒng)的啟動而啟動,而攻擊者通過控制端發(fā)送指令與被控端進行交互。早期的遠控木馬通常由控制端發(fā)出連接請求以連接被控端。但是隨著防火墻的廣泛應(yīng)用和發(fā)展,越來越多的遠控木馬采用反彈式連接(即由被控端發(fā)起連接請求以連接控制端)來避開防火墻的篩查。如圖1 所示,遠控木馬的運行過程可以劃分為建立連接、命令交互和保持存活三個“階段”。在建立連接階段,被控端與控制端通過TCP 三次握手完成連接,之后被控端會主動回傳受害者的上線信息;命令交互階段中部分木馬會在主連接存在的情況下建立次連接用于執(zhí)行指令與回傳結(jié)果;而在保持存活階段,攻擊者通過設(shè)計心跳行為來保持連接,部分木馬的心跳包會以固定模式貫穿遠控木馬整個通信周期。

Fig.1 RAT communication flow chart圖1 遠控木馬的通信流程圖

據(jù)實驗觀察,遠控木馬建立連接階段流量具有以下特性:遠控木馬為了逃避網(wǎng)絡(luò)監(jiān)控軟件的查殺,通常會盡可能減少被控端與控制端的交互來隱藏自己,這使得遠控木馬在會話建立后初期傳輸?shù)臄?shù)據(jù)量不會太多;建立連接階段被控端需要反復(fù)發(fā)出連接請求直至控制端對其進行響應(yīng),之后被控端將收集到的受害者主機信息主動回傳給攻擊者,這種回傳信息的數(shù)據(jù)包的負載通常較大,與該階段其余的數(shù)據(jù)包負載大小存在明顯區(qū)別。本文將由{源IP 地址、目的IP 地址、傳輸層協(xié)議}三元組確定的網(wǎng)絡(luò)通信流定義為IP 會話,并將IP 會話的第一條TCP 流中由內(nèi)部主機向外部網(wǎng)絡(luò)發(fā)送且數(shù)據(jù)包傳輸層負載大于α字節(jié)的第一個數(shù)據(jù)包定義為信息回傳包,也稱為上線包。表1 統(tǒng)計了35 個遠控木馬在建立連接階段的上線包的負載大小情況,這些遠控木馬均使用TCP 協(xié)議進行信息回傳。

由表1 可知,上線包的負載在遠控木馬建立連接階段的數(shù)據(jù)傳輸總量(不含三次握手)中占了極大比重,且orion、qusar 等遠控木馬在該階段只進行了上線操作。如圖2 所示,不同遠控木馬的上線包負載大小因其傳輸內(nèi)容不同而不同,為能夠全部覆蓋本文所分析遠控木馬的上線包,本文將α設(shè)定為60。遠控木馬被控端向控制端主動發(fā)送上線包后,控制端會發(fā)送一個ACK 包告知被控端已確認接收,在這之后的數(shù)個數(shù)據(jù)包可能出現(xiàn)在以下不同階段從而具有不同特性:

(1)建立連接階段:這些數(shù)據(jù)包對應(yīng)控制端自動發(fā)出的控制命令或者心跳行為,但是由于該階段下的所有行為均不涉及人為操作,遠控木馬發(fā)生大數(shù)據(jù)量交互的可能性較低,因而上線包之后數(shù)個數(shù)據(jù)包的負載大小往往小于上線包的負載大小。

(2)命令交互階段:攻擊者觀察到受害者主機上線,在經(jīng)過一定的人為反應(yīng)時間后將向被控端發(fā)送指令以執(zhí)行相應(yīng)攻擊操作。由于指令對應(yīng)的數(shù)據(jù)包大多只包含少許指令參數(shù),其負載通常較小。

Table 1 Payload of information return packet during phase of connection establishment表1 上線包在建立連接階段中的負載情況

Fig.2 Payload distribution of information return packet of used RATs圖2 實驗所用遠控木馬的上線包負載分布

(3)保持存活階段:出現(xiàn)在該階段的原因是此時攻擊者未能及時觀察到被控端上線,通信雙方在靜默狀態(tài)下進入了通過心跳包維持通信的保持存活階段。由于心跳包在大多數(shù)情況下不涉及信息交互,其負載通常較小。

由以上分析可知,遠控木馬在上線包之后的數(shù)個數(shù)據(jù)包傾向于使用小包傳輸,而正常應(yīng)用程序為實現(xiàn)資源快速交互會在建立連接后進行大量數(shù)據(jù)交換行為,其第一個傳遞數(shù)據(jù)的“大包”(負載大于α字節(jié),本文方法將其視為正常應(yīng)用程序的“上線包”)發(fā)生之后通常會繼續(xù)傳遞大量由正常應(yīng)用服務(wù)端發(fā)出的響應(yīng)信息,由于不需要隱藏自身行為,后續(xù)幾個數(shù)據(jù)包的負載通常會很大,這與遠控木馬形成了鮮明對比。同樣,此行為也使得正常程序在這幾個數(shù)據(jù)包的上下行字節(jié)比值較?。ㄆ渲?,本文將由遠控木馬被控端(對應(yīng)正常應(yīng)用客戶端)向遠控木馬控制端(對應(yīng)正常應(yīng)用服務(wù)端)的傳輸流量統(tǒng)稱為上行流量,反之為下行流量),遠控木馬則與之相反。另外,對于在建立連接階段僅進行上線操作的遠控木馬,上線包與其后的數(shù)個數(shù)據(jù)包之間會因人為反應(yīng)或心跳間隙造成較大的時間間隔,而正常程序在網(wǎng)絡(luò)不發(fā)生堵塞時較少發(fā)生該情況。因此,本文在后續(xù)章節(jié)中將基于遠控木馬的以上特點進一步分析遠控木馬通信會話建立后初期流量中的上線包及其之后的數(shù)個數(shù)據(jù)包所具有的特性,對其提取特征并結(jié)合機器學(xué)習(xí)算法建立模型及進行檢測。

3 基于序列分析的遠控木馬早期檢測方法

3.1 檢測方法

基于第2 章的分析結(jié)果,遠控木馬在建立連接階段中存在自動且相對固定的數(shù)據(jù)包交互行為,且該行為與正常應(yīng)用存在明顯區(qū)別。如果能在遠控木馬實現(xiàn)命令交互以獲取受害者隱私信息前發(fā)現(xiàn)其流量,則能夠有效降低受害者隱私泄露的風(fēng)險。因此,本文在對遠控木馬通信會話建立后初期的數(shù)據(jù)包序列進行分析的基礎(chǔ)上,運用時序特征與統(tǒng)計特征,提出了一種利用序列分析的遠控木馬早期檢測方法,該方法能夠在遠控木馬會話建立后初期及時且高準(zhǔn)確率地檢測出遠控木馬流量。由于部分遠控木馬存在主從連接的情況,為能夠及時檢測出木馬流量,本文將檢測單元設(shè)定為IP 會話中的第一條TCP 流,由{源IP 地址、源端口、目的IP 地址、目的端口、傳輸層協(xié)議}五元組確定。如圖3 所示,本文所提出的利用序列分析的遠控木馬早期檢測方法首先對數(shù)據(jù)包進行過濾并抽取通信會話,選取每個會話中的第一條TCP 流,以內(nèi)部主機向外部網(wǎng)絡(luò)發(fā)送的上線包為標(biāo)志,加上其后數(shù)個數(shù)據(jù)包共同用于提取時序特征及統(tǒng)計特征,然后運用機器學(xué)習(xí)算法訓(xùn)練檢測模型,最后由訓(xùn)練好的檢測模型對待檢流量進行判斷,以判別該流量是正常應(yīng)用流量還是遠控木馬流量。

3.2 特征提取

本文選擇上線包及其后續(xù)數(shù)個數(shù)據(jù)包的傳輸負載大小序列、傳輸字節(jié)數(shù)和時間間隔作為特征,具體介紹如下。

Fig.3 RAT early detection method using sequence analysis圖3 利用序列分析的遠控木馬早期檢測方法

3.2.1 傳輸負載序列

遠控木馬在建立連接階段的主要操作目的是向攻擊者傳輸被控主機信息。據(jù)實驗分析發(fā)現(xiàn),部分遠控木馬會在連接建立后主動上傳受害者信息;部分遠控木馬則是在接收到控制端自動發(fā)出的請求信息之后再發(fā)送上線包;少數(shù)遠控木馬還會在發(fā)送上線包之前進行確認版本以及握手等操作,但是相比于上線包,這些數(shù)據(jù)包由于只傳遞命令參數(shù)其負載往往較小。本文以上線包的大小作為閾值,將包負載字節(jié)數(shù)小于上線包大?。?0 B)的數(shù)據(jù)包稱為小包并記為0,反之則稱為大包并記為1。表2 統(tǒng)計了717條正常會話與985 條遠控木馬會話上線包之后3 個數(shù)據(jù)包的負載大小序列(Slength)的分布情況,其中正常會話來源于實驗室內(nèi)部主機流量,木馬會話包括35 個遠控木馬的流量,表中序列長度小于3 時表示網(wǎng)絡(luò)流中上線包后出現(xiàn)的數(shù)據(jù)包數(shù)量不足3 個。可以看出,正常應(yīng)用所產(chǎn)生的數(shù)據(jù)包的負載序列多集中在“011”與“11”類型,這與正常應(yīng)用在建立連接后需要接收來自于服務(wù)器的資源響應(yīng)有關(guān);而遠控木馬出于對自身隱蔽性的考慮,上線包后的數(shù)個數(shù)據(jù)包多為小包。因此,將上線包后的數(shù)個數(shù)據(jù)包的負載序列作為檢測遠控木馬流量的特征之一。

Table 2 Statistics of different software's load sequence times of following three packets after information return packet表2 不同軟件的上線包之后3 個數(shù)據(jù)包負載序列次數(shù)統(tǒng)計

為方便機器學(xué)習(xí)算法進行訓(xùn)練,本文將上線包后的數(shù)據(jù)包負載大小序列轉(zhuǎn)化為十進制。對一個長度為m的數(shù)據(jù)包負載序列d={d1,d2,…,dm},將其每個字符di乘以2 的m-i次方后再進行累加,即對應(yīng)的特征值應(yīng)表示為:

3.2.2 傳輸字節(jié)數(shù)

如第2 章所述,遠控木馬在上線包之后的數(shù)個數(shù)據(jù)包傾向于使用小包傳輸。因此,遠控木馬被控端所發(fā)出的上線包及之后交互的數(shù)個數(shù)據(jù)包的上下行字節(jié)比(Rlength)通常也會較大。圖4 展示了4 個遠控木馬被控端與5個正常應(yīng)用客戶端所發(fā)出的上線包及其后交互的3 個包(4Pks)的上下行字節(jié)比值。由圖4可知,這些木馬流量的上下行字節(jié)比值在10 左右,而正常應(yīng)用的該值小于1。這是因為上線包的負載較大,無論遠控木馬在上線包發(fā)出后進入操作狀態(tài)或靜默狀態(tài),其后產(chǎn)生的數(shù)個數(shù)據(jù)包對應(yīng)的控制命令包或心跳包均多為小包;而正常應(yīng)用行為如瀏覽網(wǎng)頁、觀看視頻以及下載文件時產(chǎn)生的下行方向的數(shù)據(jù)包的負載較大,故正常應(yīng)用在其上線包及之后幾個數(shù)據(jù)包的上下行字節(jié)比值較小。

Fig.4 Ratio of different software's upstream and downstream bytes of information return packet and next 3 packets(4Pks)圖4 不同軟件的上線包及之后3 個數(shù)據(jù)包(4Pks)上下行字節(jié)比

由于本文方法需要使用的數(shù)據(jù)包數(shù)量較少,有可能出現(xiàn)下行數(shù)據(jù)包負載之和為0 的情況。本文方法在下行數(shù)據(jù)包負載之和為0 時將選擇所有上行數(shù)據(jù)負載之和作為特征值。對一個長度為m的數(shù)據(jù)包負載序列d={d1,d2,…,dm},當(dāng)其上行數(shù)據(jù)負載總和為Ulength,下行數(shù)據(jù)負載總和為Dlength,則上下行數(shù)據(jù)包負載字節(jié)比特征值為:

3.2.3 時間間隔

有別于建立連接階段,遠控木馬在其命令交互階段的行為更多包含攻擊者的人為控制因素。該階段攻擊者可以通過控制端向被控端發(fā)送攻擊指令執(zhí)行惡意操作,包括但不限于下載文件、監(jiān)控攝像頭等,不同的惡意操作對應(yīng)著不同的指令。通過第2 章的分析可知,部分遠控木馬在建立連接階段中僅包含建立連接及上線包操作,之后便進入命令交互階段或保持存活階段,但由于遠控木馬的人為控制特性,在建立連接階段到進入命令交互階段或保存存活階段之間的數(shù)據(jù)包間會出現(xiàn)相對較長的時間間隔,這是由攻擊者需要一定的反應(yīng)時間或者由攻擊者自行設(shè)定的心跳間隔所導(dǎo)致的;而正常應(yīng)用在連接建立初期,其客戶端和服務(wù)端交互頻繁,因此處于該時期的數(shù)據(jù)包的時間間隔會相對較小。該過程的示意圖如圖5 所示,遠控木馬在上線包發(fā)出后到接收到控制命令之間需要的攻擊者反應(yīng)時間為t(單位:s),而正常應(yīng)用客戶端在發(fā)出資源請求后服務(wù)器會很快返回大量的響應(yīng)數(shù)據(jù)包。

因此,本文選取上線包及其后數(shù)個數(shù)據(jù)包中最大的一個時間間隔作為特征,記為Tinterval。對一個長度為m-1 的數(shù)據(jù)包時間間隔序列T={T1,T2,…,Tm-1},其最大時間間隔特征值為:

Fig.5 Comparison of RAT and normal application in data stream transmission圖5 遠控木馬與正常應(yīng)用數(shù)據(jù)流傳輸對比

綜上所述,所提方法提取特征的對象為n個數(shù)據(jù)包(nPks),即上線包及其后續(xù)n-1 個數(shù)據(jù)包,從會話時間與傳輸字節(jié)數(shù)兩方面提取了三維特征,具體描述如表3 所示。

Table 3 Feature description表3 特征描述

3.3 訓(xùn)練與檢測

本階段的主要工作是基于上述特征提取階段所得到的特征向量構(gòu)建一個檢測模型用于區(qū)分遠控木馬流量與正常應(yīng)用流量。為實現(xiàn)該目標(biāo),本文通過搭建實驗環(huán)境采集了多個知名的遠控木馬流量和正常應(yīng)用流量,從這些流量中提取傳輸負載大小序列、傳輸字節(jié)數(shù)和時間間隔等特征并添加類別標(biāo)簽(正常流量或遠控木馬流量)以構(gòu)建訓(xùn)練集Dtr(Dtr={(x1,Y1),(x2,Y2),…,(xM,YM)},其中Yi∈{正常流量,遠控木馬流量},xi=(Tintervali,Rlengthi,Slengthi))。然后通過Dtr結(jié)合分類算法建立一個遠控木馬檢測模型。為得到高準(zhǔn)確率的檢測結(jié)果,本文分別運用了支持向量機(support vector machine,SVM)、貝葉斯(na?ve Bayes,NB)、K近鄰(K-nearest neighbor,KNN)、隨機森林(random forest,RF)以及決策樹(decision tree,DT)5 種分類算法訓(xùn)練檢測模型并對其檢測結(jié)果進行對比。

在檢測階段,訓(xùn)練好的檢測模型將對測試集中的每條待檢流量進行檢測,以判別各條流量屬于正常應(yīng)用流量還是遠控木馬流量。

4 實驗

4.1 實驗環(huán)境

在搭建實驗環(huán)境時,為保護內(nèi)網(wǎng)主機安全,本文將遠控木馬的控制端安裝在具有公有IP 的云服務(wù)器上,而被控端安裝在局域網(wǎng)內(nèi)的Vmware 虛擬機中,虛擬機采用Windows 7 操作系統(tǒng)。檢測模型所在主機的硬件配置為8 GB 內(nèi)存,Intel i7-6700HQ 處理器,使用Wireshark 抓包,編程語言采用Python3.7,并使用scikit-learn 0.22.1 庫進行檢測模型訓(xùn)練。實驗拓撲如圖6 所示。

Fig.6 Experimental topology圖6 實驗拓撲

4.2 數(shù)據(jù)集

本文實驗的遠控木馬程序包括35 個知名遠控木馬程序:black_worm、daleth、darkcomet、darktrack、killer、nanocore、njrat、pshare、quasar、remcos、revenge、slayer、spynet、troianos、ugsec、babylon、bozok、bxrat、cybergate、greame、mlrat、mega、paradox、ucul、orion、novalite、drat、proton、cloud、l6-rat、ctos、vantom、xena、xrat、xtreme。為體現(xiàn)正常應(yīng)用流量的覆蓋率,本文從瀏覽器、電子郵件、即時通信、視頻軟件、P2P 下載、云服務(wù)以及游戲7 種不同類型的正常應(yīng)用中共選取12款代表性程序。選取的正常應(yīng)用類型及程序如表4所示。實驗中正常流量采集于實驗室內(nèi)部主機正常使用表4 中的正常應(yīng)用程序時所產(chǎn)生的網(wǎng)絡(luò)流量。對于遠控木馬,由于本文所提的檢測方法只涉及遠控木馬會話建立后的少量數(shù)據(jù)包,對每個遠控木馬每次采集約5 min 流量數(shù)據(jù)。由于正常應(yīng)用流量在實際通信環(huán)境中通常遠多于遠控木馬的流量,本文實驗將正常流量與木馬流量按照約10∶1 的比例混合以模擬真實網(wǎng)絡(luò)環(huán)境的流量占比情況。本文將收集到的正常流量和木馬流量劃分為訓(xùn)練集、已知遠控木馬測試集和未知遠控木馬測試集,其中未知遠控木馬測試集對應(yīng)未在訓(xùn)練集中出現(xiàn)過的killer、njrat、xrat、spynet 4 個遠控木馬的流量,用于測試本文方法對于未知遠控木馬流量的檢測能力。具體而言,如表5 所示,本次實驗的訓(xùn)練集包括5 462 個正常應(yīng)用會話和452 個遠控木馬會話;已知遠控木馬測試集包括5 513 個正常應(yīng)用會話和449 個遠控木馬會話;未知遠控木馬測試集包含717 個正常應(yīng)用會話和84 個遠控木馬會話。

Table 4 Normal applications used in experiment表4 實驗所用正常程序

Table 5 Experimental data表5 實驗數(shù)據(jù)

4.3 評估標(biāo)準(zhǔn)

本文采用準(zhǔn)確率(Accuracy)、漏報率(false negative rate,F(xiàn)NR)以及誤報率(false positive rate,F(xiàn)PR)這3 個常用評價指標(biāo)來衡量本文方法的檢測效果。這些指標(biāo)可以通過TP、TN、FP、FN計算得到。TP表示遠控木馬流量被正確檢測的數(shù)量,F(xiàn)N表示遠控木馬流量被誤判為正常應(yīng)用流量的數(shù)量,F(xiàn)P表示正常應(yīng)用流量被誤判為遠控木馬流量的數(shù)量,TN表示正常應(yīng)用流量被正確檢測的數(shù)量。3 個指標(biāo)的含義及具體的計算方法為式(4)~(6)。

Accuracy表示預(yù)測的準(zhǔn)確率:

FNR表示所有預(yù)測為正的樣本中實際為負的比例:

FPR表示所有預(yù)測為負的樣本中實際為正的比例:

4.4 實驗結(jié)果及分析

4.4.1 實驗結(jié)果

本文實驗采用SVM、NB、KNN、RF 和DT 在內(nèi)5種機器學(xué)習(xí)算法,利用相同的訓(xùn)練集構(gòu)建檢測模型,再使用已知遠控木馬測試集與未知遠控木馬測試集來分別測試檢測模型對已知遠控木馬和未知遠控木馬的檢測能力,并進一步分析本文方法在不同數(shù)量數(shù)據(jù)包(上線包及其之后的數(shù)據(jù)包)下的檢測效果。

表6 顯示了本文方法在分別使用3、4、5 和6 個數(shù)據(jù)包時(包含上線包)運用不同機器學(xué)習(xí)算法在已知遠控木馬測試集上獲得的Accuracy、FNR以及FPR值。其中,使用4 個數(shù)據(jù)包(4Pks)時運用RF 算法獲得的Accuracy最高,達到0.994,而對應(yīng)的FNR與FPR分別為0.029 與0.004。

如圖7 所示,當(dāng)本文方法在3Pks 進行檢測時,DT與RF 能夠?qū)崿F(xiàn)0.989 的Accuracy;當(dāng)使用數(shù)據(jù)包數(shù)達到4 時,RF的Accuracy值能夠達到0.994;RF使用5Pks 與6Pks分別獲得了0.989 與0.987 的Accuracy。值得注意的是,5 種算法中SVM 與NB 的Accuracy較低,其余3 種算法均在4Pks 時取得最佳的Accuracy。經(jīng)分析發(fā)現(xiàn),這是因為方法所使用的部分特征隨著用于提取特征的數(shù)據(jù)包數(shù)量增加,其特征值在正常應(yīng)用流量和遠控木馬流量中愈發(fā)趨同。圖8 給出了本文訓(xùn)練集與測試集中正常與遠控木馬流量在不同數(shù)據(jù)包下其特征Tinterval的值大于1 s 的樣本數(shù)量??梢钥吹接糜谔崛√卣鞯臄?shù)據(jù)包數(shù)為4Pks 時,Tinterval的值大于1 s 的木馬流量樣本多于正常流量樣本;而當(dāng)用于提取特征的數(shù)據(jù)包數(shù)為5Pks 時,Tinterval的值大于1 s 的流量中正常流量樣本占了大部分。因此本文所提檢測方法將檢測數(shù)據(jù)包數(shù)設(shè)定為4Pks。

表7 為本文方法在4Pks 時對未知遠控木馬測試集所得到的Accuracy、FNR與FPR值。表7 的結(jié)果顯示RF 的檢測效果最佳,其Accuracy達到0.985,F(xiàn)NR和FPR分別為0.012 與0.015。

Table 6 Results of 5 algorithms on known RAT test set with different packets表6 5 種算法在不同數(shù)據(jù)包數(shù)下對已知木馬測試集的檢測結(jié)果

Fig.7 Accuracy of 5 algorithms on known RAT test set圖7 5 種算法在已知遠控木馬測試集上的Accuracy

Fig.8 Number of samples with Tinterval value greater than 1 s for different number of packets圖8 不同數(shù)據(jù)包數(shù)下Tinterval的值大于1 s的樣本數(shù)

Table 7 Detection results of 5 algorithms using 4Pks on unknown RAT test set表7 4Pks時5 種算法對未知遠控木馬測試集的檢測結(jié)果

為進一步對比所提方法的檢測效果,本文采用文獻[18]與文獻[23]的檢測方法分別對相同的流量進行處理并提取特征,其中文獻[18]使用RF 算法訓(xùn)練模型并進行檢測;文獻[23]使用集成學(xué)習(xí)方法訓(xùn)練模型,其所用分類算法包括KNN、J48 決策樹與SVM 三種。表8 和表9 分別給出了文獻[18]與文獻[23]的檢測方法對已知與未知遠控木馬測試集的檢測結(jié)果。

Table 8 Detection results of different methods on known RAT test set表8 不同方法在已知遠控木馬測試集上的檢測結(jié)果

Table 9 Detection results of different methods on unknown RAT test set表9 不同方法在未知遠控木馬測試集上的檢測結(jié)果

由表8 的結(jié)果可知,本文方法在已知木馬測試集上的Accuracy和FPR分別為0.993 79 和0.004 35,優(yōu)于文獻[18]和文獻[23]方法所得到的Accuracy和FPR。在FNR指標(biāo)上,由于文獻[23]的方法是通過木馬控制端和被控端的所有數(shù)據(jù)包來提取特征,所獲得的FNR優(yōu)于僅使用部分數(shù)據(jù)包來提取特征的文獻[18]方法和本文方法;同時,本文方法在FNR指標(biāo)上優(yōu)于文獻[18]的方法。由表9 可知,在對未知遠控木馬數(shù)據(jù)集的檢測結(jié)果上,本文方法在僅使用會話中少量數(shù)據(jù)包的情況下獲得了0.985 02 的Accuracy和0.015 34 的FPR,該結(jié)果與文獻[23]方法使用會話中全部數(shù)據(jù)包所獲得的Accuracy和FPR相近。因此,從實驗結(jié)果可以看到,本文方法能夠在遠控木馬被控端和控制端開始通信的初期,通過少量數(shù)據(jù)包來有效地區(qū)分正常應(yīng)用的通信會話和遠控木馬的通信會話。

4.4.2 結(jié)果分析

本小節(jié)給出了本文方法分別運用5 種不同機器學(xué)習(xí)算法在4Pks 時所需要的訓(xùn)練時間和檢測時間。如表10 所示,5 種算法中最長的訓(xùn)練時長為SVM 的0.315 s,最長的檢測時長為KNN 的0.040 s,而RF 的訓(xùn)練時長為0.045 s,檢測時長為0.017 s,表明本文方法使用這5 種算法均能獲得高的檢測效率。

此外,為進一步分析本文方法對遠控木馬流量及時檢測的能力,本文對比了文獻[18]與文獻[23]所用特征需要檢測的數(shù)據(jù)包數(shù)量(從通信會話建立后開始統(tǒng)計),并依據(jù)是否有攻擊者操作木馬分別進行統(tǒng)計,即靜默狀態(tài)與操作狀態(tài),結(jié)果如表11 所示。

Table 10 Training and detection time of 5 algorithms on known RAT test set using 4Pks表10 4Pks時5 種算法對已知遠控木馬測試集的訓(xùn)練及檢測時長 s

Table 11 Average number of packets need to be detected by different methods表11 不同方法所需要檢測的平均數(shù)據(jù)包數(shù)

由表11 可知,按照文獻[18]中對遠控木馬早期的定義,由于正常應(yīng)用早期不需要隱藏自己的行為,通信雙方在會話建立后的短時間內(nèi)即進行大量數(shù)據(jù)交互,導(dǎo)致該方法在正常程序流量中抽取數(shù)據(jù)包數(shù)量遠多于本文方法;文獻[23]由于其檢測對象是數(shù)據(jù)包級,需要檢測通信雙方的所有交互數(shù)據(jù)包,而正常應(yīng)用的交互流量中存在多達幾萬個數(shù)據(jù)包的長會話,因此該方法所需要檢測的數(shù)據(jù)包數(shù)量大且效率較低,無法實現(xiàn)木馬通信流量的早期檢測;而本文方法關(guān)注于上線包,僅需要檢測通信會話建立后初期的少量數(shù)據(jù)包。綜上,本文方法所需的會話數(shù)據(jù)包數(shù)量較少,能夠較早地檢測出遠控木馬通信流量。

5 結(jié)束語

本文通過分析遠控木馬會話建立后初期的通信行為,發(fā)現(xiàn)木馬程序與正常應(yīng)用在該時期內(nèi)存在數(shù)據(jù)包序列差異,然后進一步提出了一種利用序列分析的遠控木馬早期檢測方法。本文實驗通過提取上線包及其后續(xù)數(shù)個數(shù)據(jù)包的特征并采用五種不同機器學(xué)習(xí)算法進行模型訓(xùn)練和檢測,實驗結(jié)果表明本文方法運用RF 算法能夠在4Pks 時對已知遠控木馬測試集與未知遠控木馬測試集分別獲得0.993 79 和0.985 02 的Accuracy,說明本文方法能夠及時且以高準(zhǔn)確率檢測遠控木馬流量。后續(xù)本文方法將在實際辦公環(huán)境中進行測試,并研究如何進一步降低檢測方法對未知遠控木馬檢測的漏報率與誤報率。

猜你喜歡
特征檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
不忠誠的四個特征
抓住特征巧觀察
小波變換在PCB缺陷檢測中的應(yīng)用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 久久精品人人做人人爽电影蜜月 | 欧美在线黄| 欧美97欧美综合色伦图| 国产精品福利尤物youwu| 成人福利在线观看| 国产日韩精品一区在线不卡| 国产91高跟丝袜| 久久永久精品免费视频| 九九热视频在线免费观看| 日韩av电影一区二区三区四区| 无码AV高清毛片中国一级毛片| 亚洲无码视频一区二区三区| 欧洲欧美人成免费全部视频| 亚洲国产精品一区二区第一页免 | 国产综合色在线视频播放线视 | 亚洲av无码成人专区| 日韩免费成人| 国产精品美女自慰喷水| 日韩a级毛片| 成人在线综合| 国产全黄a一级毛片| 91九色视频网| 香蕉久久国产精品免| 熟女成人国产精品视频| 亚洲国产欧美自拍| 亚洲成a人在线播放www| 欧美性色综合网| 四虎国产精品永久一区| 国产老女人精品免费视频| 中文字幕首页系列人妻| 国产精品自在线拍国产电影 | 波多野结衣中文字幕一区二区| 国产亚洲欧美日韩在线观看一区二区| 99成人在线观看| 毛片在线看网站| 91蝌蚪视频在线观看| 久久久精品久久久久三级| 亚洲中文在线看视频一区| 一区二区三区四区日韩| 免费日韩在线视频| 老司机久久99久久精品播放| 国产无码网站在线观看| 国产久操视频| 国产91高清视频| 久久永久免费人妻精品| 亚洲无线观看| 国产激情无码一区二区免费| 色综合色国产热无码一| 亚洲美女一区| 97久久超碰极品视觉盛宴| 国产一区亚洲一区| 天堂久久久久久中文字幕| 国产传媒一区二区三区四区五区| 日韩在线永久免费播放| 全部免费特黄特色大片视频| 久久国产香蕉| 亚洲精品图区| 国产成人免费手机在线观看视频 | 日韩美毛片| 亚洲天堂精品视频| 再看日本中文字幕在线观看| 99热6这里只有精品| 91最新精品视频发布页| 特级做a爰片毛片免费69| 91精品啪在线观看国产| 天天色天天操综合网| 成人国产一区二区三区| 97在线视频免费观看| 亚洲免费毛片| 婷婷色中文| 国产第一页屁屁影院| 国产日韩精品一区在线不卡| 亚洲女同一区二区| 91成人免费观看| 国产免费自拍视频| 久久一色本道亚洲| 日本欧美一二三区色视频| 国产一级二级在线观看| 精品无码人妻一区二区| av在线无码浏览| 美臀人妻中出中文字幕在线| 国产极品粉嫩小泬免费看|