亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多特征和Stacking算法的Android惡意軟件檢測(cè)方法①

        2018-03-02 06:16:17尹成語(yǔ)
        關(guān)鍵詞:分類特征檢測(cè)

        盛 杰,劉 岳,尹成語(yǔ)

        (重慶大學(xué) 弘深學(xué)院,重慶 401331)

        Android系統(tǒng)隨著智能終端設(shè)備的發(fā)展在全球廣泛普及,根據(jù)調(diào)查報(bào)告顯示,截止2016年第四季度,Android的市場(chǎng)占有率已達(dá)到81.7%[1].在其高速發(fā)展的同時(shí)也帶來(lái)了嚴(yán)重的問(wèn)題,大量惡意apk在互聯(lián)網(wǎng)上流行,據(jù)360互聯(lián)網(wǎng)安全中心統(tǒng)計(jì),2016年全年,360互聯(lián)網(wǎng)安全中心累計(jì)截獲Android平臺(tái)新增惡意程序樣本1403.3萬(wàn)個(gè),平均每天新增3.8萬(wàn)惡意程序樣本[2].惡意apk的一些行為例如盜取隱私信息、鎖屏勒索等,對(duì)用戶的利益造成損害,使得惡意apk的檢測(cè)尤為重要.

        目前,Android平臺(tái)惡意代碼檢測(cè)已展開(kāi)廣泛的研究,主要思想方法是直接由桌面平臺(tái)移植到移動(dòng)平臺(tái),再根據(jù)Android平臺(tái)的一些特點(diǎn)加以改進(jìn),主要技術(shù)可劃分為靜態(tài)檢測(cè)與動(dòng)態(tài)檢測(cè)[3],兩種方法各有優(yōu)劣,本文將研究靜態(tài)檢測(cè).

        現(xiàn)今主流方法是在提取出apk的各種特征后通過(guò)一些機(jī)器學(xué)習(xí)算法對(duì)已知樣本進(jìn)行學(xué)習(xí)形成分類器,再對(duì)未知樣本進(jìn)行分類[4].權(quán)限信息作為Android軟件的典型靜態(tài)型特征,在惡意apk檢測(cè)方面得到廣泛的應(yīng)用.文獻(xiàn)[5]通過(guò)對(duì)權(quán)限進(jìn)行聚類去冗余得到相互獨(dú)立并相關(guān)性強(qiáng)的特征集合,再通過(guò)改進(jìn)的樸素貝葉斯算法進(jìn)行分類;文獻(xiàn)[6]以竊取用戶隱私數(shù)據(jù)為切入點(diǎn),提煉出對(duì)隱私資源十分敏感的權(quán)限組合,并實(shí)現(xiàn)了一種專門針對(duì)竊取隱私的惡意應(yīng)用的檢測(cè)方法.但若惡意apk制作者故意對(duì)權(quán)限進(jìn)行混淆,僅以權(quán)限作為特征擁有明顯的不足性,除了權(quán)限特征,apk的API調(diào)用與系統(tǒng)調(diào)用也是重要的特征.

        惡意apk不僅擁有靜態(tài)特征,還擁有許多運(yùn)行時(shí)的動(dòng)態(tài)特征.對(duì)此,文獻(xiàn)[7]指出了現(xiàn)階段大部分檢測(cè)技術(shù)的不足和缺陷,并從安裝、激活等特征入手,研究各種動(dòng)態(tài)惡意行為,例如路過(guò)式下載、軟件升級(jí)、權(quán)限提升;Padriya[8]等人研究了惡意軟件的各種行為特征和靜態(tài)特征,并探討了各種檢測(cè)方法.針對(duì)各種動(dòng)態(tài)特征,孫潤(rùn)康[9]等人以行為特征為基礎(chǔ)實(shí)現(xiàn)了一種Android軟件行為的動(dòng)態(tài)檢測(cè)框架,并采用SVM、樸素貝葉斯等多種基本分類算法驗(yàn)證了其有效性;Luoxu Min[10]等人也提出了基于運(yùn)行時(shí)行為的動(dòng)態(tài)檢測(cè)方法并且結(jié)合了靜態(tài)分析技術(shù)與反編譯技術(shù).可以看出大多方法通常采用樸素貝葉斯,k近鄰等基本算法,而某一特定算法未必適合此時(shí)所選用的特征數(shù)據(jù),因此具有一定局限性.文獻(xiàn)[11]提出了一種充分考慮Android應(yīng)用多類特征的三層混合系綜算法,獲取apk的各種動(dòng)態(tài)特征與靜態(tài)特征,對(duì)不同種類特征在不同層面采用不同的分類算法,對(duì)apk進(jìn)行綜合評(píng)判,提高了檢測(cè)準(zhǔn)確率,但其特征的提取過(guò)程和算法的實(shí)現(xiàn)過(guò)程都較為繁瑣,增加了時(shí)間成本和計(jì)算機(jī)資源的消耗.

        針對(duì)以上方法的局限性,本文提出了一種基于多特征和Stacking算法的Android惡意軟件靜態(tài)檢測(cè)方法.作者選取權(quán)限、API、SO庫(kù)作為特征,這些特征能夠明顯反映apk的惡意傾向,并且作為靜態(tài)特征提取較為容易,縮短特征提取的時(shí)間,將它們進(jìn)行組合,在保證特征向量有效的情況下降低計(jì)算的復(fù)雜度;在機(jī)器學(xué)習(xí)階段運(yùn)用Stacking集成學(xué)習(xí)算法將多個(gè)弱學(xué)習(xí)器組合后形成強(qiáng)學(xué)習(xí)器提高識(shí)別準(zhǔn)確率.

        1 Android平臺(tái)機(jī)制簡(jiǎn)述

        Android系統(tǒng)架構(gòu)主要分為四個(gè)層面:應(yīng)用程序?qū)?應(yīng)用程序框架層,系統(tǒng)運(yùn)行庫(kù)層,Linux內(nèi)核層,如圖1所示,Android程序由Java語(yǔ)言編寫并經(jīng)過(guò)編譯后生成Dex可執(zhí)行文件,以字節(jié)碼的形式在Dalvik虛擬機(jī)中運(yùn)行.每一個(gè)進(jìn)程都擁有自己的虛擬環(huán)境,不同進(jìn)程是相互隔離的,以此保障系統(tǒng)的安全性.權(quán)限機(jī)制是Android精心構(gòu)建的一項(xiàng)安全機(jī)制,若應(yīng)用程序要進(jìn)行一些敏感操作和需要某些特權(quán)時(shí),比如訪問(wèn)或使用系統(tǒng)的文件、手機(jī)的硬件資源都必須要在Android-Manifest.xml配置文件中聲明相應(yīng)的權(quán)限[12],并且在安裝時(shí)提醒用戶程序所使用的權(quán)限,讓用戶自行判斷,Android官網(wǎng)共列出了所有可使用的137種權(quán)限[13].為了滿足Android平臺(tái)下一些軟件的復(fù)雜功能,憑借Java語(yǔ)言的JNI特性Google向開(kāi)發(fā)者提供了Android NDK.開(kāi)發(fā)者可以使用C與C++編寫SO動(dòng)態(tài)鏈接庫(kù)讓Java程序直接調(diào)用,這一方法提高了一些程序的運(yùn)行效率,并且使軟件的跨平臺(tái)性得到提高.另一方面復(fù)雜的C/C++代碼讓破解者難以反編譯,使用它進(jìn)行apk的加密混淆效果更好,增強(qiáng)了Android軟件的安全性.

        2 檢測(cè)算法

        2.1 檢測(cè)算法框架

        檢測(cè)算法的整體框架如圖2所示,

        (1)首先分別提取所有訓(xùn)練樣本權(quán)限、API、SO庫(kù)三種不同特征.

        (2)對(duì)獲得的所有特征進(jìn)行卡方檢驗(yàn)去除與判斷是否為惡意軟件無(wú)關(guān)的特征,得到強(qiáng)相關(guān)性特征集合.

        (3)針對(duì)每個(gè)apk,將其特征中的強(qiáng)相關(guān)性組合為特征向量.

        (4)在分類器訓(xùn)練過(guò)程中采用Logistic,SVM,kNN作為初級(jí)分類器,CART決策樹(shù)作為次級(jí)分類器實(shí)現(xiàn)Stacking算法,并通過(guò)特征向量數(shù)據(jù)訓(xùn)練成最終分類器.

        (5)運(yùn)用測(cè)試樣本驗(yàn)證算法性能.

        2.2 檢測(cè)算法框架

        2.2.1 特征提取

        本文的方法使用了apk文件中的權(quán)限申明信息,API使用信息,SO庫(kù)的使用情況,各特征提取方式如下:

        1)谷歌Android官網(wǎng)共申明了137種權(quán)限,使用SDK中集成的工具aapt可提取apk中的權(quán)限信息.

        2)API調(diào)用信息的提取利用baksmali對(duì)apk文件中的classes.dex進(jìn)行反編譯得到smali文件,再對(duì)所有的smali文件進(jìn)行掃描,即可獲得樣本的API調(diào)用集合.

        3)SO文件存在于apk包中l(wèi)ib目錄下,直接對(duì)apk解壓后提取.

        圖1 Android總體架構(gòu)

        圖2 檢測(cè)系統(tǒng)框架

        2.2.2 特征選取

        從apk中提取的這些特征并不是都可利用于對(duì)惡意軟件的識(shí)別,某些特征無(wú)論是正常軟件還是惡意軟件都會(huì)頻繁出現(xiàn),故其中存在著大量的冗余,必須去除一些與識(shí)別惡意軟件無(wú)關(guān)的特征,降低無(wú)關(guān)特征對(duì)識(shí)別的影響和計(jì)算的復(fù)雜性.

        皮爾森卡方檢驗(yàn)是由Pearson提出的一種假設(shè)檢驗(yàn)方法,可用于獨(dú)立性檢驗(yàn),即驗(yàn)證兩個(gè)變量是否相互獨(dú)立.我們選用基本的四格卡方檢驗(yàn),其公式如下:

        在式(1)中a,b,c,d分別代表?yè)碛心程卣魇菒阂廛浖?擁有某特征非惡意軟件,無(wú)某特征是惡意軟件和無(wú)某特征非惡意軟件這四種情況的頻數(shù),N代表總的頻數(shù).針對(duì)樣本中的所出現(xiàn)的所有特征,都利用式(1)進(jìn)行計(jì)算其卡方值,卡方值越大則表明該特征與是否為惡意軟件有較強(qiáng)相關(guān)性,根據(jù)某一閾值即可篩選出合適的特征,剔除冗余的特征.

        2.2.3 特征的組合

        針對(duì)每一個(gè)樣本只獲取卡方檢驗(yàn)后得到的特征集合中的特征,可將權(quán)限的特征向量定義為(a1,a2,…,ah),若該樣本擁有k特征,則ak= 1,否則ak=0.同理將API特征向量定義為(b1,b2,…,bi),SO庫(kù)信息特征向量定義為(c1,c2,…,cj),然后簡(jiǎn)單組合為x = (a1,a2,…,ah,b1,b2,…,bi,c1,c2,…,cj),這種簡(jiǎn)單組合在一定程度上可降低分類器學(xué)習(xí)與測(cè)試時(shí)計(jì)算的復(fù)雜度.

        2.3 分類算法

        Stacking算法是由Wolpert于1992年提出的一種集成學(xué)習(xí)算法,又稱為Stacked generalization[14-16].相比于Bagging與Boosting在較多情況下采用相同的分類算法訓(xùn)練個(gè)體學(xué)習(xí)器,Stacking算法結(jié)合多個(gè)不同的分類算法,可看做一種特殊的結(jié)合策略.Stacking算法主要分為兩層,將第0層的學(xué)習(xí)器稱為初級(jí)學(xué)習(xí)器,而將第1層用于結(jié)合的學(xué)習(xí)器稱為次級(jí)學(xué)習(xí)器.先通過(guò)原始的特征數(shù)據(jù)作為輸入訓(xùn)練出多個(gè)初級(jí)學(xué)習(xí)器,在將初級(jí)學(xué)習(xí)器的輸出作為特征用于訓(xùn)練出次級(jí)學(xué)習(xí)器,如圖3所示.

        圖3 Stacking算法結(jié)構(gòu)

        具體方法如下:

        在初級(jí)學(xué)習(xí)階段使用k折交叉檢驗(yàn)方法[17]訓(xùn)練各學(xué)習(xí)器.即將初始訓(xùn)練數(shù)據(jù)集T = ((x1,s1),(x2,s2),…,(xh,sh))劃分成k個(gè)大小相似的子數(shù)據(jù)集T1,T2,…,Tk,將T-Tj作為m學(xué)習(xí)算法的訓(xùn)練數(shù)據(jù)并得到學(xué)習(xí)器Lmj,然后將Tj作為測(cè)試數(shù)據(jù)輸入Lmj.對(duì)每一個(gè)子數(shù)據(jù)集都用m學(xué)習(xí)算法進(jìn)行此操作,最后每一個(gè)樣本都會(huì)得到測(cè)試并輸出結(jié)果yim.若共有n個(gè)學(xué)習(xí)算法,訓(xùn)練結(jié)束后對(duì)每一個(gè)樣本xi,都會(huì)產(chǎn)生n個(gè)結(jié)果,由它們組成新的特征向量yi= (yi1,yi2,…,yin)作為次級(jí)學(xué)習(xí)器的訓(xùn)練數(shù)據(jù),標(biāo)記依然為原標(biāo)記si.

        本文所實(shí)現(xiàn)的Stacking算法的初級(jí)學(xué)習(xí)器采用Logistic回歸,支持向量機(jī),k-近鄰作為分類算法,CART決策樹(shù)作為次級(jí)學(xué)習(xí)器的分類算法.偽代碼描述:

        Input:初始訓(xùn)練集T= ((x1,s1),(x2,s2),…,(xh,sh)),初級(jí)學(xué)習(xí)算法Logistic(),SVM(),kNN(),次級(jí)學(xué)習(xí)算法CART(),交叉檢驗(yàn)子集數(shù)k

        2.4 學(xué)習(xí)器的測(cè)試

        在學(xué)習(xí)器的訓(xùn)練過(guò)程中,每一種分類算法都生成了k個(gè)分類器,測(cè)試過(guò)程中根據(jù)投票法決定該算法分類結(jié)果.即使用這k個(gè)分類器都對(duì)測(cè)試樣本進(jìn)行分類,對(duì)可能產(chǎn)生的結(jié)果進(jìn)行投票,本實(shí)驗(yàn)中只有Normal與Virus兩種結(jié)果,最后若Normal票數(shù)更多,則該分類算法分類結(jié)果為Normal,否則為Virus.將LogisticClf,SVMClf,KNNClf的分類結(jié)果組合(yi1,yi2,yi3)作為新的向量輸入次級(jí)學(xué)習(xí)器CARTClf進(jìn)行分類取得最終結(jié)果.

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

        作者首先分別從VirusShare[18]和安卓市場(chǎng)獲取了2460份惡意apk樣本與2659份正常apk樣本,并將其中1460份惡意樣本與1659份正常樣本作為訓(xùn)練樣本

        在實(shí)驗(yàn)中進(jìn)行反復(fù)測(cè)試后將三種特征的閾值分別定位60、800和20,最后統(tǒng)計(jì)得到53種權(quán)限,238種API,94種SO庫(kù),如表1所示.

        表1 去冗余后的特征

        本實(shí)驗(yàn)使用TP代表正常樣本判斷正確數(shù),FN代表正常樣本判斷錯(cuò)誤數(shù),TN代表惡意樣本判斷正確數(shù),FP代表惡意樣本判斷錯(cuò)誤數(shù).定義以下指標(biāo):

        準(zhǔn)確率:

        從圖4可以看出,在使用單種特征的情況下,Stacking算法相比于其它單個(gè)算法有所提高.另外可以看出由于SO庫(kù)并不是所有的apk都使用,所以檢測(cè)率較低,在實(shí)驗(yàn)中作為輔助特征.

        圖4 單種特種使用各方法的準(zhǔn)確率

        圖5 多種特種使用各方法的準(zhǔn)確率

        結(jié)合圖4與圖5,在使用多特征后,各種檢測(cè)算法的檢測(cè)率都有一定提升,并且Stacking算法最為突出,準(zhǔn)確率達(dá)到94.05%,對(duì)惡意軟件有較好的識(shí)別能力.

        4 結(jié)語(yǔ)

        本文提出了一種多特征結(jié)合與Stacking算法組合多個(gè)基本分類算法的惡意軟件檢測(cè)方法.從apk中獲得多種權(quán)限,并去除其中的冗余特征,再將它們組合為一個(gè)特征向量;選擇Logistic、SVM和kNN分別作為Stacking算法的初級(jí)學(xué)習(xí)算法,將經(jīng)過(guò)它們分類后的輸出結(jié)果組合為特征向量輸入使用CART算法的次級(jí)學(xué)習(xí)器進(jìn)行判斷.實(shí)驗(yàn)結(jié)果表明本文提出的分類方法具有較強(qiáng)的檢測(cè)能力.該方法的不足之處在于相比其它簡(jiǎn)單的算法,檢測(cè)速率稍低,下一步的研究將改善分類的各環(huán)節(jié),提高分類的速度.

        1Gartner.Gartner says worldwide sales of smartphones grew 7 percent in the fourth quarter of 2016.http://www.gartner.com/newsroom/id/36098.[2017-02-15].

        2360互聯(lián)網(wǎng)安全中心.2016年中國(guó)手機(jī)安全狀況報(bào)告.http://zt.#/1101061855.php?dtid=1101061451&did4902 60073.[2017-02-06].

        4Amos B,Turner H,White J.Applying machine learning classifiers to dynamic:Android malware detection at scale.2013 9th International Wireless Communications and Mobile Computing Conference.Sardinia,Italy.2013.1666-1671.

        5張銳,楊吉云.基于權(quán)限相關(guān)性的Android 惡意軟件檢測(cè).計(jì)算機(jī)應(yīng)用,2014,34(5):1322-1325.[doi:10.11772/j.issn.1001-9081.2014.05.1322]

        6黃海根,曾云科.基于權(quán)限組合的Android竊取隱私惡意應(yīng)用檢測(cè)方法.計(jì)算機(jī)應(yīng)用與軟件,2016,33(9):320-323,333.

        7邊悅,戴航,慕德俊.Android惡意軟件特征研究.計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(11):178-181.

        8Padriya N,Mistry N.Review of behavior malware analysis for android.International Journal of Engineering and Innovative Technology (IJEIT),2013,2(7):230-232.

        9孫潤(rùn)康,彭國(guó)軍,李晶雯,等.基于行為的Android惡意軟件判定方法及其有效性.計(jì)算機(jī)應(yīng)用,2016,36(4):973-978.[doi:10.11772/j.issn.1001-9081.2016.04.0973]

        10Min LX,Cao QH.Runtime-based behavior dynamic analysis system for android malware detection.Advanced Materials Research,2013,756-759:2220-2225.[doi:10.4028/www.scientific.net/AMR.756-759]

        11楊歡,張玉清,胡予濮,等.基于多類特征的Android應(yīng)用惡意行為檢測(cè)系統(tǒng).計(jì)算機(jī)學(xué)報(bào),2014,37(1):15-27.

        12Enck W,Ongtang M,McDaniel P.Understanding android security.IEEE Security &Privacy,2009,7(1):50-57.

        13Google.Manifest permission.https://developer.android.com/reference/android/Manifest.permission.html.[2017-02-10].

        14Wolpert DH.Stacked generalization.Neural Networks,1992,5(2):241-259.[doi:10.1016/S0893-6080(05)80023-1]

        15Zhou ZH.Ensemble Methods:Foundations and Algorithms.Boca Raton,FL:Chapman and Hall/CRC,2012.

        16周星,丁立新,萬(wàn)潤(rùn)澤,等.分類器集成算法研究.武漢大學(xué)學(xué)報(bào)(理學(xué)版),2015,61(6):503-508.

        17李航.統(tǒng)計(jì)學(xué)習(xí)方法.北京:清華大學(xué)出版社,2012.

        18VirusShare.com.Because sharing is caring.http://virusshare.com/support.[2017-02-01].

        猜你喜歡
        分類特征檢測(cè)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        分類算一算
        如何表達(dá)“特征”
        不忠誠(chéng)的四個(gè)特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        在线观看无码一区二区台湾| 久久久久亚洲av成人网人人软件| 人妻少妇偷人精品无码 | 国产思思99re99在线观看| 亚洲av永久无码精品水牛影视| 人妻系列中文字幕av| 十八禁视频网站在线观看 | 99久久综合精品五月天| 女同av免费在线播放| 日本熟妇另类一区二区三区| 亚洲av无码精品蜜桃| 少妇AV射精精品蜜桃专区| 成人女同av免费观看| 爆操丝袜美女在线观看| 久久精品免费观看国产| 亚洲国产麻豆综合一区| 国产av一区二区内射| 国精产品一区一区二区三区mba| 极品粉嫩小泬无遮挡20p| 国产精品美女AV免费观看| 精品久久精品久久精品| 免费国产在线精品一区| 亚洲国产美女精品久久久久| 久久99久久99精品观看| 国内自拍偷国视频系列| 一本色道无码道在线观看| 欧美在线观看一区二区| 亚洲香蕉久久一区二区| 国产香港明星裸体xxxx视频| 中文字幕乱码免费视频| 精品免费久久久久国产一区| 国产精品一区二区三区播放| 性裸交a片一区二区三区| 精品国产国产AV一区二区| 国产一区二区三区不卡在线播放| 亚洲午夜av久久久精品影院色戒| 亚洲欧美日韩在线一区 | 在线免费黄网| 国产女人高潮的av毛片| 精品国产yw在线观看| 国产大学生粉嫩无套流白浆|