王玉聯(lián),魯鳴鳴
中南大學(xué) 計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410083
Android系統(tǒng)因開(kāi)源與設(shè)備售價(jià)低廉的特點(diǎn),在全球范圍內(nèi)擁有廣泛的用戶。然而,Android的開(kāi)源特性也使得其極容易受到攻擊,這嚴(yán)重威脅用戶個(gè)人信息安全甚至國(guó)家信息安全。2019年全年,360安全大腦共截獲移動(dòng)端新增惡意程序樣本約180.9萬(wàn)個(gè),為中國(guó)用戶攔截惡意程序攻擊約9.5億次。如此數(shù)量的惡意軟件及其頻繁的攻擊將更加促進(jìn)有效惡意檢測(cè)方法的開(kāi)發(fā)。
越來(lái)越多惡意軟件檢測(cè)手段借助深度學(xué)習(xí)的方法,不僅實(shí)現(xiàn)了自動(dòng)化檢測(cè),而且達(dá)到了很高的精度。深度學(xué)習(xí)在安全領(lǐng)域也越來(lái)越被認(rèn)為是強(qiáng)大且有效的工具,而其模型的決策過(guò)程對(duì)研究人員來(lái)說(shuō)是不透明的。透明性的缺乏,一方面意味著模型難以分析,而且很難防止攻擊[1],另一方面,模型的決策過(guò)程難以解釋,難以取信于人,限制了其在實(shí)際中的應(yīng)用。面對(duì)這一問(wèn)題,一些工作通過(guò)分析模型獲取最大影響的特征,為深度學(xué)習(xí)模型提供了一定的可解釋性。這些方法基于特征相互獨(dú)立的強(qiáng)假設(shè),僅僅考慮特征各自對(duì)模型的影響,但是在實(shí)際中特征之間總是存在著耦合,僅考慮單個(gè)特征對(duì)模型的影響,難以反映耦合作用。為反映不同類型軟件中敏感API的耦合作用,挖掘敏感API的組合模式,本文提出了一種可解釋的基于圖嵌入學(xué)習(xí)的方法。首先,從細(xì)粒度函數(shù)調(diào)用圖(FFCG)中提取路徑,將每一條路徑嵌入到一個(gè)固定長(zhǎng)度的高維向量中。然后使用注意力機(jī)制獲取每一條路徑的注意力,作為該路徑的重要性程度指標(biāo)。最后使用多層感知機(jī)做分類任務(wù)。本文做出了以下貢獻(xiàn):
(1)提出了一種新的特征FFCG。該特征相比于傳統(tǒng)函數(shù)調(diào)用圖,不僅包含軟件結(jié)構(gòu)信息,還融合了程序語(yǔ)義信息。
(2)在FFCG上采用基于圖嵌入的學(xué)習(xí)方案。通過(guò)注意力機(jī)制可獲取軟件的關(guān)鍵路徑并定位惡意行為所涉及的敏感API序列。
現(xiàn)有Android惡意檢測(cè)方法一般可分為三類:(1)靜態(tài)分析;(2)動(dòng)態(tài)分析;(3)混合分析。靜態(tài)分析一般是指在Anroid軟件安裝和執(zhí)行之前,使用靜態(tài)資源進(jìn)行惡意檢測(cè)的方法,常見(jiàn)的靜態(tài)資源由權(quán)限[2]、組件[3-4]、靜態(tài)API[5]等;動(dòng)態(tài)分析利用軟件運(yùn)行時(shí)的動(dòng)態(tài)特征,如系統(tǒng)調(diào)用[6]、動(dòng)態(tài)API[7]等;混合分析[8-9]則同時(shí)利用靜態(tài)特征和動(dòng)態(tài)特征。動(dòng)態(tài)檢測(cè)行為難以觸發(fā),計(jì)算代價(jià)較大,且對(duì)實(shí)時(shí)性要求較高。因此本文使用靜態(tài)檢測(cè)方法。
Suarez-Tangil等人[10]通過(guò)從代碼中提取一系列靜態(tài)特征,包括API函數(shù)調(diào)用、代碼結(jié)構(gòu)、權(quán)限和被調(diào)用組件集合,使用機(jī)器學(xué)習(xí)算法檢測(cè)惡意軟件。Kong和Yan[11]提取惡意軟件的FCG,并提取圖中每個(gè)節(jié)點(diǎn)的6類特征。對(duì)于每一種特征,分別采用度量學(xué)習(xí)算法構(gòu)建分類器,最后利用各分類器的權(quán)值組合構(gòu)建集成的檢測(cè)模型。Dam和Touili[12]構(gòu)建了軟件的API調(diào)用圖,并利用隨機(jī)游走圖核結(jié)合支持向量機(jī)來(lái)學(xué)會(huì)如何檢測(cè)惡意軟件。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)新領(lǐng)域,在Android惡意檢測(cè)中相比于傳統(tǒng)的方法擁有更好的性能。Karbab等人[13]和McLaughlin等人[14]分別通過(guò)對(duì)DEX文件中函數(shù)的API序列和反匯編程序中的原始操作碼序列編碼,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做分類任務(wù)。Wang等人[15]提出一種基于深度自動(dòng)編碼器(DAE)和CNN的混合模型,提高了大規(guī)模Android惡意軟件檢測(cè)的準(zhǔn)確性和效率。
然而,深度學(xué)習(xí)的不透明性使得模型難以解釋,難以取信于人,這使其在實(shí)際中的應(yīng)用受到限制。面對(duì)這一困境,有很多工作開(kāi)始考慮惡意軟件檢測(cè)的可解釋性問(wèn)題。Melis等人[16]使用基于梯度的方法來(lái)識(shí)別最有影響力的局部特征,并基于梯度的方法,提出了全局解釋的方法。Guo等人[17]通過(guò)使用混合回歸模型近似復(fù)雜模型的局部決策函數(shù),解釋復(fù)雜模型的局部行為。Zhu等人[18]使用基于融合卷積神經(jīng)網(wǎng)絡(luò)的惡意軟件檢測(cè)模型,并提出一種回溯方法,該方法通過(guò)訓(xùn)練一個(gè)類似于模型性能的簡(jiǎn)單網(wǎng)絡(luò)定位關(guān)鍵特征,解釋模型的決策。這些工作為深度學(xué)習(xí)模型引入了可解釋性,但是僅考慮單一特征模型的影響,無(wú)法反映實(shí)際情況中特征耦合的作用,難以刻畫特征間的組合模式。
與現(xiàn)有工作不同,本文受一些圖嵌入工作[19-20]的啟發(fā),通過(guò)在FFCG上隨機(jī)游走,獲取一些組合特征——敏感API序列。同時(shí)在模型中引入了注意力機(jī)制,不需要近似模型或計(jì)算梯度便能夠通過(guò)注意力分?jǐn)?shù)尋找影響模型決策的模式。
如圖1所示,使用Androguard獲取每個(gè)軟件的函數(shù)調(diào)用圖(FCG),挖掘圖中每個(gè)節(jié)點(diǎn)的API序列,并提取其中的敏感API序列,可得FFCG。通過(guò)隨機(jī)游走提取敏感API路徑,使用sent2vec獲取每條敏感API路徑的向量表示。并引入注意力機(jī)制,學(xué)習(xí)敏感API路徑的注意力分?jǐn)?shù)。注意力分?jǐn)?shù)越大則該路徑對(duì)模型決策影響越大。將各路徑信息融合以獲取Android軟件的低維稠密嵌入表示z。
圖1 模型Fig.1 Model
FCG反映了軟件中函數(shù)的調(diào)用關(guān)系。由于軟件的功能主要由庫(kù)函數(shù)和系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn),因此FCG能夠?yàn)檐浖膶?shí)際行為提供靜態(tài)的有效近似。通過(guò)研究FCG的結(jié)構(gòu)特性,可以進(jìn)一步挖掘軟件的靜態(tài)特征。用有向圖G=(V,E)表示FCG,其中V是節(jié)點(diǎn)的集合,E為邊的集合。圖2是一段簡(jiǎn)單的Android代碼實(shí)例,其對(duì)應(yīng)的FCG如圖3(a)所示。FCG中每一個(gè)節(jié)點(diǎn)都對(duì)應(yīng)該軟件中的一個(gè)函數(shù),譬如節(jié)點(diǎn)1的函數(shù)名為doSentMsgTo。邊表示函數(shù)之間的調(diào)用關(guān)系。
圖2 代碼段Fig.2 Code snippet
圖3 FCG與FFCGFig.3 FCG and FFCG
對(duì)于FCG中的每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的函數(shù),通過(guò)函數(shù)中的Davilk指令獲取函數(shù)調(diào)用的API序列。同時(shí),由Arzt等人[21]通過(guò)捕獲敏感數(shù)據(jù)流獲取的敏感API庫(kù),使用敏感API庫(kù)篩選出每個(gè)函數(shù)的敏感API序列。
由于FCG僅使用序號(hào)或函數(shù)名表示節(jié)點(diǎn),其只能反映軟件的結(jié)構(gòu)特性。而FFCG通過(guò)獲取節(jié)點(diǎn)中的敏感API序列,融合了節(jié)點(diǎn)的內(nèi)容信息。如圖3(b)所示,圖中節(jié)點(diǎn)不再用函數(shù)名或節(jié)點(diǎn)標(biāo)號(hào)表示,而是使用函數(shù)中的敏感API序列來(lái)標(biāo)記,譬如圖中節(jié)點(diǎn)1對(duì)應(yīng)的敏感API序列為getdefault->sendtextmessage(省略了敏感API的包路徑,詳情見(jiàn)圖3(b))。
通過(guò)在FFCG隨機(jī)游走可獲取一些節(jié)點(diǎn)路徑。將節(jié)點(diǎn)路徑中節(jié)點(diǎn)對(duì)應(yīng)的敏感API序列拼接起來(lái),即得到一系列的路徑,稱之為敏感API路徑。如圖3(a)所示,節(jié)點(diǎn)路徑(1→2)中節(jié)點(diǎn)的敏感API序列拼接后即可得到一條敏感API路徑:
getdefault→sendtextmessage→dividemessage
本工作將自然語(yǔ)言處理(NLP)領(lǐng)域的模型sent2vec[22]應(yīng)用到惡意軟件檢測(cè)任務(wù)中來(lái)向量化敏感API路徑。
采用K條敏感API路徑向量(x1,x2,…,xi,…,xK)作為輸入,則這K條敏感API路徑的權(quán)重(α1,α2,…,αi,…,αK)由下式可得:
Att為注意力的神經(jīng)網(wǎng)絡(luò)。在Att內(nèi)部使用下式計(jì)算每條敏感API路徑i的注意力分?jǐn)?shù):
其中Wα是一個(gè)權(quán)重矩陣,b和vTα分別是偏置向量和注意力向量。這三種參數(shù)都是超參數(shù)。為了在同一尺度下進(jìn)行比較,softmax函數(shù)被用來(lái)規(guī)范化注意力分?jǐn)?shù)αi:
顯然,αi越大就代表敏感API路徑xi對(duì)模型的分類決策影響越大。利用αi融合xi的信息,可獲取Android軟件的嵌入表示z:
之后,使用多層感知機(jī)(MLP)進(jìn)一步分類任務(wù),并使用交叉熵作為損失函數(shù)。
本文通過(guò)兩種類型的分類任務(wù)評(píng)估檢測(cè)流程,分別是:(1)惡意軟件檢測(cè),從軟件集合中檢測(cè)出惡意軟件;(2)惡意軟件家族識(shí)別,識(shí)別惡意軟件所屬惡意家族。惡意軟件檢測(cè)數(shù)據(jù)集共包含26 000個(gè)樣本,惡意軟件和正常軟件比例為1∶1,其中惡意軟件和正常軟件分別來(lái)自amd數(shù)據(jù)集[23]和androzoo數(shù)據(jù)集[24]。惡意軟件家族識(shí)別數(shù)據(jù)集是從drebin數(shù)據(jù)集[25]中選取樣本數(shù)量最多的9個(gè)家族。表1展示了更詳細(xì)的信息。實(shí)驗(yàn)中按照10折交叉驗(yàn)證訓(xùn)練模型。
惡意軟件檢測(cè)任務(wù)將惡意軟件視為正類,正常軟件視為負(fù)類;而惡意軟件家族識(shí)別任務(wù)則是識(shí)別惡意軟件所屬的惡意家族,評(píng)估時(shí)將每個(gè)類別單獨(dú)視為正類,所有其他類型視為負(fù)類。如表2所示,使用混淆矩陣評(píng)估分類結(jié)果,這些指標(biāo)是分類任務(wù)中評(píng)估模型的經(jīng)典指標(biāo)。精度是正確識(shí)別的樣本數(shù)量在總樣本中的比例。查準(zhǔn)率是正確識(shí)別的正類樣本在所有正類樣本中所占比例。查全率為正確識(shí)別的正類樣本在所有識(shí)別為正類的樣本中所占比例。F1分?jǐn)?shù)是查準(zhǔn)率與查全率的調(diào)和平均,更能反映模型的整體表現(xiàn)。
表1 數(shù)據(jù)集Table 1 Dataset
表2 不同算法的實(shí)驗(yàn)對(duì)比Table 2 Experimental comparison of various algorithms
為了評(píng)估本文提出的模型,實(shí)驗(yàn)中利用兩種機(jī)器學(xué)習(xí)分類算法作為基準(zhǔn)進(jìn)行對(duì)比:KNN、xgboost。在實(shí)驗(yàn)中,KNN取k為5,設(shè)置xgboost子樹個(gè)數(shù)為100。同時(shí),在本文提出的模型中,將敏感API路徑嵌入向量設(shè)置為64維,MLP層數(shù)設(shè)置為1,并在檢測(cè)和識(shí)別任務(wù)中分別使用sigmoid和softmax激活函數(shù)。表2總結(jié)了以各分類器在不同數(shù)據(jù)集上的查準(zhǔn)率、查全率、分類精度等評(píng)價(jià)指標(biāo)上的性能,可看出本文提出的模型在各項(xiàng)指標(biāo)中均優(yōu)于其他算法,在惡意軟件檢測(cè)和惡意家族識(shí)別方面都具有更好的性能。
本文從FFCG中提取敏感API序列,對(duì)其進(jìn)行編碼,并作為神經(jīng)網(wǎng)絡(luò)的輸入。本節(jié)嘗試使用類似的方法在傳統(tǒng)FCG上提取路徑,通過(guò)在傳統(tǒng)FCG上游走得到用戶自定義函數(shù)名序列,并同樣基于sent2vec[22]進(jìn)行編碼。實(shí)驗(yàn)中按照10折交叉驗(yàn)證訓(xùn)練模型,在惡意軟件檢測(cè)數(shù)據(jù)集上每次完整的10折交叉驗(yàn)證所需時(shí)間如表3所示。
表3 FFCG和傳統(tǒng)FCG的時(shí)間消耗對(duì)比Table 3 Time consumption of FFCG versus traditional FCG
從表3可知,由于FCG中的函數(shù)名是由用戶自定義的,函數(shù)名的數(shù)目非常龐大,這使得提取的路徑也更加多樣,導(dǎo)致基于傳統(tǒng)FCG的模型在運(yùn)行時(shí)基本處于停滯狀態(tài)。而且,基于傳統(tǒng)FCG特征訓(xùn)練得到的模型依賴于用戶自定義的函數(shù)名,致使模型健壯性不足。
保真度測(cè)試是為了評(píng)估所選特征的保真度(正確性)。若特征ft對(duì)某類別是重要的,則刪除ft或在另一個(gè)類別樣例中添加ft會(huì)導(dǎo)致誤分類,或構(gòu)造一個(gè)僅包含ft的樣例也能將該樣例分類正確?;谏鲜鲋庇X(jué),文獻(xiàn)[17]設(shè)計(jì)了三個(gè)保真度測(cè)試:
(1)特征演繹測(cè)試:通過(guò)將樣本x的關(guān)鍵特征歸零構(gòu)造樣本t(x)1,檢驗(yàn)分類正確率(PCR)。
(2)特征增強(qiáng)測(cè)試:從類別A中隨機(jī)選擇一個(gè)樣本x。用類別B的關(guān)鍵特征替換x的關(guān)鍵特征,來(lái)構(gòu)造樣本t(x)2。
(3)合成測(cè)試:保留樣本x中的關(guān)鍵特征,對(duì)其他特征隨機(jī)賦值,來(lái)構(gòu)造樣本t(x)3。
在每個(gè)測(cè)試后,檢驗(yàn)正分類率(PCR)。PCR可測(cè)量仍歸為x原始標(biāo)簽的樣品所占的比例。
本工作可以通過(guò)模型中注意力分?jǐn)?shù)獲取模型判斷惡意軟件的依據(jù),以便于進(jìn)一步的分析。首先將APK文件輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,保留神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)正確的樣本并按照注意力分?jǐn)?shù)(應(yīng)大于某一閾值)獲取關(guān)鍵的敏感API路徑。即任一敏感API路徑對(duì)應(yīng)的注意力分?jǐn)?shù)大于某閾值(實(shí)驗(yàn)中設(shè)置該閾值為1/該敏感API路徑所在軟件中敏感API路徑數(shù)目),則認(rèn)為該路徑對(duì)模型的最終決策起到了關(guān)鍵作用,稱之為關(guān)鍵路徑。
為了驗(yàn)證通過(guò)注意力機(jī)制獲取的關(guān)鍵路徑確實(shí)是分類結(jié)果的主要貢獻(xiàn)者,使用保真度測(cè)試評(píng)估關(guān)鍵路徑的重要性。上述3個(gè)保真度測(cè)試,若關(guān)鍵路徑是關(guān)鍵特征,則特征演繹測(cè)試和特征增強(qiáng)測(cè)試會(huì)產(chǎn)生較低的PCR,而合成測(cè)試的PCR應(yīng)較高。對(duì)于數(shù)據(jù)集1,3個(gè)測(cè)試產(chǎn)生測(cè)試數(shù)據(jù)集依次為T1、T2和T3,而對(duì)于數(shù)據(jù)集2,隨機(jī)選取其中的兩個(gè)家族FakeInstaller和Plankton進(jìn)行測(cè)試,產(chǎn)生的測(cè)試數(shù)據(jù)集依次為T4、T5、T6。表4中綜合測(cè)試的PCR為87.63%、83.03%,均分別遠(yuǎn)高于特征演繹測(cè)試和特征增強(qiáng)測(cè)試的PCR 65.4%、19.96%和30.05%、13.21%。這證明關(guān)鍵路徑是有效且值得信賴的,為接下來(lái)的進(jìn)一步分析提供了保障。
表4 有效性測(cè)試Table 4 Fidelity evaluation
現(xiàn)有的大部分模型的決策過(guò)程對(duì)研究人員來(lái)說(shuō)是不透明的,因此很難理解為什么樣本被標(biāo)記為安全、惡意或具體的家族。本文通過(guò)注意力機(jī)制解決了這一問(wèn)題。這種機(jī)制的優(yōu)點(diǎn)在于能夠自動(dòng)地學(xué)習(xí)到每條路徑的重要性——注意力分?jǐn)?shù)。這使本工作能夠?qū)⒏嗟姆治龊脱芯糠旁陉P(guān)鍵路徑上。接下來(lái),本文將從兩個(gè)層面分析關(guān)鍵路徑。
(1)總體分析
分別取10 000個(gè)分類正確的惡意軟件和正常軟件,統(tǒng)計(jì)惡意軟件和正常軟件的關(guān)鍵API路徑中敏感API的分布情況。如圖4所示,橫軸是不同的敏感API,縱軸為敏感API在惡意軟件和正常軟件中出現(xiàn)頻次的差值,因此紅色部分代表對(duì)應(yīng)的敏感API更頻繁的被惡意軟件調(diào)用,藍(lán)色則相反。表5列出了前12個(gè)兩者頻次相差較大的敏感API以及其相差頻次。這符合人們的直覺(jué),即惡意軟件與正常軟件在調(diào)用敏感API時(shí),會(huì)表現(xiàn)出不同的傾向。
圖4 敏感API的分布在正常軟件和惡意軟件中的差別Fig.4 Distribution of sensitive APIs difference between normal software and malware
表5 惡意軟件和正常軟件調(diào)用頻次差別較大的敏感APITable 5 Sensitive APIs that vary widely in frequency of malware and normal software calls
API調(diào)用不僅可以用來(lái)表示Android應(yīng)用程序的行為,它們之間的相互關(guān)系也可能反映了惡意軟件中的重要惡意行為特征。為驗(yàn)證上述觀點(diǎn),本文通過(guò)使用FP-growth算法[26]挖掘關(guān)鍵路徑中的頻繁項(xiàng)集(模式),以尋找敏感API之間的關(guān)系。圖5展示了在數(shù)據(jù)集1的關(guān)鍵路徑中挖掘得到的正常軟件和惡意軟件中的模式(更多惡意家族模式可見(jiàn)表6)。由圖中的模式可看出,正常軟件中是一些日志和獲取時(shí)間日期的組合操作,而惡意軟件中更多的是一些獲取設(shè)備信息、寫文件、上網(wǎng)等組合操作。
圖5 由關(guān)鍵路徑挖掘的模式Fig.5 Patterns mined by critical paths
表6 惡意軟件檢測(cè)關(guān)鍵路徑中的模式Table 6 Patterns in critical paths in malware detection
drebin數(shù)據(jù)集中不同的惡意家族表現(xiàn)出不同的惡意行為傾向。以FakeInstaller家族為例,F(xiàn)akeInstaller是一種特洛伊惡意軟件,它會(huì)在安裝過(guò)程中向付費(fèi)號(hào)碼發(fā)送短信。結(jié)合API原型的知識(shí),由關(guān)鍵路徑獲取的該家族模式(更多惡意家族模式可見(jiàn)表7)中也存在類似的行為,譬如android.telephony.smsmanager:getdefault可以管理短信息服務(wù)(SMS)的操作,還有對(duì)應(yīng)的具體發(fā)送短信的敏感API(android.telephony.smsmanager:sendtext-message)。BaseBridge家族常常將機(jī)密信息(IMSI、IMEI等)發(fā)送到遠(yuǎn)程服務(wù)器。由關(guān)鍵路徑獲取的該家族模式中也反映了這一點(diǎn),包括獲取設(shè)備信息(android.telephony.telephonymanager:getsubscriberid)和連接上網(wǎng)(java.net.httpurlconnection:*)等操作(更多模式在表8中展示)。
表7 惡意家族識(shí)別中的模式Table 7 Patterns in malicious family identification
表8 關(guān)鍵路徑Table 8 Critical paths
(2)具體分析
總體分析以類別(或家族)進(jìn)行了分析。這一部分將會(huì)針對(duì)某一特定樣本進(jìn)行分析,以說(shuō)明對(duì)于某一惡意軟件,本文提出的模型能夠利用軟件的關(guān)鍵路徑,定位惡意行為所涉及的敏感API序列。
例1隨機(jī)選取一個(gè)模型正確識(shí)別的惡意軟件,該軟件為FakeInstaller家族中的一員。可使用模型獲取了其關(guān)鍵路徑:getNetOp→getBroadcast→…→getSMSManager→sendTXTMsg。從該關(guān)鍵路徑中可以看出惡意軟件進(jìn)行了獲取運(yùn)營(yíng)商名稱,管理SMS并發(fā)送信息的一系列操作,這反映出該惡意軟件極有可能存在發(fā)送收費(fèi)短信的行為,這是FakeInstaller的典型惡意行為。
例2Iconosys是一種竊取個(gè)人信息的軟件。從Iconosys家族的某一模型正確識(shí)別的惡意軟件中提取關(guān)鍵路徑,取其中兩條為例:①…getDefault→divide-Msg→…→sendMultiMsg→query…;②getFrom-Loc→…→getCountryName→getAddrLin。兩條關(guān)鍵路徑分別是查詢數(shù)據(jù)庫(kù)并發(fā)送多條信息和獲取位置信息,這也正與Iconosys的常見(jiàn)惡意行為相匹配。
本文引入了一種基于圖嵌入和注意力機(jī)制的神經(jīng)網(wǎng)絡(luò),可以準(zhǔn)確地進(jìn)行Android惡意軟件的檢測(cè)與識(shí)別。該神經(jīng)網(wǎng)絡(luò)可以尋找影響模型決策的模式以及定位惡意行為所涉及的敏感API序列。同時(shí),本文提出了一種新的特征——FFCG,相比于傳統(tǒng)的FCG,它擁有更加細(xì)粒度的特征。本文的研究結(jié)果表明,正常軟件與惡意軟件間、不同惡意家族間敏感API傾向于呈現(xiàn)不同的組合模式。這些組合模式與涉及的惡意行為密切相關(guān)。在未來(lái)的工作中,將嘗試結(jié)合動(dòng)態(tài)的信息,并探索更加高效的算法來(lái)完成檢測(cè)和識(shí)別任務(wù)。