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

基于深度學習的Android惡意軟件檢測系統的設計和實現

2018-02-28 02:51:05
信息安全研究 2018年2期
關鍵詞:深度特征實驗

王 濤 李 劍

(北京郵電大學計算機學院 北京 100876)

隨著科技的發展,近年來手機已經成為人們日常生活的必備品.根據IDC季度手機追蹤報告,在2017年第1季度各大公司全球出貨量達到3.443億部[1].自從2010年8月卡巴斯基首次發現短信特洛伊木馬程序以來,Android惡意軟件的數量急劇增加.從那時起,Android惡意軟件不斷發展,越來越復雜,也不斷地增強措施避免被檢測出來.正如Zhou等人[ 2 ]的研究所揭示的,惡意軟件家族通過增加代碼混淆、隱蔽的命令和控制通信通道等正在不斷加強躲避檢測.這些反分析技術不僅降低了傳統基于簽名檢測的效果,而且顯著提高了在Android應用程序中發現惡意行為和代碼的難度.專門針對Android設備的惡意軟件自2010年以來以驚人的速度增長.

研究表明,由于難以發現惡意行為,Android惡意軟件可能在3個月內被忽視[3].大多數反病毒檢測能力依賴于更新的惡意軟件簽名庫的存在,因此,一旦發生未遇到的惡意軟件傳播,用戶就處于危險之中.由于反病毒供應商的響應時間可能在幾個小時到幾天之間,來識別惡意軟件,生成簽名,再更新到其客戶的簽名數據庫,黑客有一個實質性的機會去攻擊中毒用戶,但是基于簽名的防病毒引擎平均需要48 d才能發現新的威脅.盡管谷歌推出了“Bouncer”,為其應用程序商店篩選提交惡意行為的應用程序,很多用戶還是處在風險之中.

顯然,我們需要改進檢測方法,考慮到Android惡意軟件的發展和迫切需要減少出現以前未見過的病毒所帶來的威脅的機會.因此,不同于現有的Android惡意軟件工作,本文提出了一種基于一般深度學習的檢測模型,有效地提高了惡意代碼檢測的性能.

1 相關工作

近年來,隨著智能手機市場的不斷增加,基于Android的惡意軟件檢測技術得到了積極的研究.APK文件是在Android操作系統上的安裝軟件,每個APK必須有一個Manifest文件.該文件提供了關于Android操作系統應用程序的基本信息.它聲明應用程序必須具有哪些權限,以便訪問API的受保護部分,并與其他應用程序交互.為了保護Android用戶,應用程序對資源的訪問受到嚴格的權限限制.應用程序必須獲得權限才可以使用,例如藍牙或攝像機之類的敏感資源.Sanz等人[4]通過從應用程序自身提取的權限組合,開發了一種基于機器學習檢測的工具.ADROIT項目[5]中通過查看和分析運行時的meta-data去檢測惡意程序,建立一個高精度的分類器.

文獻[6]提出了一個基于機器學習的Android惡意軟件檢測系統.基于離線方式的支持向量機(SVM)提取和訓練了權限和控制流圖(CFG)特征,然而該實驗在實時檢測時仍不能很好地解決問題.文獻[5,7]分析了權限和其他特性,并應用各種機器學習分類器達到86%的準確率.Zhou等人[2]根據所請求的權限和行為方面的相似性,如安裝方法,檢測Android惡意軟件.

研究的另一個方面是對系統調用的分析.Xiao等人[8]提出了一個新的方案稱為人工神經網絡(ANN)對共生矩陣的機器人(ANNCMDroid),利用共生矩陣挖掘相關的系統調用.他們的主要觀察結果是系統調用的相關性在惡意軟件和良性軟件之間是顯著不同的,它們可以用共生矩陣精確地表達.在DroidAPIMiner[9]中,利用良性應用程序和惡意應用程序的不同API調用頻率進行分析,生成了不同的分類器來識別惡意軟件.

Bartel等人[10]分析了各種應用程序,發現有些應用程序聲明權限,但實際上沒有使用.因此,僅通過對權限的清單文件分析并不能給出準確的結果.在Android框架中,一旦安裝了應用程序,在運行時就會調用一組API.每個API調用都與特定權限相關聯.當調用API時,Android操作系統檢查用戶是否批準了它的相關權限.只有當它匹配時,它才能繼續執行某個API調用.因此API調用提供了一個信息,一個許可是否被實際使用.

動態特征指的是應用程序在移動設備上的安裝行為,包括應用程序在操作系統或網絡中的行為.應用程序使用系統調用來執行特定的任務,如讀、寫和打開,因為它們不能直接與Android操作系統交互.當在用戶模式下發出系統調用時,Android操作系統切換到內核模式以執行所需的任務.此外,大多數應用程序需要網絡連接.在Zhou等人[2]研究中,他們收集的Android惡意軟件樣本中有93%需要網絡連接,以便與攻擊者連接.

淺層學習無法學習到更全面的Android惡意軟件的安全語義信息;本文基于深度學習研究Android惡意軟件檢測問題,提高了特征對Android軟件的安全語義信息的表達,增加模型對安全語義信息的學習和理解能力.本系統采用基于深度學習的SDA方法研究Android惡意軟件的分類問題.SDA方法是多隱層神經網絡結構,可以逐層分析,優化每一層得到的特征向量表示,因此它提取的特征向量可以更準確地表達Android軟件的安全語義信息,提高檢測結果.

2 系統設計

本文設計并實現了一種基于深度學習算法的Android惡意軟件檢測的系統SDADLDroid(an Andriod malware detection based on SDA deep learning algorithm),該系統通過對爬蟲爬取到的8 000個良性軟件和7 000個惡意軟件進行特征提取,對數據進行分析降維后將選擇到的961個特征利用深度學習算法SDA(stacked denoising autoencoder)建立一個3層神經網絡后,經過數據集交叉驗證,確定該方法的檢測正確率達到95.8%,豐富了Android惡意軟件的檢測方法,提高了檢測效果.

2.1 系統設計

如圖1所示,系統主要分為三大部分,分別是編寫網絡爬蟲收集數據集,收集每個APK的靜態代碼特征和動態行為特征,特征降維后進行深度學習并建立良好的神經網絡進行檢測.

圖1 系統設計圖

2.2 系統實現

根據研究表明,Google Play上的應用一般被認為是良性的,所以我們編寫了網絡爬蟲,隨機地在其中選取了8 000個APK作為本次研究的良性應用數據集,并且我們已經收集了7 000多個惡意應用軟件.因此本次實驗中,所有的實驗數據都是現實世界中發布的已知的良性和惡意應用軟件,實驗數據有良好的真實性.

我們對于每一個APK都利用Apktool進行了反匯編,生成了Smail文件和Manifest文件,對其中重要的靜態代碼特性(例如權限、IP地址等)進行抽取,然后對于每一個APK都開啟一個虛擬機并使用DroidBox對生成的Log日志中一些敏感的行為信息進行抽取.將這些靜態代碼特征和動態行為特征作為特征庫,利用PCA數據降維,對于降維后的數據集利用SDA算法構建神經網絡,最后利用BP算法微調結果,這樣我們構建的神經網絡就可以用于分類任務了.

2.3 改進的SDA算法

2.3.1傳統自編碼

對于BP算法在訓練多層神經網絡所出現的各種問題[11],Hinton等人[12-14]提出了自動編碼機(Autodencoder),為深度學習開創了新思路.自動編碼機是一種無監督的算法,不需要對樣本進行標注,就可以有效利用樣本信息,提高模型性能.傳統的自動編碼機分為編碼和解碼2部分.編碼階段將d維輸人向量x定性映射到d′維隱層表示y,映射函數通常選用Sigmoid:

y=f(x;θ)=s(Wx+b),

(1)

其中W∈d′×d,b∈d′×1.式(1)中s是非線性函數,如Sigmoid.W是輸入層到中間層的連接權值,b為中間層的bias.解碼階段將得到的結果表示為y,并且定性地映射到d維重構向量z:

z=g(y;θ′)=s(W′y+b′),

(2)

其中W′∈d′×d,b′∈d′×1.式(2)中s是非線性函數,如Sigmoid.W′是輸入層到中間層的連接權值,b′為中間層的bias.這樣,自編碼訓練就在于用給定的N個樣本優化重構誤差,優化目標交叉熵或者均方誤差L為

(3)

2.3.2降噪自編碼

Vincent等人[15]指出,傳統自編碼在不加生成約束的情況下,很容易直接將輸入向量復制到輸出向量,或者只能產生微小的改變,此時模型只能產生較小的重構誤差,表現非常差.當測試數據和訓練數據相差很大,并且也不符合同一分布時,訓練效果也表現得非常差.為此,Vincent等人[15-16]提出了新的自編碼算法,即降噪自編碼(denoising autoencoder, DAE)算法,如圖2所示.該算法將樣本x進行毀壞改造,以一定的概率讓某些輸入層節點的值置0,從而使原樣本變為x′,再用x′訓練隱藏層:

y=f(x′;θ)=s(Wx′+b),

(4)

其余過程采用式(2)(3),與傳統AE相同.

圖2 降噪自編碼(DAE)

2.3.3構建分類模型

使用隱層輸出y作為新的輸人特征,多次重復DAE,就構成了SDA深度結構.Bengio等人[17-18]指出,不同的特征表示能突顯或剔除數據的某些解釋因子,從而具有不同的表示能力. 因此,SDA過程的目的在于尋找到一個比原始特征更適合任務要求的特征表示方法.完成深度結構后,添加節點與類別個數相同的輸出層,將最后得到的特征表示作為該輸出層的輸入.接下來將保存的訓練得到的各層權值矩陣、偏置項等作為初始參數,用BP算法微調整個SDA神經網絡,就能用于分類任務.

3 實驗與分析

3.1 數據描述

在本次實驗中,我們使用自己爬取的7 000個良性軟件和6 000個惡意軟件作為訓練數據,1 000個良性軟件和1 000個惡意軟件作為驗證數據.

3.2 實驗評測標準

本實驗采用準確率ACC,TPR,FPR,查準率P(precision),查全率R(recall),f-measure作為評價指標來衡量模型的效果.TP(true positive),FN(false negative),TN(true negative),FP(false positive).各個標準的計算公式和含義如下.

TPR:被正確分類的樣本數目比率;

FPR:被錯誤分類的樣本數目比率;

查準率:P=提取出的正確信息條數提取出的信息條數;

查全率:R=提取出的正確信息條數樣本中的信息條數;

f-measure:準確率和召回率加權調和平均.

表1展示了各種算法評價指標:

表1 算法評測指標

3.3 實驗結果

本次實驗中采用了10份驗證集和5個分類器,表2顯示了5個分類器中不同的準確率ACC、準確肯定率TPR、錯誤肯定率FPR、查準率P、查全率R以及F測度f-measure.

表2實驗結果

%

分類器ACCTPRFPRPRf-measureNB65.654.822.569.954.861.4Logistic73.771.223.874.971.273.0RT83.187.521.380.487.583.8MLP88.091.215.285.791.288.3SDA95.895.23.696.395.295.2

3.4 實驗結果分析

從實驗結果分析可以看出,我們構建的3層神經網絡[700,700,700]能夠達到最好的準確率,是一個良好的分類器,對比其他一般機器學習算法,深度學習能夠更好地完成分類任務.深度學習作為一種特征學習方法,可以把原始數據通過一些簡單的但是非線性的模型轉變成為更高層次的、更加抽象的表達.通過足夠多的轉換的組合,非常復雜的函數也可以被學習.傳統的方法是手工設計良好的特征提取器,這需要大量的工程技術和專業領域知識.但是如果通過使用通用學習過程而得到良好的特征,那么這些都是可以避免的.這就是深度學習的關鍵優勢.而我們的系統恰好就采用深度學習的優勢去避免淺層機器學習的劣勢,從而解決Android安全問題.因此,本系統能達到更高的可信度和更好的效率.

4 結束語

通過全面分析Android應用軟件中的安全隱患問題,提出相應的對策和建議.本文提出了基于深度學習的BP算法微調SDA神經網絡的方法,通過實驗表明,該模型可以調高檢測精度,提升檢測性能,擁有較高的準確率.

[1]IDC. Smartphone OS market share[EB/OL].[2017-04-27]. https://www.idc.com/promo/smartphone-market-share/os

[2]Zhou Y, Jiang X. Dissecting Android malware: Characteri-zation and evolution[C] //Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2012: 95-109

[3]Tam K, Feizollah A, Anuar N B, et al. The evolution of Android malware and Android analysis techniques[J]. ACM Computing Surveys, 2017, 49(4): 76

[4]Sanz B, Santos I, Laorden C, et al. PUMA: Permission usage to detect malware in Android[C] //Proc of Int Joint Conf on CISIS’12-ICEUTE’12-SOCO’12 Special Sessions. Berlin: Springer, 2013: 289-298

[5]Martín A, Calleja A, Menéndez H D, et al. ADROIT: Android malware detection using meta-information[C] //Computational Intelligence. Piscataway, NJ: IEEE, 2017: 1-8

[6]Sahs J, Khan L. A machine learning approach to Android malware detection[C] //Proc of European Intelligence and Security Informatics Conf. Los Alamitos, CA: IEEE Computer Society, 2012: 141-147

[7]Sanz B, Santos I, Laorden C, et al. MAMA: Manifest analysis for Malware Detection in Android[J]. Cybernetics & Systems, 2013, 44(6/7): 469-488

[8]Xiao X, Wang Z, Li Q, et al. ANNs on co-occurrence matrices for mobile malware detection[J]. KSII Trans on Internet & Information Systems, 2015, 9(7): 2736-2754

[9]Aafer Y, Du W, Yin H. DroidAPIMiner: Mining API-level features for robust malware detection in Android[M] //Security and Privacy in Communication Networks. Berlin: Springer, 2013: 86-103

[10]Bartel A, Klein J, Traon Y L, et al. Automatically securing permission-based software by reducing the attack surface: An application to Android[C] // Proc of IEEE/ACM Int Conf on Automated Software Engineering. Piscataway, NJ: IEEE, 2012: 274-277

[11]Bengio Y. Learning deep architectures for AI[J]. Foundations and Trends in Machine Learning, 2009, 2(1): 1-127

[12]Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554

[13]Bengio Y, Lamblin P, Popovici D, et al. Greedy layer-wise training of deep networks[C] //Advances in Neural Information Processing Systems 19. Cambridge: MIT Press, 2007: 153-160

[14]Lecun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324

[15]Vincent P, Larochelle H, Lajoie I, et al. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion[J]. Journal of Machine Learning Research, 2010, 11(6): 3371-3408

[16]Vincent P, Larochelle H, Bengio Y, et al. Extracting and composing robust features with denoising autoencoders[C] //Proc of the 25th Int Conf on Machine Learning. New York: ACM, 2008: 1096-1103

[17]Bengio Y, Delalleau O. On the expressive power of deep architectures[C] //Proc of Int Conf on Discovery Science. Berlin: Springer, 2011: 18-36

[18]Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]. IEEE Trans on Software Engineering, 2013, 35(8): 1798-1828

猜你喜歡
深度特征實驗
記一次有趣的實驗
深度理解一元一次方程
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
深度觀察
深度觀察
深度觀察
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 亚洲,国产,日韩,综合一区 | 国产精品无码翘臀在线看纯欲| 亚洲综合激情另类专区| 免费在线色| 老色鬼欧美精品| www.99在线观看| 日韩av电影一区二区三区四区| 国产成人91精品免费网址在线| 在线免费观看AV| 久久综合色天堂av| 国产高清又黄又嫩的免费视频网站| 久久精品女人天堂aaa| 婷婷伊人久久| 国产啪在线91| 久久人搡人人玩人妻精品 | 亚洲无线国产观看| 美女黄网十八禁免费看| a在线亚洲男人的天堂试看| 在线国产综合一区二区三区| 人人澡人人爽欧美一区| 午夜国产大片免费观看| 免费一级大毛片a一观看不卡| 性色在线视频精品| 亚洲综合色婷婷| 毛片基地美国正在播放亚洲 | 精品偷拍一区二区| 国产又色又爽又黄| 在线日韩日本国产亚洲| 日韩一区精品视频一区二区| 乱人伦视频中文字幕在线| 中文字幕一区二区视频| www.精品国产| 亚洲人妖在线| 中文天堂在线视频| 国产精品美女在线| 精品久久高清| 国产欧美日韩另类| 国产成人精品日本亚洲| 91精品亚洲| 亚洲美女视频一区| 久久久久久尹人网香蕉| 国产不卡在线看| www.亚洲色图.com| 国产资源免费观看| 91尤物国产尤物福利在线| 欧美色综合久久| 久久青草视频| 亚洲va欧美va国产综合下载| 呦女精品网站| 91久久偷偷做嫩草影院电| 欧美在线综合视频| 亚洲国语自产一区第二页| 国产成人精品免费视频大全五级| 国产精品偷伦在线观看| 午夜激情婷婷| 狠狠色噜噜狠狠狠狠奇米777| 亚洲精品日产AⅤ| 夜夜操天天摸| 亚洲高清国产拍精品26u| 国产视频入口| 亚洲色图欧美一区| 日本一区高清| 亚洲国产精品无码AV| 欧美日韩国产在线播放| 国产91线观看| 亚洲天堂伊人| 久久免费精品琪琪| 国产真实乱人视频| 在线欧美日韩国产| 色欲色欲久久综合网| 国产精品黄色片| 婷婷六月综合| 男女精品视频| 精品一區二區久久久久久久網站| 无码精品国产VA在线观看DVD| 国产网站免费观看| 国产91视频免费观看| 找国产毛片看| 国产女人在线视频| 国产特级毛片| 日本高清有码人妻| 亚洲乱强伦|