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

基于深度學(xué)習(xí)的Linux遠(yuǎn)控木馬檢測

2020-07-17 07:35:44李明軒楊慧婷
計(jì)算機(jī)工程 2020年7期
關(guān)鍵詞:分析檢測模型

李 峰,舒 斐,李明軒,王 斌,楊慧婷

(國網(wǎng)新疆電力有限公司 電力科學(xué)研究院,烏魯木齊 830011)

0 概述

遠(yuǎn)控木馬是一種惡意軟件,攻擊者可使用遠(yuǎn)控木馬對目標(biāo)計(jì)算機(jī)進(jìn)行遠(yuǎn)程控制,訪問目標(biāo)主機(jī)文件系統(tǒng)收集信息,并利用目標(biāo)主機(jī)進(jìn)一步展開攻擊行為。高級遠(yuǎn)控木馬通常具有潛伏性和隱藏性,能夠長期駐留在目標(biāo)主機(jī)中,并繞過反病毒引擎查殺進(jìn)行隱蔽運(yùn)行而不被發(fā)現(xiàn)。

針對Linux平臺病毒木馬的檢測問題,反病毒軟件的常用方法主要包括靜態(tài)分析和行為分析2種。靜態(tài)分析的優(yōu)勢在于分析速度快,但檢測結(jié)果容易受到代碼混淆技術(shù)的影響,而行為分析會在文件執(zhí)行期間收集行為信息并進(jìn)行分析,其能夠有效解決代碼混淆問題,但往往需要消耗較長時(shí)間,在惡意行為觸發(fā)之后才能判斷出惡意文件。

目前,深度學(xué)習(xí)技術(shù)在圖像分類和文本識別領(lǐng)域得到廣泛應(yīng)用[1-2],其通過多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與大量的參數(shù)調(diào)節(jié),對樣本的特征進(jìn)行逐層抽取。本文結(jié)合靜態(tài)分析和動(dòng)態(tài)檢測2種方法,提取Linux樣本數(shù)據(jù),利用深度學(xué)習(xí)算法循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)訓(xùn)練模型,預(yù)測輸入文件是否為惡意文件。將檢測模型的預(yù)測結(jié)果與常見的機(jī)器學(xué)習(xí)算法,如支持向量機(jī)(Support Vector Machine,SVM)[3]、K-近鄰(K-Nearest Neighbor,KNN)算法[4]、決策樹(Decision Tree,DT)[5]和隨機(jī)森林(Random Forest,RF)算法[6]相比較,并使用混淆矩陣來分析機(jī)器學(xué)習(xí)算法的性能。

1 相關(guān)工作

常見的病毒木馬檢測方法主要包括靜態(tài)分析和基于行為分析的動(dòng)態(tài)檢測。靜態(tài)分析通過提取文件特征并與已知特征庫進(jìn)行對比分析,從而判斷該文件是否為惡意文件,其分析速度較快,但特征誤報(bào)率較高,并且很難分析混淆后的文件。文獻(xiàn)[7]使用代碼特征結(jié)合深度前饋神經(jīng)網(wǎng)絡(luò)將惡意軟件與安全軟件進(jìn)行區(qū)分,其真正率達(dá)到95.2%。然而,在使用由某個(gè)日期之前的樣本數(shù)據(jù)訓(xùn)練出的模型來檢測該日期之后的數(shù)據(jù)時(shí),該方法的真正率下降至67.7%,表明靜態(tài)分析的方法對于全新且未知的惡意軟件的檢測效果較差。文獻(xiàn)[8]證明了使用靜態(tài)數(shù)據(jù)訓(xùn)練的模型的準(zhǔn)確率約為95%,但對經(jīng)過重新打包的惡意樣本檢測的準(zhǔn)確率下降至20%。

基于行為分析的動(dòng)態(tài)檢測方法彌補(bǔ)了靜態(tài)分析方法的不足,其通過監(jiān)控文件執(zhí)行時(shí)的行為,分析其系統(tǒng)調(diào)用、文件操作和網(wǎng)絡(luò)連接等行為,進(jìn)而判斷文件是否存在惡意行為。文獻(xiàn)[9]使用RNN提取5 min內(nèi)API調(diào)用序列特征,將其反饋給卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)以獲得具有170個(gè)樣本的數(shù)據(jù)集,該方法的模型評估指標(biāo)AUC分值高達(dá)0.96。文獻(xiàn)[10]采用RF算法,使用API調(diào)用和相關(guān)元數(shù)據(jù)作為訓(xùn)練集,其準(zhǔn)確率和F1值分別達(dá)到97%和98%。動(dòng)態(tài)檢測方法在一定程度上提高了病毒木馬的檢測率,但其分析時(shí)間較久,具有滯后性,且在觸發(fā)惡意行為后才能判斷出惡意文件。

本文結(jié)合上述2種方法,利用深度學(xué)習(xí)算法RNN訓(xùn)練分類檢測模型,并通過超參數(shù)配置來優(yōu)化模型性能。

2 模型設(shè)計(jì)

本節(jié)將詳細(xì)介紹檢測模型的基本框架與算法結(jié)構(gòu),給出具體的樣本分析方法和所選特征集,并說明超參數(shù)配置的選擇方法。

2.1 整體設(shè)計(jì)

Linux遠(yuǎn)控木馬檢測模型的整體框架如圖1所示。模型首先對樣本進(jìn)行靜態(tài)分析和行為分析,提取相應(yīng)的靜態(tài)數(shù)據(jù)以及行為數(shù)據(jù)。在特征學(xué)習(xí)模塊中,采用RNN算法,結(jié)合k-折交叉驗(yàn)證并使用隨機(jī)參數(shù)空間配置超參數(shù)循環(huán)訓(xùn)練模型,在隨機(jī)超參數(shù)中最終選擇訓(xùn)練期間效果較優(yōu)的超參數(shù)配置,最后輸出模型。

圖1 檢測模型整體框架

2.2 樣本分析

樣本分析技術(shù)[11]分為3個(gè)部分:文件和元數(shù)據(jù)分析,靜態(tài)分析,動(dòng)態(tài)分析。

通過田野作業(yè)理解和解讀民眾生活文化與意義世界,是當(dāng)代民俗學(xué)的學(xué)術(shù)追求之一。研究者與敘述者(被研究者)共同完成該研究過程。同時(shí),通過學(xué)術(shù)話語的靈活運(yùn)用,研究者將敘述者的生活及敘事轉(zhuǎn)譯成為民俗志或民族志文本。因此,民俗學(xué)的實(shí)踐主體應(yīng)由敘述者與研究者共同構(gòu)成,亦即在民俗研究中,研究者與敘述者是互為主體的平等協(xié)商關(guān)系,是民俗志或民族志作品的共同制作人,可以說,“我們都是故事生產(chǎn)過程中的一個(gè)重要環(huán)節(jié)”[注]黃盈盈:《作為方法的故事社會學(xué)——從性故事的講述看“敘述”的陷阱與可能》,《開放時(shí)代》2018年第5期。。

1)文件和元數(shù)據(jù)分析。文件和元數(shù)據(jù)分析側(cè)重于文件本身,提取操作系統(tǒng)運(yùn)行ELF文件時(shí)所需的字段信息。首先,過濾掉與分析無關(guān)的文件,例如共享庫、核心轉(zhuǎn)儲損壞的文件或?yàn)槠渌僮飨到y(tǒng)設(shè)計(jì)的可執(zhí)行文件;其次,利用獲取到的文件信息來識別異常文件結(jié)構(gòu);最后,從VirusTotal中提取每個(gè)樣本的AV標(biāo)簽并將其提供給AV類工具[12]以獲取惡意軟件的標(biāo)準(zhǔn)化名稱。

2)靜態(tài)分析。靜態(tài)分析階段包含二進(jìn)制代碼分析和打包檢測2個(gè)部分。二進(jìn)制代碼分析依賴于眾多自定義的IDA Pro腳本來提取多個(gè)代碼指標(biāo)[13],包括函數(shù)數(shù)量、環(huán)路復(fù)雜度、整體覆蓋范圍以及是否存在重疊指令等;打包檢測將從ELF頭部提取的信息與二進(jìn)制代碼分析相結(jié)合,以識別可能的打包程序。

3)動(dòng)態(tài)分析。動(dòng)態(tài)分析包含2種類型的行為分析:在仿真器中執(zhí)行5 min以及常規(guī)的打包分析和解包嘗試。對于仿真,采用2種類型的動(dòng)態(tài)沙箱,即基于KVM的虛擬沙箱以及一組基于QEMU的仿真沙箱。對于監(jiān)聽,主要采用SystemTap[14]來實(shí)現(xiàn)內(nèi)核探測器(kprobes)和用戶探測器(uprobes)。在執(zhí)行結(jié)束時(shí),每個(gè)沙箱都返回一個(gè)文本文件,其中包含系統(tǒng)調(diào)用和用戶空間函數(shù)的完整跟蹤,然后立即解析此跟蹤以識別沙箱的有用反饋信息。

樣本分析具體流程如圖2所示。

圖2 樣本分析具體流程

2.3 數(shù)據(jù)提取

經(jīng)過樣本分析后得到j(luò)son文件形式的分析數(shù)據(jù),將json文件中的數(shù)據(jù)進(jìn)行清理,使用逐步回歸方法檢查最重要的預(yù)測變量,本文最終采用46個(gè)變量用于訓(xùn)練機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型,并將數(shù)據(jù)保存至csv文件中形成數(shù)據(jù)集。所選變量詳細(xì)信息如表1~表4所示,其中,表1為字節(jié)部分特征變量,表2為ELF部分特征變量,表3為Funcover部分特征變量,表4為其他部分特征變量。

表1 字節(jié)部分變量描述

表2 ELF部分變量描述

表3 Funcover部分變量描述

表4 其他部分變量描述

2.4 交叉驗(yàn)證

為了提高檢測模型的泛化能力,同時(shí)更準(zhǔn)確地評估模型的性能,本文對數(shù)據(jù)集采用k-折交叉驗(yàn)證[15]方法構(gòu)造訓(xùn)練集。k-折交叉驗(yàn)證指將樣本數(shù)據(jù)集隨機(jī)劃分為k個(gè)相同大小的子集,在每次模型訓(xùn)練迭代過程中,按順序選取其中的一個(gè)子集作為測試集,剩下的k-1個(gè)子集作為訓(xùn)練集。本文取k=10,即將數(shù)據(jù)集分為10份,每次取其中9份進(jìn)行訓(xùn)練,根據(jù)損失函數(shù)(用來評估預(yù)測值與實(shí)際值的差距)進(jìn)行優(yōu)化后執(zhí)行下一次迭代。

2.5 循環(huán)神經(jīng)網(wǎng)絡(luò)

典型的RNN結(jié)構(gòu)如圖3所示,RNN會結(jié)合每一個(gè)時(shí)刻的輸入與當(dāng)前模型的狀態(tài)從而給出一個(gè)輸出,從圖3可以看出,RNN主體結(jié)構(gòu)A的輸入除了來自輸入層的xt,還會接收前一時(shí)刻的狀態(tài),同時(shí)A的狀態(tài)也會從當(dāng)前步傳遞到下一步。

圖3 RNN的典型結(jié)構(gòu)

RNN能有效處理序列數(shù)據(jù),為了深層挖掘靜態(tài)數(shù)據(jù)以及行為數(shù)據(jù)前后依賴關(guān)系的特征,本文模型采用RNN中的門控循環(huán)單元(Gated Recurrent Unit,GRU)神經(jīng)網(wǎng)絡(luò)[17]。GRU通過“門”結(jié)構(gòu)使信息有選擇性地影響RNN中每個(gè)時(shí)刻的狀態(tài)。“門”結(jié)構(gòu)使用sigmoid(激活函數(shù))的神經(jīng)網(wǎng)絡(luò)和一個(gè)按位做乘法的操作,如圖4所示,GRU有更新門與重置門2個(gè)門,上述結(jié)構(gòu)使得GRU神經(jīng)網(wǎng)絡(luò)能夠解決序列數(shù)據(jù)中存在的長期依賴問題,且具有參數(shù)少、收斂快的優(yōu)勢。

圖4 GRU結(jié)構(gòu)

2.6 超參數(shù)配置

本文采用隨機(jī)搜索參數(shù)的方法進(jìn)行超參數(shù)配置,隨機(jī)搜索從可能的參數(shù)組合中隨機(jī)選擇配置,通過使用相對權(quán)重值的字典對偏置參數(shù)進(jìn)行選擇。隨機(jī)搜索將一直循環(huán)運(yùn)行,默認(rèn)選擇輪數(shù)為100輪,超參數(shù)配置隨機(jī)搜索空間如表5所示。

表5 超參數(shù)配置隨機(jī)搜索空間表

3 實(shí)驗(yàn)結(jié)果與分析

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

本文所使用的數(shù)據(jù)集來自文獻(xiàn)[18],該數(shù)據(jù)集從Padawan[19]多架構(gòu)ELF分析在線平臺中獲取,并將得到的Linux樣本分析數(shù)據(jù)清理成多個(gè)重要值,最終將數(shù)據(jù)保存至csv文件中。

利用Padawan平臺可通過Linux樣本哈希值的URL訪問到j(luò)son格式的分析報(bào)告,哈希值列表可在平臺上獲取。平臺提供的數(shù)據(jù)集[11]除了包含僵尸網(wǎng)絡(luò)中的Linux惡意攻擊樣本,還包含數(shù)千個(gè)屬于其他類別的樣本,例如遠(yuǎn)控木馬、后門、勒索軟件、傳統(tǒng)文件感染、權(quán)限提升工具、Rootkit、蠕蟲、APT活動(dòng)中使用的RAT程序以及基于CGI的二進(jìn)制文件webshells等。

文獻(xiàn)[18]在Padawan平臺上獲得了10 548個(gè)json格式的樣本數(shù)據(jù),并將json文件中的數(shù)據(jù)進(jìn)行清理整合,過濾NA值過大的數(shù)據(jù),將json文件轉(zhuǎn)換成csv格式的文件。在此基礎(chǔ)上,本文將幾款開源Linux遠(yuǎn)控工具生成的有效負(fù)載上傳至Padawan平臺中進(jìn)行分析,包括Meterpreter生成編碼混淆的Payload、Stitch Payload、TheFatRat Payload、Pupy Payload和PyIris Backdoor Payload等,獲取其靜態(tài)以及行為數(shù)據(jù),并將數(shù)據(jù)添加到數(shù)據(jù)集中。最終數(shù)據(jù)集共包含5 518個(gè)樣本,其中,3 983個(gè)是惡意樣本,1 535個(gè)是安全樣本。

3.2 評估指標(biāo)

為了對檢測模型進(jìn)行分析,本文選取準(zhǔn)確率(ACC)和F1值[20]2個(gè)評估指標(biāo),如式(1)和式(2)所示:

(1)

(2)

其中,F1值是綜合考慮查準(zhǔn)率和查全率的指標(biāo),TP是將正類預(yù)測為正類的數(shù)量,TN是將負(fù)類預(yù)測為負(fù)類的數(shù)量,FP是將負(fù)類預(yù)測為正類的數(shù)量,FN是將正類預(yù)測為負(fù)類的數(shù)量。

3.3 參數(shù)選擇

本文在隨機(jī)搜索空間中循環(huán)訓(xùn)練檢測模型,隨機(jī)選擇100種參數(shù)配置,經(jīng)過訓(xùn)練對比,最終選擇評估指標(biāo)結(jié)果最好的超參數(shù)配置,如表6所示。

表6 隨機(jī)搜索空間中最優(yōu)超參數(shù)配置

3.4 實(shí)驗(yàn)環(huán)境

本文實(shí)驗(yàn)計(jì)算機(jī)配置為雙核8 GB內(nèi)存,Intel Core i5處理器,計(jì)算機(jī)型號為Macbook Pro 2015版,操作系統(tǒng)為macOS 10.14.2版本。在模型搭建階段,采用TensorFlow作為神經(jīng)網(wǎng)絡(luò)框架,python使用2.7.15版本,R語言采用3.5.3版本。在參數(shù)設(shè)置方面,使用隨機(jī)搜索空間中100種超參數(shù)配置,并使用k-折交叉驗(yàn)證,k值取10,每種參數(shù)配置訓(xùn)練輪數(shù)為10輪。此外,為了提升訓(xùn)練速度并防止過擬合現(xiàn)象,模型采用dropout方法,丟棄率使用[0.1,0.2,0.3,0.4,0.5]中的隨機(jī)值[21]。在隨機(jī)搜索空間中選擇評價(jià)指標(biāo)結(jié)果最優(yōu)的超參數(shù)配置重新進(jìn)行模型訓(xùn)練,訓(xùn)練輪數(shù)為30輪。

3.5 結(jié)果分析

在100輪不同超參數(shù)配置的模型訓(xùn)練過程中,若某一輪次采用的參數(shù)配置評估指標(biāo)未超過在此之前的輪次結(jié)果,則放棄此輪參數(shù)直接進(jìn)行下一輪參數(shù)配置訓(xùn)練。最終挑選出其中最優(yōu)的參數(shù)配置(表6),使用此超參數(shù)配置再次進(jìn)行模型訓(xùn)練,ACC和F1值最高分別達(dá)到92.64%和95.20%。圖5所示為本文模型在表6參數(shù)配置下的ACC值和F1值。

圖5 最優(yōu)超參數(shù)配置下的評估結(jié)果

為了驗(yàn)證RNN算法訓(xùn)練出的檢測模型的整體性能,將RNN訓(xùn)練出的模型與不同的機(jī)器學(xué)習(xí)算法進(jìn)行比較,其中,機(jī)器學(xué)習(xí)算法包括決策樹中的CART算法、RF算法、SVM算法和KNN算法。所有機(jī)器學(xué)習(xí)算法的訓(xùn)練和測試數(shù)據(jù)都相同,以便準(zhǔn)確地進(jìn)行比較,采用ACC和F1值2個(gè)評價(jià)指標(biāo)來對比算法,表7所示為RNN與機(jī)器學(xué)習(xí)算法的性能比較結(jié)果。

表7 RNN與機(jī)器學(xué)習(xí)算法的性能比較結(jié)果

在表7中,RNN為100種隨機(jī)超參數(shù)配置中的最優(yōu)選擇,可以看出,其準(zhǔn)確率和F1值略優(yōu)于CART和SVM,但是整體表現(xiàn)不如RF算法。RNN-BP為在Linux數(shù)據(jù)集上執(zhí)行更多輪次隨機(jī)搜索得到的全局超參數(shù)最優(yōu)配置,該配置下RNN的準(zhǔn)確率為95.72%,F1值為97.41,相比100種隨機(jī)超參數(shù)配置下的結(jié)果提高了2個(gè)~3個(gè)百分點(diǎn),且檢測性能優(yōu)于RF算法。

4 結(jié)束語

混淆編碼技術(shù)可繞過大部分反病毒系統(tǒng)的靜態(tài)惡意軟件檢測,動(dòng)態(tài)分析方法雖然能克服靜態(tài)分析的不足,但其會耗費(fèi)較多時(shí)間。本文使用Linux樣本靜態(tài)與動(dòng)態(tài)分析中所提取的大量數(shù)據(jù),通過深度學(xué)習(xí)算法RNN訓(xùn)練檢測模型。該模型可以用于預(yù)測Linux惡意攻擊(包括Linux遠(yuǎn)控木馬、Linux后門、Rootkit等),準(zhǔn)確率為92.64%,F1值為95.20%。下一步將針對Linux遠(yuǎn)控木馬檢測問題,尋找更優(yōu)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(如LSTM等),豐富訓(xùn)練數(shù)據(jù)并提高模型的泛化能力,以加快訓(xùn)練速度并降低過擬合的可能性。

猜你喜歡
分析檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗(yàn)證分析
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢分析
3D打印中的模型分割與打包
主站蜘蛛池模板: 少妇人妻无码首页| 国产尤物jk自慰制服喷水| 欧美午夜在线播放| 91麻豆精品国产高清在线| 中文字幕无码中文字幕有码在线| 国产va欧美va在线观看| 婷婷五月在线| 亚洲美女一级毛片| 亚洲欧美国产五月天综合| 天天摸天天操免费播放小视频| 亚洲精品久综合蜜| 免费人欧美成又黄又爽的视频| 国产后式a一视频| 国产精品久久久久久久久kt| 久久人与动人物A级毛片| jijzzizz老师出水喷水喷出| 精品人妻系列无码专区久久| 99久久精品国产自免费| 伊人久综合| 国产视频一区二区在线观看| 无码aⅴ精品一区二区三区| 91小视频在线观看免费版高清| 亚洲第一区在线| 亚洲无码免费黄色网址| 国产波多野结衣中文在线播放| 99中文字幕亚洲一区二区| 日本免费一级视频| 国产成人无码久久久久毛片| 国产91透明丝袜美腿在线| 亚洲欧美日韩另类| 久久一级电影| 国产激爽爽爽大片在线观看| 欧美午夜视频| 欧美中文字幕在线视频| 一本一道波多野结衣一区二区| 亚洲国产欧美国产综合久久| 日韩欧美国产综合| 91在线免费公开视频| 国产一级毛片网站| 亚洲色图欧美在线| 性欧美在线| 日日噜噜夜夜狠狠视频| 国产精品亚洲欧美日韩久久| 国内99精品激情视频精品| 久久久久青草线综合超碰| 日韩av无码DVD| 青青久视频| 伊人久综合| 亚洲精品你懂的| 国模视频一区二区| 成人在线综合| 一级高清毛片免费a级高清毛片| 成人在线综合| 搞黄网站免费观看| 欧美97色| 一级毛片网| 国产成人精品一区二区免费看京| 国产丝袜第一页| 永久天堂网Av| 色综合久久久久8天国| 欧美一级大片在线观看| 国产欧美日韩综合一区在线播放| 久久国产热| 精品国产网站| 亚洲人成人无码www| 五月婷婷激情四射| 亚洲国产天堂久久九九九| 国产亚洲精久久久久久久91| 成人免费黄色小视频| 久久综合成人| 亚洲无码电影| 国产中文在线亚洲精品官网| 毛片在线播放网址| 精品撒尿视频一区二区三区| 亚洲福利视频一区二区| 久久无码av三级| 国产精品xxx| 国产熟女一级毛片| 久久精品免费国产大片| 欧美笫一页| 国产系列在线| 丝袜美女被出水视频一区|