国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卷積神經(jīng)網(wǎng)絡(luò)惡意安卓應(yīng)用行為模式挖掘

2020-12-18 00:27:58張?chǎng)?/span>羌衛(wèi)中吳月明鄒德清金海
關(guān)鍵詞:安卓調(diào)用敏感度

張?chǎng)危夹l(wèi)中,吳月明,鄒德清,金海

基于卷積神經(jīng)網(wǎng)絡(luò)惡意安卓應(yīng)用行為模式挖掘

張?chǎng)危夹l(wèi)中,吳月明,鄒德清,金海

(華中科技大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,湖北 武漢 430074)

現(xiàn)有的安卓惡意應(yīng)用檢測(cè)方法所提取的特征冗余且抽象,無(wú)法在高級(jí)語(yǔ)義上反映惡意應(yīng)用的行為模式。針對(duì)這一問(wèn)題,提出一種可解釋性檢測(cè)方法,通過(guò)社交網(wǎng)絡(luò)檢測(cè)算法聚類(lèi)可疑系統(tǒng)調(diào)用組合,將其映射為單通道圖像,用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi),并利用卷積層梯度權(quán)重類(lèi)激活映射可視化方法發(fā)現(xiàn)最可疑的系統(tǒng)調(diào)用組合,從而挖掘理解惡意應(yīng)用行為。實(shí)驗(yàn)結(jié)果表明,所提方法在高效檢測(cè)的基礎(chǔ)上,能夠正確發(fā)現(xiàn)惡意應(yīng)用的行為模式。

安卓;快速檢測(cè);卷積神經(jīng)網(wǎng)絡(luò);社交網(wǎng)絡(luò)分析

1 引言

谷歌最新發(fā)布的安卓生態(tài)安全報(bào)告[1]顯示,截至2019年10月,安卓設(shè)備中感染潛在有害應(yīng)用程序(PHA,potentially harmful applications)的比例居高不下,至少1 470萬(wàn)臺(tái)安卓設(shè)備面臨用戶(hù)數(shù)據(jù)泄露風(fēng)險(xiǎn)。新型惡意應(yīng)用層出不窮,為了抵御惡意應(yīng)用,谷歌應(yīng)用商店每天掃描和驗(yàn)證的應(yīng)用程序多達(dá)500億次。

迄今,多種安卓惡意應(yīng)用檢測(cè)系統(tǒng)被提出。具有自主學(xué)習(xí)能力的方法,如基于簽名、敏感權(quán)限的機(jī)器學(xué)習(xí)檢測(cè)方法和基于字節(jié)碼、操作碼的深度學(xué)習(xí)檢測(cè)方法,單純提取抽象字節(jié)特征,這些方法很容易被基于Jacobian的攻擊以及混淆技術(shù)所躲避[2],所以這些系統(tǒng)的魯棒性較差。進(jìn)而,基于圖匹配(控制流圖和調(diào)用圖)的檢測(cè)系統(tǒng)被提出,但圖的相似性度量是NP難題,隨著移動(dòng)應(yīng)用的體積增長(zhǎng),圖相似性計(jì)算會(huì)產(chǎn)生難以接受的性能開(kāi)銷(xiāo)。更重要的是,為了盡可能地提高檢測(cè)精度,先前的工作往往過(guò)量尋求特征,數(shù)萬(wàn)維乃至數(shù)十萬(wàn)維的冗余特征底層抽象,無(wú)法在高級(jí)語(yǔ)義上反映惡意應(yīng)用的行為,所以,無(wú)法對(duì)研究和發(fā)掘理解惡意特征行為模式提供支持。

調(diào)用圖類(lèi)似于社交網(wǎng)絡(luò),惡意行為相關(guān)的敏感API之間具有密集的連接,但與良性API間連接稀疏。因此,本文首先利用自啟發(fā)式社交網(wǎng)絡(luò)檢測(cè)快速分割調(diào)用圖,并根據(jù)社區(qū)敏感度定位敏感社區(qū);然后將社區(qū)映射為規(guī)則圖像,并保留惡意應(yīng)用原始高級(jí)語(yǔ)義;最后設(shè)計(jì)并訓(xùn)練對(duì)應(yīng)圖像尺寸的卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)模型,在高效率檢測(cè)惡意應(yīng)用的同時(shí),利用卷積層梯度權(quán)重類(lèi)激活映射[3](Grad-CAM,gradient-weighted class activation mapping)的可視化方法得到API調(diào)用圖像的熱力圖,從而找出當(dāng)前應(yīng)用最可疑的API調(diào)用組合,為惡意應(yīng)用特征行為模式領(lǐng)域的研究提供高級(jí)素材。

本文的貢獻(xiàn)如下。

1) 提出了一種新穎的安卓惡意應(yīng)用檢測(cè)系統(tǒng),利用社交網(wǎng)絡(luò)檢測(cè)和統(tǒng)計(jì)規(guī)律快速分析API調(diào)用圖提取特征,輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行快速分類(lèi),在保證魯棒性的同時(shí)有效提升了系統(tǒng)檢測(cè)效率。

2) 保留了惡意應(yīng)用的原始高級(jí)語(yǔ)義,利用已訓(xùn)練模型,通過(guò)卷積層梯度權(quán)重可視化來(lái)挖掘惡意應(yīng)用最可疑的API調(diào)用組合,為研究惡意應(yīng)用特征行為模式提供參考。

3) 使用13 365個(gè)良性應(yīng)用和13 514個(gè)惡意應(yīng)用對(duì)原型系統(tǒng)進(jìn)行了全面評(píng)估。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)平均可以在23 s內(nèi)以高達(dá)93%的準(zhǔn)確率完成應(yīng)用檢測(cè),并找到惡意應(yīng)用中最可疑的API調(diào)用組合。

2 相關(guān)工作

很多安卓惡意應(yīng)用檢測(cè)的方法被提出。大多數(shù)方法基于機(jī)器學(xué)習(xí)尋找盡可能多的特征向量來(lái)提升檢測(cè)準(zhǔn)確率。Drebin[4]使用多種靜態(tài)分析,從應(yīng)用程序中提取盡可能多的特征,并將它們嵌入聯(lián)合特征向量中以對(duì)安卓應(yīng)用程序進(jìn)行分類(lèi)。但該方法容易通過(guò)混淆技術(shù)躲避。因此,基于圖的方法被提出。DroidSIFT[5]提取加權(quán)上下文API依賴(lài)關(guān)系圖,以解決惡意應(yīng)用變種問(wèn)題。Apposcopy[6]利用靜態(tài)分析提取應(yīng)用程序的數(shù)據(jù)流和控制流屬性來(lái)識(shí)別其惡意軟件家族。但是DroidSIFT[5]和Apposcopy[6]運(yùn)行時(shí)開(kāi)銷(xiāo)巨大,分別花費(fèi)175.8 s和275 s來(lái)分析應(yīng)用程序。MaMaDroid[7]利用從調(diào)用圖獲得的抽象函數(shù)調(diào)用序列來(lái)構(gòu)建行為模型,并使用其提取頻率特征以進(jìn)行分類(lèi),但由于其龐大的功能集和調(diào)用圖的提取,它在分類(lèi)檢測(cè)時(shí)需要大量的內(nèi)存[7]。

少數(shù)基于深度學(xué)習(xí)的方法被提出。文獻(xiàn)[8]將二進(jìn)制應(yīng)用程序轉(zhuǎn)換為灰度圖像,依據(jù)圖像上紋理布局的區(qū)別來(lái)區(qū)分不同的惡意應(yīng)用家族。文獻(xiàn)[9]進(jìn)一步提取特征,將字節(jié)碼映射為三通道的RGB圖像,然后利用卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行分類(lèi)。

但以上方法所提取特征向量,無(wú)論是權(quán)限屬性、數(shù)據(jù)流屬性、調(diào)用序列頻率還是字節(jié)碼圖像,都是大量難以理解的底層抽象信息,無(wú)法幫助研究人員直觀上獲取惡意應(yīng)用的高級(jí)特征語(yǔ)義信息。與先前的工作不同,本文保留高級(jí)語(yǔ)義信息,直接將敏感API調(diào)用的組合映射為特征圖像,使已訓(xùn)練模型能夠提供惡意應(yīng)用的可疑API調(diào)用信息,并利用社交網(wǎng)絡(luò)檢測(cè)算法來(lái)處理調(diào)用圖,有效避免了混淆攻擊并大幅度降低了處理開(kāi)銷(xiāo),提升了檢測(cè)效率。

3 系統(tǒng)模型

3.1 系統(tǒng)總覽

本文提出了一個(gè)新穎系統(tǒng),利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)未知安卓應(yīng)用進(jìn)行檢測(cè)分類(lèi),進(jìn)而依托訓(xùn)練的模型,運(yùn)用卷積層梯度權(quán)重類(lèi)激活映射可視化算法來(lái)理解惡意應(yīng)用的惡意行為模式。

3.2 提取調(diào)用圖

APK文件是由classes.dex文件中的Dalvik代碼和資源文件打包而成的。本文利用工具Apktool[10]將Dalvik代碼反匯編為可讀的smail中間代碼,并通過(guò)掃描所有.smail文件中的invoke語(yǔ)句來(lái)解析API之間的調(diào)用關(guān)系,然后利用SuSi[11]系統(tǒng)報(bào)告所總結(jié)的敏感API列表對(duì)API進(jìn)行標(biāo)記。且這類(lèi)系統(tǒng)敏感API無(wú)法被混淆,而用戶(hù)自定義的函數(shù)名通常被混淆為低熵字符串等。該列表共包含25 156個(gè)敏感API,分為兩種敏感類(lèi)型,即Source和Sink。其中,Source類(lèi)是來(lái)獲取敏感信息的,有17類(lèi)別共17 372個(gè);Sink類(lèi)是來(lái)接收敏感信息的,有19類(lèi)別共7 784個(gè)。API被解析為格式{<包名: 返回值方法名(方法參數(shù))>,方法類(lèi)型,方法權(quán)限,方法類(lèi)別}。

其中,包名和方法名構(gòu)成一個(gè)API的實(shí)體,唯一標(biāo)識(shí)一個(gè)API。方法類(lèi)型分為Source、Sink和Normal。方法權(quán)限即該敏感API申請(qǐng)的安卓權(quán)限。方法類(lèi)別為API所屬不同敏感類(lèi)別,按照API的功能劃分為26類(lèi)。上述格式的每個(gè)API作為一個(gè)節(jié)點(diǎn),API間的調(diào)用關(guān)系作為有向邊,構(gòu)成了對(duì)應(yīng)APK的API調(diào)用圖。

3.3 社交網(wǎng)絡(luò)檢測(cè)

Figure 1 System overview

為了盡可能地貼近真實(shí)情況,本文從谷歌應(yīng)用商店中隨機(jī)抓取了樣本,并在2012—2018年間每個(gè)年份選取良性和惡意樣本各120個(gè)(共計(jì)1 920個(gè))用于社交網(wǎng)絡(luò)檢測(cè)的統(tǒng)計(jì)分析。

上述數(shù)據(jù)集經(jīng)過(guò)社交網(wǎng)絡(luò)劃分后,個(gè)別社區(qū)中包含的敏感節(jié)點(diǎn)數(shù)目異常多。排查發(fā)現(xiàn),在異常社區(qū)中絕大部分節(jié)點(diǎn)連接到一個(gè)非敏感API節(jié)點(diǎn){,Normal}。它是java運(yùn)行時(shí)異常處理API。大部分自定義的方法中包含異常處理。這種“超級(jí)節(jié)點(diǎn)”的存在,把原本不存在關(guān)系的敏感節(jié)點(diǎn)聯(lián)系在一起,破壞了社區(qū)劃分的結(jié)構(gòu)。所以,在構(gòu)建調(diào)用圖時(shí),需要過(guò)濾掉該節(jié)點(diǎn)再進(jìn)行社區(qū)檢測(cè)。

筆者期望APK對(duì)應(yīng)的特征圖像的每一行排列一個(gè)社區(qū),以便于卷積神經(jīng)網(wǎng)絡(luò)識(shí)別。但目前社區(qū)中包含的敏感節(jié)點(diǎn)數(shù)仍較多且分布離散。本文對(duì)每個(gè)社區(qū)再使用Louvian[12]算法進(jìn)行一次劃分。如表1和圖2所示,二次社區(qū)劃分之后的小社區(qū)中敏感節(jié)點(diǎn)數(shù)目集中在2~5。

表1 社區(qū)中敏感節(jié)點(diǎn)分布比例

圖2 社區(qū)中敏感節(jié)點(diǎn)數(shù)目分布統(tǒng)計(jì)

Figure 2 Distribution statistics of the number of sensitive nodes in the community

根據(jù)上述分布結(jié)果,可以確定圖像的寬度。本文選取圖像寬度為4。這么做是基于這樣的考慮,寬度選得過(guò)窄,過(guò)小的卷積核不能有效地提取模式信息;寬度選得過(guò)大,圖像中需要填充的空白節(jié)點(diǎn)就會(huì)增多,從而導(dǎo)致圖像的尺寸變大,卷積神經(jīng)網(wǎng)絡(luò)模型中參數(shù)增多,訓(xùn)練和檢測(cè)分類(lèi)時(shí)的開(kāi)銷(xiāo)都增大。

3.4 構(gòu)建規(guī)則圖像

3.4.1 敏感度計(jì)算

本文按照敏感度由大到小將社區(qū)中敏感節(jié)點(diǎn)排列為規(guī)則圖像。敏感度是一個(gè)統(tǒng)計(jì)值,借鑒了詞頻-逆文本頻率[13](TF-IDF,term frequency- inverse document frequency)的概念。TF-IDF旨在反映一個(gè)術(shù)語(yǔ)對(duì)語(yǔ)料庫(kù)中某個(gè)文檔的重要程度。

衡量一個(gè)API的敏感度,即該API出現(xiàn)所代表的發(fā)生惡意行為的可能性大小?;谶@樣的觀察:敏感API,如connect(),雖然經(jīng)常出現(xiàn)在惡意行為模式中,但良性應(yīng)用也多用它來(lái)進(jìn)行網(wǎng)絡(luò)連接。所以它的惡意敏感程度并沒(méi)有很高。參考TF-IDF,直觀上,一個(gè)API的敏感度應(yīng)該與其在惡意數(shù)據(jù)集中出現(xiàn)的頻率正相關(guān),而與其在良性數(shù)據(jù)集中出現(xiàn)的頻率負(fù)相關(guān)[14]。

本文針對(duì)目標(biāo)數(shù)據(jù)集進(jìn)行敏感度計(jì)算,根據(jù)敏感度的定義計(jì)算出的敏感度分布如圖3所示。從圖中可以看出,75%敏感API的敏感度為零,即大部分敏感API并沒(méi)有在惡意應(yīng)用數(shù)據(jù)集中出現(xiàn),而能夠體現(xiàn)惡意行為的是剩余的6 415個(gè)敏感API,其中,5 597個(gè)敏感API的敏感度低于0.2,其余具有較強(qiáng)惡意程度區(qū)分度的敏感API僅為818個(gè),約占總數(shù)的3%。

Figure 3 Sensitivity distribution of sensitive API

3.4.2 確定圖像高度

如圖4所示,本文按照社區(qū)敏感度從大到小遞減依次由上到下排列社區(qū),同樣地,大社區(qū)中劃分的小社區(qū)也按照敏感度由上到下排序。而一個(gè)小社區(qū)中的敏感節(jié)點(diǎn)則按照敏感度由大到小遞減依次從左到右排列到圖像中。為了把整個(gè)圖像像素更緊湊地排列,本文采用如下算法:大社區(qū)內(nèi)的小社區(qū)并非嚴(yán)格由上到下排列,如果排列當(dāng)前小社區(qū)后本行剩余的空白像素能夠容納下一個(gè)小社區(qū),就在當(dāng)前行排列下一個(gè)小社區(qū);否則,另起一行。同時(shí),為了保存大社區(qū)間的界限,大社區(qū)間強(qiáng)制換行隔開(kāi)。這樣,相當(dāng)于將數(shù)目較小的小社區(qū)(通常是包含1到2個(gè)節(jié)點(diǎn)的)填充到大社區(qū)空隙中,既有效且緊湊地排列了像素,又保持了不同社區(qū)的界限。

圖4 圖像構(gòu)建方式

Figure 4 Image construction method

圖5 高度分布統(tǒng)計(jì)

Figure 5 Image height distribution statistics

表2 圖像長(zhǎng)度效果對(duì)比

最后介紹特征圖像中實(shí)際排列的像素點(diǎn)。本文將敏感API按類(lèi)別進(jìn)行編號(hào)并將編號(hào)歸一化后作為單通道的單通道像素。敏感的API總體可以分為兩類(lèi)(Source和Sink)。Source和Sink各有17 372個(gè)和7 784個(gè)。Source類(lèi)API從1開(kāi)始遞增到17 372依次編號(hào),而Sink類(lèi)API從-1開(kāi)始遞減到-7 784依次編號(hào)。相同類(lèi)別(如網(wǎng)絡(luò)和位置相關(guān))的API會(huì)被連續(xù)編號(hào)??瞻紫袼赜?表示。為了獲得更好的分類(lèi)效果,需要?dú)w一化處理。本文把編號(hào)除以類(lèi)別總數(shù)來(lái)將像素歸一化到-1~1。例如,編號(hào)為20的API{com.android.internal. telephony.sip.SipPhone: java.lang.String getLine1 AlphaTag()>, Source, UNIQUE_ IDENTIFIER,}屬于Source類(lèi),則其實(shí)際對(duì)應(yīng)的像素為20/17372= 1.15128×10-3。總體來(lái)說(shuō),特征圖像包含了API調(diào)用組合模式、區(qū)域敏感度分布、不同的敏感API種類(lèi)等信息。

3.5 卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)

3.6 卷積層可視化分析

卷積層梯度權(quán)重類(lèi)激活映射[3]可視化是一種可以讓已訓(xùn)練的CNN模型指出圖像中作為分類(lèi)依據(jù)中的區(qū)域的方法。該技術(shù)的思路是將CNN模型最后輸出歸為類(lèi)別C的特征卷積層,采用反卷積(deconvolution)和導(dǎo)向反向傳播(guided-backpropagation)的方法倒推出圖像上每個(gè)像素點(diǎn)的對(duì)最后分類(lèi)結(jié)果C權(quán)重。這樣就可以用熱力圖的形式直觀地解釋模型究竟是通過(guò)哪些像素點(diǎn)判定圖像的類(lèi)別為C的。

表3 卷積網(wǎng)絡(luò)模型

將全部的特征圖對(duì)類(lèi)別C的權(quán)重值進(jìn)行加權(quán)和計(jì)算并過(guò)濾掉負(fù)值后,得到類(lèi)別C的熱力值。

表4 數(shù)據(jù)集總覽

4 評(píng)估實(shí)驗(yàn)

4.1 實(shí)驗(yàn)設(shè)置

本文通過(guò)約2 000行Python代碼實(shí)現(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ū)檢測(cè),在深度學(xué)習(xí)框架Pytorch上搭建了神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò),修改了卷積可視化工具Pytorch-Grad-CAM來(lái)實(shí)現(xiàn)卷積層梯度權(quán)重可視化。實(shí)驗(yàn)軟件系統(tǒng)為Ubuntu 16.04,硬件CPU為 Intel Xeon CPU E7-4820,頻率2.0 GHz,內(nèi)存為256 GB,顯卡為T(mén)esla P100-PCIE顯存16 GB。

為了評(píng)估系統(tǒng),本文采用Android惡意軟件檢測(cè)系統(tǒng)malscan-android的數(shù)據(jù)集,從中選取了2012年—2018年7年間的13 365個(gè)良性應(yīng)用和13 514個(gè)惡意應(yīng)用,如表4所示。本文用4個(gè)指標(biāo)評(píng)估模型分類(lèi)性能,分別為精確度(P,precision)、召回率(R,recall)、F-分?jǐn)?shù)(F1)和準(zhǔn)確率(A,accuracy)。

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

本文設(shè)置了4個(gè)實(shí)驗(yàn)來(lái)驗(yàn)證系統(tǒng)的效果,第1個(gè)實(shí)驗(yàn)驗(yàn)證模型有效性,在整體數(shù)據(jù)集上達(dá)到了93%的精確度和召回率。第2個(gè)實(shí)驗(yàn)驗(yàn)證系統(tǒng)的抗演化能力,即抵御惡意應(yīng)用變種的魯棒性。第3個(gè)實(shí)驗(yàn)驗(yàn)證與機(jī)器學(xué)習(xí)檢測(cè)方法相比,本文系統(tǒng)在性能開(kāi)銷(xiāo)上的優(yōu)勢(shì)。第4個(gè)實(shí)驗(yàn)分析驗(yàn)證卷積層權(quán)重可視化來(lái)挖掘惡意軟件行為模式的正確性。

實(shí)驗(yàn)1 有效性

本實(shí)驗(yàn)將數(shù)據(jù)集分為80%的訓(xùn)練集和20%的驗(yàn)證集,在驗(yàn)證集上驗(yàn)證模型的有效性。為了模型能夠盡快收斂,實(shí)驗(yàn)設(shè)置的初始學(xué)習(xí)率為0.004,批處理大小為32。

表5 有效性

實(shí)驗(yàn)2 魯棒性

本實(shí)驗(yàn)用2015年的數(shù)據(jù)集進(jìn)行了訓(xùn)練,并依次在2016年、2017年和2018年的數(shù)據(jù)集進(jìn)行測(cè)試,結(jié)果如表6所示。實(shí)驗(yàn)結(jié)果中精確度一直較高,說(shuō)明模型對(duì)學(xué)習(xí)到的已有的惡意行為模式能正確識(shí)別。召回率下降比較明顯,說(shuō)明系統(tǒng)的漏報(bào)率較高,主要原因是不同年份的惡意應(yīng)用的惡意模式不相同??傮w上,F(xiàn)1分?jǐn)?shù)并非逐年下降,如圖6所示,表明本系統(tǒng)具有相當(dāng)?shù)聂敯粜?,系統(tǒng)的表現(xiàn)依賴(lài)于新的未知惡意行為模式在整體數(shù)據(jù)集中的占比。

表6 魯棒性

圖6 魯棒性

Figure 6 Robustness

實(shí)驗(yàn)3 運(yùn)行性能

本實(shí)驗(yàn)在2018年的所有惡意樣本上統(tǒng)計(jì)了方法中各個(gè)階段所需要的平均時(shí)間,如表7所示。與要提取大量特征的傳統(tǒng)機(jī)器學(xué)習(xí)方法MaMaDroid[7]和Drebin[4]相比,本文方法在檢測(cè)效率上表現(xiàn)較好。在平均情況下,反匯編階段消耗了較多時(shí)間,其次是調(diào)用圖和特征圖像構(gòu)建。如圖7所示,隨著樣本的規(guī)模變大,調(diào)用圖和特征圖像的構(gòu)建開(kāi)銷(xiāo)顯著增大,主要是社交檢測(cè)和社區(qū)內(nèi)部多次排序的時(shí)間消耗增大。由于最終提取的特征圖像的尺寸固定,分類(lèi)和可視化的時(shí)間開(kāi)銷(xiāo)穩(wěn)定在2 s和1 s左右。

表7 運(yùn)行時(shí)間

實(shí)驗(yàn)4 可視化分析

本實(shí)驗(yàn)對(duì)2018年的全部惡意樣本生成了熱力圖,并輸出其特征敏感API調(diào)用組合。本文挑選重點(diǎn)樣本說(shuō)明可視化效果。以SHA256值為C0D52E768A891B5650CDE6810B6B13B2645FAFC61D7C4A70B64F06A98C70751B的樣本為例,VirusTotal[24]中21個(gè)引擎報(bào)告其為廣告惡意軟件,該樣本包含365個(gè)敏感API,特征圖像的有效像素行數(shù)為116行,剩余684行填充0。圖8左側(cè)為該樣本的熱力圖。根據(jù)熱力圖的顏色可知,神經(jīng)網(wǎng)絡(luò)判別該樣本為惡意應(yīng)用的主要依據(jù)是特征圖像上1至31行和63至74行的敏感API。該熱力圖116行以下都為暗黑色,說(shuō)明神經(jīng)網(wǎng)絡(luò)辨別了填充的無(wú)效信息。熱力圖的頭部往往顏色較為明亮,說(shuō)明神經(jīng)網(wǎng)絡(luò)判定的主要依據(jù)是頭部排列的敏感度較高的API。該樣本中滑動(dòng)窗口內(nèi)熱力值達(dá)到最高的區(qū)域?yàn)?至4行。但這并非絕對(duì),有些樣本的熱力值最高的區(qū)域出現(xiàn)在中上部,說(shuō)明卷積神經(jīng)網(wǎng)絡(luò)是依據(jù)某些特定的API組合而不是單單依賴(lài)于敏感度最高的API進(jìn)行檢測(cè)識(shí)別。

圖7 不同大小的樣本運(yùn)行時(shí)間

Figure 7 Running time of samples of different sizes

該樣本中滑動(dòng)窗口找到的最可疑的API組合的調(diào)用關(guān)系如圖8中右下側(cè)所示,藍(lán)色節(jié)點(diǎn)是用戶(hù)自定義的普通函數(shù),紅色節(jié)點(diǎn)為Source類(lèi)敏感節(jié)點(diǎn),橘黃色節(jié)點(diǎn)為Sink類(lèi)敏感節(jié)點(diǎn)。直觀上可以定位該部分惡意代碼主要位于com.iflytek.cloud.thirdparty包中ai、al、aj、w等源文件中。這些源文件經(jīng)過(guò)了混淆處理。ai中定義的b函數(shù)收集了地區(qū)信息,而且b函數(shù)通過(guò)調(diào)用al中定義的a函數(shù)間接調(diào)用al中定義的b函數(shù)來(lái)收集android.telephony等敏感信息以及w中定義的a函數(shù)來(lái)收集位置敏感信息。從調(diào)用圖中還能夠明確看出惡意應(yīng)用是通過(guò)數(shù)據(jù)結(jié)構(gòu)HashMap來(lái)進(jìn)行敏感信息的收集和傳遞。總的來(lái)說(shuō),這14個(gè)API組合的主要功能是獲取位置和運(yùn)營(yíng)商網(wǎng)絡(luò)等設(shè)備信息。這些信息最終會(huì)被加密傳輸?shù)竭h(yuǎn)端服務(wù)器,從而便于黑色產(chǎn)業(yè)廣告商針對(duì)性地進(jìn)行流量推送,這是一般廣告惡意應(yīng)用的最常見(jiàn)特征行為。

圖8 樣本可視化分析

Figure 8 Visual analysis of samples

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

本文提出了一種新穎的安卓惡意應(yīng)用檢測(cè)系統(tǒng),利用社交網(wǎng)絡(luò)檢測(cè)和統(tǒng)計(jì)規(guī)律快速分析API調(diào)用圖提取特征,輸入卷積神經(jīng)網(wǎng)絡(luò)以高達(dá)93%的準(zhǔn)確率進(jìn)行快速分類(lèi)。本文系統(tǒng)保留了惡意應(yīng)用的原始高級(jí)語(yǔ)義,利用已訓(xùn)練模型,通過(guò)卷積層梯度權(quán)重可視化算法來(lái)挖掘惡意應(yīng)用最可疑的API調(diào)用組合,為研究惡意應(yīng)用特征行為模式提供參考。

本文設(shè)計(jì)的系統(tǒng)雖然可以利用卷積層可視化來(lái)解釋?xiě)?yīng)用程序的惡意調(diào)用模式,但目前粒度還不夠細(xì)致,惡意信息的挖掘還不夠深入準(zhǔn)確,如何解決該問(wè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

國(guó)家自然科學(xué)基金(61772221);國(guó)家重點(diǎn)研發(fā)計(jì)劃(2017YFB0802205)

10.11959/j.issn.2096?109x.2020073

張?chǎng)危?993? ),男,河南汝州人,華中科技大學(xué)碩士生,主要研究方向?yàn)閻阂廛浖z測(cè)。

羌衛(wèi)中(1977? ),男,江蘇南通人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)橄到y(tǒng)安全及軟件安全。

吳月明(1993? ),男,湖北洪湖人,華中科技大學(xué)博士生,主要研究方向?yàn)閻阂廛浖z測(cè)、漏洞檢測(cè)。

鄒德清(1975? ),男,湖南湘潭人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)檐浖踩?/p>

金海(1966? ),男,上海人,博士,華中科技大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)榉植际接?jì)算。

論文引用格式:張?chǎng)? 羌衛(wèi)中, 吳月明, 等. 基于卷積神經(jīng)網(wǎng)絡(luò)惡意安卓應(yīng)用行為模式挖掘[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 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)

猜你喜歡
安卓調(diào)用敏感度
全體外預(yù)應(yīng)力節(jié)段梁動(dòng)力特性對(duì)于接縫的敏感度研究
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
文物表情包
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
電視臺(tái)記者新聞敏感度培養(yǎng)策略
新聞傳播(2018年10期)2018-08-16 02:10:16
在京韓國(guó)留學(xué)生跨文化敏感度實(shí)證研究
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
一種基于安卓系統(tǒng)的手機(jī)側(cè)抓包分析方法
Diodes高性能汽車(chē)霍爾效應(yīng)閉鎖提供多種敏感度選擇
安卓L未至安卓M來(lái)了!安卓首泄漏M系統(tǒng)
贵溪市| 平果县| 甘肃省| 格尔木市| 五大连池市| 长岭县| 廉江市| 达尔| 安达市| 东平县| 大荔县| 阿巴嘎旗| 高安市| 泰州市| 太仓市| 长子县| 观塘区| 禹州市| 高安市| 体育| 开远市| 祁阳县| 丹东市| 富宁县| 铜鼓县| 原平市| 钟山县| 卢湾区| 独山县| 洞头县| 宜君县| 青河县| 柘城县| 得荣县| 河东区| 铜陵市| 平南县| 泸西县| 永登县| 万源市| 清远市|