◆張海艦 方 舟 陳 新
?
基于深度學(xué)習(xí)技術(shù)的惡意APP檢測(cè)方案
◆張海艦 方 舟 陳 新
(空軍預(yù)警學(xué)院 湖北 430019)
本文提出了一種基于深度學(xué)習(xí)算法的安卓惡意軟件檢測(cè)原理。該原理的實(shí)現(xiàn)主要由APK代碼靜態(tài)特征和動(dòng)態(tài)特征提取、深度學(xué)習(xí)模型建立、成熟深度學(xué)習(xí)模型仿真檢測(cè)未知APK三個(gè)步驟組成。并且該技術(shù)相比于傳統(tǒng)的惡意代碼檢測(cè)算法,執(zhí)行檢測(cè)的效率有較大的提高。
安卓系統(tǒng);深度學(xué)習(xí)技術(shù);惡意代碼
近年來(lái),智能手機(jī)普及率迅速增加,智能手機(jī)應(yīng)用功能激增.全球最具權(quán)威的IT研究與顧問(wèn)咨詢(xún)公司Gartner的數(shù)據(jù)顯示,截止到2016年年底,全球大約有23億部電腦、平板電腦以及智能手機(jī)使用Android系統(tǒng),Android近年來(lái)的快速發(fā)展使其成為了一個(gè)占主導(dǎo)地位的智能手機(jī)平臺(tái),擁有整個(gè)市場(chǎng)約三分之二的份額。由于Android系統(tǒng)的開(kāi)放性,它也成為了眾多惡意代碼開(kāi)發(fā)者的活躍地盤(pán)。由于惡意代碼的數(shù)量和種類(lèi)越來(lái)越多,加上代碼混淆、加密等技術(shù)的興起,網(wǎng)絡(luò)用戶(hù)數(shù)據(jù)流量的急速增加,使得惡意代碼檢測(cè)面臨前所未有的挑戰(zhàn)。
隨著計(jì)算機(jī)GPU等核心硬件性能的不斷提升,計(jì)算機(jī)前沿科技人工智能(AI)取得飛速發(fā)展。深度學(xué)習(xí)(Deep Learning)作為推動(dòng)人工智能發(fā)展的核心技術(shù),其模擬人腦神經(jīng)網(wǎng)絡(luò)的強(qiáng)大學(xué)習(xí)機(jī)理,已經(jīng)在很多涉及計(jì)算機(jī)的傳統(tǒng)領(lǐng)域取得了突破性的進(jìn)步。例如Google公司DeepMind團(tuán)隊(duì)開(kāi)發(fā)的深度學(xué)習(xí)程序AlphaGo以4:1的驚人戰(zhàn)績(jī)打敗了韓國(guó)圍棋界傳奇人物李世石九段,國(guó)內(nèi)百度公司開(kāi)發(fā)的深度學(xué)習(xí)機(jī)器人小度(Duer)也在很多綜藝節(jié)目里公開(kāi)挑戰(zhàn)人類(lèi)最強(qiáng)人腦,顛覆了人類(lèi)在圖像記憶、聲音識(shí)別、等多領(lǐng)域的記錄。深度學(xué)習(xí)算法最擅長(zhǎng)的就是處理大數(shù)據(jù),因此深度學(xué)習(xí)最能有效應(yīng)對(duì)未來(lái)互聯(lián)網(wǎng)用戶(hù)信息數(shù)據(jù)“爆炸”現(xiàn)象。將深度學(xué)習(xí)技術(shù)用于信息安全領(lǐng)域?qū)㈩嵏矀鹘y(tǒng)算法,以新的框架模式和檢測(cè)機(jī)理為網(wǎng)絡(luò)用戶(hù)的信息安全提供堅(jiān)實(shí)有效的保障。
1.1 靜態(tài)特征分析
靜態(tài)分析使用反編譯工具獲得反編譯smali文件,smali文件擁有特定的格式和語(yǔ)法,解釋安卓虛擬機(jī)Dvlvik執(zhí)行的動(dòng)作,去掉無(wú)關(guān)的動(dòng)作指令,保留首寫(xiě)字母為M、R、G、I、T、P、V的動(dòng)作指令,分別代表移動(dòng)、返回、跳轉(zhuǎn)、判斷、取數(shù)據(jù)、存數(shù)據(jù)和調(diào)用方法七大指令,再提取統(tǒng)計(jì)相關(guān)數(shù)據(jù),為檢測(cè)系統(tǒng)提供特征集以及相應(yīng)的數(shù)據(jù)來(lái)源。目前的靜態(tài)分析大多針對(duì)應(yīng)用申請(qǐng)的權(quán)限、API調(diào)用、應(yīng)用證書(shū)等提取特征集,這種方式提取特征的缺點(diǎn)是不能做到完全覆蓋,且細(xì)粒度低,容易導(dǎo)致漏報(bào)、錯(cuò)報(bào)。
1.2 動(dòng)態(tài)特征分析
動(dòng)態(tài)分析利用沙盒對(duì)軟件進(jìn)行動(dòng)態(tài)分析,為解決未知的代碼所帶來(lái)的靜態(tài)分析所不具備的檢測(cè)能力,彌補(bǔ)所存在的可能的漏洞,提高檢測(cè)性能。利用開(kāi)源的安卓沙盒DroidBox進(jìn)行分析,記錄其執(zhí)行動(dòng)作log及次數(shù),分析所有動(dòng)作并歸類(lèi),按照靜態(tài)分析思路利用相同算法,進(jìn)行機(jī)器學(xué)習(xí),得到動(dòng)態(tài)行為檢測(cè)結(jié)果。
在深度學(xué)習(xí)模型建立模塊,將以上靜態(tài)分析的樣本特征數(shù)據(jù)和動(dòng)態(tài)分析的樣本數(shù)據(jù)構(gòu)造成樣本矩陣,在Matlab環(huán)境下開(kāi)發(fā)的卷積神經(jīng)網(wǎng)絡(luò)算法,對(duì)樣本的特征數(shù)據(jù)矩陣進(jìn)行卷積操作、下采樣操作、卷積操作、下采樣操作、數(shù)據(jù)展開(kāi)、分類(lèi)等一系列操作,實(shí)現(xiàn)無(wú)監(jiān)督的神經(jīng)網(wǎng)絡(luò)構(gòu)造。如圖1所示。
圖1 深度學(xué)習(xí)原理框圖
從谷歌市場(chǎng)和小米市場(chǎng)上批量下載未參與成熟模型構(gòu)建的安卓APK文件,然后將其導(dǎo)入成熟的深度學(xué)習(xí)模型進(jìn)行檢測(cè),得到樣本APK的分類(lèi)混淆矩陣和ROC感受曲線(xiàn),如圖2所示。然后整理該未知樣本的相關(guān)檢測(cè)數(shù)據(jù),依照既定的參數(shù)標(biāo)準(zhǔn),評(píng)價(jià)未知樣本的風(fēng)險(xiǎn)等級(jí),提交檢測(cè)報(bào)告給用戶(hù)。
圖2 深度學(xué)習(xí)系統(tǒng)仿真結(jié)果
在樣本特征數(shù)據(jù)采集部分,本文采取將靜態(tài)代碼分析和動(dòng)態(tài)沙盒檢測(cè)分析相結(jié)合的方式提取樣本的特征數(shù)據(jù),彌補(bǔ)了單一靜態(tài)代碼分析的缺點(diǎn)。本文中采用了從谷歌市場(chǎng)和小米市場(chǎng)下載的110003個(gè)惡意APK樣本和90317個(gè)非惡意APK樣本進(jìn)行模型建立,9000個(gè)未參與模型建立的APK樣本進(jìn)行準(zhǔn)確率測(cè)試。仿真結(jié)果表明,本檢測(cè)方案在準(zhǔn)確率和執(zhí)行效率上表現(xiàn)良好。接下來(lái)將完成兩大任務(wù):(1)將研究更多類(lèi)型行為特征的樣本特征采集方法以及提高模型精度、改進(jìn)神經(jīng)網(wǎng)絡(luò)層數(shù)和網(wǎng)絡(luò)參數(shù),使得深度學(xué)習(xí)模型更加穩(wěn)定。(2)將算法模型使用java語(yǔ)言重新搭建,將目前兼容性差和基于Matlab平臺(tái)的算法原理移植到手機(jī)操作系統(tǒng)平臺(tái)和PC機(jī)的Windows平臺(tái)。
[1]Witten Ian H.DataMinting:PraticalMarchine Learning Tools and Techinques .China Machine Press,2012.
[2]EnckWillian,Gilbert Peter,Chun Byung-Gon,etal.TiantDroid:Aninformation-flow tracking system for realtime privacy monitoring on smartphones,the 9th USENIX conference on Operating System Design and Implementation(OSDI’10).Vancouver,Canada,2010.