亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GCN的安卓惡意軟件檢測模型

        2020-07-26 14:23:53張雪濤王金雙孫蒙
        軟件導(dǎo)刊 2020年7期

        張雪濤 王金雙 孫蒙

        摘 要:函數(shù)調(diào)用圖存在規(guī)模過大、無關(guān)信息過多等缺陷。為實(shí)現(xiàn)函數(shù)調(diào)用圖的高效分析,對安卓惡意軟件的惡意代碼模式進(jìn)行挖掘,提出一種基于圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)的敏感API調(diào)用模式,并設(shè)計(jì)相應(yīng)的函數(shù)調(diào)用圖精簡方法,以及敏感API權(quán)重評價(jià)方法,有效降低了函數(shù)調(diào)用圖規(guī)模,實(shí)現(xiàn)對敏感API調(diào)用模式的挖掘。檢測模型綜合了安卓惡意軟件操作碼特征、敏感權(quán)限特征、敏感函數(shù)調(diào)用頻度特征,構(gòu)建了基于多特征融合的安卓惡意軟件檢測系統(tǒng),進(jìn)一步提升了檢測精度。數(shù)據(jù)集測試驗(yàn)證了API調(diào)用模式特征以及集成檢測模型的有效性。

        關(guān)鍵詞:圖嵌入;圖卷積神經(jīng)網(wǎng)絡(luò);惡意軟件檢測;多特征

        DOI:10. 11907/rjdk. 192427 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

        中圖分類號:TP309文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2020)007-0187-07

        GCN-based Android Malware Detection Model

        ZHANG Xue-tao, WANG Jin-shuang, SUN Meng

        (Command & Control Engineering College, Army Engineering University of PLA, Nanjing 210007, China)

        Abstract:The function call graph (FCG) of the APK is too large and carries redundant information. To achieve efficient analysis of the FCG, and represent the calling mode of sensitive APIs, we propose a sensitive API call mode feature. A function call graph reduction method and a sensitive API weight evaluation method are proposed, which effectively reduces the size of the FCG and realizes the mining of the calling mode of the sensitive API. Besides, opcode frequency feature, sensitive permission feature and API frequency feature are introduced for further detection model improvement. Experiment results show that the API call model feature and integrated detection model are effective.

        Key Words:graph embedding; graph convolutional networks; malware detection; multi-feature

        0 引言

        受經(jīng)濟(jì)利益驅(qū)使,針對智能手機(jī)平臺的攻擊行為不斷增長,惡意軟件則是攻擊行為的重要載體[1]。相關(guān)研究報(bào)告顯示,Android平臺是最大的移動智能設(shè)備終端系統(tǒng)平臺,全球已經(jīng)有超過10億臺安卓設(shè)備售出,GooglePlay應(yīng)用商店下載量累計(jì)超過650億次[2]。隨著Android平臺應(yīng)用數(shù)量的快速增長,針對Android設(shè)備的惡意軟件也在快速擴(kuò)充。McAfee的年度報(bào)告顯示,安卓平臺累計(jì)檢測到了1 200萬個(gè)惡意軟件樣本,每年惡意軟件增加250萬[3]。隨著安卓平臺惡意軟件數(shù)量不斷增長,基于機(jī)器學(xué)習(xí)的安卓惡意軟件檢測技術(shù)應(yīng)運(yùn)而生。

        現(xiàn)階段安卓惡意軟件獲取多通過將惡意代碼或廣告等惡意模塊植入良性軟件產(chǎn)生。在安卓惡意軟件產(chǎn)業(yè)鏈中已出現(xiàn)了例如TDKs的安卓勒索軟件批量生成工具。Zhou等[4]指出,超過86%的安卓惡意軟件由重打包產(chǎn)生,故多數(shù)同類型安卓惡意軟件雖基于不同載體軟件重打包獲得,但同類型惡意軟件之間多存在相同或相似的惡意代碼執(zhí)行模式。而基于敏感權(quán)限頻度特征、操作碼頻度特征的檢測方法,側(cè)重于對惡意軟件整體進(jìn)行特征提取,無法準(zhǔn)確對惡意軟件中的惡意代碼進(jìn)行定位,導(dǎo)致面對大量待檢測樣本時(shí)無法有針對性地提取特征,且檢測模型泛化性較差,存在誤報(bào)率和漏報(bào)率較高的問題。

        為對惡意代碼模塊的執(zhí)行方式進(jìn)行分析,準(zhǔn)確獲取惡意APK的關(guān)鍵特征,提升檢測精度與效率,本文提出一種基于函數(shù)調(diào)用圖(FCG)的敏感API調(diào)用模式特征。該方法首先提取待檢測樣本的FCG,通過本文提出的圖精簡方法對其中的低敏感度API節(jié)點(diǎn)進(jìn)行刪減,以降低數(shù)據(jù)處理負(fù)荷;基于圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)對精簡后的函數(shù)調(diào)用圖進(jìn)行分析,提取特征,獲取圖中每個(gè)API節(jié)點(diǎn)的嵌入表示。敏感API節(jié)點(diǎn)在函數(shù)調(diào)用圖中的嵌入表示攜帶了惡意代碼模塊的調(diào)用結(jié)構(gòu)信息。實(shí)驗(yàn)證明該特征可有效表示程序的惡意代碼部分結(jié)構(gòu)信息,從而實(shí)現(xiàn)高效檢測安卓惡意軟件?;诙喾N特征集成判定提升檢測模型性能。

        為驗(yàn)證敏感API調(diào)用模式特征,以及多特征集成判定模型的有效性,本文基于4 780個(gè)良性樣本以及5 600個(gè)惡意樣本對單特征,在多特征情況下評估檢測性能,測試結(jié)果顯示本模型擁有優(yōu)異的檢測性能。本文主要貢獻(xiàn)如下:①提出一種基于GCN的安卓惡意軟件敏感API調(diào)用模式,使用圖嵌入實(shí)現(xiàn)對惡意代碼部分的函數(shù)調(diào)用結(jié)構(gòu)信息挖掘;②提出圖精簡以及敏感API權(quán)重計(jì)算方法,有效降低檢測系統(tǒng)的數(shù)據(jù)復(fù)雜度,提升了檢測系統(tǒng)效率;③提出多元特征融合的安卓惡意軟件檢測模型,綜合多種特征對安卓惡意軟件進(jìn)行判定,有效提升系統(tǒng)性能;④基于大量良性以及惡意安卓軟件樣本,對單個(gè)分類器、分類器聯(lián)合、特征有效性等進(jìn)行詳盡的驗(yàn)證測試。

        1 基礎(chǔ)概念與相關(guān)工作

        基于機(jī)器學(xué)習(xí)的安卓惡意軟件檢測方法,按照特征類型分為動態(tài)檢測與靜態(tài)檢測。其中靜態(tài)監(jiān)測特征提取開銷較小,但易混淆受干擾;動態(tài)檢測特征提取開銷較大。由smali中提取出的函數(shù)調(diào)用圖特征屬于靜態(tài)特征的一種。

        1.1 靜態(tài)檢測

        靜態(tài)檢測主要對APK文件進(jìn)行特征提取,在程序非運(yùn)行狀態(tài)下進(jìn)行惡意程序的特征提取與匹配工作。常用的靜態(tài)特征包括操作碼序列、操作碼頻度、程序流圖等。Huang等[5]對基于權(quán)限特征進(jìn)行安卓惡意軟件檢測進(jìn)行了全面評估,實(shí)驗(yàn)結(jié)果證明權(quán)限特征與安卓惡意軟件間存在一定的相關(guān)性;Milosevic等 [6]基于APK源代碼以及權(quán)限信息進(jìn)行安卓惡意軟件檢測,取得了良好的檢測效果;Wang等[7]基于惡意程序權(quán)限、程序意圖等特征進(jìn)行安卓惡意軟件檢測,基于集成檢測的方法進(jìn)一步提升了檢測精度;Arp等[1]在其檢測工作中 使用了APK中所有網(wǎng)絡(luò)地址作為特征進(jìn)行惡意軟件檢測,獲得了94%的檢測準(zhǔn)確率;Sanz等[8]在基于權(quán)限的檢測工作中融入字符串作為輔助特征,有效提升了模型檢測性能。

        1.2 動態(tài)檢測

        動態(tài)檢測需針對指定的惡意軟件樣本構(gòu)造模擬運(yùn)行環(huán)境進(jìn)行測試與記錄。面對海量的惡意程序,該種檢測方法開銷較大,導(dǎo)致應(yīng)用場景受限,但可對經(jīng)過混淆的惡意軟件進(jìn)行特征提取。常用的動態(tài)特征包括API調(diào)用、流量、系統(tǒng)運(yùn)行分析等。Onwuzurike等 [9]基于馬爾科夫鏈,對安卓惡意軟件的API調(diào)用進(jìn)行研究,測試結(jié)果證明其檢測系統(tǒng)可根據(jù)API調(diào)用序列中的前后關(guān)系對未知惡意軟件作出預(yù)測;Jung 等 [10]基于專家經(jīng)驗(yàn)對API類別進(jìn)行細(xì)分,進(jìn)一步提升了基于API調(diào)用特征的安卓惡意軟件檢測系統(tǒng)精度;Saracino等 [11]基于系統(tǒng)調(diào)用、用戶行為等動態(tài)特征,搭建Madam安卓惡意軟件檢測系統(tǒng),在大規(guī)模數(shù)據(jù)測試中檢測準(zhǔn)確率達(dá)到96%以上。動態(tài)與靜態(tài)特征結(jié)合可有效提升檢測精度,如Idrees等[12]基于權(quán)限、程序意圖等特征,對多種分類器集成方式進(jìn)行實(shí)驗(yàn),有效提升了系統(tǒng)檢測精度;Coronado-De-Alba等 [13]基于隨機(jī)森林以及決策樹構(gòu)建集成檢測模型,同樣獲得了良好的檢測效果。

        1.3 圖卷積神經(jīng)網(wǎng)絡(luò)及函數(shù)調(diào)用圖

        安卓惡意軟件開發(fā)者常將惡意代碼插入正常APK并進(jìn)行重打包以獲取惡意應(yīng)用。安卓惡意軟件在執(zhí)行危險(xiǎn)操作時(shí),常依賴于特定的API函數(shù),如在獲取設(shè)備號碼時(shí)常使用getVoiceMailNumber()函數(shù),并搭配相應(yīng)的API進(jìn)行敏感信息傳輸。同類型的安卓惡意軟件中常含有類似結(jié)構(gòu)的惡意代碼,故可通過對函數(shù)調(diào)用圖中的惡意代碼部分進(jìn)行發(fā)掘,從而實(shí)現(xiàn)安卓惡意軟件的檢測。

        1.3.1 函數(shù)調(diào)用圖

        函數(shù)調(diào)用圖是控制流圖的一種,用于反映程序中各個(gè)函數(shù)之間的調(diào)用關(guān)系。函數(shù)調(diào)用圖可表示為:

        其中,V表示圖中所有頂點(diǎn)的結(jié)合,在APK的函數(shù)調(diào)用圖中,每個(gè)頂點(diǎn)對應(yīng)一個(gè)Android API;E表示函數(shù)之間的調(diào)用關(guān)系。通過APK-Tool或Androguard工具對APK進(jìn)行反編譯后,可從samli代碼中提取API及調(diào)用關(guān)系,從而形成APK的函數(shù)調(diào)用圖。

        1.3.2 圖卷積神經(jīng)網(wǎng)絡(luò)及圖嵌入

        圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)概念最早由Kipf等[14]于2016年提出。與卷積神經(jīng)網(wǎng)絡(luò)(CNN)僅適用于處理維度規(guī)則的數(shù)據(jù)相對應(yīng),GCN可以對任意結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行處理,例如社交網(wǎng)絡(luò)、知識圖譜等,并對結(jié)構(gòu)化數(shù)據(jù)的空間特征進(jìn)行提取。

        FCG可使用函數(shù)間的調(diào)用關(guān)系用拓?fù)鋱D的形式對軟件進(jìn)行表征,而通過重打包獲得的安卓惡意軟件通常具有相同或相似的惡意代碼結(jié)構(gòu),故可基于GCN對惡意代碼部分的調(diào)用模式進(jìn)行挖掘與表征。

        圖嵌入可以使用低維向量,表示圖中各個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)情況與相對位置信息。在APK的函數(shù)調(diào)用圖中,由于惡意代碼執(zhí)行邏輯相似,故對應(yīng)的敏感API在圖中有相近似的上下文調(diào)用關(guān)系。常用的圖嵌入方法有DeepWalk、Node2vec、Walklets、基于GCN的圖嵌入等。由于APK的函數(shù)調(diào)用圖通常具有較大特征,因此GCN的圖卷積方法基于迭代計(jì)算,可以使用較小的計(jì)算代價(jià)獲取節(jié)點(diǎn)的嵌入表示。

        2 基于敏感API調(diào)用模式特征的檢測模型

        本文檢測模型主要使用敏感API調(diào)用模式特征作為主要特征,同時(shí)輔助Opcode頻度信息、敏感權(quán)限特征以及API調(diào)用頻度特征作為輔助特征。將所有特征合并送入分類器中以實(shí)現(xiàn)高精度的安卓惡意軟件檢測。檢測模型整體結(jié)構(gòu)如圖1所示。

        本檢測系統(tǒng)基于opcode頻度、敏感權(quán)限、API調(diào)用頻度、敏感API調(diào)用模式4種特征進(jìn)行安卓惡意軟件檢測,前3種特征常用于安卓惡意軟件檢測,擁有較強(qiáng)的適應(yīng)性,但由于精度有限,故作為輔助特征?;贕CN的敏感API調(diào)用模式特征為本文提出的一種新型惡意軟件特征,將在下文著重介紹。

        2.1 API調(diào)用模式特征

        為有效處理函數(shù)調(diào)用圖并獲取敏感API節(jié)點(diǎn)的嵌入表示,提取對應(yīng)特征,實(shí)現(xiàn)惡意軟件檢測,本文提出函數(shù)調(diào)用圖精簡及敏感API嵌入計(jì)算方法,以最終獲取敏感API的調(diào)用模式特征。

        調(diào)用模式特征提取過程如圖2所示。首先對APK進(jìn)行解包,并從samli代碼中提取調(diào)用關(guān)系,形成函數(shù)調(diào)用圖,對函數(shù)調(diào)用圖進(jìn)行精簡后,基于DGL計(jì)算每個(gè)節(jié)點(diǎn)的嵌入表示。

        2.1.1 基于敏感API的函數(shù)調(diào)用圖精簡

        由于現(xiàn)階段APK規(guī)模較大,其函數(shù)調(diào)用圖常包含數(shù)量龐大的API節(jié)點(diǎn),其中多數(shù)為程序運(yùn)行必需的普通節(jié)點(diǎn),在引入無效信息的同時(shí)增加了檢測系統(tǒng)的數(shù)據(jù)復(fù)雜度,降低了檢測效率。為提升運(yùn)行效率,檢測系統(tǒng)首先對非敏感API節(jié)點(diǎn)進(jìn)行初步刪減。其中敏感API列表來自Rasthofe等[15]對于敏感API的分析工作,包含敏感API共 26 322個(gè)。

        為在精簡函數(shù)調(diào)用圖的同時(shí)保留敏感API的原始調(diào)用結(jié)構(gòu),避免函數(shù)調(diào)用圖精簡過程中對有效數(shù)據(jù)造成破壞,本文提出一種半保留式精簡方法。精簡算法的API節(jié)點(diǎn)刪減規(guī)則為:若某一節(jié)點(diǎn)為非敏感API節(jié)點(diǎn),并且其鄰居節(jié)點(diǎn)中不含有敏感API節(jié)點(diǎn),則對該節(jié)點(diǎn)進(jìn)行刪除;若某一函數(shù)節(jié)點(diǎn)為非敏感API節(jié)點(diǎn),其鄰居節(jié)點(diǎn)中含有敏感API,則保留該節(jié)點(diǎn)。

        以圖3所示函數(shù)調(diào)用圖為例,深色節(jié)點(diǎn)為敏感API節(jié)點(diǎn),淺色節(jié)點(diǎn)代表一般API函數(shù)。左側(cè)圖形為原始函數(shù)調(diào)用圖,按照上述函數(shù)調(diào)用圖精簡規(guī)則:由于4號節(jié)點(diǎn)是非敏感API節(jié)點(diǎn),且其鄰居節(jié)點(diǎn)中不含有敏感API節(jié)點(diǎn),故在精簡過程中4號節(jié)點(diǎn)及其相鄰的邊都被刪除。精簡后的示例函數(shù)調(diào)用圖如圖3右側(cè)所示。

        偽代碼如下:

        Function FCG Slim

        1: Function FCG Slim:

        2:? ? Graph←Read gml file

        3:? ? List←Read Sensitive API List

        4:? ? For i From Graph.nodes

        5: ? ?If i NOT IN List Then

        6: ? ? ? If i.neighbor NOT IN List Then

        7: ? ? ? ? ?Delete i

        8: End

        該算法可有效保證惡意代碼部分敏感API函數(shù)以及相關(guān)函數(shù)的調(diào)用結(jié)構(gòu)不被刪減。經(jīng)過精簡的函數(shù)調(diào)用圖可有效降低節(jié)點(diǎn)數(shù)量,提升處理效率。示例APK經(jīng)過精簡前后的函數(shù)調(diào)用圖如圖4所示。

        如圖4所示,經(jīng)過精簡后的函數(shù)調(diào)用圖包含的節(jié)點(diǎn)數(shù)量明顯減少,可有效降低對大規(guī)模函數(shù)調(diào)用圖進(jìn)行分析造成的計(jì)算資源消耗。

        2.1.2 基于GCN的敏感API圖嵌入

        APK的函數(shù)調(diào)用圖通常擁有復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),圖形嵌入算法可作為降維算法的一種,將復(fù)雜高維空間中的圖結(jié)構(gòu)映射到低維空間中。GCN與CNN相似,在圖結(jié)構(gòu)上定義了卷積算子,可在迭代過程中不斷擴(kuò)大節(jié)點(diǎn)嵌入向量所包含的節(jié)點(diǎn)信息,計(jì)算過程如圖5所示。

        圖5中,n0 ~ n4 表示函數(shù)調(diào)用圖中5個(gè)API節(jié)點(diǎn),每個(gè)API節(jié)點(diǎn)對應(yīng)其狀態(tài)向量h0 ~ h4(狀態(tài)向量即API節(jié)點(diǎn)在函數(shù)調(diào)用圖中的嵌入表示)。在嵌入計(jì)算過程中,對各節(jié)點(diǎn)的狀態(tài)向量h進(jìn)行隨機(jī)初始化,以獲取n0節(jié)點(diǎn)的新的嵌入表示h0new為例,f為非線性變換函數(shù),計(jì)算方法如下:

        圖卷積神經(jīng)網(wǎng)絡(luò)中API嵌入表示過程就是信息在節(jié)點(diǎn)之間不斷傳播聚合再傳播的過程,每個(gè)節(jié)點(diǎn)的嵌入表示均會獲取鄰居節(jié)點(diǎn)信息并進(jìn)行更新;在下輪迭代中,攜帶了遠(yuǎn)端節(jié)點(diǎn)信息的嵌入表示會不斷隨著節(jié)點(diǎn)之間的連接進(jìn)行傳播。以圖5為例,n0節(jié)點(diǎn)為敏感API節(jié)點(diǎn),在迭代更新過程中該節(jié)點(diǎn)的嵌入表示將會攜帶其鄰居節(jié)點(diǎn)信息,即敏感API在函數(shù)調(diào)用圖中的嵌入表示將會攜帶一定的調(diào)用關(guān)系信息。對于API嵌入表示的有效性將在實(shí)驗(yàn)部分進(jìn)行驗(yàn)證。

        2.1.3 敏感API嵌入權(quán)重分配

        由于所有APK樣本中所包含的敏感API種類及數(shù)目不同,本檢測系統(tǒng)基于TF-IDF方法對API函數(shù)的敏感程度進(jìn)行衡量,并在測試中分別選取前10、15、20、 25、 30、35個(gè)敏感API函數(shù)的嵌入表示作為API調(diào)用模式特征,以確定最優(yōu)的API數(shù)量。將特征送入分類器進(jìn)行訓(xùn)練,以達(dá)成惡意軟件檢測目的。通過計(jì)算,敏感程度排名前30的API如表1所示。

        2.2 輔助判定特征

        (1)Opcode頻度特征。Opcode是對編譯后的安卓應(yīng)用程序基于助記符的表示方法,由于其包含了程序的大量原始信息,常用于安卓惡意軟件檢測。本檢測模型使用opcode頻度作為子特征之一。首先對APK進(jìn)行反匯編,并從所有smali文件中提取對應(yīng)種類opcode數(shù)量。本方法以詞袋模型為基礎(chǔ),共統(tǒng)計(jì)了256類opcode數(shù)量并將其表示為[α={α1,α2,α3,…,α256}, α∈N ]的特征向量。

        (2)敏感權(quán)限特征。安卓惡意程序在執(zhí)行惡意操作時(shí)需要申請對應(yīng)的敏感權(quán)限,本方法基于AndroidManifest.xml文件提取APK安裝時(shí)申請的權(quán)限列表作為特征,其中納入統(tǒng)計(jì)范圍的共120個(gè)權(quán)限項(xiàng)目,將其表示為長度為120的特征向量:[P={p1,p2,p3,?,p120}, p∈{0,1} ]。表示方法采用one-hot形式,當(dāng)該APK申請了對應(yīng)權(quán)限時(shí),P取值為1,無對應(yīng)權(quán)限申請時(shí),取值為0。

        (3)API調(diào)用頻度特征。由于Android平臺API數(shù)量眾多,且部分API為APK在正常運(yùn)行時(shí)的必選項(xiàng),故本檢測系統(tǒng)在API頻度特征提取中,僅對部分敏感API進(jìn)行頻度統(tǒng)計(jì),敏感API項(xiàng)基于TF-IDF計(jì)算得出權(quán)重排名的前200項(xiàng)?;贏ndroguard對APK進(jìn)行解包后獲取samli文件,統(tǒng)計(jì)相應(yīng)敏感API項(xiàng)目的調(diào)用次數(shù),并將其歸一化為頻度特征。

        2.3 特征及分類器結(jié)構(gòu)

        本檢測方法對4種惡意軟件特征進(jìn)行合并,形成調(diào)整矩陣,并使用基于CNN的分類模型對APK特征數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,最終獲得惡意軟件檢測模型。

        敏感API項(xiàng)由TF-IDF計(jì)算權(quán)重排名得出,并選取前n項(xiàng)敏感API的嵌入表示作為特征數(shù)據(jù)來源,每個(gè)API調(diào)用模式特征由10維向量表示,對每個(gè)待檢測樣本,特征可被表示為[napi×10]的特征矩陣。API頻度特征、操作碼頻度特征、敏感權(quán)限頻度3種輔助特征,經(jīng)過PCA降維后附于API調(diào)用模式特征矩陣之后。

        如圖6所示,敏感API調(diào)用模式特征可表示為圖左側(cè)矩陣,輔助判定特征附于API調(diào)用模式特征后,構(gòu)成整體特征矩陣。卷積核進(jìn)行一維卷積操作提取特征向量,并進(jìn)行后續(xù)運(yùn)算。

        分類模型如圖7所示。

        基于CNN的子分類層由三層一維卷積層構(gòu)成,每個(gè)卷積層具有不同卷積核深度,以提取不同粒度的API調(diào)用模式特征,Drop Out層用于防止模型過擬合,模型最終判定結(jié)果通過全連接層輸出。

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

        首先基于可視化方法對API調(diào)用模式特征之間的區(qū)分度進(jìn)行實(shí)驗(yàn)觀察,隨后使用上文提出的特征提取方法以及檢測模型進(jìn)行檢測器訓(xùn)練與測試。

        3.1 評價(jià)標(biāo)準(zhǔn)

        模型的評價(jià)指標(biāo)有準(zhǔn)確率Precision、召回率Recall、F-score三個(gè)參數(shù),參數(shù)計(jì)算方法如下:

        式中TP為真陽率,F(xiàn)P為假陽率,TN為真陰率,F(xiàn)N為假陽率。在上式計(jì)算的參數(shù)中,漏報(bào)率越接近0說明檢測效果越好,反之Recall越接近1則說明模型分類性能越強(qiáng)。

        3.2 數(shù)據(jù)集及相關(guān)環(huán)境

        多特征融合檢測模型的運(yùn)行及測試環(huán)境為CPU Intel(R) E5,16GB內(nèi)存,GPU為GTX1080,120GB SSD+4TB HDD,基于Ubuntu16.04操作系統(tǒng)。實(shí)驗(yàn)數(shù)據(jù)集中惡意APK應(yīng)用來自于VirusShare[16]病毒數(shù)據(jù)庫以及Drebin安卓惡意軟件檢測數(shù)據(jù)集[1],良性樣本由小米應(yīng)用商城爬取并經(jīng)過VirusTotal檢測,保證良性樣本數(shù)據(jù)集不包含其它類型樣本。良性樣本共計(jì)4 780個(gè),惡意樣本共計(jì)5 600個(gè),樣本總量為10 380。將其按照9∶1的比例隨機(jī)劃分為訓(xùn)練集和測試集。

        3.3 測試方法

        實(shí)驗(yàn)驗(yàn)證環(huán)節(jié)主要對分類器的判定精度等參數(shù)進(jìn)行測試。首先基于數(shù)據(jù)分析方法對API調(diào)用模式特征進(jìn)行可視化分析,對良性、惡意樣本的API調(diào)用模式特征之間的區(qū)分度進(jìn)行觀察。實(shí)驗(yàn)測試中分別選取前20、25、30、35、40項(xiàng)敏感API的嵌入數(shù)據(jù)作為特征進(jìn)行模型訓(xùn)練與測試,記錄判定結(jié)果。

        測試重點(diǎn)為本文提出的API調(diào)用模式特征的有效性驗(yàn)證,通過與其它工作進(jìn)行性能對比,驗(yàn)證本多特征融合檢測模型的有效性。

        3.4 API調(diào)用模式特征有效性分析

        為驗(yàn)證本文提出的API調(diào)用模式特征的有效性,并對基于該特征進(jìn)行安卓惡意軟件檢測的可行性進(jìn)行驗(yàn)證,本文首先從良性/惡意軟件中提取API調(diào)用模式特征進(jìn)行可視化,從三維空間對API調(diào)用模式之間的相似性進(jìn)行分析,并基于API調(diào)用模式特征進(jìn)行安卓惡意軟件檢測,進(jìn)一步驗(yàn)證其有效性。

        3.4.1 敏感API調(diào)用模式特征可視化分析

        為驗(yàn)證API調(diào)用模式特征的有效性,本文首先對TF-IDF計(jì)算得出權(quán)重較高的部分API調(diào)用模式進(jìn)行可視化,在三維空間中對良性/惡意樣本的同一API調(diào)用模式進(jìn)行觀察,可視化結(jié)果如圖8所示。

        敏感API調(diào)用模式特征基于圖嵌入,將每個(gè)API在函數(shù)調(diào)用圖中的調(diào)用模式映射為5維向量。為方便在三維空間中進(jìn)行可視化,本文基于PCA對API調(diào)用模式特征進(jìn)行降維處理,并將其繪制于三維空間中。

        圖8中藍(lán)色樣本點(diǎn)代表良性樣本API調(diào)用模式特征在三維空間中的映射,紅色點(diǎn)代表惡意樣本對應(yīng)API的調(diào)用模式,每個(gè)子圖均對應(yīng)一種敏感API項(xiàng)。API調(diào)用模式特征在三維空間中的映射分布,可清晰體現(xiàn)出良性與惡意樣本之間對同一敏感API存在不同的調(diào)用模式,且同一類別APK的API調(diào)用模式之間存在相似性。

        但由于同一API可能存在多個(gè)調(diào)用模式,故可能出現(xiàn)如圖8“setvalue()”API項(xiàng)特征對應(yīng)的API調(diào)用模式分布:藍(lán)色色塊分多個(gè)區(qū)域聚集,說明對于該敏感API項(xiàng),其在良性樣本中存在多種調(diào)用模式。故在可視化后,在三維空間中存在分區(qū)域聚集特性。

        3.4.2 基于敏感API調(diào)用模式特征的惡意軟件檢測

        為驗(yàn)證基于敏感API調(diào)用模式特征的有效性,本文基于該特征實(shí)現(xiàn)了安卓惡意軟件檢測。實(shí)驗(yàn)環(huán)節(jié)分別選取權(quán)重排名前20、25、30、35、40的敏感API項(xiàng)目,并基于敏感API調(diào)用模式特征進(jìn)行安卓惡意軟件檢測。對Precision,recall以及F-score參數(shù)指標(biāo)進(jìn)行記錄,測試結(jié)果見表2。

        將測試數(shù)據(jù)繪制于圖9中。

        測試結(jié)果顯示,基于敏感API調(diào)用模式特征的安卓惡意軟件檢測子模型,可有效對良性/惡意軟件進(jìn)行區(qū)分,最佳檢測精度可達(dá)到97.6%。隨著采取敏感API數(shù)目的不斷增長,其檢測精度及其它性能均隨之提升。采取的敏感API數(shù)目在30~35時(shí),檢測模型性能有所下降。經(jīng)分析,檢測模型性能下降是由于過多的API項(xiàng)目引入了過多無關(guān)API調(diào)用模式特征,且對應(yīng)API項(xiàng)在良性/惡意APK中存在相同或相似的調(diào)用模式,給檢測模型帶來了過多的無關(guān)信息,從而對檢測模型性能產(chǎn)生了負(fù)面影響。

        實(shí)驗(yàn)結(jié)果顯示,基于敏感API調(diào)用模式特征的安卓惡意軟件檢測模型,最佳API數(shù)目應(yīng)在30項(xiàng)左右,且種類應(yīng)與表1中所列項(xiàng)目相同或相似。

        3.5 綜合輔助特征的檢測測試

        上述測試環(huán)節(jié)僅適用于API調(diào)用模式特征作為檢測依據(jù)。為進(jìn)一步提升檢測器性能,本文綜合了操作碼頻度、敏感權(quán)限頻度、敏感API調(diào)用頻度3種輔助特征,并將其添加至特征矩陣中。對檢測模型進(jìn)行測試,測試結(jié)果如表3所示。

        表3 集成檢測性能

        [分類器\&Precision\&Recall\&F-score\&集成檢測模型\&0.993\&1.0\&0.996\&]

        為客觀評估本文提出的多特征集成檢測模型,本文在相同數(shù)據(jù)集上對其它安卓惡意軟件檢測工作進(jìn)行復(fù)現(xiàn),以對比性能差異。Niall McLaughlin等[17]提出一種基于APK二進(jìn)制數(shù)據(jù)的惡意軟件檢測方法,在測試中獲得了良好的檢測結(jié)果。Drebin是Daniel Arp等提出的多特征安卓惡意軟件檢測框架。與上述工作進(jìn)行性能對比,模型測試數(shù)據(jù)如表4所示。

        與相關(guān)安卓惡意軟件檢測工作進(jìn)行對比,本文多特征安卓惡意軟件檢測模型擁有更高的檢測精度,且F-score相較于其它工作最高,說明擁有更高的綜合檢測性能。

        4 結(jié)語

        本文提出了一種新型敏感API調(diào)用模式特征,該特征基于GCN對函數(shù)調(diào)用圖進(jìn)行API節(jié)點(diǎn)的嵌入計(jì)算,實(shí)現(xiàn)對API節(jié)點(diǎn)在函數(shù)調(diào)用圖中的調(diào)用模式表征;針對函數(shù)調(diào)用圖規(guī)模較大的問題,提出一種半保留式的函數(shù)調(diào)用圖精簡方法,有效降低了對函數(shù)調(diào)用圖進(jìn)行分析時(shí)的數(shù)據(jù)復(fù)雜度;基于卷積神經(jīng)網(wǎng)絡(luò)搭建了對應(yīng)的子分類器,有效實(shí)現(xiàn)了安卓惡意軟件檢測。分析與實(shí)驗(yàn)測試結(jié)果顯示,敏感API調(diào)用模式特征可有效對APK中的函數(shù)調(diào)用模式進(jìn)行表征,在采用權(quán)重排序前30的敏感API項(xiàng)的調(diào)用模式作為特征時(shí),可獲得97.6%的檢測精度,相較于其它頻度特征可攜帶更多有效信息,實(shí)現(xiàn)高效的安卓惡意軟件檢測。

        本檢測模型聯(lián)合了Opcode頻度特征、API頻度特征、敏感權(quán)限特征,將所有特征集成至同一特征矩陣中,進(jìn)一步提升了檢測模型性能,檢測精度達(dá)到99%。與同類工作進(jìn)行比較,本文擁有更優(yōu)的檢測性能,驗(yàn)證了基于多種特征融合的安卓惡意軟件檢測模型的有效性。

        未來可對本檢測模型中的敏感API檢測機(jī)制進(jìn)行升級,進(jìn)一步細(xì)化API的挑選機(jī)制,從而減少待分析的API數(shù)目,達(dá)到提升檢測效率的目的。

        參考文獻(xiàn):

        [1] ARP D, SPREITZENBARTH M, HUBNER M, et al. DREBIN: effective and explainable detection of android malware in your pocket[C].? Network and Distributed System Security Symposium,2016.

        [2] SMARTPHONE O S. Available martphone-operating-systems[EB/OL]. https://www.statista.com/statistics/263453/global-market-share- held.

        [3] MCAFEE LABS. Threat predictions report[R]. SantaClara:McAfeeLabs,2016.

        [4] ZHOU Y,JIANG X. Dissecting Android malware: characterization and evolution[J].? Proceedings of IEEE Security and Privacy, 2012(5):95-109.

        [5] HUANG CY, TSAI YT, HSU CH. Performance evaluation on permission-based detection for Android malware[J].? Advances in Intelligent Systems and Applications, 2017(9): 111-120.

        [6] MILOSEVIC N,DEHGHANTANHA A,CHOO K K R. Machine learning aided Android malware classification[J]. Computers & Electrical Engineering,2017,61(7):266-274.

        [7] WANG W,LI Y,WANG X, et al. Detecting Android malicious APPs and categorizing benign APPs with ensemble of classifiers[J].? Future Generation Computer Systems, 2017,78(1):987-994.

        [8] SANZ B,SANTOS I,LAORDEN C,et al. PUMA: permission usage to de- tect malware in Android[M].? Berlin: Springer,2013.

        [9] ONWUZURIKE L, MARICONTI E, ANDRIOTIS P, et al. Mamadroid: detecting android malware by building Markov chains of behavioral models[C]. Network and Distributed System Security Symposium,2016:1-15.

        [10] JUNG J,KIM H,SHIN D,et al. Android malware detection based on useful API calls and machine learning[C]. IEEE First International Conference on Artificial Intelligence and Knowledge Engineering,2018:175-178.

        [11] SARACINO A,SGANDURRA D,DINI G,et al. MADAM: effective and efficient behavior-based Android malware detection and prevention[J]. IEEE Transactions on Dependable & Secure Computing, 2018 (99):1-11.

        [12] IDREES F,RAJARAJAN M, CONTI M, et al.PIndroid: a novel android malware detection system using ensemble learning methods[J].? Computer and Security, 2017,68(7):36-46.

        [13] CORONADO DE ALBA L D, RODRIGUEZ-MOTA A, ESCAMILLA-AMBROSIO P J.Feature selection and ensemble of classifiers for Android malware detection[C]?2016 8th IEEE Latin-American Conference on Communications, 2016(11): 1-6.

        [14] KIP F,THOMAS N, WELLING M. Semi-supervised classification with graph convolutional networks[DB/OL]. https://arxiv.org/pdf/1609.02907.pdf.

        [15] RASTHOFER S,ARZT S,BODDEN E. A machine-learning approach for classifying and categorizing Android sources and sinks[C]. Proceedings of Network and Distributed System Security, 2014:1-15.

        [16] MENG Q Q. Virusshare apk[EB/OL]. https://virusshare.com/.? Accessed 2018.

        [17] MCLAUGHLIN N, RINCON J M D, KANG B J, et al. Deep android malware detection[C]. ACM on Conference on Data & Application Security & Privacy. 2017:301-308.

        (責(zé)任編輯:杜能鋼)

        白白色视频这里只有精品| 亚洲欧洲巨乳清纯| 国产成人精品午夜福利在线| 精品国产91久久久久久久a| 国产一区精品二区三区四区| 青青手机在线观看视频| 亚洲熟妇无码一区二区三区导航| 婷婷四房色播| 国产精品久久久久久久y| 大香蕉视频在线青青草| 最新欧美精品一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 欧美色图中文字幕| 日韩丝袜人妻中文字幕| 久久免费看的少妇一级特黄片 | 亚洲天堂丰满人妻av| 国产亚洲一本大道中文在线| 97精品伊人久久大香线蕉app| 亚洲色欲色欲大片WWW无码| 亚洲国产一区一区毛片a| 欲求不満の人妻松下纱荣子| 午夜福利麻豆国产精品| 欧美成人免费看片一区| 亚洲人妻av综合久久| 久久综合99re88久久爱| 国产激情内射在线影院| 亚洲另类激情综合偷自拍图| 久久精品女人天堂av麻| 久久成人国产精品一区二区| 日本50岁丰满熟妇xxxx| 亚洲AV成人无码久久精品四虎| 中文字幕亚洲视频三区| 人妻夜夜爽天天爽三区丁香花| 思思久久96热在精品国产| 乱人伦人妻中文字幕无码| 国产精品丝袜美女久久 | 98色婷婷在线| 三年片免费观看大全国语| 最新日韩av在线不卡| 久久黄色精品内射胖女人| 三年片免费观看影视大全视频|