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

?

InterDroid:面向概念漂移的可解釋性Android惡意軟件檢測方法

2021-11-05 12:04:46魏筱瑜任家東
計算機研究與發(fā)展 2021年11期
關(guān)鍵詞:準確率樣本特征

張 炳 文 崢 魏筱瑜 任家東

1(燕山大學信息科學與工程學院 河北秦皇島 066004) 2(河北省軟件工程重點實驗室(燕山大學) 河北秦皇島 066004) 3(中國五洲工程設計研究院 北京 100053) (jdren@ysu.edu.cn)

2021年第1季度,360互聯(lián)網(wǎng)安全中心截獲移動端新增惡意程序樣本約206.5萬個,比2020年同期增長426.5%,造成人均經(jīng)濟損失14 611元[1].相較于iOS操作系統(tǒng),Android操作系統(tǒng)占據(jù)中國移動端市場76.91%[2],且Android開放平臺的應用軟件生態(tài),使其更易受到惡意軟件威脅.

現(xiàn)有的Android惡意軟件檢測方法分為:基于特征碼的檢測方法、基于機器學習的靜態(tài)檢測方法、基于機器學習的應用行為檢測方法3大類.基于機器學習的靜態(tài)檢測方法因其對未知惡意軟件檢測準確率高、對設備硬件要求低等優(yōu)點成為主流的Android惡意軟件檢測方法.

基于機器學習的靜態(tài)檢測方法在特征選取上以權(quán)限特征為核心,并選取多種其他特征作為輔助.例如:應用程序編程接口(application programming interface, API)、服務、廣播、字符串等.在模型訓練算法上,決策樹、梯度提升樹等分類樹算法,頻繁項集與關(guān)聯(lián)模式挖掘等推薦算法取得較好表現(xiàn)后[3],卷積神經(jīng)網(wǎng)絡等計算機視覺領(lǐng)域算法及Word2vec等自然語言處理領(lǐng)域算法也被引入Android惡意軟件檢測,用于處理多模態(tài)的惡意軟件特征.

但是,傳統(tǒng)的機器學習靜態(tài)檢測方法正面臨3個主要挑戰(zhàn):

1) 應用市場中請求敏感權(quán)限的應用比例正在下降[4],部分惡意應用能在不申請新權(quán)限的基礎(chǔ)上完成攻擊.單一的權(quán)限特征,或無邏輯引入的特征組合不足以表征惡意軟件.

2) 黑盒的機器學習算法獲得越來越高準確率的同時,惡意應用檢測對模型的可解釋性與透明性要求越來越高[5].Android惡意軟件逆向人員需要模型提供決策依據(jù),以促進人工分析或判斷模型決策的合理性.

3) Android系統(tǒng)版本的高頻率更新導致以各版本軟件開發(fā)工具包(software development kit, SDK)為基礎(chǔ)開發(fā)的Android應用均擁有一定市場占有率[6].而由于概念漂移現(xiàn)象,以大量樣本為代價訓練得到的機器學習模型在對不同時期Android惡意軟件的檢測上表現(xiàn)較差.

為此,本文提出一種面向概念漂移的可解釋性Android惡意軟件檢測方法.在特征引入階段,該方法首先基于Kharon數(shù)據(jù)集[7]以惡意軟件人工分析報告中的高頻詞作為依據(jù),在源代碼層次選取權(quán)限名、API包名、意圖3類特征,并在匯編指令層次選取Dalvik字節(jié)碼特征作為補充.從而多層次地擴充單一的權(quán)限特征,并提升特征引入過程邏輯性及特征對惡意軟件的表征能力.在特征包裝與解釋階段,首先對每種特征分別以TPOT(tree-based tipeline optimization tool)算法[8-10]篩選機器學習模型進行預訓練,其后基于SHAP(shapley additive explanations)算法[11-13]對每個預訓練模型建立解釋器,篩選得到對分類結(jié)果具有高貢獻度的可解釋性特征組合.并以此提高模型的透明度,為人工分析與驗證提供決策依據(jù).在模型遷移階段,首先判斷已有模型是否需要遷移.一方面利用預訓練得到的模型預測不同時期惡意樣本,另一方面基于特征包裝與解釋階段輸出的特征組合采樣不同時期Android惡意軟件,并進行曼-惠特尼U(Mann-Whitney U, MWU)檢驗[14].在滿足特征遷移條件后,基于聯(lián)合分布適配(joint distribution adaptation, JDA)算法[15-16]改進已有訓練模型.最終以無標注小樣本的不同時期軟件為代價完成已有訓練模型遷移,提升已有檢測模型對不同時期惡意軟件檢測效果.最終,再次使用TPOT算法篩選對比模型進行驗證.實驗結(jié)果表明,InterDroid對同時期Android惡意軟件檢測準確率達95%,對不同時期惡意軟件能將已有模型檢測準確率提升1倍以上.能有效檢測同時期惡意軟件,提高模型決策依據(jù)透明度,并在較低迭代次數(shù)下完成模型遷移,從而緩解概念漂移導致的Android惡意軟件檢測準確率下降問題.

綜上,本文提出的方法主要有3方面貢獻:

1) 基于Android惡意軟件分析報告提取攻擊流程中的高頻詞,據(jù)此引入權(quán)限名、API包名、意圖這3類源代碼層次特征,以及匯編指令層次的Dalvik字節(jié)碼特征.使初始特征組合在保證低存儲開銷與較高分析速度的同時能夠更好地表征惡意軟件,提高引入特征組合的邏輯性與合理性.

2) 改進傳統(tǒng)的特征包裝方法,使用自動化機器學習TPOT算法篩選最佳分類模型集合,將集合中模型與4種特征兩兩組合訓練,并為訓練得到的模型建立解釋器.InterDroid篩選出的特征對多數(shù)訓練樣本的分類結(jié)果具有高貢獻度,并為模型的驗證與惡意軟件的人工分析提供依據(jù).

3) 將領(lǐng)域自適應方法引入Android惡意軟件檢測.在已有數(shù)據(jù)和模型的基礎(chǔ)上,以少量無標注新時期Android軟件為代價,即可有效提升現(xiàn)有模型對新惡意樣本的檢測準確率,進而緩解概念漂移問題.

1 相關(guān)工作

Android系統(tǒng)的沙盒機制,使非定制系統(tǒng)中的應用動態(tài)行為監(jiān)控較為困難[17].目前Android惡意應用自動化檢測在特征提取階段仍以靜態(tài)特征為主,并以權(quán)限特征為主線展開.Felt等人[18]最早建立了API到權(quán)限的映射,并開發(fā)了檢測Android應用程序惡意代碼的Stowaway;但忽略了用戶自定義權(quán)限,并且無法建立復雜的Java反射調(diào)用到權(quán)限的映射關(guān)系.Bartel等人[19]將API鏈接到服務的綁定機制,找到應用聲明權(quán)限與其實際使用權(quán)限的不同,填補了 Stowaway在Java反射調(diào)用到權(quán)限映射上的空白,但其未能研究Dalvik字節(jié)碼層面的特征.Karim等人[20]將API到權(quán)限的單向映射完善為可相互追溯的雙射,通過關(guān)聯(lián)模式挖掘,在軟件開發(fā)階段提醒開發(fā)者使用的API應申請的最小權(quán)限;但其研究局限于開源軟件,而實際的Android惡意軟件檢測目標多為編譯后的應用程序安裝包.Olukoya等人[21]引入自然語言處理技術(shù),將應用市場中的程序描述作為權(quán)限的補充信息.Wang等人[22]以用戶評論替代應用描述進行權(quán)限推斷,并認為在反映權(quán)限的真實使用狀況上眾包用戶評論較之應用描述更具有效性.但以上2種方法均依賴于應用描述與用戶評論的真實性.

相較于上述方法,本文基于人工Android惡意軟件分析報告,從權(quán)限特征出發(fā),增加API包名、意圖等Android逆向分析流程中的突破點作為特征,并加入?yún)R編指令層的Dalvik字節(jié)碼作為補充,提高了特征的全面性與客觀性.

針對Android惡意應用自動化檢測中的維數(shù)災難問題,現(xiàn)有研究一方面采用過濾、包裝、嵌入[23]等方法降低特征維度,另一方面將高維特征轉(zhuǎn)化為圖像,結(jié)合計算機視覺改進檢測模型.在特征降維方面:Alecakir等人[24]基于注意力機制與遞歸神經(jīng)網(wǎng)絡等機器學習模型包裝特征;Li等人[25]采用嵌入方法,通過排序得到惡意與良性樣本的差異性特征,并融合決策樹剪枝與頻繁項集挖掘算法進行特征篩選;Yuan等人[26]提出權(quán)限風險值的思想,通過Markov鏈過濾特征.在高維特征表征為圖像方面:Chen等人[27]將源代碼基本塊轉(zhuǎn)換成多通道圖像并以此訓練卷積神經(jīng)網(wǎng)絡模型;ünver等人[28]則首先將源代碼轉(zhuǎn)換為灰度圖像,再選取圖像的局部與全局特征.

上述研究雖然有效地解決了高維特征的表征問題,但其特征引入過程具有主觀性.例如,同樣是重復出現(xiàn)的權(quán)限集合,Wang等人[29]認為應該保留,而文獻[25]主張刪除,并且特征選擇與模型訓練過程缺乏可解釋性.文獻[22]雖然生成了可解釋的判別規(guī)則,但模型依賴決策樹,不能擴展為其他模型.本文融合SHAP算法,通過解釋特征包裝模型輸出完成特征選擇.在降低特征維度的同時,保證了訓練模型的可擴展性與選擇特征的可解釋性,為人工逆向分析提供指導.

由于Android版本與開發(fā)庫的頻繁更新,Android惡意軟件檢測存在概念漂移問題[30].Mariconti等人[31]通過構(gòu)建Markov行為模型鏈,有效地提升了2年內(nèi)惡意軟件的檢測效率.本文最終的特征遷移可與文獻[31]相互補充.

2 方法設計

首先,本節(jié)介紹InterDroid整體研究框架,建立InterDroid數(shù)學模型.其次,分節(jié)介紹研究框架中不同模塊及其涉及的方法.由于模型訓練模塊與實驗數(shù)據(jù)聯(lián)系緊密,因此其中包含的數(shù)據(jù)處理與訓練結(jié)果將在第3節(jié)實驗評估中詳細展開.

2.1 研究框架

本節(jié)分為框架總述與框架建模2部分介紹InterDroid研究框架.其中,框架總述為本文方法各階段研究目標與研究步驟的簡要概括;框架建模為本文方法建立數(shù)學模型,細化總體框架.

1) 框架總述

本文研究框架總體上分為特征包裝與解釋、模型訓練、遷移判定、特征遷移4個部分.如圖1所示:

① 特征包裝與解釋.以篩選出可解釋的特征組合為目標.首先提取Android惡意樣本分析報告關(guān)鍵詞,獲得權(quán)限、API包名、意圖、Dalvik字節(jié)碼4種特征類型.其次,基于TPOT算法得到篩選模型集合并與4種特征數(shù)據(jù)兩兩組合進行訓練.基于SHAP算法對訓練后的篩選模型建立解釋器,從而類內(nèi)排序每類特征包含特征分量的SHAP值.篩選出SHAP值高,即對分類結(jié)果貢獻度高且對大多數(shù)樣本具有顯著影響的特征分量,并采用水平拼接方式融合上述特征分量,融合結(jié)果即為InterDroid篩選出的特征組合.

② 模型訓練.以獲得InterDroid檢測模型及不同時期Android惡意軟件數(shù)據(jù)為目標.基于篩選出的特征組合,一方面抽取已有Android惡意軟件數(shù)據(jù)集中對應數(shù)據(jù),訓練檢測模型;另一方面,通過Python整合Androguard[32],從而提取不同時期惡意軟件安裝包中對應數(shù)據(jù),供遷移判定模塊使用.

③ 遷移判定.以判定當前模型是否需要進行特征遷移為目標.一方面,使用不同時期Android惡意軟件數(shù)據(jù)測試原有分類檢測模型;另一方面對不同時期Android惡意軟件數(shù)據(jù)進行同分布檢驗.若當前模型準確率低于工業(yè)界標準且不同時期Android惡意軟件特征存在概念漂移現(xiàn)象,則對當前分類檢測模型進行特征遷移.

④ 特征遷移.以提升現(xiàn)有模型對新興Android惡意軟件檢測準確率為目標.基于JDA算法將當前模型訓練數(shù)據(jù)領(lǐng)域知識遷移到不同時期Android惡意軟件領(lǐng)域,進而提升InterDroid檢測模型對新興Android惡意軟件的檢測準確率.

2) 框架建模

InterDroid檢測模型依據(jù)的特征組合finalfeature經(jīng)由特征包裝與解釋模塊中高頻詞提取、基于TPOT的對比算法篩選、基于SHAP的特征可解釋性包裝3步獲得.

① 高頻詞提取.基于Kharon數(shù)據(jù)集提取Android惡意軟件分析報告高頻詞匯,并將排名靠前的高頻詞語對應到Androguard可提取的靜態(tài)特征種類.

r(R)→featureset={fn1,fn2,…,fns},

(1)

R={report1,report2,…,reportn},

(2)

其中,r為高頻詞提取映射,R為Android惡意軟件報告集合,featureset為選取的特征種類集合,fni(1≤i≤s)為特征名,reportj(1≤j≤n)為第j篇Android惡意軟件分析報告,reportj中截取片段示例如圖2所示:

Fig.2 Illustration of malware analysis report fragment圖2 惡意軟件分析報告片段示意圖

② 基于TPOT的檢測算法篩選.基于Omni-Droid[33]數(shù)據(jù)集,投影得到4種特征對應的Android惡意軟件子數(shù)據(jù)集合.

(3)

其中,maldata為OmniDroid包含的所有Android惡意軟件數(shù)據(jù),pdi為maldata取fni特征投影后的子數(shù)據(jù)集合.

為每種特征數(shù)據(jù)分別建立TPOT算法篩選器,得到4種劃分數(shù)據(jù)集上檢測表現(xiàn)最佳的分類器集合.

(4)

其中,tp為TPOT算法篩選映射,p為tp篩選得到的分類模型種類總數(shù),mk為tp篩選得到的分類模型,1≤k≤p.

③ 基于SHAP的特征可解釋性包裝.將分類器與子數(shù)據(jù)集合兩兩組合進行訓練,并為訓練得到的模型建立SHAP解釋器,從而獲得對模型分類結(jié)果影響最大的t個特征.

calculate(mk(pdh))=shaph,

(5)

shaph={vh1,vh2,…,vht},

(6)

其中,calculate為檢測模型mk的SHAP值計算與排序映射,shaph為第h個子數(shù)據(jù)集合pdh得到的可解釋特征組合,vhq為該特征組合中第q個特征名稱,1≤q≤t.

融合4個特征組合作為InterDroid的分類特征,并由此得到InterDroid最初分類模型訓練數(shù)據(jù).

(7)

(8)

其中,finalfeature為特征包裝與解釋模塊輸出的特征組合,tdata為模型訓練模塊的訓練數(shù)據(jù).

最終,InterDroid統(tǒng)一建模為

InterDrover={e,t,j,m},

(9)

其中,e為基于Androguard的APK特征提取映射,t為基于雙重分布檢驗的遷移判定映射,j為基于JDA的特征遷移映射,m為惡意軟件檢測分類映射.

對于新興未知Android軟件小樣本,e以.APK格式的安裝包作為輸入,輸出該新時期Android軟件finalfeature對應數(shù)據(jù).結(jié)合原有數(shù)據(jù)庫采樣數(shù)據(jù)作為t的輸入,從而判斷2組數(shù)據(jù)之間是否需要特征遷移.t的判斷結(jié)果與e提取到的原始數(shù)據(jù)共同作為j的輸入,以獲得模型分類數(shù)據(jù)并輸入到m,從而輸出分類結(jié)果.

e(APK)→fdata,

(10)

t(fdata,sam)→judge={T,F},

(11)

j(fdata,judge)→finaldata,

(12)

(13)

m(finaldata)={0,1},

(14)

其中,fdata為基于新興Android軟件提取到的finalfeature特征數(shù)據(jù),sam為模型訓練模塊中訓練數(shù)據(jù)采樣后的子集,judge為遷移判定映射的判斷結(jié)果,finaldata為本文檢測模型輸入數(shù)據(jù),cdata為fdata特征遷移后的結(jié)果.T表示fdata需要特征遷移,F(xiàn)反之.1表示未知Android軟件為惡意軟件,0反之.

2.2 特征包裝與解釋

本節(jié)介紹InterDroid檢測模型依據(jù)的可解釋性特征組合篩選過程.依據(jù)2.1節(jié)中建立的數(shù)學模型,特征包裝與解釋模塊分為高頻詞提取、基于TPOT的對比算法篩選、基于SHAP的特征可解釋性包裝3個部分.但是,由于高頻詞提取部分具有原理簡單、與Android惡意軟件分析報告語料數(shù)據(jù)結(jié)合緊密的特點,該部分歸并到第3節(jié)實驗評估中詳細展開.因此,本節(jié)包含基于TPOT的檢測算法篩選、基于SHAP的特征可解釋性包裝2部分內(nèi)容.

1) 基于TPOT的檢測算法篩選

一方面,針對特征包裝與解釋模塊4種不同的特征數(shù)據(jù),基于TPOT算法篩選適用于不同種類特征的最佳分類器集合,進而得到多個篩選模型對不同種類特征的包裝與解釋,以便驗證InterDroid所用特征組合的穩(wěn)定性.另一方面,針對模型訓練模塊的輸入數(shù)據(jù),基于TPOT算法篩選適用于InterDroid檢測模型訓練數(shù)據(jù)的最佳分類器,以對比檢測模型的效率與特征遷移效果.

① 自動化機器學習TPOT算法

TPOT以最大化分類精度為目標基于遺傳算法自動構(gòu)建一系列數(shù)據(jù)轉(zhuǎn)換和機器學習模型,從而自動化機器學習中的模型選擇及調(diào)參.TPOT目前支持的分類器主要有貝葉斯、決策樹、集成樹、SVM、KNN、線性模型、xgboost等.其整體流程如圖3所示:

Fig.3 Illustration of TPOT圖3 TPOT示意圖

Fig.4 Illustration of algorithm filtering for comparing the feature set圖4 特征組合對比算法篩選示意圖

TPOT對輸入的不同種類特征數(shù)據(jù)或InterDroid檢測模型訓練數(shù)據(jù)首先嘗試進行二值化、正則化等操作,并嘗試對輸入特征做基于方差或基于F-值的特征選擇操作.之后,面向預處理完成的輸入數(shù)據(jù)隨機生成固定數(shù)量的管道,根據(jù)分類精度對這些管道進行評估.并從現(xiàn)有管道群體中隨機選擇3個管道,移除最低適應度的流水線復制到新的群體中.創(chuàng)建新的群體后,將單點交叉應用于固定百分比的復制管道,其中隨機選擇2條管道相互交換內(nèi)容.隨后,對剩余未受影響的管道進行均勻突變、插入突變與收縮突變.

TPOT重復迭代以上評估、選擇、交叉、變異4步,從而分別篩選出用于特征組合對比與InterDroid檢測模型對比的算法集合.

② 特征組合對比算法篩選

特征組合對比算法篩選步驟整體流程如圖4所示.基于OmniDroid數(shù)據(jù)集,分別投影權(quán)限、API包名、意圖、Dalvik字節(jié)碼4種特征,得到特征包裝訓練數(shù)據(jù)pd.以Dalvik字節(jié)碼為例,其特征名向量pdname為

(“shl-int”, “l(fā)ong-to-int”, …, “if-gt”).

特征包裝訓練數(shù)據(jù)中代表1個Android良性或惡意軟件的行切片向量perpd為

(5,3, …,21),

其中,行切片向量中每個分量代表特征名向量中對應分量的出現(xiàn)次數(shù).

分別將權(quán)限、API包名、意圖、Dalvik字節(jié)碼對應的4種特征包裝訓練數(shù)據(jù)輸入TPOT算法,篩選得到針對不同訓練數(shù)據(jù)的最佳管道,并以最佳管道使用的算法作為最佳訓練模型mk.例如,若Dalvik字節(jié)碼最佳管道為

{GradientBoostingClassifier(n_estimators=50,learning_rate=0.1),SVC()},

則其最佳訓練模型為

{GradientBoostingClassifier,SVC}.

將所有最佳訓練模型添加到最佳訓練模型集合,集合內(nèi)每種訓練模型均與4種特征包裝訓練數(shù)據(jù)兩兩組合,得到多個特征組合對比模型,且所有對比模型均會作為SHAP解釋器的輸入,用以對比特征包裝與解釋模塊篩選得到的特征組合穩(wěn)定性.

特征組合對比算法篩選步驟以TPOT算法篩選得到的對比模型替代人工選擇的常用對比模型,自動化地完成了不同種類特征數(shù)據(jù)的訓練模型選擇與參數(shù)調(diào)優(yōu)過程,使選擇得到的最佳訓練模型具有較高數(shù)據(jù)相關(guān)性,避免了模型訓練中參數(shù)調(diào)整的不確定性.

③ 檢測模型對比算法篩選

檢測模型對比算法篩選步驟整體流程如圖5所示:

Fig.5 Illustration of algorithm filtering for detection model圖5 檢測模型對比算法篩選示意圖

基于篩選出的特征組合取OmniDroid數(shù)據(jù)集投影,得到InterDroid最初檢測模型訓練數(shù)據(jù)tdata.篩選出的特征組合向量為

(“div-float”, …, “android.view.inputmethod”, …, “RECEIVE_BOOT_COMPLETED”,…, “java.util.concurrent.locks”).

最初檢測模型訓練數(shù)據(jù)tdata中代表1個Android惡意軟件的行切片向量為

(0,…,1,…,21,…,4),

其中,行切片向量中每個分量代表特征組合向量中對應分量出現(xiàn)次數(shù).

以tdata作為TPOT算法輸入,得到面向當前時期Android惡意軟件特征數(shù)據(jù)的最佳檢測模型集合.測試集合中每個模型對當前時期及不同時期Android惡意軟件的檢測準確率,用以對比InterDroid檢測模型準確率.

TPOT算法篩選得到的對比算法均在InterDroid檢測模型訓練數(shù)據(jù)上具有較高的準確率.較之以往研究中普遍選擇的樸素貝葉斯、K均值等算法,更能突出InterDroid在緩解不同時期Android惡意軟件特征數(shù)據(jù)的概念漂移問題上具有較佳魯棒性.

2) 基于SHAP的特征可解釋性包裝

針對黑盒Android惡意軟件檢測模型存在的準確率高但可解釋性不足問題,基于SHAP算法面向特征包裝與解釋模塊中復雜的特征篩選模型建立解釋器,通過SHAP事后歸因的模型解釋方法篩選出對Android惡意軟件檢測結(jié)果具有高貢獻度的特征.

LIME,DeepLIFT等可解釋方法實質(zhì)上均可歸結(jié)為SHAP算法.由SHAP算法計算得到的SHAP值是權(quán)限、API包名、意圖、Dalvik字節(jié)碼某類特征中某個特征分量在該類特征序列中的平均邊際貢獻,即SHAP算法考慮了同種特征組中不同特征分量之間的協(xié)同效應.例如:權(quán)限特征組中“RECEIVE_SMS”與“SEND_SMS”分量之間存在相互影響.因此,選擇SHAP算法為特征包裝與解釋模塊中的解釋器建立算法.

特征包裝與解釋模塊流程如圖6所示:

Fig.6 Illustration of feature wrapper and interpretation module圖6 特征包裝與解釋模塊示意圖

InterDroid基于特征組合對比算法篩選步驟輸出的最佳訓練模型集合與特征包裝訓練數(shù)據(jù),通過SHAP算法簡化每個最佳訓練模型mk為事后解釋模型hk.針對特征包裝訓練數(shù)據(jù)pd中任意一個代表Android良性或惡意軟件的行切片向量perpd,事后解釋模型hk滿足:

(15)

其中,avg0為所有特征包裝訓練數(shù)據(jù)pd標簽值的均值,shapq為特征名向量pdname第q個分量的SHAP值,perpdq為行切片向量perpd的第q個分量值.

通過式(15),SHAP解釋器計算得到權(quán)限、API包名、意圖、Dalvik字節(jié)碼中某類特征序列各個特征分量的SHAP值,從而繪制特征密度散點圖與特征重要性SHAP值圖.

特征密度散點圖、特征重要性SHAP值圖均為特征重要性的排列圖.其中,特征重要性SHAP值圖為每個特征SHAP值排序;特征密度散點圖將所有Android良性或惡意軟件樣本點呈現(xiàn)在圖中,一方面可以直觀得到哪些特征分量對大部分樣本的分類結(jié)果有影響,另一方面可以觀察到某個特征分量中不同Android良性或惡意軟件樣本數(shù)據(jù)的數(shù)值大小對分類結(jié)果的影響.

2.3 遷移判定

不同時期Android惡意軟件特征數(shù)據(jù)的概念漂移可能使InterDroid對新興Android惡意軟件的檢測準確率下降.遷移判定模塊以模型訓練模塊中分類模型訓練數(shù)據(jù)sam、新時期Android惡意軟件數(shù)據(jù)fdata作為數(shù)據(jù)支撐,基于機器學習模型檢測與MWU檢驗雙重同分布檢測方法,判定提取到的新興Android惡意軟件特征數(shù)據(jù)是否需要進行特征遷移.

因為sam,fdata兩類數(shù)據(jù)具有3個特點:1)數(shù)據(jù)分布狀況未知;2)數(shù)據(jù)來自不同的獨立樣本;3)數(shù)據(jù)量在100以上.而KS檢驗、t檢驗、MWU檢驗、威爾科克森符號秩(Wilcoxon signed rank, WSR)檢驗等常用數(shù)據(jù)同分布檢測方法中:1)當檢驗的數(shù)據(jù)符合特定的分布時,KS檢驗靈敏度較低.2)t檢驗樣本需滿足正態(tài)分布,且其最佳樣本容量小于30.3)WSR檢驗與MWU相似,均不要求樣本服從正態(tài)分布且樣本容量大于20時即可獲得較好的檢驗效果,但WSR檢驗應用于2個相關(guān)樣本.因此,遷移判定模塊選擇MWU檢驗.同時,使用InterDroid所使用的機器學習模型進行二次檢驗,從而確定概念漂移現(xiàn)象已致使本文模型檢測準確率降低.

首先,以fdata作為測試數(shù)據(jù)得到InterDroid當前分類檢測模型的準確率.若當前準確率低于工業(yè)界允許的最低準確率,即90%,則認為當前檢測模型已不能滿足新時期Android惡意軟件檢測標準.采用MWU檢驗判定其檢測準確率下降的原因是否為新時期Android惡意軟件特征的概念漂移.

將分類模型訓練數(shù)據(jù)sam、新時期Android惡意軟件數(shù)據(jù)fdata混合并編排等級,繼而分別求出兩樣本的秩和.得到sam,fdata兩樣本MWU檢驗統(tǒng)計量為

(16)

(17)

若U1,U2最小值小于顯著檢驗U0.05時,則提取到的新興Android惡意軟件特征數(shù)據(jù)需要在檢測前進行特征遷移.

具體算法如算法1所示.

算法1.雙重分布檢驗算法.

輸入:小樣本新時期Android惡意軟件數(shù)據(jù)fdata、與小樣本同規(guī)模的原有模型訓練數(shù)據(jù)采樣sam;

輸出:決定是否需要進行特征遷移的判定結(jié)果judge.

①res=m(fdata);

/*使用原有模型檢測新時期惡意軟件*/

② ifacc(res)>90%

/*如果現(xiàn)有模型準確率仍能符合要求*/

③ return false;

④ end if

⑤D=?;/*需刪除的特征集合*/

⑥ for (fi,si)←(fdata,sam)

/*每種特征取2類數(shù)據(jù)*/

⑦ ifMWU(fi,si)>5%/*如果該特征在2個樣本上具有顯著性差異*/

⑧D=D∪f;

⑨ end if

⑩ end for

/*去除有差異的特征訓練臨時模型*/

/*兩模型準確率不具有明顯差距*/

2.4 特征遷移

針對不同時期Android惡意軟件特征概念漂移導致的Android惡意軟件檢測模型對新時期惡意軟件檢測準確率降低的問題,以有標注的InterDroid檢測模型訓練數(shù)據(jù)為源域,基于JDA算法完成對目標域中無標注新時期Android軟件良性或惡意的檢測判定,從而達到領(lǐng)域自適應的效果,提高InterDroid對新興Android惡意軟件的檢測準確率.

新興Android惡意軟件存在2個問題:1)權(quán)限、意圖等特征數(shù)據(jù)較之早期數(shù)據(jù)整體不相似或部分不相似.2)短期內(nèi)難以收集大規(guī)模、同分布、帶標注的數(shù)據(jù)集用以提升檢測模型準確率.而JDA算法具有2個優(yōu)點:1)能夠同時處理InterDroid原有訓練數(shù)據(jù)中知識需遷移到邊緣分布不同的新數(shù)據(jù)(即整體不相似新數(shù)據(jù))、條件分布不同新數(shù)據(jù)(即類內(nèi)不相似新數(shù)據(jù))這2種情況.2)以小樣本、無標注新時期Android軟件即可完成特征遷移.因此,特征遷移模塊選擇JDA算法以提升InterDroid檢測模型的準確率.

特征遷移模塊流程如圖7所示:

Fig.7 Illustration of feature-representation transfer圖7 特征遷移模塊示意圖

基于不同時期Android惡意軟件樣本集,提取特征包裝與解釋模塊輸出的特征組合對應數(shù)據(jù).將提取得到的新興Android惡意軟件數(shù)據(jù)與InterDroid檢測模型訓練數(shù)據(jù)同時作為特征遷移模塊的輸入.輸入數(shù)據(jù)在特征遷移模塊中經(jīng)過邊緣分布適配、條件分布適配2次適配后輸出變換矩陣.

邊緣分布適配應滿足:

(18)

其中,D1代表邊緣分布適配中新興Android惡意軟件數(shù)據(jù)fdata與InterDroid檢測模型訓練數(shù)據(jù)sam之間的距離,J1為邊緣分布適配變換矩陣,C為fdata與sam合并后所得矩陣,M0為邊緣分布適配最大-最小距離(maximum-minimum distance, MMD)矩陣.條件分布適配應滿足:

(19)

其中,D2代表條件分布適配中fdata,sam兩類數(shù)據(jù)之間的距離,J2為條件分布適配變換矩陣,Me為條件分布適配MMD矩陣.繼而得到統(tǒng)一的變換矩陣求解方程:

(20)

其中,Φ是拉格朗日乘子,J為變換矩陣,H為中心矩陣.經(jīng)由變換矩陣變換后,新興Android惡意軟件數(shù)據(jù)newfdata,InterDroid檢測模型訓練數(shù)據(jù)newsam分別為

newfdata=JTfdata,

(21)

newsam=JTsam.

(22)

以變換后newsam作為訓練集修正InterDroid原檢測模型,預測變換后newfdata數(shù)據(jù),即可得到新時期未知Android軟件良性或惡意的檢測結(jié)果.

3 實驗評估

本節(jié)從4個方面驗證InterDroid的創(chuàng)新性與有效性:

1) 驗證InterDroid選取的特征及機器學習模型的合理性.

2) 驗證特征包裝與解釋模塊篩選得到的特征組合的穩(wěn)定性與可解釋性.

3) 驗證概念漂移現(xiàn)象在不同時期Android惡意軟件特征中的存在性.

4) 驗證特征遷移能夠有效緩解概念漂移問題,提升InterDroid對新時期Android惡意軟件的檢測準確率.

本文實驗的實驗環(huán)境配置如下:CPU為Intel 10210U,內(nèi)存為16 GB的便攜計算機,操作系統(tǒng)版本為Windows 10 20H2.

3.1 數(shù)據(jù)集與評估指標

本文數(shù)據(jù)基礎(chǔ)為Kharon數(shù)據(jù)集、OmniDroid數(shù)據(jù)集與2019年、2020年流行的Android惡意軟件源數(shù)據(jù).

針對Android惡意軟件檢測模型分類特征引入的隨意性問題,基于Kharon數(shù)據(jù)集中不同Android惡意家族代表性惡意軟件人工分析報告提取高頻詞,作為InterDroid檢測模型的特征引入依據(jù).針對Android惡意軟件檢測模型訓練數(shù)據(jù)普遍不平衡的問題,基于OmniDroid數(shù)據(jù)集,預處理后得到良性軟件與惡意軟件同比例的訓練數(shù)據(jù).針對不同時期Android惡意軟件數(shù)據(jù)概念漂移導致的檢測模型準確率大幅降低問題,收集2019年、2020年流行的Android惡意軟件安裝包,供InterDroid遷移判定與特征遷移模塊使用.

1) Kharon

Kharon數(shù)據(jù)集由一系列被完全解析的Android惡意軟件分析文檔組成.Kharon包含攻擊性廣告軟件(agressive adware, AA)、勒索軟件(ransomware, R)、遠程控制軟件(remote administration tool, RAT)、監(jiān)控軟件(spyware, S)等不同Android惡意家族代表性軟件樣本,其部分樣本描述如表1所示:

Table 1 Partial Sample Description of Kharon Dataset

本文選取Kharon每條記錄中的“Details”部分,即人工觸發(fā)并記錄的Android惡意軟件攻擊行為.基于記錄集合中提取到的高頻詞語推定Android惡意軟件檢測模型所使用的特征種類.記錄片段示例如2.1節(jié)中圖2所示.

2) OmniDroid

OmniDroid數(shù)據(jù)集發(fā)布于2018年,包含21992個真實惡意或良性軟件樣本的28種靜態(tài)、動態(tài)與預處理特征數(shù)據(jù).OmniDroid僅給出不同反病毒引擎對該數(shù)據(jù)集中每條記錄對應Android軟件的檢測結(jié)果.因此在使用該數(shù)據(jù)集時,需根據(jù)多種反病毒引擎檢測結(jié)果自行確定良性或惡意軟件標準.

基于OmniDroid數(shù)據(jù)集中包含的反病毒引擎檢測結(jié)果,本文判定1條記錄來源于良性或惡意軟件的標準為:①若記錄“VT_positives”字段數(shù)值為0,即無任何反病毒引擎報警,則認為其源于良性軟件;②若記錄“VT_positives”字段數(shù)值超過“VT_engines”字段數(shù)值一半,即所采用的反病毒引擎中超過半數(shù)報警,則認為其源于惡意軟件.抽取OmniDroid數(shù)據(jù)集中符合上述條件的記錄,得到惡意與良性軟件記錄數(shù)量比為1∶1的平衡數(shù)據(jù)集作為InterDroid訓練數(shù)據(jù)支撐.該平衡數(shù)據(jù)集有惡意與良性軟件記錄各5 900條,其中80%用于模型訓練,20%用于模型測試.

3) 2019年、2020年Android惡意軟件

以開源網(wǎng)站分享的2019年、2020年流行的Android惡意軟件集合[34-35]為基礎(chǔ),其中2019年、2020年流行的Android惡意軟件數(shù)量分別為164個、195個.保留各年集合中全部滿足以下條件的樣本:①文件格式為.APK且無損壞;②源代碼API級別高于10;③VirusTotal包含的反病毒引擎中有半數(shù)以上檢測其為惡意軟件或VirusTotal社區(qū)人工標注其為惡意軟件.最終,得到2019年、2020年流行的Android惡意軟件安裝包個數(shù)分別為151個、181個,作為遷移判定模塊不同時期Android惡意軟件樣本的數(shù)據(jù)支撐.以SHA-1值為8aec6f2967b32f 03bb1eba93b27d8a70a80d4276的安裝包為例,其VirusTotal檢測結(jié)果如表2所示.

4) 評估指標

InterDroid所述Android惡意軟件檢測模型實質(zhì)上為二分類模型.由于本文基于OmniDroid選取的訓練數(shù)據(jù)為平衡數(shù)據(jù),因此準確率(accuracy,ACC)是最直觀判斷能否有效檢測Android惡意軟件的指標.馬修斯相關(guān)系數(shù)(Matthews correlation coefficient,MCC)是衡量二分類模型的一個較為均衡的指標.F1值(F1-Measure,F1)為Android惡意軟件檢測領(lǐng)域較佳評估指標[36].因此,選取ACC,F1,MCC三個指標評估InterDroid,各指標計算為

Table 2 Antivirus Test Results of VirusTotal

(23)

(24)

(25)

其中,TP為惡意軟件被正確檢測的個數(shù),TN為的良性軟件被正確識別的個數(shù),F(xiàn)P為良性軟件被檢測為惡意軟件的個數(shù),F(xiàn)N為未能檢測到的惡意軟件個數(shù).

3.2 特征提取與TPOT模型篩選

本節(jié)介紹本文實驗中使用的數(shù)據(jù)表與訓練模型,即本文實驗的數(shù)據(jù)基礎(chǔ)與模型準備.分為高頻詞提取、Androguard特征數(shù)據(jù)提取、TPOT訓練模型篩選3部分.

1) 高頻詞提取

以Kharon數(shù)據(jù)集作為特征種類引入實驗的數(shù)據(jù)支撐,計算其去除冠詞、數(shù)量詞、代詞等無意義語料后剩余文本中的高頻詞匯.無意義語料示例如圖8所示.繪制詞云圖并令詞頻與圖中詞匯大小成正比,如圖9所示.

Fig.8 Examples of meaningless corpus圖8 無意義語料示例

Fig.9 Illustration of wordle圖9 詞云示意圖

由圖9中可直觀得出:“function”“call”“class”“intent”“service”“activity”“device”“code”為報告中高頻出現(xiàn)詞匯.基于此,本文推斷:①因“function”“call”“class”等詞匯均與函數(shù)調(diào)用相關(guān),故而選取API包名作為特征以代表上述詞匯.②以匯編指令層Dalvik字節(jié)碼作為特征代表“device”“code”等詞匯.③在“intent”“service”“activity”即意圖、服務、活動詞匯組中,因活動與服務均屬于Android的四大組件,而意圖既可以用于開啟活動又可以用于與服務交流,所以選擇意圖特征代表該詞匯組中詞匯.

綜上,本文在保留靜態(tài)檢測方法核心權(quán)限特征的基礎(chǔ)上,融入API包名、意圖、Dalvik字節(jié)碼3種特征作為特征種類引入實驗結(jié)果.

2) Androguard特征數(shù)據(jù)提取

通過Python整合Androguard工具,提取3.1節(jié)中處理后的2019年、2020年Android惡意軟件權(quán)限、API包名、意圖、Dalvik字節(jié)碼4種特征數(shù)據(jù).其中,在權(quán)限特征的提取上:①包含用戶自定義權(quán)限與Android API定義權(quán)限.②由于Android權(quán)限命名規(guī)則導致不同權(quán)限全稱中重復字符占比較高,因此提取特征只保留權(quán)限全稱中的具體權(quán)限名稱部分.例如,“android.permission.ACCESS_COARSE_LOCATION”“android.permission.CAMERA”提取后分別為“ACCESS_COARSE_LOCATIO”“CAMERA”.API包名數(shù)據(jù)由Androguard提取DEX文件中類名得到.例如:由DEX類名信息中的“Ljava/lang/Object”得到包名“java.lang.Object”.本文實驗中使用的所有數(shù)據(jù)表詳情如表3所示:

Table 3 Detailed Chart of Experimental Data

3) TPOT訓練模型篩選

通過TPOT算法篩選得到面向不同輸入數(shù)據(jù)的輸出管道,即2.2節(jié)中多種最佳訓練模型.抽取輸出管道中出現(xiàn)的訓練模型種類,得到2.2節(jié)中最佳訓練模型集合.TPOT算法篩選結(jié)果如表4所示.

由表4可知:①基于“api”“intent”“opcode”“permission”數(shù)據(jù),計算得到用于2.2節(jié)中特征組合對比算法篩選步驟的最佳訓練模型集合,其包含梯度提升決策樹(gradient boosting decision tree, GBDT)、極端隨機樹(extremely randomized trees, ET)兩種訓練模型.②針對“permission”“api”“intent”“opcode” 中任一數(shù)據(jù),以GBDT或ET作為訓練模型相較于原輸出管道在準確率上相差不超過4%.因此,簡化原輸出管道為最佳訓練模型集合,并將集合中算法模型用于特征包裝與解釋模塊.③基于“final_merge”數(shù)據(jù),計算得到GBDT算法,即2.2節(jié)檢測模型對比算法篩選步驟的輸出算法.④由于TPOT算法限制,輸出管道中只包含sklearn庫中的基礎(chǔ)模型,因此將GBDT, ET改進后的前沿算法CatBoost[37]加入最佳訓練模型集合.

Table 4 Results After TPOT Algorithm Filtering

以上,為本文實驗提供特征包裝、分類檢測與對比驗證模型.

3.3 SHAP解釋器建立與特征組合穩(wěn)定性驗證

首先,本節(jié)給出SHAP算法對篩選模型的解釋結(jié)果,并給出特征包裝與解釋模塊篩選得到的特征組合中每種特征的具體含義,從而驗證特征組合的可解釋性.其次,對比不同模型得到的特征組合結(jié)果,驗證特征組合的穩(wěn)定性.

1) 可解釋性驗證

通過計算權(quán)限、API包名、意圖、Dalvik字節(jié)碼4種特征中不同特征分量的SHAP值,來評估不同特征分量對最終分類效果的貢獻度.

以權(quán)限特征為例,首先,基于計算所得SHAP值,繪制權(quán)限特征密度散點圖,從而直觀地觀察不同特征分量如何影響InterDroid的分類效果;其次,繪制權(quán)限特征重要性SHAP值圖,從而在量化視角下篩選用于InterDroid檢測模型的權(quán)限特征組合.

圖10為權(quán)限特征密度散點圖.其中:縱軸不同行代表權(quán)限特征中不同的特征分量,如第1行代表“SEND_SMS”權(quán)限;橫軸代表不同分量的SHAP值,點灰度由低到高代表特征數(shù)值由高到低.例如:第1行深灰色樣本點對應SHAP值為負,淺灰樣本點對應SHAP值為正,代表“SEND_SMS”特征值為正時對分類結(jié)果有正向增益,“SEND_SMS”特征值為負時對分類結(jié)果有負向增益;圖中的每個點均代表1個用于InterDroid權(quán)限特征篩選模型訓練的Android軟件.行內(nèi)樣本點的分布數(shù)量,代表了該行所對應的特征分量能影響多少樣本的分類結(jié)果.例如:第1行的樣本點明顯比第9行密集,代表在InterDroid檢測過程中,“SEND_SMS”權(quán)限比“RECEIVE”權(quán)限更具有普適性和區(qū)分度.

Fig.10 Permission feature density scatter graph圖10 權(quán)限特征密度散點圖

圖11為權(quán)限特征重要性SHAP值圖.其中,縱軸不同行代表權(quán)限特征中不同的特征分量,橫軸為該行所代表特征分量的SHAP平均絕對值.特征分量的SHAP平均絕對值越大代表該特征對分類結(jié)果的貢獻度越高.

Fig.11 SHAP value diagram of the importance of permission features圖11 權(quán)限特征重要性SHAP值圖

由圖10可知:①使用“INSTALL_SHORTCUT”“RECEIVE_BOOT_COMPLETED”“SEND_SMS”“READ_PHONE_STATE”“RECEIVE_SMS”“GET_TASKS”等權(quán)限,且未使用“VBRATE”“RECEIVE”“GET_ACCOUNTS”等權(quán)限的Android應用更易被InterDroid檢測為惡意軟件.②第1行至第9行樣本點的分布數(shù)量呈減少趨勢,即由“SEND_SMS”權(quán)限至“RECEIVE”權(quán)限,對某一Android應用是否為惡意軟件的區(qū)分度逐漸降低.由圖11可知:第1行至第9行SHAP平均絕對值逐漸降低,即由“SEND_SMS”權(quán)限至“RECEIVE”權(quán)限,對模型分類結(jié)果的貢獻度逐漸降低.

將圖11中每一行對應到圖10中,并綜合上段結(jié)論可得:特征分量的SHAP值越高,可檢測的Android惡意軟件范圍越大,對InterDroid檢測結(jié)果的貢獻度越高.例如:SHAP值高的特征分量,即圖11中SHAP值最高的“SEND_SMS”特征,影響檢測數(shù)據(jù)中大多數(shù)Android軟件的分類結(jié)果,即圖10中“SEND_SMS”行樣本點分布最密集.據(jù)此,計算權(quán)限、意圖、API包名、Dalvik字節(jié)碼4種特征SHAP值,以獲得不同種類特征中對InterDroid檢測結(jié)果貢獻度較高的特征分量集合,結(jié)果如表5所示:

Table 5 Importance of InterDroid Feature Set

Fig.12 SHAP value diagram of the importance of API packages features圖12 API包名特征重要性SHAP值圖

由表5可知,針對權(quán)限、意圖、Dalvik字節(jié)碼3類特征,選擇每類特征中SHAP值排名前9的分量即可獲得該種特征在InterDroid檢測結(jié)果中85%以上的貢獻度.

針對API包名特征,雖然其排名前9的特征分量SHAP值和在該類特征SHAP值總和中所占比重少于80%.但該類特征中排名第6,7,8的特征分量SHAP值分別為0.31,0.29,0.23,其大小與差距均較小,即排名更靠后的API包名特征分量對InterDroid檢測結(jié)果的貢獻均較小且差別不大.因此,無需保留排名更加靠后的API包名特征分量.API包名特征重要性SHAP值計算結(jié)果如圖12所示.圖12中橫縱軸含義與圖11相同.

綜上,考慮到高維特征提取的時空開銷較大,最終選取特征包裝與篩選模塊中每種特征保留的特征分量數(shù)為9個.表6給出InterDroid選用的權(quán)限、意圖、API包名3類特征中每個特征分量的具體含義.其中,由于Dalvik字節(jié)碼屬于匯編指令,其含義較為簡單與統(tǒng)一.

Table 6 Meaning of Features Filtered by InterDroid

2) 穩(wěn)定性驗證

通過將InterDroid中CatBoost特征篩選算法替換為TPOT篩選得到的GBDT與ET算法,得到3組不同的特征篩選結(jié)果.以InterDroid篩選得到的特征組合為基準,計算GBDT算法、ET算法篩選得到的特征組合與基準算法所得的重合度,來評估InterDroid特征包裝與解釋模塊篩選得到的特征組合穩(wěn)定性[38].對比結(jié)果如表7所示:

Table 7 Verification of Coincidence Degree of Features

由表7可知:替換InterDroid特征包裝與解釋模塊篩選模型算法對權(quán)限、意圖、API包名3類特征篩選結(jié)果造成的擾動較小,權(quán)限、意圖、API包名3類特征的篩選結(jié)果具有穩(wěn)定性.針對Dalvik字節(jié)碼特征,結(jié)合表6可知,即使屬于同一類指令的Dalvik字節(jié)碼,對不同寄存器的操作也會導致其具體特征分量名稱不同.例如:“iget-wide”“iget-object”“iget-boolean”“iget-byte”等不同Dalvik字節(jié)碼同屬于字段操作指令,且均用于對所標識的字段執(zhí)行所標識的對象實例字段操作,將其加載或存儲到值寄存器中.因此,當以高檢測準確率與低存儲消耗為目標,僅選擇SHAP值前9的Dalvik字節(jié)碼類特征分量時,篩選出的Dalvik字節(jié)碼特征穩(wěn)定性較差.

綜上,InterDroid特征包裝與解釋模塊篩選得到的權(quán)限、意圖、API包名3類特征具備較好的可解釋性與穩(wěn)定性.由于Dalvik字節(jié)碼特征本質(zhì)為匯編指令,具有含義簡要、種類繁多等特點,故篩選得到的Dalvik字節(jié)碼特征含義較為簡單,穩(wěn)定性較差.

3.4 特征遷移

首先,本節(jié)介紹雙重分布檢驗模塊對3.1節(jié)中2019年、2020年流行的Android惡意軟件樣本的檢驗結(jié)果,并據(jù)此驗證2018—2020年間Android惡意軟件特征存在概念漂移現(xiàn)象.其次,通過橫縱向?qū)Ρ炔煌惴ㄔ诓煌瑫r期Android惡意軟件數(shù)據(jù)上的表現(xiàn),驗證特征遷移對InterDroid檢測模型準確率提升的有效性.

1) 特征漂移存在性驗證

首先,通過MWU檢驗比較final_merge與19_real_malware,real_malware兩表數(shù)據(jù)分布,即比較2018年的InterDroid訓練數(shù)據(jù)與2019年、2020年流行Android惡意軟件對應數(shù)據(jù)分布是否相同,從而評估2018—2020年間Android惡意軟件特征是否存在概念漂移現(xiàn)象.MWU檢驗結(jié)果如表8所示.

由表8可得:①相較于2018年,2019年、2020年Android惡意軟件特征分布具有較大改變,不同分布特征占比高,存在概念漂移現(xiàn)象.②2019年、2020年均存在少量與2018年同分布的特征,其原因可能為部分攻擊者采用代碼重用、代碼改進等方式快速構(gòu)造Android惡意軟件.③“GET_TASKS”“VIBRATE”“java.util.concurrent.locks”三個特征在2018—2020年間保持同一分布,具備時間穩(wěn)定性.④上述3個具備時間穩(wěn)定性的特征存在于InterDroid篩選得到的特征組合中,進一步驗證了InterDroid在緩解概念漂移問題上的有效性.

Table 8 MWU Test Results

其次,通過19_real_malware,real_malware兩表數(shù)據(jù)測試InterDroid檢測模型,即測試InterDroid對2019年、2020年流行的Android惡意軟件的檢測準確率,從而評估概念漂移現(xiàn)象是否降低了本文模型檢測準確率.結(jié)果表明,相較于2018年同時期測試數(shù)據(jù),本文檢測模型對2019年Android惡意軟件檢測準確率下降62%,對2020年Android惡意軟件檢測準確率下降53%.其中,2020年下降幅度稍低,與表7中2020年數(shù)據(jù)中同分布特征相較于2019年較多的表述相一致,側(cè)面驗證了概念漂移現(xiàn)象對InterDroid檢測準確率的負面影響.算法評估結(jié)果將在本節(jié)下文特征遷移有效性驗證部分詳細說明.

2) 特征遷移有效性驗證

首先,通過縱向比較InterDroid與TPOT篩選得到的最優(yōu)算法GBDT、原JDA偽分類器構(gòu)造算法KNN、普遍使用于二分類問題的支持向量機(support vector machines, SVM)等算法在2018年Android惡意軟件檢測問題上的表現(xiàn),來評估InterDroid對同時期Android惡意軟件的檢測效果.其次,選取在縱向比較中與InterDroid表現(xiàn)相近的算法,通過橫向?qū)Ρ菼nterDroid與上述算法在特征遷移前后對2019年、2020年Android惡意軟件的檢測準確率,從而評估InterDroid在緩解概念漂移問題上的優(yōu)越性.結(jié)果如表9、表10所示:

Table 9 Results of 2018 Android Malware Detection

Table 10 Results of Feature-Representation Transfer

由表9、表10可知:①針對同時期Android惡意軟件檢測問題,InterDroid表現(xiàn)明顯優(yōu)于SVM;MCC值優(yōu)于KNN;雖然與TPOT篩選得到的最優(yōu)算法相較略差,但ACC與F1值僅相差0.02,MCC值僅相差0.03.②針對不同時期Android惡意軟件檢測問題,InterDroid在特征遷移后檢測準確率分別提升46%,44%,提升后準確率達80%,87%,明顯優(yōu)于縱向比較中表現(xiàn)相近的GBDT與KNN.

因此,不同時期Android惡意軟件特征存在概念漂移問題,但存在部分特征具備時間穩(wěn)定性,其原因可能為代碼重用、改進等Android惡意軟件構(gòu)造方式.而InterDroid能在保證對同時期Android惡意軟件檢測效果的同時有效緩解概念漂移問題.

以特征遷移前InterDroid、火絨安全[39]、騰訊電腦管家[40]、金山毒霸[41]、360安全衛(wèi)士[42]、瑞星殺毒軟件[43]等檢測工具為基準,以ACC為評估指標,基于2019年、2020年真實Android惡意軟件數(shù)據(jù),進一步驗證InterDroid能夠有效緩解概念漂移問題,穩(wěn)定檢測Android惡意軟件.檢測結(jié)果如圖13所示,InterDroid0即特征遷移前InterDroid.

Fig.13 Comparison of ACC of detection tools圖13 檢測工具準確率對比圖

由圖13可知,由于受概念漂移問題影響,針對2019年、2020年真實Android惡意軟件,火絨安全、金山毒霸、瑞星殺毒軟件及特征遷移前InterDroid對新興Android惡意軟件的檢測準確率均較低.而特征遷移后的InterDroid、電腦管家、360安全衛(wèi)士對新興Android惡意軟件仍能保持較高的檢測準確率,有效緩解了概念漂移問題,且InterDroid的檢測準確率最優(yōu).

綜上,特征遷移能夠有效緩解概念漂移問題,提升InterDroid對新時期Android惡意軟件的檢測準確率.

4 結(jié)論與未來工作

本文提出了面向概念漂移的可解釋性Android惡意軟件檢測方法.首先,該方法以人工Android惡意軟件分析報告中高頻詞匯為指導,引入權(quán)限、API包名、意圖、Dalvik字節(jié)碼4種特征.同時,融合自動化機器學習TPOT算法以弱化模型選取及參數(shù)調(diào)整過程中的不確定性,從而獲得CatBoost作為InterDroid檢測算法及GBDT、ET作為對比驗證算法.其次,通過SHAP模型解釋算法改進特征包裝過程,得到高貢獻度特征與其含義,為逆向分析人員驗證模型與人工分析提供依據(jù).最終,以本文檢測模型檢驗及MWU檢驗驗證不同時期Android惡意軟件特征存在的概念漂移問題,并基于JDA算法提升已有模型對新興Android惡意軟件檢測準確率.實驗結(jié)果表明,針對同時期Android惡意軟件,InterDroid檢測準確率為96%.針對新興Android惡意軟件,特征遷移后InterDroid檢測準確率可分別提升46%,44%.且InterDroid篩選出的特征組合包含2018—2020年分布穩(wěn)定的Android惡意軟件特征.

在未來的工作中,我們將引入自然語言處理領(lǐng)域中的注意力機制,進一步減少特征選取階段的人工干預.同時,擴展本文檢測方法,從而查殺攻擊行為不由軟件本身發(fā)起的具有多層驗證機制的Android惡意軟件或誘導型Android惡意軟件.

猜你喜歡
準確率樣本特征
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
用樣本估計總體復習點撥
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
推動醫(yī)改的“直銷樣本”
高速公路車牌識別標識站準確率驗證法
抓住特征巧觀察
隨機微分方程的樣本Lyapunov二次型估計
保山市| 丰镇市| 嫩江县| 若羌县| 永福县| 云南省| 乌鲁木齐市| 兴山县| 宜丰县| 顺昌县| 理塘县| 濮阳县| 宜宾县| 宁阳县| 庆安县| 于田县| 年辖:市辖区| 贵州省| 泗洪县| 弋阳县| 北安市| 江华| 拜泉县| 通许县| 霍林郭勒市| 承德市| 土默特左旗| 涪陵区| 宣汉县| 合川市| 泽库县| 航空| 丽江市| 依安县| 曲松县| 赤城县| 吉水县| 柘荣县| 太仆寺旗| 包头市| 静宁县|