• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于混合特征的Android惡意軟件靜態(tài)檢測(cè)

    2014-01-01 03:10:00盧文清何加銘曾興斌樊玲慧
    關(guān)鍵詞:調(diào)用分類(lèi)器靜態(tài)

    盧文清,何加銘,2,曾興斌,2,樊玲慧

    (1.寧波大學(xué)通信技術(shù)研究所,浙江寧波315211;2.浙江省移動(dòng)網(wǎng)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,浙江寧波315211;3.寧波新然電子信息科技發(fā)展有限公司,浙江寧波315211)

    0 引言

    惡意軟件作用一般分為搜集用戶(hù)信息、竊取信用卡信息、組建僵尸網(wǎng)絡(luò)和獲取root權(quán)限等。趨勢(shì)科技的監(jiān)測(cè)數(shù)據(jù)顯示,截止到2012年底,Android系統(tǒng)中的惡意應(yīng)用已經(jīng)達(dá)到35萬(wàn)個(gè)。而在2013年,這一數(shù)字很有可能增長(zhǎng)4倍,躍升至140萬(wàn)個(gè),對(duì)信息安全構(gòu)成嚴(yán)重挑戰(zhàn)[1]。

    SVM是在高維特征空間使用線(xiàn)性函數(shù)假設(shè)空間的學(xué)習(xí)系統(tǒng),它是由一個(gè)來(lái)自最優(yōu)化理論的學(xué)習(xí)算法訓(xùn)練,該算法實(shí)現(xiàn)了一個(gè)由統(tǒng)計(jì)學(xué)理論導(dǎo)出的學(xué)習(xí)偏置。它在文本分類(lèi)、生物信息、語(yǔ)音識(shí)別、圖像分類(lèi)[2]、故障識(shí)別和預(yù)測(cè)以及信息安全等諸多領(lǐng)域有了成功的應(yīng)用。因此,將支持向量機(jī)引入手機(jī)惡意檢測(cè)是一種非常有效的方法。手機(jī)惡意檢測(cè)方法分為靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)。文獻(xiàn)[3]是基于行為的惡意檢測(cè),需要模擬應(yīng)用運(yùn)行環(huán)境,監(jiān)控系統(tǒng)變化,屬于動(dòng)態(tài)檢測(cè)。本文的方法是在Android應(yīng)用包上做靜態(tài)分析,導(dǎo)出分類(lèi)器所需的向量集,屬于靜態(tài)檢測(cè)。

    對(duì)于Android惡意檢測(cè),靜態(tài)分析有很多有利條件。不用模擬手機(jī)軟件運(yùn)行環(huán)境,耗用資源少、快速且有較高的檢測(cè)準(zhǔn)確率。像Android Leaks[4]和文獻(xiàn)[5]提到的組件都屬于靜態(tài)檢測(cè)工具,但是都集中在檢測(cè)信息泄露的方面。文獻(xiàn)[6]應(yīng)用機(jī)器學(xué)習(xí)方法對(duì)Android應(yīng)用進(jìn)行分類(lèi),其研究對(duì)象為工具類(lèi)應(yīng)用和游戲類(lèi)應(yīng)用。文獻(xiàn)[7]通過(guò)抽取DEX文件的類(lèi)與函數(shù)名應(yīng)用信息,作為程序的行為特征,應(yīng)用機(jī)器學(xué)習(xí)算法對(duì)樣本進(jìn)行分類(lèi),但分類(lèi)精度不高。文獻(xiàn)[8]采用用戶(hù)級(jí)和內(nèi)核級(jí)的特征向量,應(yīng)用機(jī)器學(xué)習(xí)算法對(duì)惡意軟件分類(lèi),也是沒(méi)有考慮到權(quán)限方面的影響。文獻(xiàn)[9]特征集來(lái)源靜態(tài)鏈接庫(kù)和應(yīng)用程序接口,未涉及到Android權(quán)限和命令行的調(diào)用,文獻(xiàn)[10]則使用的是單類(lèi)支持向量機(jī)。

    綜上所述,提出了基于混合特征的Android惡意軟件靜態(tài)檢測(cè)方案,利用危險(xiǎn)API調(diào)用、命令行和權(quán)限集結(jié)合組成的混合特征集,然后采用主成分分析(PCA)方法和支持向量機(jī)(SVM)結(jié)合構(gòu)造分類(lèi)器,對(duì)Android樣本進(jìn)行惡意檢測(cè)。混合特征更能全方面地表現(xiàn) Android惡意軟件的特征,且采用PCA方法能夠去除一些冗余特征,提高分類(lèi)精度。

    1 基于混合特征的Android惡意靜態(tài)檢測(cè)

    1.1 Android應(yīng)用基礎(chǔ)

    Android應(yīng)用大部分都是運(yùn)用Java語(yǔ)言開(kāi)發(fā)的。Android SDK工具編譯源代碼,將數(shù)據(jù)和資源打包成一個(gè)以.a(chǎn)pk結(jié)尾的包文件。編譯生成的apk文件都可以看做一個(gè)在Android上運(yùn)行的應(yīng)用。

    Android應(yīng)用程序由4個(gè)組件組成:活動(dòng)(Activities)、服務(wù)(Services)、廣播接收(Broadcast Receivers)和內(nèi)容提供者(Content Providers)。每一個(gè)應(yīng)用程序必須在程序工程根目錄下的manifest文件中聲明自己的組件。在Android系統(tǒng)運(yùn)行一個(gè)程序組件前,系統(tǒng)必須讀取應(yīng)用程序的manifest文件來(lái)確定有多少組件存在。這個(gè)文件還聲明了應(yīng)用需要的權(quán)限,例如網(wǎng)絡(luò)訪(fǎng)問(wèn)權(quán)限和通訊錄訪(fǎng)問(wèn)權(quán)限等。

    Android應(yīng)用程序apk文件是由一系列的文件壓縮而成,這些文件主要包括:AndroidManifest.xml,classes.dex(一個(gè)完整的字節(jié)碼文件,由Dalvik VM解釋),其他二進(jìn)制或XML等資源文件都保存在res/和assets/目錄下。

    本文的檢測(cè)方法是利用Android應(yīng)用依賴(lài)的平臺(tái)API和它的權(quán)限列表、系統(tǒng)調(diào)用等屬性來(lái)作為應(yīng)用程序可疑行為的指示器,例如信息泄露、運(yùn)行時(shí)實(shí)時(shí)下載惡意軟件或嵌入額外的程序。這些屬性作為分類(lèi)器的樣本數(shù)據(jù),可以用來(lái)決定Android應(yīng)用程序是正常的還是惡意的。

    1.2 樣本集的獲取

    VirusTotal是一個(gè)免費(fèi)的病毒、蠕蟲(chóng)、木馬和各種惡意軟件分析服務(wù),可以針對(duì)可疑文件和網(wǎng)址進(jìn)行快速檢測(cè)。在第3方應(yīng)用市場(chǎng)下載多款A(yù)ndroid應(yīng)用,這些軟件覆蓋多種不同類(lèi)型,包括娛樂(lè)、工具、體育、健康衛(wèi)生、新聞和雜志、財(cái)經(jīng)、音樂(lè)、商貿(mào)、教育以及游戲等。使用VirusTotal對(duì)這些應(yīng)用進(jìn)行檢測(cè)分析,確認(rèn)是否為惡意軟件。為了試驗(yàn)中正、負(fù)樣本的平衡,經(jīng)過(guò)人工整理,整理出450款?lèi)阂廛浖?50款正常軟件。分析過(guò)程中發(fā)現(xiàn),經(jīng)過(guò)官方發(fā)布的軟件,含有較少的威脅,而非官方的軟件,則包含較多的惡意行為。

    1.3 Android應(yīng)用逆向工程

    惡意軟件和正常軟件都為apk文件,為了獲得建立分類(lèi)器模型的樣本數(shù)據(jù),采用開(kāi)源工具apktool,將apk文件解壓成mainifest文件、資源文件、簽名文件和dex文件,然后利用工具dex2jar將dex文件反編譯成.jar文件,最后利用Java Decompiler生成java源文件。然后在代碼源文件和mainifest文件中提取所需要的混合特征,具體過(guò)程如圖1所示。

    圖1 Android逆向工程過(guò)程

    1.4 特征向量的獲取

    經(jīng)過(guò)Android應(yīng)用的逆向工程后,得到應(yīng)用源代碼和manifest文件,采用匹配算法,探測(cè)程序中出現(xiàn)的API調(diào)用、命令行和權(quán)限列表,并計(jì)算它們出現(xiàn)的次數(shù)作為這個(gè)應(yīng)用的特征。

    API調(diào)用是應(yīng)用程序與手機(jī)相互作用的紐帶,API調(diào)用可以獲取手機(jī)的subscriber ID、phone ID和其他類(lèi)似個(gè)人隱秘信息。同樣,可以發(fā)送/接收SMS、調(diào)用手機(jī)號(hào)碼、獲取手機(jī)信息和下載其他應(yīng)用程序等。而Android惡意行為包括竊取用戶(hù)隱私、遠(yuǎn)程控制、私自下載和惡意扣費(fèi)等行為,這些行為涉及的API如表1所示,利用匹配算法,計(jì)算出每個(gè)應(yīng)用中對(duì)應(yīng)API的數(shù)目,形成API特征向量[FAPI]1×14。

    表1 惡意軟件涉及的API列表

    因?yàn)锳ndroid是基于Linux系統(tǒng)的,因而Linux系統(tǒng)命令可以在Android上運(yùn)行。這些命令包括‘chmod’、‘mount’、‘remount’和‘chown’等。其他包括Java Realtime.exec命令,它可以運(yùn)行子進(jìn)程來(lái)下載惡意軟件。分析450款?lèi)阂廛浖y(tǒng)計(jì)其中使用頻率較高的系統(tǒng)命令如表2所示,利用匹配算法,計(jì)算出每個(gè)應(yīng)用中對(duì)應(yīng)系統(tǒng)命令行的數(shù)目,形成命令行特征向量[FCMD]1×10。

    表2 命令行列表

    每個(gè) apk文件都包含一個(gè) mainifest文件,Android系統(tǒng)可以在這個(gè)文件中獲得應(yīng)用所需要的權(quán)限的詳細(xì)信息。這些權(quán)限包括各種硬件訪(fǎng)問(wèn)權(quán)限(GPS、照相機(jī)等)和敏感信息(通訊錄、短信等),還有訪(fǎng)問(wèn)其他應(yīng)用的權(quán)限。例如,權(quán)限“android.permission.INTERNET”允許應(yīng)用連接網(wǎng)絡(luò);權(quán)限“android.permission.READ_CONTACTS”允許應(yīng)用訪(fǎng)問(wèn)手機(jī)通訊錄。450個(gè)惡意軟件中使用頻率較高的權(quán)限列表如表3所示,利用匹配算法,計(jì)算出每個(gè)應(yīng)用中對(duì)應(yīng)權(quán)限的數(shù)目,形成權(quán)限特征向量[FPER]1×20。

    表3 惡意軟件使用頻率較高的權(quán)限列表

    1.5 評(píng)價(jià)方法

    有多種方法可以評(píng)價(jià)基于機(jī)器學(xué)習(xí)方法的分類(lèi)器性能。在本文中引用以下提到的公式來(lái)評(píng)價(jià)分類(lèi)器性能。以下公式中,nnor→nor代表正常應(yīng)用軟件被分類(lèi)器正確分類(lèi)的數(shù)目;nnor→sus代表正常應(yīng)用軟件被分類(lèi)器錯(cuò)誤分類(lèi)的數(shù)目;nsus→sus代表惡意軟件被分類(lèi)器正確分類(lèi)的數(shù)目;nsus→nor代表惡意軟件被分類(lèi)器錯(cuò)誤分類(lèi)的數(shù)目。準(zhǔn)確率Acc和錯(cuò)誤率Err分別為:

    式中,Acc代表所有被正確分類(lèi)的應(yīng)用占所有測(cè)試應(yīng)用的比例,包括正常軟件和惡意軟件;Err代表所有被錯(cuò)誤分類(lèi)的應(yīng)用占測(cè)試應(yīng)用的比例。其中,Err=1-Acc。還定義了 FPR、FNR、TPR、TNR 和精度P:

    FPR代表正常應(yīng)用被分類(lèi)器錯(cuò)誤分類(lèi)的數(shù)目占所有測(cè)試正常應(yīng)用中的比例。TNR測(cè)量的是正常應(yīng)用被分類(lèi)器正確分類(lèi)的數(shù)目占所有測(cè)試正常應(yīng)用中的比例。TPR和檢測(cè)率意義相同,因?yàn)樗鼫y(cè)量的是惡意應(yīng)用被分類(lèi)器正確分類(lèi)的數(shù)目占所有測(cè)試惡意應(yīng)用中的比例,它同樣代表著分類(lèi)器檢測(cè)未知惡意軟件的能力。FNR代表惡意應(yīng)用被分類(lèi)器錯(cuò)誤分類(lèi)的數(shù)目占所有測(cè)試惡意應(yīng)用中的比例,是檢測(cè)率的補(bǔ)充。預(yù)測(cè)率反映整個(gè)惡意檢測(cè)模型預(yù)測(cè)惡意軟件的預(yù)測(cè)能力。

    2 方法和實(shí)驗(yàn)

    實(shí)驗(yàn)所用均來(lái)自Android第3方應(yīng)用市場(chǎng),經(jīng)過(guò)VirusTotal分析檢測(cè),最終整理得到450款正常軟件和450款?lèi)阂廛浖?,?jīng)過(guò)圖1所示的方法,將每個(gè)apk文件轉(zhuǎn)化為對(duì)應(yīng)的[FAPI,F(xiàn)CMD,RPER]1 ×44 的特征向量,隨機(jī)選擇正常軟件和惡意軟件的70%作為訓(xùn)練集,剩余作為測(cè)試集。

    所有實(shí)驗(yàn)在Intel(R)Core(TM)i5、內(nèi)存4G的計(jì)算機(jī)上運(yùn)行,算法在matlap 2010a上實(shí)現(xiàn),SVM實(shí)現(xiàn)采用libsvm3-17,實(shí)驗(yàn)中所有參數(shù)都采用默認(rèn)參數(shù)。式(1)和式(2)對(duì)應(yīng),式(4)和式(5)對(duì)應(yīng),式(3)和式(6)對(duì)應(yīng),因而實(shí)驗(yàn)結(jié)果只記錄 Acc、FPR、TPR 和P。

    2.1 實(shí)驗(yàn)1

    首先分別提取應(yīng)用放入 API特征[FAPI]1×14、系統(tǒng)命令行調(diào)用特征[FCMD]1×10和權(quán)限特征[FPER]1×20這3個(gè)特征;然后采用SVM對(duì)Android應(yīng)用進(jìn)行分類(lèi),2類(lèi)應(yīng)用在不同的單一特征下的運(yùn)行10次后平均分類(lèi)結(jié)果如表4示。

    表4 單一特征對(duì)應(yīng)的分類(lèi)結(jié)果

    從表4以看出,無(wú)論使用哪種單一特征對(duì)惡意軟件的分類(lèi),其分類(lèi)的結(jié)果都不高。其中權(quán)限特征的分類(lèi)結(jié)果要明顯低于其他兩種特征,檢測(cè)準(zhǔn)確率Acc只有0.725 9,其原因是在于正常軟件與惡意軟件大體上都擁有相似的權(quán)限,區(qū)分度不高。系統(tǒng)命令行特征分類(lèi)結(jié)果Acc為0.833 3,低于API特征分類(lèi)結(jié)果的0.870 4,可以看出API特征在3種特征中對(duì)Andriod惡意軟件的檢測(cè)能力最高。而基于系統(tǒng)命令行特征分類(lèi)結(jié)果在于有些惡意軟件不調(diào)用系統(tǒng)命令行,也能達(dá)到其惡意攻擊用戶(hù)手機(jī)的目的。同樣,有些惡意軟件只在代碼中調(diào)用危險(xiǎn)的API,也能攻擊用戶(hù)手機(jī),因此可以看出,單一特征不能為Android惡意軟件檢測(cè)提供高精度的檢測(cè)率。

    2.2 實(shí)驗(yàn)2

    首先對(duì)實(shí)驗(yàn)1中所提取的3種特征進(jìn)行合并,從而得到 Android應(yīng)用的混合特征[FAPI,F(xiàn)CMD,RPER]1×44。然后利用PCA方法對(duì)混合特征進(jìn)行降維處理,去除冗余信息,最后利用libsvm對(duì)Android應(yīng)用進(jìn)行分類(lèi),記為PCA-SVM算法。同樣,為了對(duì)比實(shí)驗(yàn),不對(duì)混合特征做處理,利用libsvm對(duì)Android應(yīng)用進(jìn)行分類(lèi),記為SVM算法。10次運(yùn)行后平均分類(lèi)結(jié)果如表5所示。

    表5 2種算法的圖像分類(lèi)結(jié)果比較

    從表4和表5可以看出,單一特征的Android惡意軟件檢測(cè)都要低于混合特征的Android惡意檢測(cè)。實(shí)驗(yàn)結(jié)果表明,混合特征在Android惡意檢測(cè)方面有更佳的檢測(cè)能力。從PCA-SVM算法和SVM算法的比較結(jié)果上可以看出,PCA-SVM算法在去除混合特征中冗余特征后,分類(lèi)結(jié)果更優(yōu)。

    綜上所述,Android靜態(tài)惡意檢測(cè)中,混合特征惡意檢測(cè)準(zhǔn)確率要高于單一特征的惡意檢測(cè)準(zhǔn)確率,Android惡意軟件實(shí)現(xiàn)手段的多樣化,使得單一特征不足以表現(xiàn)Android惡意軟件的特征。而混合特征可以多方面地表現(xiàn) Android惡意軟件,基于PCA的SVM分類(lèi)器對(duì)Android惡意靜態(tài)檢測(cè)有很高的準(zhǔn)確率。

    3 結(jié)束語(yǔ)

    通過(guò)多款?lèi)阂廛浖瑥闹蟹治龀鰫阂廛浖械奈kU(xiǎn)API調(diào)用、危險(xiǎn)系統(tǒng)命令行和權(quán)限集,并以這些特征建立Andriod惡意靜態(tài)檢測(cè)模型。通過(guò)對(duì)450款?lèi)阂廛浖?50款正常軟件進(jìn)行惡意檢測(cè)仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,基于混合特征的Android靜態(tài)檢測(cè)方法能夠有效地提高Andriod惡意檢測(cè)的檢測(cè)精度和惡意檢測(cè)模型的泛化能力。

    [1] 趨勢(shì)科技.2013信息安全關(guān)鍵十大預(yù)測(cè)報(bào)告[J].計(jì)算機(jī)安全,2013(2):75-76.

    [2] 李釗,李建軍,李智生,等.基于生物視覺(jué)特征的SVM目標(biāo)分類(lèi)算法[J].無(wú)線(xiàn)電工程,2012,42(10):58-60.

    [3] BURGUERA I,ZURUTUZA U,NADJM-TEHRANI S.Crowdroid:Behavior-based Malware Detection System for Android[C]∥ Proc.First ACM Workshop on Security and Privacy in Smartphones and Mobile devices(SPSM’11),New York,NY,USA,2011:15 -26.

    [4] GIBLER C,CRUSSELL J,ERICKSON J,et al.Android Leaks:Automatically Detecting Potential Privacy Leaks in Android Applications on a Large Scale[C]∥ Proc.Fifth Int.Conf.Trust and Trustworthy Computing(TRUST 2012),Vienna,Austria,2012:291 -307.

    [5] MANN C,STAROSTIN A.A Framework for Static Detection of Privacy Leaks in Android Applications[C]∥Proc.27thAnnualACM Symp.AppliedComputing(SAC’12),Trento,Italy,2012:1457 -1462.

    [6] SHABTAI A,F(xiàn)LEDEL Y,ELOVICI Y.Automated Static Code Analysis for Classifying Android Applications Using Machine Learning[C]∥ in Proceedings of the 2010 International Conf.on Computational Intelligence and Security,2010:329 -333.

    [7] 房鑫鑫.Android惡意軟件實(shí)現(xiàn)及檢測(cè)研究[D].南京:南京郵電大學(xué),2013:36-46.

    [8] DINI G,MARTINELLI F,SARACINO A,et al.A Multilevel Anomaly Detector for Android Malware[J].In:Kotenko,I.,Skormin,V.(eds.)MMM-ACNS 2012.LNCS,2012(7531):240-253.

    [9] WANG T Y,WU C H,HSIEH C C.A Virus Prevention Model Based on Static Analysis and Data Mining Methods[C]∥ Proc.IEEE Eighth Int.Conf.Computer and Information Technology Workshops,Sydney,2008:288 -293.

    [10] SAHS J,KHAN L.A Machine Learning Approach to Android Malware Detection[C]∥ European Intelligence and Security Informatics Conf.,Odense,Denmark,2012:141-147.

    猜你喜歡
    調(diào)用分類(lèi)器靜態(tài)
    靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    BP-GA光照分類(lèi)器在車(chē)道線(xiàn)識(shí)別中的應(yīng)用
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    加權(quán)空-譜與最近鄰分類(lèi)器相結(jié)合的高光譜圖像分類(lèi)
    結(jié)合模糊(C+P)均值聚類(lèi)和SP-V-支持向量機(jī)的TSK分類(lèi)器
    機(jī)床靜態(tài)及動(dòng)態(tài)分析
    具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
    基于LLE降維和BP_Adaboost分類(lèi)器的GIS局部放電模式識(shí)別
    宜阳县| 呼图壁县| 娄烦县| 呼伦贝尔市| 剑河县| 昆明市| 台北市| 沈阳市| 肥东县| 农安县| 阜宁县| 濉溪县| 项城市| 汉阴县| 德令哈市| 临潭县| 镇康县| 富民县| 谷城县| 盐源县| 九龙城区| 富锦市| 古交市| 高邑县| 宜章县| 略阳县| 潼南县| 射阳县| 广安市| 丰镇市| 阿拉善左旗| 濮阳县| 井冈山市| 肥东县| 青岛市| 陆良县| 祁阳县| 白朗县| 泾川县| 扶风县| 靖西县|