• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

      0 引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      在動態(tài)特征中,網(wǎng)絡(luò)流量特征的使用引起了較多關(guān)注。惡意軟件通常會獲取終端權(quán)限,監(jiān)視用戶瀏覽和輸入的內(nèi)容,并且通過網(wǎng)絡(luò)連接將敏感信息泄露給攻擊者,必然會產(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]則是一個經(jīng)典的利用0日系統(tǒng)漏洞的間諜軟件,其網(wǎng)絡(luò)流量中存在某些具體的特征,Pegasus的受害端訪問sms.webadv.co惡意域名下載軟件,在軟件下載過程中的HTTP負載含有文件final1111,test111.tar。壓縮包test111.tar中含有惡意文件,并且每個文件都含有“_kPegasusProtocol” 字符串。運行時,Pegasus使用加密通信網(wǎng)絡(luò)將盜取的用戶信息傳輸?shù)焦粽叩腃&C服務(wù)器,域名包括aalaan.tv,manoraonline.net,*.webadv.co,都可以作為檢測的特征。手機的惡意流量特征大多隱藏于受害端與C&C服務(wù)器的通信流量中。超過90%的惡意軟件都是使用HTTP或HTTPS協(xié)議來接收C&C服務(wù)器的指令。基于上述情況,SU[14]從時間、數(shù)量和語義3個維度提取了惡意軟件產(chǎn)生的HTTP流量的特征。

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

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

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

      2 兩階段雙向LSTM檢測

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

      圖1 實驗流程Fig.1 Experimental process

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

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

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

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

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

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

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

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

      ② 數(shù)據(jù)包間空間特征學習

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

      3 實驗分析

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

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

      3.2 實驗環(huán)境

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

      3.3 實驗配置

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

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

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

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

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

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

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

      ① 會話中數(shù)據(jù)包個數(shù)情況

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

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

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

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

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

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

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

      3.4 實驗分析

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

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

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

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

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

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

      4 結(jié)束語

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

      猜你喜歡
      網(wǎng)絡(luò)流量數(shù)據(jù)包應(yīng)用程序
      基于多元高斯分布的網(wǎng)絡(luò)流量異常識別方法
      基于神經(jīng)網(wǎng)絡(luò)的P2P流量識別方法
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      SmartSniff
      AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計算
      基于Libpcap的網(wǎng)絡(luò)數(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
      移動IPV6在改進數(shù)據(jù)包發(fā)送路徑模型下性能分析
      中西区| 松溪县| 云南省| 浪卡子县| 皋兰县| 巴塘县| 江西省| 容城县| 镇康县| 永川市| 合肥市| 新竹县| 漳浦县| 神池县| 潮安县| 高平市| 博罗县| 房产| 德清县| 晋宁县| 襄垣县| 长汀县| 堆龙德庆县| 京山县| 云南省| 高阳县| 永川市| 宁波市| 岑巩县| 泰安市| 资阳市| 江孜县| 观塘区| 根河市| 安平县| 张北县| 宁南县| 南溪县| 邢台县| 遂昌县| 历史|