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

基于隨機(jī)森林的抗混淆Android惡意應(yīng)用檢測

2021-03-04 02:51:44王柯林趙瑞哲辛麗玲汪秋云
信息安全研究 2021年2期
關(guān)鍵詞:特征分析檢測

王柯林 楊 珂 趙瑞哲, 辛麗玲 汪秋云

1(中國科學(xué)院大學(xué) 北京 101400) 2(中國科學(xué)院信息工程研究所 北京 100093) 3(國網(wǎng)電子商務(wù)有限公司(國網(wǎng)雄安金融科技集團(tuán)有限公司) 北京 100053) 4(國家電網(wǎng)有限公司區(qū)塊鏈技術(shù)實(shí)驗(yàn)室 北京 100053)

(wangkelin20@mails.ucas.ac.cn)

在Android系統(tǒng)迅速發(fā)展的同時也帶來了一些安全問題.很多第三方平臺可以發(fā)布Android應(yīng)用.由于第三方平臺對于分發(fā)軟件審核不嚴(yán),造成了很多惡意應(yīng)用大肆泛濫.2018年全年,360互聯(lián)網(wǎng)安全中心共截獲移動端新增惡意應(yīng)用樣本約434.2萬個,平均每天新增約1.2萬個.2018全年移動端新增惡意應(yīng)用類型主要為資費(fèi)消耗,占比高達(dá)63.2%;其次為隱私竊取(33.7%)、惡意扣費(fèi)(1.6%)、流氓行為(1.2%)、遠(yuǎn)程控制(0.3%)[1].這些Android平臺下的惡意應(yīng)用不僅對個人用戶產(chǎn)生威脅,同時也為APT攻擊提供了新的思路和方法,例如2019年2月4日披露的APT-C-26和2019年8月5日披露的APT-C-28攻擊.

針對Android惡意應(yīng)用的分析方法可以分成靜態(tài)分析和動態(tài)分析.靜態(tài)分析是將Android應(yīng)用文件進(jìn)行反匯編處理后,對代碼進(jìn)行規(guī)則匹配及分析.例如,通過分析manifest.xml文件,可以獲知應(yīng)用開發(fā)者申請的權(quán)限和組件信息.靜態(tài)分析消耗的資源較少,通過分析反匯編出來的代碼,也能獲取更進(jìn)一步的惡意代碼特征,但是很難處理代碼混淆及加密后的惡意代碼.動態(tài)分析是使用沙箱監(jiān)控Android應(yīng)用運(yùn)行時的行為,實(shí)時捕獲Android應(yīng)用的敏感行為.例如,在Android應(yīng)用運(yùn)行時給手機(jī)通訊錄發(fā)送的短信內(nèi)容.動態(tài)分析可以處理代碼混淆、加密等情況,但是動態(tài)分析需要在沙箱中運(yùn)行Android應(yīng)用,并實(shí)時監(jiān)控行為,資源消耗更大,分析時間也比靜態(tài)分析長很多.

針對靜態(tài)分析和動態(tài)分析的優(yōu)缺點(diǎn),本文將結(jié)合2種方法對Android應(yīng)用進(jìn)行動靜態(tài)分析,提取特征信息,再使用機(jī)器學(xué)習(xí)方法進(jìn)行訓(xùn)練,從而實(shí)現(xiàn)對Android應(yīng)用程序是良性應(yīng)用還是惡意應(yīng)用的判斷.另外,本文將選取部分Android應(yīng)用進(jìn)行混淆,利用在混淆前后不變的權(quán)限特征和組件特征,使用機(jī)器學(xué)習(xí)方法進(jìn)行10折交叉驗(yàn)證,從而對混淆惡意應(yīng)用進(jìn)行檢測.

1 相關(guān)研究

1.1 基于靜態(tài)分析的Android惡意應(yīng)用檢測

Payet等人[2]改進(jìn)了Julia(Java字節(jié)碼靜態(tài)分析工具),使其適用于DVM(Dalvik virtual machine)字節(jié)碼的分析,首次將靜態(tài)分析用于Android程序的分析.Hou等人[3]將Android應(yīng)用程序、相關(guān)的API調(diào)用及其相互關(guān)系表示為結(jié)構(gòu)化HIN,并用元路徑表示Android應(yīng)用上的相似度,利用多內(nèi)核學(xué)習(xí)來匯總不同的相似度,最后由學(xué)習(xí)算法自動加權(quán)元路徑進(jìn)行預(yù)測,這種方法的檢測率達(dá)到99%.陳澤峰等人[4]提出2個級別的不同分類器來平衡精確度和系統(tǒng)開銷.作者使用n-gram處理操作碼序列,并關(guān)注權(quán)限等特征,在級別1無法可靠預(yù)測時,使用級別2,最終實(shí)現(xiàn)了多級分類準(zhǔn)確率97.82%、級別2訪問頻率10.4%的效果.郗桐等人[5]使用Opcode操作碼為檢測特征,采用卷積神經(jīng)網(wǎng)絡(luò)模型來檢測惡意應(yīng)用.該實(shí)驗(yàn)將原始操作碼劃分為256類時效果最佳,實(shí)現(xiàn)了94.12%的準(zhǔn)確率.Ma等人[6]通過Android應(yīng)用的控制流程圖來獲取API的調(diào)用、調(diào)用頻率和調(diào)用序列,并創(chuàng)新性地構(gòu)建了是否調(diào)用、調(diào)用頻率和調(diào)用序列3個數(shù)據(jù)集,通過機(jī)器學(xué)習(xí)方法對惡意應(yīng)用進(jìn)行檢測,并最終實(shí)現(xiàn)了98.98%的準(zhǔn)確率和較高的穩(wěn)定性.Mariconti等人[7]提出名為MaMaDroid的Android惡意應(yīng)用檢測系統(tǒng).該系統(tǒng)通過將API調(diào)用抽象到它的程序包或家族,使用馬爾科夫鏈對抽象后的API序列建模,最后通過機(jī)器學(xué)習(xí)來檢測惡意代碼.該系統(tǒng)能有效檢測惡意應(yīng)用,F(xiàn)度量高達(dá)99%,而且可以通過該系統(tǒng)長期保持其檢測能力,在訓(xùn)練后1年和2年,平均F-measure分別為87%和73%.

1.2 基于動態(tài)分析的Android惡意應(yīng)用檢測

王勇等人[8]選用靜態(tài)特征和動態(tài)特征,對特征選擇后進(jìn)行數(shù)據(jù)降維,最后利用SDA算法構(gòu)建神經(jīng)網(wǎng)絡(luò),并用BP算法微調(diào)結(jié)果來完成分類任務(wù).數(shù)據(jù)集包括15 000個應(yīng)用,系統(tǒng)的準(zhǔn)確率達(dá)到95.8%.黃浩華等人[9]使用靜態(tài)分析獲取應(yīng)用API調(diào)用來初步判斷,之后根據(jù)疑似惡意應(yīng)用UI控件的可疑度進(jìn)行有針對性的動態(tài)測試,來確認(rèn)是否為惡意應(yīng)用.實(shí)驗(yàn)結(jié)果表明,該方法可以在提高檢測效果的同時降低誤報(bào)率.Feng等人[10]提出了一種有效的動態(tài)分析框架,即EnDroid,其基于多種類型的動態(tài)行為特征進(jìn)行檢測.動態(tài)行為通過運(yùn)行時監(jiān)視器提取,涵蓋系統(tǒng)級的行為跟蹤和應(yīng)用程序級惡意行為,利用特征選擇算法提取關(guān)鍵行為特征,并通過集成學(xué)習(xí)方法對應(yīng)用程序分類.該模型被證明在數(shù)據(jù)集上的有效性,并且分類性能好.

1.3 抗混淆的Android惡意應(yīng)用檢測

王兆國等人[11]選取抗混淆的資源文件和代碼特征,通過計(jì)算高位空間距離,來判斷惡意應(yīng)用的家族信息,檢測結(jié)果的正確率超過86.3%.焦四輩等人[12]基于文本內(nèi)容,將選取圖片文件、音頻文件和布局文件作為特征文件,并針對3種特征文件的特點(diǎn),提出了不同內(nèi)容特征提取方法和相似度計(jì)算方法,并通過學(xué)習(xí)對其相似度賦予權(quán)重,進(jìn)一步提高應(yīng)用相似性檢測的準(zhǔn)確性.該方法可以準(zhǔn)確識別重打包應(yīng)用和含有已知惡意代碼的應(yīng)用.Ikram等人[13]提出了DaDiDroid,該系統(tǒng)基于API調(diào)用的加權(quán)有向圖來檢測混淆惡意應(yīng)用,通過將API程序包抽象,并提取加權(quán)有向圖特征,最終檢測(混淆的)惡意應(yīng)用.該系統(tǒng)DaDiDroid的性能優(yōu)于MaMaDroid[7],通過對43 262個良性應(yīng)用和20 431個惡意應(yīng)用組成的數(shù)據(jù)集的檢測,DaDiDroid對未混淆惡意應(yīng)用準(zhǔn)確率為96%,對于混淆后的惡意應(yīng)用準(zhǔn)確率達(dá)到91%.

本節(jié)主要介紹了基于靜態(tài)分析的Android惡意應(yīng)用檢測、基于動態(tài)分析的Android惡意應(yīng)用檢測和抗混淆的Android惡意應(yīng)用檢測.通過對以往研究進(jìn)行總結(jié)分析,我們發(fā)現(xiàn),當(dāng)前針對Android惡意應(yīng)用的檢測較少涉及對混淆后惡意應(yīng)用的檢測,抗混淆檢測大多為Android惡意應(yīng)用同源性分析.現(xiàn)有靜態(tài)分析方法大多數(shù)基于API調(diào)用序列,利用API調(diào)用序列進(jìn)行多種變換來提取所需要的特征,在這些方法中對組件特征涉及較少.因此,本文除了對正常的Android惡意應(yīng)用進(jìn)行檢測后,還通過對正常數(shù)據(jù)集進(jìn)行混淆來構(gòu)建混淆數(shù)據(jù)集,測試本文的實(shí)驗(yàn)方法對混淆后惡意應(yīng)用的檢測效果.在特征選擇上,本文選取在混淆前后不發(fā)生改變的Activity,Service,Intent等Android組件信息和危險(xiǎn)權(quán)限,來得到靜態(tài)特征.在機(jī)器學(xué)習(xí)方法上,隨機(jī)森林方法、卷積神經(jīng)網(wǎng)絡(luò)等應(yīng)用廣泛,本文將選取多種機(jī)器學(xué)習(xí)方法進(jìn)行比較,選出最佳分類方法.

2 抗混淆Android惡意應(yīng)用特征分析與檢測方法

2.1 系統(tǒng)設(shè)計(jì)

本文方法首先收集惡意應(yīng)用和良性應(yīng)用數(shù)據(jù)集,并分別選取數(shù)據(jù)集中的部分正常Android應(yīng)用進(jìn)行混淆,形成混淆數(shù)據(jù)集.之后,針對正常數(shù)據(jù)集和混淆后數(shù)據(jù)集中的每一個APK文件,都使用Cuckoodroid進(jìn)行分析.然后,根據(jù)分析的結(jié)果,在每種特征都選出具體的部分特征來進(jìn)行編碼,接著,特征選取后,正常數(shù)據(jù)集和混淆數(shù)據(jù)集分別對數(shù)據(jù)集中的每一個APK文件進(jìn)行編碼,得到可以用于機(jī)器學(xué)習(xí)訓(xùn)練的CSV文件.最后分別對正常數(shù)據(jù)集和混淆數(shù)據(jù)集采取多種機(jī)器學(xué)習(xí)方法來訓(xùn)練,完成10折交叉驗(yàn)證,實(shí)現(xiàn)對惡意應(yīng)用的判斷.方法流程圖如圖1所示:

圖1 本文方法流程圖

針對動靜態(tài)分析,本文經(jīng)過調(diào)研選取了3種沙箱來進(jìn)行比對.Cuckoodroid[14]能夠完成動靜態(tài)分析,且檢測特征多樣全面,但安裝過程步驟繁瑣,非常容易出錯;MobSF[15]靜態(tài)分析非常全面,但是動態(tài)分析需要人工交互來選擇分析種類,并且動態(tài)與靜態(tài)多有重疊,內(nèi)容很少;Droidbox[16]沙箱能夠完成動靜態(tài)分析,但是動態(tài)分析內(nèi)容過于少,所以本文結(jié)合各類沙箱優(yōu)缺點(diǎn),最終選擇Cuckoodroid來作為本文方法的動靜態(tài)分析環(huán)境.

接下來,本文將對Android混淆惡意應(yīng)用分析、Android混淆惡意應(yīng)用特征提取、特征編碼和分布式分析方法進(jìn)行介紹.

2.2 Android混淆惡意應(yīng)用分析

混淆并不是讓代碼無法被反編譯,而是將代碼中的類、方法、變量等信息進(jìn)行重命名,將它們改成一些毫無意義的名字.混淆代碼可以在不影響程序正常運(yùn)行的前提下增加逆向工程和破解的難度,大大提升了程序的安全性.Android中的混淆包括Java代碼的混淆、Native(C&C++)代碼的混淆和資源文件的混淆3種.

在Android代碼混淆中,常用的技術(shù)有控制流平坦化、花指令、標(biāo)識符混淆、字符串混淆等.其中,控制流平坦化是在不改變源代碼功能的前提下,將if,while,for等控制語句轉(zhuǎn)換成switch分支語句;花指令也叫垃圾指令,是在原始程序中插入的無用的但不會影響程序運(yùn)行的指令;標(biāo)識符混淆是使用無意義的標(biāo)識符來替換源代碼中的包名、類名、方法名和變量名;字符串混淆是對源程序中一些關(guān)鍵的字符串進(jìn)行混淆,主要有Java層的字符串混淆和Native層的字符串混淆.

Android惡意應(yīng)用通過混淆之后,源程序中Java代碼、Native代碼會發(fā)生改變,這對于Android應(yīng)用程序代碼的靜態(tài)分析會造成一定的干擾.結(jié)合Android代碼混淆機(jī)制,在混淆前后,Android組件、權(quán)限信息不發(fā)生改變,Android應(yīng)用也可以正常運(yùn)行.因此,本文選取的組件、危險(xiǎn)權(quán)限特征適用于混淆代碼的檢測,同時,加上動態(tài)分析獲取短信發(fā)送數(shù)量,作為混淆代碼檢測特征.

2.3 Android混淆惡意應(yīng)用特征提取

本文基于Android分析結(jié)果,提取出權(quán)限、API調(diào)用、Service、Intent等靜態(tài)特征和短信發(fā)送頻率的動態(tài)特征.下面將對所提取的特征進(jìn)行闡述.

2.3.1 權(quán)限

Android應(yīng)用如果要在使用過程中獲得權(quán)限,則必須在manifest.xml文件中申請相應(yīng)的權(quán)限.系統(tǒng)權(quán)限分為4個保護(hù)級別,分別為正常權(quán)限、危險(xiǎn)權(quán)限、簽名權(quán)限和特殊權(quán)限.在本文方法中,重點(diǎn)關(guān)注危險(xiǎn)權(quán)限.危險(xiǎn)權(quán)限的使用會對用戶數(shù)據(jù)資源讀取或更改,也會影響其他應(yīng)用的使用,例如讀取通訊錄和獲取手機(jī)GPS定位,對用戶信息安全造成威脅.危險(xiǎn)權(quán)限在使用時,除了需要開發(fā)者在manifest.xml文件中申請,還需要用戶的授權(quán)才能使用.但是由于大部分用戶的安全意識比較薄弱,在安裝Android應(yīng)用程序時對程序所要求的權(quán)限都全部授予,并且有的Android應(yīng)用在當(dāng)用戶不授予權(quán)限時,就不能正常使用,這也加重了危險(xiǎn)權(quán)限的惡意性.一般情況下,惡意應(yīng)用會申請比良性軟件更多的危險(xiǎn)權(quán)限,對一些敏感的數(shù)據(jù)或者資源來訪問,實(shí)現(xiàn)惡意行為.并且,危險(xiǎn)權(quán)限特征在代碼混淆前后不發(fā)生變化,也可以適用于混淆代碼的檢測,因此,本文方法選擇危險(xiǎn)權(quán)限作為惡意應(yīng)用檢測特征[17].

2.3.2 API調(diào)用

應(yīng)用程序通過調(diào)用系統(tǒng)API執(zhí)行應(yīng)用程序的命令,例如獲取位置信息、發(fā)送短信、撥打電話、拍攝照片、網(wǎng)絡(luò)連接等功能.API調(diào)用序列反映了Android應(yīng)用的執(zhí)行過程.利用工具獲取API調(diào)用序列,對序列信息進(jìn)行詳細(xì)分析,能夠獲取應(yīng)用程序執(zhí)行的行為信息.良性應(yīng)用和惡意應(yīng)用對于使用的API調(diào)用類型及其頻率都存在著差異.因此,本文方法選用API調(diào)用序列作為檢測特征.

2.3.3 組件

Android惡意應(yīng)用如果要執(zhí)行惡意行為,是需要借助組件來完成的.Android的四大組件分別為Service,Activity,Intent,ContentProvider.Service在后臺運(yùn)行,可以為遠(yuǎn)程進(jìn)程實(shí)現(xiàn)操作;Intent是消息傳遞對象,可以通過多種方式完成組件之間的交互;Activity負(fù)責(zé)與用戶交互.在Android應(yīng)用運(yùn)行期間,這些組件相互交互,來協(xié)助應(yīng)用程序?qū)崿F(xiàn)功能.惡意應(yīng)用要實(shí)現(xiàn)惡意行為,需要組件的交互完成.因此良性應(yīng)用和惡意應(yīng)用在組件的使用上都不盡相同,并且,當(dāng)應(yīng)用程序被混淆時,組件信息一般不發(fā)生改變.因此本文方法選用組件作為惡意應(yīng)用檢測特征[18].

2.3.4 短信發(fā)送數(shù)量

發(fā)短信在人們?nèi)粘I钪惺且环N很重要的遠(yuǎn)程溝通方法,但是Android惡意應(yīng)用開發(fā)者會發(fā)送付費(fèi)短信來實(shí)現(xiàn)惡意吸費(fèi)以及竊取用戶數(shù)據(jù).并且,惡意應(yīng)用會發(fā)送不止1條短信,而良性應(yīng)用發(fā)送1條或者不發(fā)送短信.短信內(nèi)容長度不一,內(nèi)容差別大,例如,惡意應(yīng)用A發(fā)送了內(nèi)容為“A N T 8 0 8 1 9 4 0 2 0 1 2 - 0 9 - 1 1 1 1 : 5 6 : 5 9”的短信,良性應(yīng)用B發(fā)送了內(nèi)容為“AB”的短信.此外,代碼混淆不改變程序的執(zhí)行結(jié)果,在混淆之后,Android惡意應(yīng)用還會對特殊號碼發(fā)送短信.故本文方法選擇短信發(fā)送數(shù)量作為檢測特征之一.

2.4 特征編碼

在2.3節(jié)中主要介紹了本文方法將選取的主要特征種類.對于每種特征來說,本文將根據(jù)惡意應(yīng)用和良性應(yīng)用在特征使用上的差異來進(jìn)行挑選.本文將數(shù)據(jù)集中各個Android應(yīng)用程序的分析結(jié)果中選取的特征進(jìn)行統(tǒng)計(jì),選用175種危險(xiǎn)權(quán)限特征、500種Activity組件特征、79種API調(diào)用特征、200種反射API調(diào)用特征、150種Intent特征、200種Service特征和短信發(fā)送頻率特征,一共1 305種特征.除去API調(diào)用和反射API調(diào)用以及短信發(fā)送這3類特征使用出現(xiàn)的頻率編碼外,其余用0表示不存在該種特征,1表示存在該種特征.

針對危險(xiǎn)權(quán)限特征,本文將數(shù)據(jù)集中所有應(yīng)用程序申請的危險(xiǎn)權(quán)限進(jìn)行統(tǒng)計(jì),選取其中調(diào)用次數(shù)最多的175種危險(xiǎn)權(quán)限,最多的次數(shù)有10 583;針對Activity,本文選取了前500種使用次數(shù)最多的Activity,峰值為1 715;針對API調(diào)用,本文選取了其中調(diào)用次數(shù)最多的前79個作為選取的特征,最高為8 924;針對反射API調(diào)用,本文選取了其中調(diào)用次數(shù)最多的前200個作為選取的特征,峰值為3 559;針對Intent組件,本文選取了其中調(diào)用次數(shù)最多的前150個作為選取的特征,最多次數(shù)為2 654;針對Service組件,本文選取了其中調(diào)用次數(shù)最多的前200個作為選取的特征,峰值為620.

2.5 分布式檢測方法

本文選用Cuckoodroid作為Android應(yīng)用分析工具.Cuckoodroid工具基于Xposed框架,具有反檢測功能,當(dāng)APK文件被分析完成后,分析結(jié)果存在mongodb數(shù)據(jù)庫中,即json文件.在實(shí)驗(yàn)中,Cuckoodroid分析1個APK文件用時10 min左右,總的數(shù)據(jù)集有1萬多個APK文件,在1臺機(jī)器上逐個分析APK文件耗費(fèi)時間太長,因此為了節(jié)省時間,選擇在多臺虛擬機(jī)中配置Cuckoodroid,實(shí)現(xiàn)分布式分析.

分析過程分為主機(jī)和虛擬機(jī).主機(jī)負(fù)責(zé)給虛擬機(jī)分配APK文件和匯總分析好的結(jié)果,虛擬機(jī)負(fù)責(zé)完成APK分析任務(wù).在分析開始前,對每臺虛擬機(jī)建立快照,主機(jī)內(nèi)存儲著全部需要分析的APK樣本.當(dāng)開始分析時,先將1臺空閑的虛擬機(jī)恢復(fù)到快照狀態(tài),主機(jī)將1個APK樣本傳到該臺虛擬機(jī)內(nèi),開始對APK文件進(jìn)行分析.當(dāng)分析完成后,虛擬機(jī)傳給主機(jī)分析之后的結(jié)果,并告訴主機(jī)自己處于空閑狀態(tài).在分布式分析的實(shí)現(xiàn)中,主機(jī)負(fù)責(zé)給未執(zhí)行分析任務(wù)的虛擬機(jī)分配發(fā)送APK文件,并接收來自虛擬機(jī)的分析結(jié)果(json文件);虛擬機(jī)在接收主機(jī)發(fā)送的APK文件后,利用Cuckoodroid沙箱負(fù)責(zé)具體實(shí)現(xiàn)Android應(yīng)用的分析,并將分析結(jié)果發(fā)送給主機(jī).其流程圖如圖2所示:

圖2 APK分析流程圖

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

3.1 實(shí)驗(yàn)數(shù)據(jù)集

本文使用的實(shí)驗(yàn)樣本包括以下2個部分:從Drebin[19-20]收集的5 538個惡意APK文件和從androzoo[21]中收集了5 388個良性APK文件.其中Drebin數(shù)據(jù)集一共收集了5 560個樣本、178個惡意應(yīng)用家族,Drebin團(tuán)隊(duì)也鑒于該數(shù)據(jù)集提取靜態(tài)特征對Android惡意應(yīng)用分類.androzoo數(shù)據(jù)集從Google Play等多個應(yīng)用市場下載,并逐一在VirusTotal上面檢測,本文選擇VirusTotal引擎檢測不多于3的樣本作為良性樣本.同時,選取了450個良性APK文件和450個惡意APK文件,借助AndResGuard工具[22],該工具將原本冗長的資源路徑變短,例如將res/drawable/wechat變?yōu)閞/d/a,對其進(jìn)行混淆處理.對于2種數(shù)據(jù)集,本文均采用10折交叉驗(yàn)證的方式訓(xùn)練.

3.2 訓(xùn)練結(jié)果

3.2.1 特征重要度評估

本文選取的數(shù)據(jù)集有1 305種特征,為了查看每種特征在模型中發(fā)揮的重要程度,本文借用隨機(jī)森林對特征重要度進(jìn)行評估,即計(jì)算每種特征在隨機(jī)森林的每棵樹上的貢獻(xiàn)值,并取平均值與其他特征進(jìn)行比較.由于本文特征眾多,無法一一展示,故選取了重要程度前20的特征進(jìn)行展示.

從圖3可以看出,危險(xiǎn)權(quán)限占據(jù)較大的比重,例如android.permission.SEND_SMS與發(fā)送短信相關(guān),排名第一,重要程度值為0.099 788,相當(dāng)于1/10,android.permission.READ_PHONE_STATE與手機(jī)狀態(tài)相關(guān),重要程度值為0.053 490;本文選取的API特征也占據(jù)著較大的重要程度,例如java_io_File_exists位于第5位,重要程度值為0.023 445.其余與Service,Activity,Intent相關(guān)的特征重要程度也占據(jù)著重要的值,短信發(fā)送數(shù)量排名35,重要程度為0.005 846.所有的特征重要程度值反映了系統(tǒng)在對Android應(yīng)用程序是良性還是惡意時所發(fā)揮的作用,危險(xiǎn)權(quán)限和API調(diào)用也是重要程度最高的2種特征.此外,本文選取的特征中也存在特征重要程度為0的情況,在之后的改進(jìn)中,系統(tǒng)將對特征重要程度為0的特征進(jìn)行篩除,提高檢測效率.

圖3 特征重要程度

3.2.2 正常訓(xùn)練集

本文選用了隨機(jī)森林、決策樹、卷積神經(jīng)網(wǎng)絡(luò)和SVM這4種機(jī)器學(xué)習(xí)方法來訓(xùn)練數(shù)據(jù)集.為了評價(jià)它們訓(xùn)練結(jié)果的優(yōu)劣性,選取準(zhǔn)確率、AUC值、召回率和F1值來評判.

通過10折交叉驗(yàn)證之后得到了4種機(jī)器學(xué)習(xí)方法的訓(xùn)練結(jié)果.如表1所示:

表1 正常訓(xùn)練集訓(xùn)練結(jié)果

通過對10折交叉驗(yàn)證實(shí)驗(yàn)結(jié)果的分析可知:在本文所涉及的數(shù)據(jù)集和檢測方法中,隨機(jī)森林的檢測結(jié)果優(yōu)于其他3種機(jī)器學(xué)習(xí)方法.該方法對于正常數(shù)據(jù)集的訓(xùn)練結(jié)果中,準(zhǔn)確率達(dá)到95.77%,表明良性樣本和惡意樣本都能正常分類;召回率達(dá)到0.953 1,查全率較高;AUC值也達(dá)到了0.958 1,模型效果好,F(xiàn)1值為0.959 1,模型的穩(wěn)健性較好,通過對4項(xiàng)指標(biāo)的比較,模型對于良性樣本和惡意樣本的分類能力幾乎相同,差異很小,模型的分類能力較強(qiáng).

圖4展示了4種機(jī)器學(xué)習(xí)方法的ROC曲線,從圖4可以看出,在10折交叉驗(yàn)證的實(shí)驗(yàn)中,隨機(jī)森林的曲線變化程度要小于其他3種機(jī)器學(xué)習(xí)方法,這進(jìn)一步說明了隨機(jī)森林方法對于數(shù)據(jù)集的變化,其實(shí)驗(yàn)結(jié)果相對受影響更小一些.相對于其他機(jī)器學(xué)習(xí)方法,隨機(jī)森林的ROC曲線的敏感性和特異性較高的臨界值更接近于坐標(biāo)軸的左上方,表明惡意樣本被正確預(yù)測的概率越高,準(zhǔn)確性越高.

圖4 ROC曲線

3.2.3 混淆訓(xùn)練集

對于混淆訓(xùn)練集,本文選取了決策樹、隨機(jī)森林、卷積神經(jīng)網(wǎng)絡(luò)和SVM這4種機(jī)器學(xué)習(xí)方法來進(jìn)行訓(xùn)練.在10折交叉驗(yàn)證得到訓(xùn)練結(jié)果后,本文選取準(zhǔn)確率、AUC值、召回率和F1值來進(jìn)行評價(jià)機(jī)器學(xué)習(xí)結(jié)果的優(yōu)劣,如表2所示.

通過比較4種機(jī)器學(xué)習(xí)方法的訓(xùn)練結(jié)果,可以看出,對于混淆數(shù)據(jù)集,隨機(jī)森林方法要優(yōu)于決策樹、卷積神經(jīng)網(wǎng)絡(luò)和SVM,準(zhǔn)確率達(dá)到0.910 1.混淆數(shù)據(jù)集的訓(xùn)練結(jié)果,由于數(shù)據(jù)集的數(shù)量比正常訓(xùn)練集少以及API調(diào)用被混淆,比正常訓(xùn)練集的訓(xùn)練結(jié)果的準(zhǔn)確率和AUC值都要低.從實(shí)驗(yàn)結(jié)果來看,準(zhǔn)確率為91.01%,模型能較為正確地分類良性和惡意樣本;召回率為0.786 3,該值偏低,再結(jié)合其他指標(biāo)來看,表明本實(shí)驗(yàn)對良性樣本的分類結(jié)果比惡意樣本要好.F1值是召回率和精確率的結(jié)合,該值為0.837 7,表明模型的穩(wěn)健性較好.

表2 混淆訓(xùn)練集訓(xùn)練結(jié)果

圖5展示了混淆數(shù)據(jù)集在經(jīng)過4種機(jī)器學(xué)習(xí)方法10折交叉驗(yàn)證得到的ROC曲線,從圖5可以看出,在10折交叉驗(yàn)證的實(shí)驗(yàn)中,4種機(jī)器學(xué)習(xí)方法的曲線變化程度都很大,隨機(jī)森林方法比其他方法的曲線變化程度都小,則其在10折交叉驗(yàn)證中,隨著每一次訓(xùn)練集和測試集的變化,要比其他方法更穩(wěn)定.隨機(jī)森林的ROC曲線的敏感性和特異性較高的臨界值更接近于坐標(biāo)軸的左上方,曲線更貼近Y軸,表明惡意樣本被正確預(yù)測的概率越高,準(zhǔn)確性較高.在ROC曲線比較上,經(jīng)過混淆的ROC曲線的穩(wěn)定性要明顯低于未經(jīng)過混淆的ROC曲線的穩(wěn)定性,除去數(shù)據(jù)集大小的影響外,未混淆的數(shù)據(jù)集能夠更有效利用API調(diào)用這一特征,這也表明在之后的研究中可以針對混淆數(shù)據(jù)集提取更多的特征來提高訓(xùn)練的魯棒性和有效性.

圖5 混淆ROC曲線

結(jié)合正常數(shù)據(jù)集和混淆數(shù)據(jù)集來說,隨機(jī)森林的性能要優(yōu)于決策樹、卷積神經(jīng)網(wǎng)絡(luò)和SVM.隨機(jī)森林是決策樹的集成方法,SVM方法過于簡單,不適用于本實(shí)驗(yàn)中檢測特征較多的數(shù)據(jù)集,卷積神經(jīng)網(wǎng)絡(luò)存在著過擬合現(xiàn)象,因此,綜合來講,隨機(jī)森林方法更適用于本實(shí)驗(yàn)的數(shù)據(jù)集;在檢測結(jié)果上,本文對正常數(shù)據(jù)集的檢測結(jié)果準(zhǔn)確率達(dá)到95.77%,本文對混淆數(shù)據(jù)集的檢測結(jié)果準(zhǔn)確率達(dá)到91.01%,均取得了不錯的效果.實(shí)驗(yàn)結(jié)果表明本文選取的特征可以有效檢測Android惡意應(yīng)用.

4 總 結(jié)

在本文中,通過在多臺虛擬機(jī)中搭建Cuckoodroid實(shí)現(xiàn)分布式分析.之后,本文利用分析之后的結(jié)果,選取了危險(xiǎn)權(quán)限、敏感API調(diào)用、服務(wù)、Intent、Activity等組件信息和短信頻率作為檢測特征,一共1 305種特征.其中,危險(xiǎn)權(quán)限和服務(wù)等組件信息在混淆前后不發(fā)生變化,使得模型能對混淆后的Android應(yīng)用進(jìn)行檢測.最后使用隨機(jī)森林、決策樹、SVM和卷積神經(jīng)網(wǎng)絡(luò)4種機(jī)器學(xué)習(xí)方法分別對未混淆的和經(jīng)過混淆的數(shù)據(jù)集進(jìn)行訓(xùn)練.實(shí)驗(yàn)表明,本方法有較高的準(zhǔn)確率和AUC值,模型的穩(wěn)健性較好.此外,在之后的工作中,將繼續(xù)尋找其他特征來完善本系統(tǒng),提高系統(tǒng)的分類能力.

猜你喜歡
特征分析檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗(yàn)證分析
如何表達(dá)“特征”
不忠誠的四個特征
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
抓住特征巧觀察
電力系統(tǒng)及其自動化發(fā)展趨勢分析
小波變換在PCB缺陷檢測中的應(yīng)用
主站蜘蛛池模板: 国产精品毛片一区| 五月天福利视频| 亚洲大尺度在线| 亚洲成人高清无码| 国产超碰一区二区三区| 亚欧美国产综合| 亚洲二三区| 婷婷久久综合九色综合88| 欧美一区国产| 欧美精品H在线播放| 2020最新国产精品视频| 亚洲第一极品精品无码| 激情无码视频在线看| 农村乱人伦一区二区| 欧美精品啪啪| 国产无遮挡裸体免费视频| 2021国产v亚洲v天堂无码| 中文字幕丝袜一区二区| 午夜三级在线| 中文字幕在线一区二区在线| 亚洲男人的天堂视频| 亚洲色欲色欲www在线观看| 91精品国产麻豆国产自产在线 | 色噜噜综合网| 国产精品久久久久婷婷五月| 欧美中日韩在线| 天堂中文在线资源| 狠狠亚洲五月天| 黄色网页在线观看| 日韩午夜伦| 波多野结衣第一页| 欧美亚洲香蕉| 91无码人妻精品一区| 成人免费视频一区二区三区| 性喷潮久久久久久久久| 亚欧成人无码AV在线播放| 久久人人爽人人爽人人片aV东京热| 又黄又湿又爽的视频| 国产香蕉在线视频| 国产性精品| 九九这里只有精品视频| 国产在线小视频| 日本欧美精品| 欧洲高清无码在线| 99热这里只有精品5| 成年人国产网站| 日本久久免费| 国产性爱网站| 人妻出轨无码中文一区二区| 国产综合亚洲欧洲区精品无码| 午夜天堂视频| 一级爆乳无码av| 99久久精品免费观看国产| 综合亚洲网| 国产乱人伦精品一区二区| 久久情精品国产品免费| 国产一区成人| 自慰高潮喷白浆在线观看| 国产欧美日韩精品综合在线| 在线观看欧美精品二区| 亚洲最大福利网站| AⅤ色综合久久天堂AV色综合| 91黄色在线观看| 亚洲天堂网站在线| 亚洲色图在线观看| 99热这里只有精品2| 亚洲成人精品久久| 免费a级毛片视频| 欧美黑人欧美精品刺激| 日韩午夜福利在线观看| 丁香五月激情图片| 中国一级毛片免费观看| 国产中文一区a级毛片视频| 爽爽影院十八禁在线观看| 91久久夜色精品国产网站| 中文字幕佐山爱一区二区免费| 国产成人精品免费av| 国产极品美女在线播放| 九九热视频精品在线| 四虎成人精品| 国产天天色| 狠狠色狠狠综合久久|