Maldetect:基于Dalvik指令抽象的Android惡意代碼檢測系統(tǒng)
發(fā)布時間:2019-08-17 09:17
【摘要】:提出了一個Android惡意代碼的靜態(tài)檢測系統(tǒng)Maldetect,首先采用逆向工程將DEX文件轉(zhuǎn)化為Dalvik指令并對其進行簡化抽象,再將抽象后的指令序列進行N-Gram編碼作為樣本訓練,最后利用機器學習算法創(chuàng)建分類檢測模型,并通過對分類算法與N-Gram序列的組合分析,提出了基于3-Gram和隨機森林的優(yōu)選檢測方法.通過4 000個Android惡意應(yīng)用樣本與專業(yè)反毒軟件進行的檢測對比實驗,表明Maldetect可更有效地進行Android惡意代碼檢測與分類,且獲得較高的檢測率.
【圖文】:
檢測模型和惡意家族分類模型的測試,如圖2所示:Fig.1Thedetectionandclassificationmodel.圖1惡意代碼的檢測與分類模型訓練Fig.2Theprocessofpredictingmalware.圖2惡意代碼的檢測與分類過程首先,需要確定訓練惡意代碼檢測模型的訓練集.訓練集分為2個子集:1)惡意APK樣本集合;2)非惡意樣本APK集合.APK文件格式通常都包含一個classes.dex文件,該DEX(Dalvikexecutableformat)文件封裝了可被Dalvik虛擬機執(zhí)行的Dalvik字節(jié)碼.利用工具Apktool[13]反匯編APK文件,就能得到一個包含smali源碼的文件目錄,smali目錄結(jié)構(gòu)對應(yīng)著Java源碼的src目錄.smali是對Dalvik字節(jié)碼的一種解釋,所有語句都遵循一套標準的語法規(guī)范.從smali文件中提取出Dalvik操作碼并進行抽象簡化為指令符號,再針對抽象的Dalvik指令符號的N-Gram序列特征進行統(tǒng)計與歸一化處理,最后采用機器學習的分類算法建立惡意代碼檢測模型.同理,按照惡意家族的類型劃分多個訓練子集,按照上述類似的處理過程,,可建立一個惡意家族分類模型.利用模型檢測與分類時,將待測APK文件先進行預(yù)處理步驟,提取出Dalvik指令特征并作同樣的抽象簡化與N-Gram序列化處理,再通過惡意代碼檢測模型的檢測,就可判斷出是否為惡意代碼,如果不是就直接給出檢測結(jié)果,如果是則需要進一步通過惡意家族分類模型來獲得該惡意代
值僅高出了2%,而4-Gram序列的隨機森林算法FPR值比3-Gram序列的隨機森林算法FPR值卻高出了30%.綜合分析,3-Gram序列的隨機森林算法是一種較優(yōu)的方法.接下來,分析樣本數(shù)量對準確性的影響.除了上述實驗的600個樣本作為小樣本集合,再增加一個1100個樣本作為大樣本集合作為對比實驗,按3-Gram的隨機森林算法,采用10折交叉驗證對它們進行測試.實驗結(jié)果如表7和圖3所示,不難看出,大樣本集的所有評估指標都要優(yōu)于小樣本集,這表明樣本數(shù)量大小對檢測效果有一定的影響,訓練樣本數(shù)量越大則綜合表現(xiàn)越優(yōu).Table7TheResultswithDifferentSizeofSamples表7樣本數(shù)量對比的結(jié)果SampleSizeTPRFPRPrecisionAUC600samples0.9560.0860.9080.9821100samples0.9800.0790.9170.992Fig.3ROCcurveswithdifferentsizeofsamples.圖3不同樣本數(shù)量的ROC曲線對比圖3.3MaldetectVS專業(yè)反病毒軟件根據(jù)3.2節(jié)的實驗結(jié)果,以實驗效果較優(yōu)的3-Gram序列的隨機森林算法作為基礎(chǔ),通過計算信息增益來選取200個區(qū)分度最高的特征作為特征選擇方法,我們實現(xiàn)了一個Android惡意代碼檢測系統(tǒng)Maldetect.本節(jié)實驗我們分別在2000個樣本和4000個樣本的2個數(shù)據(jù)集上進行實驗,并按照60%數(shù)據(jù)作為Maldetect的訓練樣本庫,40%數(shù)據(jù)作為測試樣本庫
【作者單位】: 浙江工業(yè)大學計算機科學與技術(shù)學院;
【基金】:國家自然科學基金項目(U1509214) 浙江省自然科學基金項目(LY16F020035)~~
【分類號】:TP309;TP316
【圖文】:
檢測模型和惡意家族分類模型的測試,如圖2所示:Fig.1Thedetectionandclassificationmodel.圖1惡意代碼的檢測與分類模型訓練Fig.2Theprocessofpredictingmalware.圖2惡意代碼的檢測與分類過程首先,需要確定訓練惡意代碼檢測模型的訓練集.訓練集分為2個子集:1)惡意APK樣本集合;2)非惡意樣本APK集合.APK文件格式通常都包含一個classes.dex文件,該DEX(Dalvikexecutableformat)文件封裝了可被Dalvik虛擬機執(zhí)行的Dalvik字節(jié)碼.利用工具Apktool[13]反匯編APK文件,就能得到一個包含smali源碼的文件目錄,smali目錄結(jié)構(gòu)對應(yīng)著Java源碼的src目錄.smali是對Dalvik字節(jié)碼的一種解釋,所有語句都遵循一套標準的語法規(guī)范.從smali文件中提取出Dalvik操作碼并進行抽象簡化為指令符號,再針對抽象的Dalvik指令符號的N-Gram序列特征進行統(tǒng)計與歸一化處理,最后采用機器學習的分類算法建立惡意代碼檢測模型.同理,按照惡意家族的類型劃分多個訓練子集,按照上述類似的處理過程,,可建立一個惡意家族分類模型.利用模型檢測與分類時,將待測APK文件先進行預(yù)處理步驟,提取出Dalvik指令特征并作同樣的抽象簡化與N-Gram序列化處理,再通過惡意代碼檢測模型的檢測,就可判斷出是否為惡意代碼,如果不是就直接給出檢測結(jié)果,如果是則需要進一步通過惡意家族分類模型來獲得該惡意代
值僅高出了2%,而4-Gram序列的隨機森林算法FPR值比3-Gram序列的隨機森林算法FPR值卻高出了30%.綜合分析,3-Gram序列的隨機森林算法是一種較優(yōu)的方法.接下來,分析樣本數(shù)量對準確性的影響.除了上述實驗的600個樣本作為小樣本集合,再增加一個1100個樣本作為大樣本集合作為對比實驗,按3-Gram的隨機森林算法,采用10折交叉驗證對它們進行測試.實驗結(jié)果如表7和圖3所示,不難看出,大樣本集的所有評估指標都要優(yōu)于小樣本集,這表明樣本數(shù)量大小對檢測效果有一定的影響,訓練樣本數(shù)量越大則綜合表現(xiàn)越優(yōu).Table7TheResultswithDifferentSizeofSamples表7樣本數(shù)量對比的結(jié)果SampleSizeTPRFPRPrecisionAUC600samples0.9560.0860.9080.9821100samples0.9800.0790.9170.992Fig.3ROCcurveswithdifferentsizeofsamples.圖3不同樣本數(shù)量的ROC曲線對比圖3.3MaldetectVS專業(yè)反病毒軟件根據(jù)3.2節(jié)的實驗結(jié)果,以實驗效果較優(yōu)的3-Gram序列的隨機森林算法作為基礎(chǔ),通過計算信息增益來選取200個區(qū)分度最高的特征作為特征選擇方法,我們實現(xiàn)了一個Android惡意代碼檢測系統(tǒng)Maldetect.本節(jié)實驗我們分別在2000個樣本和4000個樣本的2個數(shù)據(jù)集上進行實驗,并按照60%數(shù)據(jù)作為Maldetect的訓練樣本庫,40%數(shù)據(jù)作為測試樣本庫
【作者單位】: 浙江工業(yè)大學計算機科學與技術(shù)學院;
【基金】:國家自然科學基金項目(U1509214) 浙江省自然科學基金項目(LY16F020035)~~
【分類號】:TP309;TP316
【相似文獻】
相關(guān)期刊論文 前10條
1 林耕宇;;觀摩50名Google Android程序開發(fā)競賽作品[J];電子與電腦;2008年08期
2 樹子;;Android中文版不完全體驗[J];互聯(lián)網(wǎng)天地;2009年04期
3 Jason Whitmire;;產(chǎn)業(yè)軟件專家如何協(xié)助解決Android的分裂困境[J];電子與電腦;2010年02期
4 蔣彬;;10款A(yù)ndroid手機必備應(yīng)用——Android操作系下的軟件評測[J];微電腦世界;2010年04期
5 ;PCWorld Windows Phone 7挑戰(zhàn)Android 毅然崛起的AndroidⅠ洗心革面的Windows Phone 7[J];微電腦世界;2010年08期
6 韓青;;Android平臺發(fā)展的動力與挑戰(zhàn)[J];中國電子商情(基礎(chǔ)電子);2010年09期
7 方智勇;;Android手機這樣用[J];電腦迷;2010年15期
8 缺少浪漫;;Android的另一面[J];電腦迷;2010年13期
9 ;ZTE and Three Release Android
本文編號:2527693
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2527693.html
最近更新
教材專著