張雪濤 王金雙 孫蒙



摘 要:函數調用圖存在規模過大、無關信息過多等缺陷。為實現函數調用圖的高效分析,對安卓惡意軟件的惡意代碼模式進行挖掘,提出一種基于圖卷積神經網絡(GCN)的敏感API調用模式,并設計相應的函數調用圖精簡方法,以及敏感API權重評價方法,有效降低了函數調用圖規模,實現對敏感API調用模式的挖掘。檢測模型綜合了安卓惡意軟件操作碼特征、敏感權限特征、敏感函數調用頻度特征,構建了基于多特征融合的安卓惡意軟件檢測系統,進一步提升了檢測精度。數據集測試驗證了API調用模式特征以及集成檢測模型的有效性。
關鍵詞:圖嵌入;圖卷積神經網絡;惡意軟件檢測;多特征
DOI:10. 11907/rjdk. 192427 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP309文獻標識碼: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 引言
受經濟利益驅使,針對智能手機平臺的攻擊行為不斷增長,惡意軟件則是攻擊行為的重要載體[1]。相關研究報告顯示,Android平臺是最大的移動智能設備終端系統平臺,全球已經有超過10億臺安卓設備售出,GooglePlay應用商店下載量累計超過650億次[2]。隨著Android平臺應用數量的快速增長,針對Android設備的惡意軟件也在快速擴充。McAfee的年度報告顯示,安卓平臺累計檢測到了1 200萬個惡意軟件樣本,每年惡意軟件增加250萬[3]。隨著安卓平臺惡意軟件數量不斷增長,基于機器學習的安卓惡意軟件檢測技術應運而生。
現階段安卓惡意軟件獲取多通過將惡意代碼或廣告等惡意模塊植入良性軟件產生。在安卓惡意軟件產業鏈中已出現了例如TDKs的安卓勒索軟件批量生成工具。Zhou等[4]指出,超過86%的安卓惡意軟件由重打包產生,故多數同類型安卓惡意軟件雖基于不同載體軟件重打包獲得,但同類型惡意軟件之間多存在相同或相似的惡意代碼執行模式。而基于敏感權限頻度特征、操作碼頻度特征的檢測方法,側重于對惡意軟件整體進行特征提取,無法準確對惡意軟件中的惡意代碼進行定位,導致面對大量待檢測樣本時無法有針對性地提取特征,且檢測模型泛化性較差,存在誤報率和漏報率較高的問題。
為對惡意代碼模塊的執行方式進行分析,準確獲取惡意APK的關鍵特征,提升檢測精度與效率,本文提出一種基于函數調用圖(FCG)的敏感API調用模式特征。該方法首先提取待檢測樣本的FCG,通過本文提出的圖精簡方法對其中的低敏感度API節點進行刪減,以降低數據處理負荷;基于圖卷積神經網絡(GCN)對精簡后的函數調用圖進行分析,提取特征,獲取圖中每個API節點的嵌入表示。敏感API節點在函數調用圖中的嵌入表示攜帶了惡意代碼模塊的調用結構信息。實驗證明該特征可有效表示程序的惡意代碼部分結構信息,從而實現高效檢測安卓惡意軟件。基于多種特征集成判定提升檢測模型性能。
為驗證敏感API調用模式特征,以及多特征集成判定模型的有效性,本文基于4 780個良性樣本以及5 600個惡意樣本對單特征,在多特征情況下評估檢測性能,測試結果顯示本模型擁有優異的檢測性能。本文主要貢獻如下:①提出一種基于GCN的安卓惡意軟件敏感API調用模式,使用圖嵌入實現對惡意代碼部分的函數調用結構信息挖掘;②提出圖精簡以及敏感API權重計算方法,有效降低檢測系統的數據復雜度,提升了檢測系統效率;③提出多元特征融合的安卓惡意軟件檢測模型,綜合多種特征對安卓惡意軟件進行判定,有效提升系統性能;④基于大量良性以及惡意安卓軟件樣本,對單個分類器、分類器聯合、特征有效性等進行詳盡的驗證測試。
1 基礎概念與相關工作
基于機器學習的安卓惡意軟件檢測方法,按照特征類型分為動態檢測與靜態檢測。其中靜態監測特征提取開銷較小,但易混淆受干擾;動態檢測特征提取開銷較大。由smali中提取出的函數調用圖特征屬于靜態特征的一種。
1.1 靜態檢測
靜態檢測主要對APK文件進行特征提取,在程序非運行狀態下進行惡意程序的特征提取與匹配工作。常用的靜態特征包括操作碼序列、操作碼頻度、程序流圖等。Huang等[5]對基于權限特征進行安卓惡意軟件檢測進行了全面評估,實驗結果證明權限特征與安卓惡意軟件間存在一定的相關性;Milosevic等 [6]基于APK源代碼以及權限信息進行安卓惡意軟件檢測,取得了良好的檢測效果;Wang等[7]基于惡意程序權限、程序意圖等特征進行安卓惡意軟件檢測,基于集成檢測的方法進一步提升了檢測精度;Arp等[1]在其檢測工作中 使用了APK中所有網絡地址作為特征進行惡意軟件檢測,獲得了94%的檢測準確率;Sanz等[8]在基于權限的檢測工作中融入字符串作為輔助特征,有效提升了模型檢測性能。
1.2 動態檢測
動態檢測需針對指定的惡意軟件樣本構造模擬運行環境進行測試與記錄。面對海量的惡意程序,該種檢測方法開銷較大,導致應用場景受限,但可對經過混淆的惡意軟件進行特征提取。常用的動態特征包括API調用、流量、系統運行分析等。Onwuzurike等 [9]基于馬爾科夫鏈,對安卓惡意軟件的API調用進行研究,測試結果證明其檢測系統可根據API調用序列中的前后關系對未知惡意軟件作出預測;Jung 等 [10]基于專家經驗對API類別進行細分,進一步提升了基于API調用特征的安卓惡意軟件檢測系統精度;Saracino等 [11]基于系統調用、用戶行為等動態特征,搭建Madam安卓惡意軟件檢測系統,在大規模數據測試中檢測準確率達到96%以上。動態與靜態特征結合可有效提升檢測精度,如Idrees等[12]基于權限、程序意圖等特征,對多種分類器集成方式進行實驗,有效提升了系統檢測精度;Coronado-De-Alba等 [13]基于隨機森林以及決策樹構建集成檢測模型,同樣獲得了良好的檢測效果。
1.3 圖卷積神經網絡及函數調用圖
安卓惡意軟件開發者常將惡意代碼插入正常APK并進行重打包以獲取惡意應用。安卓惡意軟件在執行危險操作時,常依賴于特定的API函數,如在獲取設備號碼時常使用getVoiceMailNumber()函數,并搭配相應的API進行敏感信息傳輸。同類型的安卓惡意軟件中常含有類似結構的惡意代碼,故可通過對函數調用圖中的惡意代碼部分進行發掘,從而實現安卓惡意軟件的檢測。
1.3.1 函數調用圖
函數調用圖是控制流圖的一種,用于反映程序中各個函數之間的調用關系。函數調用圖可表示為:
其中,V表示圖中所有頂點的結合,在APK的函數調用圖中,每個頂點對應一個Android API;E表示函數之間的調用關系。通過APK-Tool或Androguard工具對APK進行反編譯后,可從samli代碼中提取API及調用關系,從而形成APK的函數調用圖。
1.3.2 圖卷積神經網絡及圖嵌入
圖卷積神經網絡(GCN)概念最早由Kipf等[14]于2016年提出。與卷積神經網絡(CNN)僅適用于處理維度規則的數據相對應,GCN可以對任意結構化的數據進行處理,例如社交網絡、知識圖譜等,并對結構化數據的空間特征進行提取。
FCG可使用函數間的調用關系用拓撲圖的形式對軟件進行表征,而通過重打包獲得的安卓惡意軟件通常具有相同或相似的惡意代碼結構,故可基于GCN對惡意代碼部分的調用模式進行挖掘與表征。
圖嵌入可以使用低維向量,表示圖中各個節點的鄰居節點情況與相對位置信息。在APK的函數調用圖中,由于惡意代碼執行邏輯相似,故對應的敏感API在圖中有相近似的上下文調用關系。常用的圖嵌入方法有DeepWalk、Node2vec、Walklets、基于GCN的圖嵌入等。由于APK的函數調用圖通常具有較大特征,因此GCN的圖卷積方法基于迭代計算,可以使用較小的計算代價獲取節點的嵌入表示。
2 基于敏感API調用模式特征的檢測模型
本文檢測模型主要使用敏感API調用模式特征作為主要特征,同時輔助Opcode頻度信息、敏感權限特征以及API調用頻度特征作為輔助特征。將所有特征合并送入分類器中以實現高精度的安卓惡意軟件檢測。檢測模型整體結構如圖1所示。
本檢測系統基于opcode頻度、敏感權限、API調用頻度、敏感API調用模式4種特征進行安卓惡意軟件檢測,前3種特征常用于安卓惡意軟件檢測,擁有較強的適應性,但由于精度有限,故作為輔助特征。基于GCN的敏感API調用模式特征為本文提出的一種新型惡意軟件特征,將在下文著重介紹。
2.1 API調用模式特征
為有效處理函數調用圖并獲取敏感API節點的嵌入表示,提取對應特征,實現惡意軟件檢測,本文提出函數調用圖精簡及敏感API嵌入計算方法,以最終獲取敏感API的調用模式特征。
調用模式特征提取過程如圖2所示。首先對APK進行解包,并從samli代碼中提取調用關系,形成函數調用圖,對函數調用圖進行精簡后,基于DGL計算每個節點的嵌入表示。
2.1.1 基于敏感API的函數調用圖精簡
由于現階段APK規模較大,其函數調用圖常包含數量龐大的API節點,其中多數為程序運行必需的普通節點,在引入無效信息的同時增加了檢測系統的數據復雜度,降低了檢測效率。為提升運行效率,檢測系統首先對非敏感API節點進行初步刪減。其中敏感API列表來自Rasthofe等[15]對于敏感API的分析工作,包含敏感API共 26 322個。
為在精簡函數調用圖的同時保留敏感API的原始調用結構,避免函數調用圖精簡過程中對有效數據造成破壞,本文提出一種半保留式精簡方法。精簡算法的API節點刪減規則為:若某一節點為非敏感API節點,并且其鄰居節點中不含有敏感API節點,則對該節點進行刪除;若某一函數節點為非敏感API節點,其鄰居節點中含有敏感API,則保留該節點。
以圖3所示函數調用圖為例,深色節點為敏感API節點,淺色節點代表一般API函數。左側圖形為原始函數調用圖,按照上述函數調用圖精簡規則:由于4號節點是非敏感API節點,且其鄰居節點中不含有敏感API節點,故在精簡過程中4號節點及其相鄰的邊都被刪除。精簡后的示例函數調用圖如圖3右側所示。
偽代碼如下:
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函數以及相關函數的調用結構不被刪減。經過精簡的函數調用圖可有效降低節點數量,提升處理效率。示例APK經過精簡前后的函數調用圖如圖4所示。
如圖4所示,經過精簡后的函數調用圖包含的節點數量明顯減少,可有效降低對大規模函數調用圖進行分析造成的計算資源消耗。
2.1.2 基于GCN的敏感API圖嵌入
APK的函數調用圖通常擁有復雜的網絡結構,圖形嵌入算法可作為降維算法的一種,將復雜高維空間中的圖結構映射到低維空間中。GCN與CNN相似,在圖結構上定義了卷積算子,可在迭代過程中不斷擴大節點嵌入向量所包含的節點信息,計算過程如圖5所示。
圖5中,n0 ~ n4 表示函數調用圖中5個API節點,每個API節點對應其狀態向量h0 ~ h4(狀態向量即API節點在函數調用圖中的嵌入表示)。在嵌入計算過程中,對各節點的狀態向量h進行隨機初始化,以獲取n0節點的新的嵌入表示h0new為例,f為非線性變換函數,計算方法如下:
圖卷積神經網絡中API嵌入表示過程就是信息在節點之間不斷傳播聚合再傳播的過程,每個節點的嵌入表示均會獲取鄰居節點信息并進行更新;在下輪迭代中,攜帶了遠端節點信息的嵌入表示會不斷隨著節點之間的連接進行傳播。以圖5為例,n0節點為敏感API節點,在迭代更新過程中該節點的嵌入表示將會攜帶其鄰居節點信息,即敏感API在函數調用圖中的嵌入表示將會攜帶一定的調用關系信息。對于API嵌入表示的有效性將在實驗部分進行驗證。
2.1.3 敏感API嵌入權重分配
由于所有APK樣本中所包含的敏感API種類及數目不同,本檢測系統基于TF-IDF方法對API函數的敏感程度進行衡量,并在測試中分別選取前10、15、20、 25、 30、35個敏感API函數的嵌入表示作為API調用模式特征,以確定最優的API數量。將特征送入分類器進行訓練,以達成惡意軟件檢測目的。通過計算,敏感程度排名前30的API如表1所示。
2.2 輔助判定特征
(1)Opcode頻度特征。Opcode是對編譯后的安卓應用程序基于助記符的表示方法,由于其包含了程序的大量原始信息,常用于安卓惡意軟件檢測。本檢測模型使用opcode頻度作為子特征之一。首先對APK進行反匯編,并從所有smali文件中提取對應種類opcode數量。本方法以詞袋模型為基礎,共統計了256類opcode數量并將其表示為[α={α1,α2,α3,…,α256}, α∈N ]的特征向量。
(2)敏感權限特征。安卓惡意程序在執行惡意操作時需要申請對應的敏感權限,本方法基于AndroidManifest.xml文件提取APK安裝時申請的權限列表作為特征,其中納入統計范圍的共120個權限項目,將其表示為長度為120的特征向量:[P={p1,p2,p3,?,p120}, p∈{0,1} ]。表示方法采用one-hot形式,當該APK申請了對應權限時,P取值為1,無對應權限申請時,取值為0。
(3)API調用頻度特征。由于Android平臺API數量眾多,且部分API為APK在正常運行時的必選項,故本檢測系統在API頻度特征提取中,僅對部分敏感API進行頻度統計,敏感API項基于TF-IDF計算得出權重排名的前200項。基于Androguard對APK進行解包后獲取samli文件,統計相應敏感API項目的調用次數,并將其歸一化為頻度特征。
2.3 特征及分類器結構
本檢測方法對4種惡意軟件特征進行合并,形成調整矩陣,并使用基于CNN的分類模型對APK特征數據進行學習訓練,最終獲得惡意軟件檢測模型。
敏感API項由TF-IDF計算權重排名得出,并選取前n項敏感API的嵌入表示作為特征數據來源,每個API調用模式特征由10維向量表示,對每個待檢測樣本,特征可被表示為[napi×10]的特征矩陣。API頻度特征、操作碼頻度特征、敏感權限頻度3種輔助特征,經過PCA降維后附于API調用模式特征矩陣之后。
如圖6所示,敏感API調用模式特征可表示為圖左側矩陣,輔助判定特征附于API調用模式特征后,構成整體特征矩陣。卷積核進行一維卷積操作提取特征向量,并進行后續運算。
分類模型如圖7所示。
基于CNN的子分類層由三層一維卷積層構成,每個卷積層具有不同卷積核深度,以提取不同粒度的API調用模式特征,Drop Out層用于防止模型過擬合,模型最終判定結果通過全連接層輸出。
3 實驗測試與結果分析
首先基于可視化方法對API調用模式特征之間的區分度進行實驗觀察,隨后使用上文提出的特征提取方法以及檢測模型進行檢測器訓練與測試。
3.1 評價標準
模型的評價指標有準確率Precision、召回率Recall、F-score三個參數,參數計算方法如下:
式中TP為真陽率,FP為假陽率,TN為真陰率,FN為假陽率。在上式計算的參數中,漏報率越接近0說明檢測效果越好,反之Recall越接近1則說明模型分類性能越強。
3.2 數據集及相關環境
多特征融合檢測模型的運行及測試環境為CPU Intel(R) E5,16GB內存,GPU為GTX1080,120GB SSD+4TB HDD,基于Ubuntu16.04操作系統。實驗數據集中惡意APK應用來自于VirusShare[16]病毒數據庫以及Drebin安卓惡意軟件檢測數據集[1],良性樣本由小米應用商城爬取并經過VirusTotal檢測,保證良性樣本數據集不包含其它類型樣本。良性樣本共計4 780個,惡意樣本共計5 600個,樣本總量為10 380。將其按照9∶1的比例隨機劃分為訓練集和測試集。
3.3 測試方法
實驗驗證環節主要對分類器的判定精度等參數進行測試。首先基于數據分析方法對API調用模式特征進行可視化分析,對良性、惡意樣本的API調用模式特征之間的區分度進行觀察。實驗測試中分別選取前20、25、30、35、40項敏感API的嵌入數據作為特征進行模型訓練與測試,記錄判定結果。
測試重點為本文提出的API調用模式特征的有效性驗證,通過與其它工作進行性能對比,驗證本多特征融合檢測模型的有效性。
3.4 API調用模式特征有效性分析
為驗證本文提出的API調用模式特征的有效性,并對基于該特征進行安卓惡意軟件檢測的可行性進行驗證,本文首先從良性/惡意軟件中提取API調用模式特征進行可視化,從三維空間對API調用模式之間的相似性進行分析,并基于API調用模式特征進行安卓惡意軟件檢測,進一步驗證其有效性。
3.4.1 敏感API調用模式特征可視化分析
為驗證API調用模式特征的有效性,本文首先對TF-IDF計算得出權重較高的部分API調用模式進行可視化,在三維空間中對良性/惡意樣本的同一API調用模式進行觀察,可視化結果如圖8所示。
敏感API調用模式特征基于圖嵌入,將每個API在函數調用圖中的調用模式映射為5維向量。為方便在三維空間中進行可視化,本文基于PCA對API調用模式特征進行降維處理,并將其繪制于三維空間中。
圖8中藍色樣本點代表良性樣本API調用模式特征在三維空間中的映射,紅色點代表惡意樣本對應API的調用模式,每個子圖均對應一種敏感API項。API調用模式特征在三維空間中的映射分布,可清晰體現出良性與惡意樣本之間對同一敏感API存在不同的調用模式,且同一類別APK的API調用模式之間存在相似性。
但由于同一API可能存在多個調用模式,故可能出現如圖8“setvalue()”API項特征對應的API調用模式分布:藍色色塊分多個區域聚集,說明對于該敏感API項,其在良性樣本中存在多種調用模式。故在可視化后,在三維空間中存在分區域聚集特性。
3.4.2 基于敏感API調用模式特征的惡意軟件檢測
為驗證基于敏感API調用模式特征的有效性,本文基于該特征實現了安卓惡意軟件檢測。實驗環節分別選取權重排名前20、25、30、35、40的敏感API項目,并基于敏感API調用模式特征進行安卓惡意軟件檢測。對Precision,recall以及F-score參數指標進行記錄,測試結果見表2。
將測試數據繪制于圖9中。
測試結果顯示,基于敏感API調用模式特征的安卓惡意軟件檢測子模型,可有效對良性/惡意軟件進行區分,最佳檢測精度可達到97.6%。隨著采取敏感API數目的不斷增長,其檢測精度及其它性能均隨之提升。采取的敏感API數目在30~35時,檢測模型性能有所下降。經分析,檢測模型性能下降是由于過多的API項目引入了過多無關API調用模式特征,且對應API項在良性/惡意APK中存在相同或相似的調用模式,給檢測模型帶來了過多的無關信息,從而對檢測模型性能產生了負面影響。
實驗結果顯示,基于敏感API調用模式特征的安卓惡意軟件檢測模型,最佳API數目應在30項左右,且種類應與表1中所列項目相同或相似。
3.5 綜合輔助特征的檢測測試
上述測試環節僅適用于API調用模式特征作為檢測依據。為進一步提升檢測器性能,本文綜合了操作碼頻度、敏感權限頻度、敏感API調用頻度3種輔助特征,并將其添加至特征矩陣中。對檢測模型進行測試,測試結果如表3所示。
表3 集成檢測性能
[分類器\&Precision\&Recall\&F-score\&集成檢測模型\&0.993\&1.0\&0.996\&]
為客觀評估本文提出的多特征集成檢測模型,本文在相同數據集上對其它安卓惡意軟件檢測工作進行復現,以對比性能差異。Niall McLaughlin等[17]提出一種基于APK二進制數據的惡意軟件檢測方法,在測試中獲得了良好的檢測結果。Drebin是Daniel Arp等提出的多特征安卓惡意軟件檢測框架。與上述工作進行性能對比,模型測試數據如表4所示。
與相關安卓惡意軟件檢測工作進行對比,本文多特征安卓惡意軟件檢測模型擁有更高的檢測精度,且F-score相較于其它工作最高,說明擁有更高的綜合檢測性能。
4 結語
本文提出了一種新型敏感API調用模式特征,該特征基于GCN對函數調用圖進行API節點的嵌入計算,實現對API節點在函數調用圖中的調用模式表征;針對函數調用圖規模較大的問題,提出一種半保留式的函數調用圖精簡方法,有效降低了對函數調用圖進行分析時的數據復雜度;基于卷積神經網絡搭建了對應的子分類器,有效實現了安卓惡意軟件檢測。分析與實驗測試結果顯示,敏感API調用模式特征可有效對APK中的函數調用模式進行表征,在采用權重排序前30的敏感API項的調用模式作為特征時,可獲得97.6%的檢測精度,相較于其它頻度特征可攜帶更多有效信息,實現高效的安卓惡意軟件檢測。
本檢測模型聯合了Opcode頻度特征、API頻度特征、敏感權限特征,將所有特征集成至同一特征矩陣中,進一步提升了檢測模型性能,檢測精度達到99%。與同類工作進行比較,本文擁有更優的檢測性能,驗證了基于多種特征融合的安卓惡意軟件檢測模型的有效性。
未來可對本檢測模型中的敏感API檢測機制進行升級,進一步細化API的挑選機制,從而減少待分析的API數目,達到提升檢測效率的目的。
參考文獻:
[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.
(責任編輯:杜能鋼)