国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)絡(luò)流量的安卓惡意軟件識(shí)別

2020-06-17 08:46:46王澍瑋張林杰屈宏剛
無線電工程 2020年7期
關(guān)鍵詞:網(wǎng)絡(luò)流量數(shù)據(jù)包應(yīng)用程序

王澍瑋,張林杰,2,賈 哲,2,屈宏剛

(1.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.通信網(wǎng)信息傳輸與分發(fā)技術(shù)重點(diǎn)實(shí)驗(yàn)室,河北 石家莊 050081;3.電子科技大學(xué),四川 成都 611731)

0 引言

由Google公司發(fā)布的移動(dòng)設(shè)備操作系統(tǒng)Android,因其開源和自由等特性,迅速超越了塞班系統(tǒng),在智能移動(dòng)設(shè)備操作系統(tǒng)市場占有率排名第一。隨之而來,在安卓系統(tǒng)備受開發(fā)者和用戶歡迎的同時(shí),也容易受到惡意者的攻擊。

自從2010年針對安卓操作系統(tǒng)的第一款惡意軟件FakePlayer出現(xiàn)以來,大量的惡意軟件被發(fā)現(xiàn)。惡意軟件攜帶了惡意代碼,會(huì)對操作系統(tǒng)以及其他軟件應(yīng)用產(chǎn)生威脅。因此,大多數(shù)的防病毒軟件公司針對安卓惡意軟件陸續(xù)推出了相應(yīng)的防病毒軟件,諸如Lookout Security & Antivirus,TrendMicro Mobile Security以及AVGAntivirus等。但大部分檢測工具都是通過靜態(tài)分析程序調(diào)用結(jié)構(gòu)或者動(dòng)態(tài)分析程序運(yùn)行來判定,導(dǎo)致一些隱蔽性較高的惡意軟件不容易被發(fā)現(xiàn)。

為了解決現(xiàn)有安卓惡意軟件識(shí)別效率和真陰率低的問題,提出基于網(wǎng)絡(luò)流量的檢測方法。采用深度學(xué)習(xí)的方法,在實(shí)驗(yàn)環(huán)境下和傳統(tǒng)機(jī)器學(xué)習(xí)方法進(jìn)行對比,大大提高了惡意軟件識(shí)別的效率和真陰率。目前將深度學(xué)習(xí)與網(wǎng)絡(luò)流量結(jié)合對Android應(yīng)用程序進(jìn)行惡意軟件檢測的研究比較少,但惡意軟件的網(wǎng)絡(luò)流量交互通常呈現(xiàn)出一定周期性,并且大部分惡意軟件的隱蔽性較高,要實(shí)現(xiàn)惡意行為都必須通過與服務(wù)器的通信,通過流量的分析能夠識(shí)別出大部分傳統(tǒng)機(jī)器學(xué)習(xí)方法不能識(shí)別出的惡意軟件。

1 惡意軟件檢測研究現(xiàn)狀

目前,有學(xué)者利用基于簽名的方法來實(shí)現(xiàn)對惡意軟件的分類檢測,通過整理、構(gòu)建惡意軟件特征數(shù)據(jù)庫,并將檢測樣本與數(shù)據(jù)庫中樣本進(jìn)行匹配從而實(shí)現(xiàn)檢測目的。秦中元等[1]使用簽名匹配算法,通過構(gòu)造樣本數(shù)據(jù)庫,實(shí)現(xiàn)了對于Android惡意程序的分類鑒別,但是該方法存在一個(gè)明顯缺陷,即需要保持?jǐn)?shù)據(jù)庫中樣本的實(shí)時(shí)更新。為了解決基于簽名的檢測方法的缺陷,科技人員采用機(jī)器學(xué)習(xí)的方法,通過收集到的惡意行為特征數(shù)據(jù)來訓(xùn)練分類檢測模型。

通過特征進(jìn)行訓(xùn)練分類的方法主要有動(dòng)態(tài)和靜態(tài)2個(gè)方面。靜態(tài)特征包括簽名、權(quán)限和軟件架構(gòu)等,而動(dòng)態(tài)特征包括網(wǎng)絡(luò)通信和系統(tǒng)調(diào)用行為等。

1.1 基于靜態(tài)特征的惡意軟件檢測

靜態(tài)特征是通過靜態(tài)代碼,利用反編譯工具,對其進(jìn)行詞法分析、語義分析等,從而提取特征。因?yàn)锳ndroid應(yīng)用程序相應(yīng)的APK文件結(jié)構(gòu)是固定的,并且已經(jīng)在應(yīng)用市場上線,所以除了定期或者不定期更新以外,內(nèi)容是不會(huì)有變化的。APK文件存在許多特征,比如權(quán)限、API調(diào)用序列、簽名、網(wǎng)絡(luò)地址和硬件結(jié)構(gòu)等。以上特征都可以用作判別Android軟件是否具備惡意性的依據(jù)。

研究人員在分析Android權(quán)限時(shí)運(yùn)用了許多技術(shù)手段。通過權(quán)限特征對應(yīng)用程序進(jìn)行檢測已經(jīng)存在許多研究,在文獻(xiàn)[2-5]中進(jìn)行了論述。本文為對應(yīng)用程序進(jìn)行排名,設(shè)計(jì)了概率生成模型,計(jì)算出大概率的風(fēng)險(xiǎn)系數(shù),對軟件存在惡意的可能性進(jìn)行定量評估。何文才等[6]根據(jù)軟件的權(quán)限信息,先進(jìn)行數(shù)理統(tǒng)計(jì),過濾掉多余和重復(fù)的無效信息,然后將預(yù)處理過后的權(quán)限信息進(jìn)行排序。同樣也可以將機(jī)器學(xué)習(xí)與權(quán)限特征相結(jié)合如文獻(xiàn)[7] 來檢測惡意軟件。這種方式被實(shí)驗(yàn)證明存在很大不足,因?yàn)橹挥脵?quán)限特征無法完整地刻畫一個(gè)惡意應(yīng)用程序的行為,而且對于部分不需要特定權(quán)限同樣能進(jìn)行攻擊的惡意家族種類,判別能力較差。為了彌補(bǔ)這個(gè)不足,許艷萍等[8]在將軟件中獲取的權(quán)限特征,通過信息增益算法篩選恰當(dāng)?shù)奶卣?,再對樸素貝葉斯算法進(jìn)行改進(jìn),得到的結(jié)果顯示準(zhǔn)確率超過了90%。該方法雖然提高了檢測的準(zhǔn)確率,但并不能從根本上解決權(quán)限特征的局限性,對于繞過權(quán)限等避免檢測行為無法處理,基于權(quán)限特征的機(jī)器學(xué)習(xí)方法無法成為一種能夠廣泛使用的惡意軟件識(shí)別方法。

在靜態(tài)特征中,網(wǎng)絡(luò)地址同樣是一個(gè)重要的特征。入侵者將服務(wù)器網(wǎng)絡(luò)地址植入到惡意軟件的代碼結(jié)構(gòu)中,使用命令和控制(Command and Control,C&C)服務(wù)器。入侵者通過惡意軟件與他們進(jìn)行網(wǎng)絡(luò)通信從而獲取用戶的個(gè)人隱私信息。研究人員通過 Android 安裝文件的代碼中遍歷 C&C 服務(wù)器的網(wǎng)絡(luò)地址來識(shí)別這類惡意軟件。Luoshi Zhang等[9]把網(wǎng)絡(luò)地址作為一個(gè)靜態(tài)特征從而用來進(jìn)行惡意軟件系統(tǒng)的檢測。Sanz等[10]發(fā)現(xiàn)分析文件結(jié)構(gòu)的靜態(tài)字符串對惡意軟件進(jìn)行識(shí)別是一種常用的手段,使用向量空間模型將字符串表示為多維空間中的向量。然后采集666個(gè)Android 應(yīng)用程序樣本進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)精度為83.51%,真陽率(True Positive Rate,TPR)為86%。但由于程序的靜態(tài)信息中可提取信息有限,該方案存在特征選取困難的問題,最終的檢測結(jié)果不夠理想。D Li等[11]從Android應(yīng)用程序中提取了充分的靜態(tài)特征,并且利用深度學(xué)習(xí)對這些靜態(tài)特征數(shù)據(jù)進(jìn)行模型訓(xùn)練。評估表明,檢測準(zhǔn)確率為97.16%,誤報(bào)率為0.1%,然而仍需要手動(dòng)提取靜態(tài)特征。

靜態(tài)特征檢測方便,特征容易提取,但是存在信息維度較少和難以解決代碼混淆的問題,而動(dòng)態(tài)特征數(shù)據(jù)則是對靜態(tài)特征的有效補(bǔ)充。

1.2 基于動(dòng)態(tài)特征的惡意軟件檢測

動(dòng)態(tài)特征主要從Android應(yīng)用程序運(yùn)行時(shí)發(fā)生的“行為”中提取特征,而這些特征中最主要的是底層系統(tǒng)調(diào)用信息和網(wǎng)絡(luò)流量交互信息。每個(gè)Android應(yīng)用程序都需要操作系統(tǒng)提供最基本的資源和服務(wù)來實(shí)現(xiàn)功能,同時(shí)由于Android系統(tǒng)的架構(gòu)特點(diǎn),屬于應(yīng)用層的應(yīng)用程序不能直接與操作系統(tǒng)進(jìn)行交互,所以應(yīng)用程序還需要利用系統(tǒng)調(diào)用操作來執(zhí)行某些特定的任務(wù),例如文件的讀、寫和打開操作。

H Liang等[12]將原始系統(tǒng)調(diào)用序列(在應(yīng)用程序運(yùn)行期間生成)作為輸入,并在沒有任何手動(dòng)干預(yù)的情況下確定序列是否是惡意的。實(shí)驗(yàn)使用14 231個(gè)Android應(yīng)用程序評估該模型,檢測準(zhǔn)確率為93.16%,但沒有提到為什么序列被歸類為惡意序列以及怎么從系統(tǒng)調(diào)用序列中提取出惡意片段。

在動(dòng)態(tài)特征中,網(wǎng)絡(luò)流量特征的使用引起了較多關(guān)注。惡意軟件通常會(huì)獲取終端權(quán)限,監(jiān)視用戶瀏覽和輸入的內(nèi)容,并且通過網(wǎng)絡(luò)連接將敏感信息泄露給攻擊者,必然會(huì)產(chǎn)生異常的網(wǎng)絡(luò)流量。因此通過監(jiān)控終端設(shè)備中應(yīng)用程序產(chǎn)生的網(wǎng)絡(luò)流量來檢測惡意軟件是一種具有理論支撐的檢測惡意軟件的方法。無論是正常程序還是惡意程序,基本都離不開網(wǎng)絡(luò)交互。ZHOU Y J等[3]指出,其收集到的Android惡意樣本里,93%的軟件為了能從攻擊者的C&C 服務(wù)器接收具體的指令,必須要連接到網(wǎng)絡(luò)。

比如Pegasus[13]則是一個(gè)經(jīng)典的利用0日系統(tǒng)漏洞的間諜軟件,其網(wǎng)絡(luò)流量中存在某些具體的特征,Pegasus的受害端訪問sms.webadv.co惡意域名下載軟件,在軟件下載過程中的HTTP負(fù)載含有文件final1111,test111.tar。壓縮包test111.tar中含有惡意文件,并且每個(gè)文件都含有“_kPegasusProtocol” 字符串。運(yùn)行時(shí),Pegasus使用加密通信網(wǎng)絡(luò)將盜取的用戶信息傳輸?shù)焦粽叩腃&C服務(wù)器,域名包括aalaan.tv,manoraonline.net,*.webadv.co,都可以作為檢測的特征。手機(jī)的惡意流量特征大多隱藏于受害端與C&C服務(wù)器的通信流量中。超過90%的惡意軟件都是使用HTTP或HTTPS協(xié)議來接收C&C服務(wù)器的指令?;谏鲜銮闆r,SU[14]從時(shí)間、數(shù)量和語義3個(gè)維度提取了惡意軟件產(chǎn)生的HTTP流量的特征。

因此,通過研究應(yīng)用程序的流量交互信息的特點(diǎn)來檢測惡意軟件是可行的。CREDROID[15]是由Jyoti Malik等人提出的一種有效方法,可以在離線狀態(tài)下工作,對流量日志進(jìn)行深入分析,同時(shí)捕獲應(yīng)用程序的DNS查詢及其與C&C服務(wù)器的交互數(shù)據(jù)來識(shí)別惡意程序。2018年,Zhenxiang Chen和Qiben Yan等[16]提出由于惡意流量往往遠(yuǎn)遠(yuǎn)小于正常流量,隨著這種不平衡現(xiàn)象的愈發(fā)嚴(yán)重,常規(guī)機(jī)器學(xué)習(xí)分類算法的分類能力會(huì)大大下降的觀點(diǎn)。為了解決這一問題,提出了IDGC和其改進(jìn)算法S-IDGC,有效解決了數(shù)據(jù)不平衡現(xiàn)象對流量分析的影響。同年,Anshul Arora和Sateesh K Peddoju[17]提出了一種使用動(dòng)靜態(tài)特征綜合分析Android惡意軟件的系統(tǒng)NTPDroid,其靜態(tài)特征基于系統(tǒng)的權(quán)限,而動(dòng)態(tài)特征基于網(wǎng)絡(luò)流量。二者相輔相成,無論是對產(chǎn)生流量較小的惡意軟件還是頻繁通信的惡意軟件都有較高的檢測率,平均準(zhǔn)確率達(dá)到了92.5%。2019年,Rong Chen等[18],混合使用基于時(shí)間相關(guān)流的特征和IP包特征來進(jìn)行Android惡意軟件的二分類和多分類,結(jié)果表明,無論是二分類還是多分類都取得了不錯(cuò)的效果,前者的準(zhǔn)確率達(dá)到了95%,后者的準(zhǔn)確率也高于90%。同年,Shanshan Wang和Zhenxiang Chen等[19],提出了一種基于網(wǎng)絡(luò)流量特征的Android惡意軟件分析系統(tǒng),系統(tǒng)將設(shè)備所產(chǎn)生的所有流量通過WiFi鏡像到分析服務(wù)器上,在服務(wù)器端對設(shè)備所產(chǎn)生的流量進(jìn)行分析和特征提取并送入基于C4.5決策樹的機(jī)器學(xué)習(xí)算法進(jìn)行惡意軟件識(shí)別。由于設(shè)備只負(fù)責(zé)進(jìn)行正常通信,能在滿足實(shí)時(shí)分析需求的同時(shí)最小化對設(shè)備自身硬件資源的使用,讓設(shè)備盡量處于最常規(guī)的運(yùn)行狀態(tài)。

目前針對惡意軟件檢測的二分類問題已經(jīng)有大量的研究,研究人員更加關(guān)注進(jìn)一步的惡意軟件多分類問題,借鑒Taylor V F等[20]提出的通過APP旁道流量特征以及呈階段性爆發(fā)的特點(diǎn)來對Android軟件進(jìn)行分類,本文提出的框架不僅能夠在加密環(huán)境下工作,并且可以自動(dòng)訓(xùn)練,不需要人為尋找特征。但是惡意軟件的多分類還面臨著分類標(biāo)準(zhǔn)不統(tǒng)一的挑戰(zhàn),Médéric Hurier等[21]針對惡意樣本多分類的問題提出了一個(gè)分析不同安全廠商對樣本的分類結(jié)果從而獲得一個(gè)統(tǒng)一分類標(biāo)準(zhǔn)的模型,該模型主要將惡意樣本的標(biāo)簽分為4個(gè)屬性,基本能覆蓋所有廠商的分類標(biāo)準(zhǔn),同時(shí)利用語法分析和交叉樣本分析,總結(jié)出對于惡意軟件的統(tǒng)一分類標(biāo)準(zhǔn),便于工作的推進(jìn)。

在動(dòng)態(tài)特征的流量分析中,網(wǎng)絡(luò)流量中不可避免地會(huì)出現(xiàn)噪聲數(shù)據(jù)的干擾。在Wang[22]設(shè)計(jì)的系統(tǒng)中,為了保證惡意流量數(shù)據(jù)的準(zhǔn)確性,從Alexa網(wǎng)站選取了排名前500的域名作為白名單來匹配惡意軟件產(chǎn)生的良性流量,同時(shí),根據(jù)NetworkProfiler中廣告庫包含關(guān)鍵字的原理手動(dòng)提取并驗(yàn)證了部分廣告的域名,建立了包含一定廣告域名的廣告庫,用于匹配廣告流量。在Li[23]設(shè)計(jì)的檢測系統(tǒng)中,為了減少環(huán)境噪音,關(guān)閉了Android設(shè)備中產(chǎn)生流量的常見功能,例如APP和系統(tǒng)的自動(dòng)更新,同時(shí)還采用手動(dòng)檢查有無后臺(tái)流量、定期重新整理運(yùn)行環(huán)境的方法,以確保所見網(wǎng)絡(luò)流量是由惡意樣本產(chǎn)生的。這2種方案都在一定程度上過濾了噪聲數(shù)據(jù),但仍需進(jìn)一步提升流量數(shù)據(jù)的純度。其次,在評估檢測方法性能時(shí),傳統(tǒng)的評價(jià)指標(biāo)會(huì)產(chǎn)生空間偏差與時(shí)間偏差。Roberto Jordaney[24]等人提出了隨著時(shí)間的推移,惡意軟件會(huì)不斷發(fā)展并且出現(xiàn)新的變種和惡意軟件家族,導(dǎo)致檢測方法預(yù)測質(zhì)量下降。為了檢測出評估中的偏差,Christian Rossow和Erik van der Kouwe[25-26]等討論了實(shí)驗(yàn)評估準(zhǔn)則,但是沒有確定實(shí)驗(yàn)中的空間與時(shí)間偏差,也沒有量化偏差對檢測方法性能的影響。Kevin Allix[27]等雖然確定了實(shí)驗(yàn)中的初始時(shí)間約束,但根據(jù)其約束所進(jìn)行的工作結(jié)果依然受到空間與時(shí)間偏差的影響。

2 兩階段雙向LSTM檢測

為了獲取全面的惡意軟件樣本流量并檢測出隱蔽性較高的高級惡意軟件,通過3個(gè)階段采集原始流量:軟件剛安裝的3 min、重啟安卓手機(jī)的前15 min和重啟軟件后的15 min作為原始流量。將原始流量作為輸入,通過數(shù)據(jù)預(yù)處理轉(zhuǎn)化為會(huì)話的切分形式,并利用兩階段雙向LSTM學(xué)習(xí)流量會(huì)話的時(shí)序特征與空間特征,最后得到惡意軟件的分類結(jié)果。整個(gè)實(shí)驗(yàn)流程如圖1所示。

圖1 實(shí)驗(yàn)流程Fig.1 Experimental process

2.1 數(shù)據(jù)處理

首先將原始pcap文件切分為會(huì)話的表現(xiàn)形式。網(wǎng)絡(luò)流量的最小基本單位是數(shù)據(jù)包,原始流量即pcap文件可以表示為數(shù)據(jù)包的集合。若原始流量表示為包的集合P,共有n個(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)包表示為pi,則P={p1,p2,…,pn}。而流指的是在一定的時(shí)間間隔內(nèi),五元組(源IP、目的IP、源端口、目的端口及傳輸層協(xié)議)都是相同包的集合。

2.2 兩階段LSTM網(wǎng)絡(luò)流量分類

長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)本質(zhì)上是一種時(shí)間遞歸循環(huán)神經(jīng)網(wǎng)絡(luò),LSTM相對適合處理并預(yù)測時(shí)間序列中間隔和延遲比較長的重要事件。

LSTM的表現(xiàn)通常比時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)及隱馬爾科夫模型(HMM)更好,比如,用在不分段連續(xù)手寫識(shí)別上。LSTM也普遍用于自主語音識(shí)別。作為非線性模型,LSTM可作為復(fù)雜的非線性單元用于構(gòu)造更大型深度神經(jīng)網(wǎng)絡(luò)。本文的實(shí)驗(yàn)方法是通過兩階段的雙向LSTM模型,然后分別學(xué)習(xí)數(shù)據(jù)包內(nèi)的時(shí)序特征和網(wǎng)絡(luò)流內(nèi)的時(shí)序特征進(jìn)行分類。

基本步驟包括:第一,數(shù)據(jù)預(yù)處理。如之前所述,當(dāng)拿到原始流量數(shù)據(jù)時(shí),這些數(shù)據(jù)是一個(gè)整體,需要先將其切分為會(huì)話的表現(xiàn)形式。第二,編碼。數(shù)據(jù)預(yù)處理后得到的是網(wǎng)絡(luò)流,需要進(jìn)一步將每一個(gè)字節(jié)利用one-hot編碼,編碼成n維向量,其中n代表了流量字節(jié)的種類數(shù)。第三,學(xué)習(xí)數(shù)據(jù)包內(nèi)的時(shí)序特征。利用雙向LSTM學(xué)習(xí)每個(gè)數(shù)據(jù)包內(nèi)的時(shí)序特征,輸出數(shù)據(jù)包向量。第四,學(xué)習(xí)數(shù)據(jù)包間的空間特征。利用雙向LSTM進(jìn)一步學(xué)習(xí)數(shù)據(jù)包向量間的空間特征,得到表示整個(gè)會(huì)話特征的網(wǎng)絡(luò)流向量。第五,用softmax層對得到的網(wǎng)絡(luò)流向量進(jìn)行多分類,得到分類結(jié)果。

① 數(shù)據(jù)包內(nèi)時(shí)序特征學(xué)習(xí)

在該特征學(xué)習(xí)階段,需要將每一個(gè)數(shù)據(jù)包編碼后的流量字節(jié)按照順序依次輸入LSTM模型中,經(jīng)過運(yùn)算,最終將輸出一個(gè)數(shù)據(jù)包向量。這些數(shù)據(jù)包向量將按照通信順序排列,形成序列,并保留了數(shù)據(jù)包間的空間特征,這些空間特征將由第二階段的LSTM學(xué)習(xí)。

② 數(shù)據(jù)包間空間特征學(xué)習(xí)

在上一階段中輸入的是每個(gè)數(shù)據(jù)包的流量字節(jié),輸出的是數(shù)據(jù)包向量。一個(gè)會(huì)話內(nèi)有多個(gè)數(shù)據(jù)包,因此每個(gè)會(huì)話經(jīng)過上階段的學(xué)習(xí),會(huì)形成數(shù)據(jù)包序列作為本階段雙向LSTM的輸入。通過學(xué)習(xí)這些數(shù)據(jù)包向量序列間的空間特征,最終將輸出一個(gè)網(wǎng)絡(luò)流向量,包含了整個(gè)會(huì)話的時(shí)序特征以及空間特征,并最終作為softmax多分類的輸入進(jìn)行最終分類。

3 實(shí)驗(yàn)分析

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

Pcap惡意流量數(shù)據(jù)采用UNB大學(xué)網(wǎng)絡(luò)安全實(shí)驗(yàn)室的公開數(shù)據(jù)集,分別是Android Adware and General Malware Dataset和Android Malware Dataset (CICAndMal2017)。良性的Pcap樣本從Googleplay按排名采取14 702個(gè)APP進(jìn)行收集。其中40%數(shù)據(jù)用來進(jìn)行深度學(xué)習(xí)的建模,剩余60%用來進(jìn)行模型測試。

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

硬件方面,使用工作站,CPU為英特爾i5,內(nèi)存為16 GB。在軟件層面,使用了Kears作為深度學(xué)習(xí)模型的前端框架,同時(shí)使用TensorFlow作為后端框架,運(yùn)行于Ubuntu操作系統(tǒng)上。在使用的DNN的框架結(jié)構(gòu)方面,采用了4個(gè)LSTM層和3個(gè)全連接層串聯(lián)在一起的結(jié)構(gòu),在完網(wǎng)絡(luò)的最后,使用1層Softmax對前面網(wǎng)絡(luò)的輸出進(jìn)行分類。

3.3 實(shí)驗(yàn)配置

使用固定數(shù)據(jù)包個(gè)數(shù)和數(shù)據(jù)包內(nèi)固定字節(jié)數(shù)的會(huì)話向量輸入,經(jīng)過雙向LSTM分別學(xué)習(xí)時(shí)序特征和空間特征后進(jìn)行分類。

參數(shù)上LSTM層神經(jīng)元個(gè)數(shù)設(shè)為108,批訓(xùn)練mini_batch設(shè)置為10,一個(gè)epoch的train_step設(shè)置為12 000,validation_step設(shè)置為800。

架構(gòu)上首先是one-hot編碼,使用Lambda層將每個(gè)字節(jié)被Bidirectional(LSTM(LSTM_ UNITS,return_sequences=False,dropout=0.1))雙向LSTM層,學(xué)習(xí)數(shù)據(jù)包內(nèi)字節(jié)時(shí)序特征,輸出數(shù)據(jù)包向量。用TimeDistributed層將輸出的數(shù)據(jù)包向量按時(shí)序排列好,作為后續(xù)雙向LSTM層的輸入。將第2個(gè)雙向LSTM層學(xué)習(xí)了空間特征的會(huì)話向量輸入2個(gè)全連接dense層,最后使用softmax進(jìn)行多分類。

使用公開的數(shù)據(jù)集,作為本次分析的數(shù)據(jù)集。數(shù)據(jù)包括6類樣本,分別是{’normal’:0,’adware’:1,’generalMalware’:2,’ransomeware’:3,’scareware’:4,’smsMalware’:5}。數(shù)據(jù)切分會(huì)話情況如表1所示。

表1 數(shù)據(jù)切分會(huì)話情況
Tab.1 Session condition of data partition

數(shù)據(jù)樣本session數(shù)adware82 230GeneralMalware1 827Ransomware196 803Scareware224 673SMSMalware136 308normal237 083

數(shù)據(jù)包個(gè)數(shù)和字節(jié)數(shù)分布情況如下:

① 會(huì)話中數(shù)據(jù)包個(gè)數(shù)情況

統(tǒng)計(jì)總數(shù):93 177;平均數(shù):65.762 559 429 902 23;最大值:155 116;最小值:1;中位數(shù):27;眾數(shù):10,10 302。

② 數(shù)據(jù)包中字節(jié)長度情況

統(tǒng)計(jì)總數(shù):612 755 8;平均數(shù):776.172 366 707 912;最大值:19 218;最小值:47;中位數(shù):66;眾數(shù):1 404,1 695 896。

然后進(jìn)行多分類,取每個(gè)會(huì)話的10個(gè)數(shù)據(jù)包,并用數(shù)據(jù)包的前100~1 000個(gè)字節(jié)分別進(jìn)行分類實(shí)驗(yàn),按4∶6劃分訓(xùn)練集和測試集。

嘗試進(jìn)行二分類模型訓(xùn)練,正常的session選取了3 655個(gè),惡意session每一類均選取了731個(gè),總共4 386個(gè)惡意的session將所有的惡意樣本都當(dāng)成歸為惡意類,進(jìn)行了二分類。在字節(jié)數(shù)取300時(shí),正確率最高,達(dá)到了87.55%。相應(yīng)的混淆矩陣如表2所示。

表2 混淆矩陣表
Tab.2 Confusion matrix

數(shù)據(jù)狀態(tài)NormalMalwareNormal3 59264Malware8462 808

3.4 實(shí)驗(yàn)分析

使用以下標(biāo)準(zhǔn)評價(jià)本文提出的方法:精確率(Precision,P)、召回率(Recall,R)、F1值(F1-Score,F(xiàn)1)和錯(cuò)誤率(FPR)。和基于機(jī)器學(xué)習(xí)的SVM方法,KNN方法,Bernoulli方法以及MLP方法進(jìn)行了各項(xiàng)評價(jià)指標(biāo)的對比,實(shí)驗(yàn)結(jié)果如表3所示。

表3 結(jié)果對比表
Tab.3 Result comparisons

評價(jià)結(jié)果/%LSTMSVMKNNBMLPP99.9195.6290.6890.5399.91R98.0192.3599.3799.8299.64F188.7593.9694.9394.9599.77FPR0.204.199.9010.350.09

從精確率和召回率等參數(shù)來看,本文所采用基于流量特征動(dòng)態(tài)分析的方法具有較大優(yōu)勢,均排在前2位。而F1值上看,本文方法排名較為靠后,需要進(jìn)一步改善,而錯(cuò)誤率方面本文方法也達(dá)到了較高標(biāo)準(zhǔn),排在第二位。綜合來看,本文所提出方法達(dá)到了較高水準(zhǔn),證明基于流量的深度學(xué)習(xí)動(dòng)態(tài)特征分析方法具有良好的可行性。

在上述實(shí)驗(yàn)分析中選擇的評價(jià)指標(biāo)的橫向?qū)Ρ确椒?,包括支持向量機(jī)、K近鄰算法等,都是傳統(tǒng)的機(jī)器學(xué)習(xí)算法。以上算法并不能像使用DNN的DL算法可以自動(dòng)從輸入數(shù)據(jù)中抓取和學(xué)習(xí)特征,而是需要額外的人工操作,即模型訓(xùn)練之前的特征工程相關(guān)的工作量,包括但不限于:特征選擇、特征提取及特征評估等。相較而言,本文所提出方法直接使用原始流量數(shù)據(jù)作為模型的輸入,特征工程內(nèi)的工作由兩階段的LSTM進(jìn)行,去除了使用傳統(tǒng)機(jī)器學(xué)習(xí)所需的額外特征工程相關(guān)的工作量。從實(shí)驗(yàn)結(jié)果可以得知,通過使用神經(jīng)網(wǎng)絡(luò)模型自動(dòng)學(xué)習(xí)來抓取產(chǎn)生的流量特征較之使用傳統(tǒng)機(jī)器學(xué)習(xí)所需要預(yù)先設(shè)計(jì)的特征而言,表現(xiàn)出了更加優(yōu)秀的惡意軟件分類效果。

由于本方法基于流量特征信息,實(shí)驗(yàn)方法具有通用性,使用范圍并不局限于本實(shí)驗(yàn)中的安卓惡意軟件分類識(shí)別,同樣可用于其他流量特征明顯的惡意軟件領(lǐng)域如Windows惡意軟件等,相比基于靜態(tài)特征的分析方法具有更好的跨平臺(tái)特性,通用性。

4 結(jié)束語

本文所提出的基于流量特征的兩階段雙向LSTM深度學(xué)習(xí)安卓惡意軟件檢測分類方法,使用固定數(shù)據(jù)包個(gè)數(shù)和數(shù)據(jù)包內(nèi)固定字節(jié)數(shù)的會(huì)話向量輸入,經(jīng)過雙向LSTM分別學(xué)習(xí)時(shí)序特征和空間特征后進(jìn)行分類。在數(shù)據(jù)包時(shí)序特征學(xué)習(xí)的過程中,將每一個(gè)數(shù)據(jù)包編碼后的流量字節(jié)由各個(gè)數(shù)據(jù)包編碼后產(chǎn)生,并將這些流量字節(jié)按照原有的各自數(shù)據(jù)包的順序,依次有序作為LSTM的輸入,經(jīng)過LSTM的處理,輸出一個(gè)數(shù)據(jù)包向量。這些數(shù)據(jù)包向量將按照通信順序排列,形成序列,并保留了數(shù)據(jù)包間的空間特征,這些空間特征將由第二階段的LSTM學(xué)習(xí)。一個(gè)網(wǎng)絡(luò)流向量將會(huì)在經(jīng)過訓(xùn)練和學(xué)習(xí)這些數(shù)據(jù)包的向量序列的空間特征之間的關(guān)系之后被輸出,并且還會(huì)被作為softmax多分類的輸入進(jìn)行最終的分類。對比實(shí)驗(yàn)測試結(jié)果表明,該方法在幾項(xiàng)常用指標(biāo)上達(dá)到了基于機(jī)器學(xué)習(xí)方法的水平,且在數(shù)項(xiàng)指標(biāo)上達(dá)到較高水準(zhǔn),驗(yàn)證了將深度學(xué)習(xí)方法應(yīng)用于安卓惡意軟件分類領(lǐng)域以實(shí)現(xiàn)更高程度自動(dòng)化的可行性,且該方法基于動(dòng)態(tài)流量特征,具有廣泛通用性。下一步,將會(huì)研究一種具有多級檢測機(jī)制的惡意軟件檢測模型,將多種簡單分類器在底層硬件的維度上集成,并通過相關(guān)檢測機(jī)制和上層的算法,找到一個(gè)在復(fù)雜度、計(jì)算性能和軟硬件之間的最佳平衡點(diǎn)。

猜你喜歡
網(wǎng)絡(luò)流量數(shù)據(jù)包應(yīng)用程序
基于多元高斯分布的網(wǎng)絡(luò)流量異常識(shí)別方法
基于神經(jīng)網(wǎng)絡(luò)的P2P流量識(shí)別方法
刪除Win10中自帶的應(yīng)用程序
SmartSniff
AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計(jì)算
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)絡(luò)流量監(jiān)控對網(wǎng)絡(luò)安全治理的重要性
河南科技(2014年23期)2014-02-27 14:18:43
視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
移動(dòng)IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析
大悟县| 金乡县| 哈巴河县| 宜丰县| 科技| 南昌市| 临猗县| 遵义县| 呼玛县| 稻城县| 高青县| 周至县| 新竹县| 连云港市| 北碚区| 沐川县| 织金县| 云阳县| 河源市| 鱼台县| 南宁市| 曲阜市| 固安县| 龙胜| 毕节市| 鄂尔多斯市| 屏南县| 辽阳市| 华池县| 汝阳县| 鹤庆县| 安远县| 陕西省| 正镶白旗| 从化市| 延庆县| 高要市| 万山特区| 若尔盖县| 北碚区| 湘潭县|