張鑫,羌衛(wèi)中,吳月明,鄒德清,金海
基于卷積神經(jīng)網(wǎng)絡(luò)惡意安卓應(yīng)用行為模式挖掘
張鑫,羌衛(wèi)中,吳月明,鄒德清,金海
(華中科技大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,湖北 武漢 430074)
現(xiàn)有的安卓惡意應(yīng)用檢測方法所提取的特征冗余且抽象,無法在高級語義上反映惡意應(yīng)用的行為模式。針對這一問題,提出一種可解釋性檢測方法,通過社交網(wǎng)絡(luò)檢測算法聚類可疑系統(tǒng)調(diào)用組合,將其映射為單通道圖像,用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,并利用卷積層梯度權(quán)重類激活映射可視化方法發(fā)現(xiàn)最可疑的系統(tǒng)調(diào)用組合,從而挖掘理解惡意應(yīng)用行為。實驗結(jié)果表明,所提方法在高效檢測的基礎(chǔ)上,能夠正確發(fā)現(xiàn)惡意應(yīng)用的行為模式。
安卓;快速檢測;卷積神經(jīng)網(wǎng)絡(luò);社交網(wǎng)絡(luò)分析
谷歌最新發(fā)布的安卓生態(tài)安全報告[1]顯示,截至2019年10月,安卓設(shè)備中感染潛在有害應(yīng)用程序(PHA,potentially harmful applications)的比例居高不下,至少1 470萬臺安卓設(shè)備面臨用戶數(shù)據(jù)泄露風(fēng)險。新型惡意應(yīng)用層出不窮,為了抵御惡意應(yīng)用,谷歌應(yīng)用商店每天掃描和驗證的應(yīng)用程序多達(dá)500億次。
迄今,多種安卓惡意應(yīng)用檢測系統(tǒng)被提出。具有自主學(xué)習(xí)能力的方法,如基于簽名、敏感權(quán)限的機器學(xué)習(xí)檢測方法和基于字節(jié)碼、操作碼的深度學(xué)習(xí)檢測方法,單純提取抽象字節(jié)特征,這些方法很容易被基于Jacobian的攻擊以及混淆技術(shù)所躲避[2],所以這些系統(tǒng)的魯棒性較差。進(jìn)而,基于圖匹配(控制流圖和調(diào)用圖)的檢測系統(tǒng)被提出,但圖的相似性度量是NP難題,隨著移動應(yīng)用的體積增長,圖相似性計算會產(chǎn)生難以接受的性能開銷。更重要的是,為了盡可能地提高檢測精度,先前的工作往往過量尋求特征,數(shù)萬維乃至數(shù)十萬維的冗余特征底層抽象,無法在高級語義上反映惡意應(yīng)用的行為,所以,無法對研究和發(fā)掘理解惡意特征行為模式提供支持。
調(diào)用圖類似于社交網(wǎng)絡(luò),惡意行為相關(guān)的敏感API之間具有密集的連接,但與良性API間連接稀疏。因此,本文首先利用自啟發(fā)式社交網(wǎng)絡(luò)檢測快速分割調(diào)用圖,并根據(jù)社區(qū)敏感度定位敏感社區(qū);然后將社區(qū)映射為規(guī)則圖像,并保留惡意應(yīng)用原始高級語義;最后設(shè)計并訓(xùn)練對應(yīng)圖像尺寸的卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)模型,在高效率檢測惡意應(yīng)用的同時,利用卷積層梯度權(quán)重類激活映射[3](Grad-CAM,gradient-weighted class activation mapping)的可視化方法得到API調(diào)用圖像的熱力圖,從而找出當(dāng)前應(yīng)用最可疑的API調(diào)用組合,為惡意應(yīng)用特征行為模式領(lǐng)域的研究提供高級素材。
本文的貢獻(xiàn)如下。
1) 提出了一種新穎的安卓惡意應(yīng)用檢測系統(tǒng),利用社交網(wǎng)絡(luò)檢測和統(tǒng)計規(guī)律快速分析API調(diào)用圖提取特征,輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行快速分類,在保證魯棒性的同時有效提升了系統(tǒng)檢測效率。
2) 保留了惡意應(yīng)用的原始高級語義,利用已訓(xùn)練模型,通過卷積層梯度權(quán)重可視化來挖掘惡意應(yīng)用最可疑的API調(diào)用組合,為研究惡意應(yīng)用特征行為模式提供參考。
3) 使用13 365個良性應(yīng)用和13 514個惡意應(yīng)用對原型系統(tǒng)進(jìn)行了全面評估。實驗結(jié)果表明,系統(tǒng)平均可以在23 s內(nèi)以高達(dá)93%的準(zhǔn)確率完成應(yīng)用檢測,并找到惡意應(yīng)用中最可疑的API調(diào)用組合。
很多安卓惡意應(yīng)用檢測的方法被提出。大多數(shù)方法基于機器學(xué)習(xí)尋找盡可能多的特征向量來提升檢測準(zhǔn)確率。Drebin[4]使用多種靜態(tài)分析,從應(yīng)用程序中提取盡可能多的特征,并將它們嵌入聯(lián)合特征向量中以對安卓應(yīng)用程序進(jìn)行分類。但該方法容易通過混淆技術(shù)躲避。因此,基于圖的方法被提出。DroidSIFT[5]提取加權(quán)上下文API依賴關(guān)系圖,以解決惡意應(yīng)用變種問題。Apposcopy[6]利用靜態(tài)分析提取應(yīng)用程序的數(shù)據(jù)流和控制流屬性來識別其惡意軟件家族。但是DroidSIFT[5]和Apposcopy[6]運行時開銷巨大,分別花費175.8 s和275 s來分析應(yīng)用程序。MaMaDroid[7]利用從調(diào)用圖獲得的抽象函數(shù)調(diào)用序列來構(gòu)建行為模型,并使用其提取頻率特征以進(jìn)行分類,但由于其龐大的功能集和調(diào)用圖的提取,它在分類檢測時需要大量的內(nèi)存[7]。
少數(shù)基于深度學(xué)習(xí)的方法被提出。文獻(xiàn)[8]將二進(jìn)制應(yīng)用程序轉(zhuǎn)換為灰度圖像,依據(jù)圖像上紋理布局的區(qū)別來區(qū)分不同的惡意應(yīng)用家族。文獻(xiàn)[9]進(jìn)一步提取特征,將字節(jié)碼映射為三通道的RGB圖像,然后利用卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行分類。
但以上方法所提取特征向量,無論是權(quán)限屬性、數(shù)據(jù)流屬性、調(diào)用序列頻率還是字節(jié)碼圖像,都是大量難以理解的底層抽象信息,無法幫助研究人員直觀上獲取惡意應(yīng)用的高級特征語義信息。與先前的工作不同,本文保留高級語義信息,直接將敏感API調(diào)用的組合映射為特征圖像,使已訓(xùn)練模型能夠提供惡意應(yīng)用的可疑API調(diào)用信息,并利用社交網(wǎng)絡(luò)檢測算法來處理調(diào)用圖,有效避免了混淆攻擊并大幅度降低了處理開銷,提升了檢測效率。
本文提出了一個新穎系統(tǒng),利用卷積神經(jīng)網(wǎng)絡(luò)對未知安卓應(yīng)用進(jìn)行檢測分類,進(jìn)而依托訓(xùn)練的模型,運用卷積層梯度權(quán)重類激活映射可視化算法來理解惡意應(yīng)用的惡意行為模式。
APK文件是由classes.dex文件中的Dalvik代碼和資源文件打包而成的。本文利用工具Apktool[10]將Dalvik代碼反匯編為可讀的smail中間代碼,并通過掃描所有.smail文件中的invoke語句來解析API之間的調(diào)用關(guān)系,然后利用SuSi[11]系統(tǒng)報告所總結(jié)的敏感API列表對API進(jìn)行標(biāo)記。且這類系統(tǒng)敏感API無法被混淆,而用戶自定義的函數(shù)名通常被混淆為低熵字符串等。該列表共包含25 156個敏感API,分為兩種敏感類型,即Source和Sink。其中,Source類是來獲取敏感信息的,有17類別共17 372個;Sink類是來接收敏感信息的,有19類別共7 784個。API被解析為格式{<包名: 返回值方法名(方法參數(shù))>,方法類型,方法權(quán)限,方法類別}。
其中,包名和方法名構(gòu)成一個API的實體,唯一標(biāo)識一個API。方法類型分為Source、Sink和Normal。方法權(quán)限即該敏感API申請的安卓權(quán)限。方法類別為API所屬不同敏感類別,按照API的功能劃分為26類。上述格式的每個API作為一個節(jié)點,API間的調(diào)用關(guān)系作為有向邊,構(gòu)成了對應(yīng)APK的API調(diào)用圖。
Figure 1 System overview
為了盡可能地貼近真實情況,本文從谷歌應(yīng)用商店中隨機抓取了樣本,并在2012—2018年間每個年份選取良性和惡意樣本各120個(共計1 920個)用于社交網(wǎng)絡(luò)檢測的統(tǒng)計分析。
上述數(shù)據(jù)集經(jīng)過社交網(wǎng)絡(luò)劃分后,個別社區(qū)中包含的敏感節(jié)點數(shù)目異常多。排查發(fā)現(xiàn),在異常社區(qū)中絕大部分節(jié)點連接到一個非敏感API節(jié)點{
筆者期望APK對應(yīng)的特征圖像的每一行排列一個社區(qū),以便于卷積神經(jīng)網(wǎng)絡(luò)識別。但目前社區(qū)中包含的敏感節(jié)點數(shù)仍較多且分布離散。本文對每個社區(qū)再使用Louvian[12]算法進(jìn)行一次劃分。如表1和圖2所示,二次社區(qū)劃分之后的小社區(qū)中敏感節(jié)點數(shù)目集中在2~5。
表1 社區(qū)中敏感節(jié)點分布比例
圖2 社區(qū)中敏感節(jié)點數(shù)目分布統(tǒng)計
Figure 2 Distribution statistics of the number of sensitive nodes in the community
根據(jù)上述分布結(jié)果,可以確定圖像的寬度。本文選取圖像寬度為4。這么做是基于這樣的考慮,寬度選得過窄,過小的卷積核不能有效地提取模式信息;寬度選得過大,圖像中需要填充的空白節(jié)點就會增多,從而導(dǎo)致圖像的尺寸變大,卷積神經(jīng)網(wǎng)絡(luò)模型中參數(shù)增多,訓(xùn)練和檢測分類時的開銷都增大。
3.4.1 敏感度計算
本文按照敏感度由大到小將社區(qū)中敏感節(jié)點排列為規(guī)則圖像。敏感度是一個統(tǒng)計值,借鑒了詞頻-逆文本頻率[13](TF-IDF,term frequency- inverse document frequency)的概念。TF-IDF旨在反映一個術(shù)語對語料庫中某個文檔的重要程度。
衡量一個API的敏感度,即該API出現(xiàn)所代表的發(fā)生惡意行為的可能性大小?;谶@樣的觀察:敏感API,如connect(),雖然經(jīng)常出現(xiàn)在惡意行為模式中,但良性應(yīng)用也多用它來進(jìn)行網(wǎng)絡(luò)連接。所以它的惡意敏感程度并沒有很高。參考TF-IDF,直觀上,一個API的敏感度應(yīng)該與其在惡意數(shù)據(jù)集中出現(xiàn)的頻率正相關(guān),而與其在良性數(shù)據(jù)集中出現(xiàn)的頻率負(fù)相關(guān)[14]。
本文針對目標(biāo)數(shù)據(jù)集進(jìn)行敏感度計算,根據(jù)敏感度的定義計算出的敏感度分布如圖3所示。從圖中可以看出,75%敏感API的敏感度為零,即大部分敏感API并沒有在惡意應(yīng)用數(shù)據(jù)集中出現(xiàn),而能夠體現(xiàn)惡意行為的是剩余的6 415個敏感API,其中,5 597個敏感API的敏感度低于0.2,其余具有較強惡意程度區(qū)分度的敏感API僅為818個,約占總數(shù)的3%。
Figure 3 Sensitivity distribution of sensitive API
3.4.2 確定圖像高度
如圖4所示,本文按照社區(qū)敏感度從大到小遞減依次由上到下排列社區(qū),同樣地,大社區(qū)中劃分的小社區(qū)也按照敏感度由上到下排序。而一個小社區(qū)中的敏感節(jié)點則按照敏感度由大到小遞減依次從左到右排列到圖像中。為了把整個圖像像素更緊湊地排列,本文采用如下算法:大社區(qū)內(nèi)的小社區(qū)并非嚴(yán)格由上到下排列,如果排列當(dāng)前小社區(qū)后本行剩余的空白像素能夠容納下一個小社區(qū),就在當(dāng)前行排列下一個小社區(qū);否則,另起一行。同時,為了保存大社區(qū)間的界限,大社區(qū)間強制換行隔開。這樣,相當(dāng)于將數(shù)目較小的小社區(qū)(通常是包含1到2個節(jié)點的)填充到大社區(qū)空隙中,既有效且緊湊地排列了像素,又保持了不同社區(qū)的界限。
圖4 圖像構(gòu)建方式
Figure 4 Image construction method
圖5 高度分布統(tǒng)計
Figure 5 Image height distribution statistics
表2 圖像長度效果對比
最后介紹特征圖像中實際排列的像素點。本文將敏感API按類別進(jìn)行編號并將編號歸一化后作為單通道的單通道像素。敏感的API總體可以分為兩類(Source和Sink)。Source和Sink各有17 372個和7 784個。Source類API從1開始遞增到17 372依次編號,而Sink類API從-1開始遞減到-7 784依次編號。相同類別(如網(wǎng)絡(luò)和位置相關(guān))的API會被連續(xù)編號??瞻紫袼赜?表示。為了獲得更好的分類效果,需要歸一化處理。本文把編號除以類別總數(shù)來將像素歸一化到-1~1。例如,編號為20的API{com.android.internal. telephony.sip.SipPhone: java.lang.String getLine1 AlphaTag()>, Source, UNIQUE_ IDENTIFIER,}屬于Source類,則其實際對應(yīng)的像素為20/17372= 1.15128×10-3??傮w來說,特征圖像包含了API調(diào)用組合模式、區(qū)域敏感度分布、不同的敏感API種類等信息。
卷積層梯度權(quán)重類激活映射[3]可視化是一種可以讓已訓(xùn)練的CNN模型指出圖像中作為分類依據(jù)中的區(qū)域的方法。該技術(shù)的思路是將CNN模型最后輸出歸為類別C的特征卷積層,采用反卷積(deconvolution)和導(dǎo)向反向傳播(guided-backpropagation)的方法倒推出圖像上每個像素點的對最后分類結(jié)果C權(quán)重。這樣就可以用熱力圖的形式直觀地解釋模型究竟是通過哪些像素點判定圖像的類別為C的。
表3 卷積網(wǎng)絡(luò)模型
將全部的特征圖對類別C的權(quán)重值進(jìn)行加權(quán)和計算并過濾掉負(fù)值后,得到類別C的熱力值。
表4 數(shù)據(jù)集總覽
本文通過約2 000行Python代碼實現(xiàn)了原型系統(tǒng),利用Apktool[10]進(jìn)行APK文件的反匯編,選用圖論與復(fù)雜網(wǎng)絡(luò)建模工具Networkx進(jìn)行調(diào)用圖的構(gòu)建,選用python-igraph工具包中Louvain[12]算法包進(jìn)行社區(qū)檢測,在深度學(xué)習(xí)框架Pytorch上搭建了神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò),修改了卷積可視化工具Pytorch-Grad-CAM來實現(xiàn)卷積層梯度權(quán)重可視化。實驗軟件系統(tǒng)為Ubuntu 16.04,硬件CPU為 Intel Xeon CPU E7-4820,頻率2.0 GHz,內(nèi)存為256 GB,顯卡為Tesla P100-PCIE顯存16 GB。
為了評估系統(tǒng),本文采用Android惡意軟件檢測系統(tǒng)malscan-android的數(shù)據(jù)集,從中選取了2012年—2018年7年間的13 365個良性應(yīng)用和13 514個惡意應(yīng)用,如表4所示。本文用4個指標(biāo)評估模型分類性能,分別為精確度(P,precision)、召回率(R,recall)、F-分?jǐn)?shù)(F1)和準(zhǔn)確率(A,accuracy)。
本文設(shè)置了4個實驗來驗證系統(tǒng)的效果,第1個實驗驗證模型有效性,在整體數(shù)據(jù)集上達(dá)到了93%的精確度和召回率。第2個實驗驗證系統(tǒng)的抗演化能力,即抵御惡意應(yīng)用變種的魯棒性。第3個實驗驗證與機器學(xué)習(xí)檢測方法相比,本文系統(tǒng)在性能開銷上的優(yōu)勢。第4個實驗分析驗證卷積層權(quán)重可視化來挖掘惡意軟件行為模式的正確性。
實驗1 有效性
本實驗將數(shù)據(jù)集分為80%的訓(xùn)練集和20%的驗證集,在驗證集上驗證模型的有效性。為了模型能夠盡快收斂,實驗設(shè)置的初始學(xué)習(xí)率為0.004,批處理大小為32。
表5 有效性
實驗2 魯棒性
本實驗用2015年的數(shù)據(jù)集進(jìn)行了訓(xùn)練,并依次在2016年、2017年和2018年的數(shù)據(jù)集進(jìn)行測試,結(jié)果如表6所示。實驗結(jié)果中精確度一直較高,說明模型對學(xué)習(xí)到的已有的惡意行為模式能正確識別。召回率下降比較明顯,說明系統(tǒng)的漏報率較高,主要原因是不同年份的惡意應(yīng)用的惡意模式不相同??傮w上,F(xiàn)1分?jǐn)?shù)并非逐年下降,如圖6所示,表明本系統(tǒng)具有相當(dāng)?shù)聂敯粜?,系統(tǒng)的表現(xiàn)依賴于新的未知惡意行為模式在整體數(shù)據(jù)集中的占比。
表6 魯棒性
圖6 魯棒性
Figure 6 Robustness
實驗3 運行性能
本實驗在2018年的所有惡意樣本上統(tǒng)計了方法中各個階段所需要的平均時間,如表7所示。與要提取大量特征的傳統(tǒng)機器學(xué)習(xí)方法MaMaDroid[7]和Drebin[4]相比,本文方法在檢測效率上表現(xiàn)較好。在平均情況下,反匯編階段消耗了較多時間,其次是調(diào)用圖和特征圖像構(gòu)建。如圖7所示,隨著樣本的規(guī)模變大,調(diào)用圖和特征圖像的構(gòu)建開銷顯著增大,主要是社交檢測和社區(qū)內(nèi)部多次排序的時間消耗增大。由于最終提取的特征圖像的尺寸固定,分類和可視化的時間開銷穩(wěn)定在2 s和1 s左右。
表7 運行時間
實驗4 可視化分析
本實驗對2018年的全部惡意樣本生成了熱力圖,并輸出其特征敏感API調(diào)用組合。本文挑選重點樣本說明可視化效果。以SHA256值為C0D52E768A891B5650CDE6810B6B13B2645FAFC61D7C4A70B64F06A98C70751B的樣本為例,VirusTotal[24]中21個引擎報告其為廣告惡意軟件,該樣本包含365個敏感API,特征圖像的有效像素行數(shù)為116行,剩余684行填充0。圖8左側(cè)為該樣本的熱力圖。根據(jù)熱力圖的顏色可知,神經(jīng)網(wǎng)絡(luò)判別該樣本為惡意應(yīng)用的主要依據(jù)是特征圖像上1至31行和63至74行的敏感API。該熱力圖116行以下都為暗黑色,說明神經(jīng)網(wǎng)絡(luò)辨別了填充的無效信息。熱力圖的頭部往往顏色較為明亮,說明神經(jīng)網(wǎng)絡(luò)判定的主要依據(jù)是頭部排列的敏感度較高的API。該樣本中滑動窗口內(nèi)熱力值達(dá)到最高的區(qū)域為1至4行。但這并非絕對,有些樣本的熱力值最高的區(qū)域出現(xiàn)在中上部,說明卷積神經(jīng)網(wǎng)絡(luò)是依據(jù)某些特定的API組合而不是單單依賴于敏感度最高的API進(jìn)行檢測識別。
圖7 不同大小的樣本運行時間
Figure 7 Running time of samples of different sizes
該樣本中滑動窗口找到的最可疑的API組合的調(diào)用關(guān)系如圖8中右下側(cè)所示,藍(lán)色節(jié)點是用戶自定義的普通函數(shù),紅色節(jié)點為Source類敏感節(jié)點,橘黃色節(jié)點為Sink類敏感節(jié)點。直觀上可以定位該部分惡意代碼主要位于com.iflytek.cloud.thirdparty包中ai、al、aj、w等源文件中。這些源文件經(jīng)過了混淆處理。ai中定義的b函數(shù)收集了地區(qū)信息,而且b函數(shù)通過調(diào)用al中定義的a函數(shù)間接調(diào)用al中定義的b函數(shù)來收集android.telephony等敏感信息以及w中定義的a函數(shù)來收集位置敏感信息。從調(diào)用圖中還能夠明確看出惡意應(yīng)用是通過數(shù)據(jù)結(jié)構(gòu)HashMap來進(jìn)行敏感信息的收集和傳遞??偟膩碚f,這14個API組合的主要功能是獲取位置和運營商網(wǎng)絡(luò)等設(shè)備信息。這些信息最終會被加密傳輸?shù)竭h(yuǎn)端服務(wù)器,從而便于黑色產(chǎn)業(yè)廣告商針對性地進(jìn)行流量推送,這是一般廣告惡意應(yīng)用的最常見特征行為。
圖8 樣本可視化分析
Figure 8 Visual analysis of samples
本文提出了一種新穎的安卓惡意應(yīng)用檢測系統(tǒng),利用社交網(wǎng)絡(luò)檢測和統(tǒng)計規(guī)律快速分析API調(diào)用圖提取特征,輸入卷積神經(jīng)網(wǎng)絡(luò)以高達(dá)93%的準(zhǔn)確率進(jìn)行快速分類。本文系統(tǒng)保留了惡意應(yīng)用的原始高級語義,利用已訓(xùn)練模型,通過卷積層梯度權(quán)重可視化算法來挖掘惡意應(yīng)用最可疑的API調(diào)用組合,為研究惡意應(yīng)用特征行為模式提供參考。
本文設(shè)計的系統(tǒng)雖然可以利用卷積層可視化來解釋應(yīng)用程序的惡意調(diào)用模式,但目前粒度還不夠細(xì)致,惡意信息的挖掘還不夠深入準(zhǔn)確,如何解決該問題將是下一步的研究工作。
[1] Google android security 2018 report[EB].
[2] RASTOGI V, CHEN Y, JIANG X. Catch me if you can: evaluating android anti-malware against transformation attacks[J]. IEEE Transactions on Information Forensics and Security, 2013, 9(1): 99-108.
[3] SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-cam: visual explanations from deep networks via gradient-based localization[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 618-626.
[4] ARP D, SPREITZENBARTH M, HUBNER M, et al. Drebin: effective and explainable detection of android malware in your pocket[C]//NDSS. 2014 23-26.
[5] ZHANG M, DUAN Y, YIN H, et al. Semantics-aware android malware classification using weighted contextual api dependency graphs[C]//Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014: 1105-1116.
[6] FENG Y, ANAND S, DILLIG I, et al. Apposcopy: semantics-based detection of android malware through static analysis[C]//Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014: 576-587.
[7] MARICONTI E, ONWUZURIKE L, ANDRIOTIS P, et al. Mamadroid: detecting android malware by building markov chains of behavioral models[J]. arXiv preprint arXiv:1612.04433, 2016.
[8] NATARAJ L, KARTHIKEYAN S, JACOB G, et al. Malware images: visualization and automatic classification[C]//Proceedings of the 8th International Symposium on Visualization for Cyber Security. 2011: 4.
[9] HSIEN-DE HUANG T T, KAO H Y. R2-D2: color-inspired convolutional neural network (CNN)-based android malware detections[C]//2018 IEEE International Conference on Big Data (Big Data). 2018: 2633-2642.
[10] [EB/OL]. https://ibotpeaches.github.io/Apktool.
[11] RASTHOFER S, ARZT S, BODDEN E. A machine-learning approach for classifying and categorizing android sources and sinks[C]//NDSS. 2014: 1125.
[12] BLONDEL V D, GUILLAUME J L, LAMBIOTTE R, et al. Fast unfolding of communities in large networks[J]. Journal of Statistical Mechanics: Theory and Experiment, 2008(10): 10008.
[13] WU H C, LUK R W P, WONG K F, et al. Interpreting TF-IDF term weights as making relevance decisions[J]. ACM Transactions on Information Systems (TOIS), 2008, 26(3): 13.
[14] FAN M, LIU J, WANG W, et al. Dapasa: detecting android piggybacked apps through sensitive subgraph analysis[J]. IEEE Transactions on Information Forensics and Security, 2017, 12(8): 1772-1785.
[15] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
[16] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.
[17] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 770-778.
Mining behavior pattern of mobile malware with convolutional neural network
ZHANG Xin, QIANG Weizhong, WU Yueming, ZOU Deqing, JIN Hai
School of Cyber Science & Engineering, Huazhong University of Science and Technology, Wuhan 430074, China
The features extracted by existing malicious Android application detection methods are redundant and too abstract to reflect the behavior patterns of malicious applications in high-level semantics. In order to solve this problem, an interpretable detection method was proposed. Suspicious system call combinations clustering by social network analysis was converted to a single channel image. Convolution neural network was applied to classify Android application. The model trained was used to find the most suspicious system call combinations by convolution layer gradient weight classification activation mapping algorithm, thus mining and understanding malicious application behavior. The experimental results show that the method can correctly discover the behavior patterns of malicious applications on the basis of efficient detection.
Android, rapid detection, convolutional neural network, social network analysis
TP393
A
2020?01?05;
2020?06?20
羌衛(wèi)中,wzqiang@hust.edu.cn
國家自然科學(xué)基金(61772221);國家重點研發(fā)計劃(2017YFB0802205)
10.11959/j.issn.2096?109x.2020073
張鑫(1993? ),男,河南汝州人,華中科技大學(xué)碩士生,主要研究方向為惡意軟件檢測。
羌衛(wèi)中(1977? ),男,江蘇南通人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向為系統(tǒng)安全及軟件安全。
吳月明(1993? ),男,湖北洪湖人,華中科技大學(xué)博士生,主要研究方向為惡意軟件檢測、漏洞檢測。
鄒德清(1975? ),男,湖南湘潭人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向為軟件安全。
金海(1966? ),男,上海人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向為分布式計算。
論文引用格式:張鑫, 羌衛(wèi)中, 吳月明, 等. 基于卷積神經(jīng)網(wǎng)絡(luò)惡意安卓應(yīng)用行為模式挖掘[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2020, 6(6): 35-44.
ZHANG X, QIANG W Z, WU Y M, et al. Mining behavior pattern of mobile malware with convolutional neural network[J]. Chinese Journal of Network and Information Security, 2020, 6(6): 35-44.
s: TheNational Natural Science Foundation of China (61772221), The National Key Research & Development (R&D) Plan of China (2017YFB0802205)