李明語(yǔ),張 軼
(1.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇南京210014;2.南京理工大學(xué)設(shè)計(jì)藝術(shù)與傳媒學(xué)院,江蘇南京210014)
Android應(yīng)用檢測(cè)按分類方式來(lái)分可分為單一法和集成法兩種。集成學(xué)習(xí)方法構(gòu)造的集成分類器與單一基礎(chǔ)分類器相比準(zhǔn)確率更高。
集成學(xué)習(xí)法本質(zhì)上是多個(gè)基礎(chǔ)分類器在分類階段的互補(bǔ),并加上合適的集成策略。盛杰等人[1]提出了一種使用Stacking集成學(xué)習(xí)算法對(duì)SVM、Logistic、CART決策樹(shù)和k近鄰這4個(gè)基礎(chǔ)算法進(jìn)行集成的靜態(tài)檢測(cè)方法。此外,為了驗(yàn)證集成學(xué)習(xí)的效果,Ali Feizollah[2]等人通過(guò)使用兩種隨機(jī)森林集成學(xué)習(xí)算法將移動(dòng)惡意軟件生成的網(wǎng)絡(luò)流量實(shí)驗(yàn)與Android惡意應(yīng)用程序檢測(cè)進(jìn)行對(duì)比分析。實(shí)例驗(yàn)證結(jié)果顯示集成學(xué)習(xí)法能夠更好地對(duì)樣本進(jìn)行學(xué)習(xí)。
然而,這些研究大多停留在粗粒度層面,即只是分析Android軟件的惡意性,卻不能給出惡意軟件的類別。因此,本文研究一種以多分類器集成學(xué)習(xí)算法為基礎(chǔ)的聚類+分類+鑒定模型。在對(duì)Android惡意軟件進(jìn)行細(xì)粒度的分類的同時(shí),提升檢測(cè)惡意性的準(zhǔn)確率。
現(xiàn)在,為了使Android惡意攻擊更有效,攻擊者會(huì)利用機(jī)器學(xué)習(xí)算法的漏洞來(lái)欺騙Android惡意應(yīng)用檢測(cè)系統(tǒng)的分類器,使得分類器對(duì)這些Android惡意應(yīng)用的檢測(cè)結(jié)果出錯(cuò)。
混淆技術(shù)是很多攻擊者為了保護(hù)惡意代碼而使用的方法,由此所得的Android惡意應(yīng)用程序?yàn)榱颂颖軝z測(cè)系統(tǒng)的檢測(cè)會(huì)隱藏其惡意行為。因此,為了提升檢測(cè)系統(tǒng)在對(duì)抗性環(huán)境下檢測(cè)惡意軟件的能力,需要采用對(duì)抗性防御策略。
使用以L0攻擊[3]為基礎(chǔ)的修改特征的方法來(lái)生成對(duì)抗樣本的對(duì)抗樣本生成策略是一種常見(jiàn)的對(duì)抗性攻擊手段。L0攻擊通過(guò)被修改的特征數(shù)量來(lái)衡量逃避檢測(cè)所付出的代價(jià)。
以L0攻擊策略為基礎(chǔ)的方法首先通過(guò)特征選擇算法衡量每一個(gè)特征在分類器中對(duì)于惡意性鑒定結(jié)果的影響程度,稱這種影響程度為特征重要性,以此對(duì)所有特征進(jìn)行排名,通過(guò)參照那些排名靠前的特征對(duì)Android應(yīng)用程序樣本中對(duì)應(yīng)的特征進(jìn)行修改,可以讓攻擊者在付出較小的逃避代價(jià)的前提下達(dá)到較高的逃避檢測(cè)的效果。不過(guò),為了不影響惡意軟件原本的功能,這種修改只能是對(duì)特征的添加。
由于對(duì)抗性樣本都是根據(jù)特征重要性進(jìn)行修改的,對(duì)于分類器的迎合度很高,所以平常精度越高的分類器,在面對(duì)對(duì)抗性樣本時(shí),抵抗力越弱。Barreno等[4]分別提出了針對(duì)幾種不同的攻擊模型的防守方法,由于對(duì)抗性樣本常常利用機(jī)器學(xué)習(xí)分類器的過(guò)擬合性來(lái)欺騙分類器,因此可以得出結(jié)論:限制部分信息有助于提升分類器的魯棒性。所以本文提出,削弱學(xué)習(xí)器在軟件惡意性判定中的影響程度,可以提高對(duì)惡意對(duì)抗性樣本的檢測(cè)準(zhǔn)確率,即增強(qiáng)分類器的抵抗力。
本章研究的對(duì)抗環(huán)境下基于集成學(xué)習(xí)的細(xì)粒度惡意應(yīng)用分類檢測(cè)方法分為動(dòng)態(tài)集成學(xué)習(xí)和對(duì)抗性學(xué)習(xí)兩部分。
動(dòng)態(tài)集成學(xué)習(xí)可以分為3部分:第一部分是對(duì)已有樣本進(jìn)行聚類操作以劃分樣本空間的類別;第二部分是利用代價(jià)函數(shù)來(lái)給未知樣本進(jìn)行分類;第三部分是先根據(jù)聚類的結(jié)果構(gòu)造對(duì)應(yīng)的集成分類器,然后根據(jù)分類結(jié)果選用合適的集成分類器判斷未知樣本惡意性。
對(duì)抗性學(xué)習(xí)分為兩個(gè)部分:先從攻擊者的角度出發(fā),為了使惡意樣本逃避檢測(cè)系統(tǒng)的防御,設(shè)計(jì)了對(duì)樣本特征的混淆方法,生成有效的對(duì)抗樣本;其二是研究在對(duì)抗環(huán)境中應(yīng)對(duì)攻擊者生成的對(duì)抗樣本的防御策略。
本文對(duì)Android應(yīng)用程序進(jìn)行逆向操作,通過(guò)對(duì)Android Manifest.xml文件進(jìn)行分析,可以獲取顯式意圖特征和權(quán)限特征,然后在smali文件中獲取隱式意圖特征和API。最終將每個(gè)Android應(yīng)用程序轉(zhuǎn)化為一組0/1特征向量。
聚類是基于距離度量。采用自組織聚類的方法有SOM、K-Means等。樣本在特征空間被劃分為分布最為集中的一些類別。而重要的特征應(yīng)該給予較大的權(quán)重,即距離度量應(yīng)該反映不同特征對(duì)性能影響的不同程度。
本文采用python里的scikit-learn包來(lái)幫助研究的展開(kāi),我們調(diào)用了其中的K-Means模型,但是在使用它聚類之前,我們需要弄清楚最佳的聚類區(qū)域數(shù)量n_cluster,假設(shè)其最佳值為k。
通過(guò)兩個(gè)指標(biāo)來(lái)衡量每一種k值的效果,一個(gè)是輪廓系數(shù),另一個(gè)是肘系數(shù)。
K-Means模型中,某個(gè)點(diǎn)的輪廓系數(shù)為:
其中,disout為該點(diǎn)與本類其他點(diǎn)的平均距離,disin為該點(diǎn)與非本類點(diǎn)的平均距離。s表示在一次K-Means聚類后,所有樣本點(diǎn)的平均輪廓系數(shù),該系數(shù)取值范圍為[-1,1],越接近1則說(shuō)明不同類的樣本點(diǎn)之間差距越大,分類越優(yōu)秀。
肘系數(shù)指每個(gè)簇的質(zhì)點(diǎn)與簇內(nèi)樣本點(diǎn)的平方距離誤差和,又稱為畸變程度。對(duì)一個(gè)簇而言,其畸變程度越低,說(shuō)明其內(nèi)部成員之間的聯(lián)系越密切,不然,就說(shuō)明其內(nèi)部構(gòu)成越松散。因此,該值越低越好。
這兩個(gè)指標(biāo)都會(huì)隨著聚類數(shù)量的增加而變化,可是如果數(shù)據(jù)內(nèi)部存在區(qū)分度,輪廓系數(shù)和肘系數(shù)會(huì)在某個(gè)值處變得很好,隨后變化趨勢(shì)逐漸變緩。這個(gè)值所對(duì)應(yīng)的點(diǎn)就是臨界點(diǎn),認(rèn)為其可以使聚類性能變得更好。隨后便可以用該臨界點(diǎn)對(duì)應(yīng)的k來(lái)給n_cluster賦值,并調(diào)用K-Means模型,完成聚類。
現(xiàn)有的KNN模型可以實(shí)現(xiàn)對(duì)于未知樣本的分類,但是卻存在一個(gè)缺陷。KNN模型判斷未知樣本所屬類別的依據(jù)比較單一,它先找出距離未知樣本最近的K個(gè)樣本點(diǎn),稱這K個(gè)樣本點(diǎn)為“近鄰”,然后統(tǒng)計(jì)這K個(gè)樣本點(diǎn)的所屬類別,最后選擇擁有最多近鄰的類別,將其作為未知樣本的分類結(jié)果。
這會(huì)產(chǎn)生兩個(gè)問(wèn)題,首先,僅考慮屬于同一類別的近鄰數(shù)量,卻不考慮未知樣本與近鄰之間的距離,會(huì)影響分類的準(zhǔn)確率。如圖1所示,圓形代表未知樣本,矩形與三角形代表K=5時(shí)KNN模型選出的5個(gè)近鄰,其中3個(gè)矩形屬于a類,2個(gè)三角形屬于b類。雖然a類的近鄰更多,但很明顯b類的近鄰與未知樣本的距離要比a類的近鄰與未知樣本的距離小得多。由此可見(jiàn),在分類時(shí)僅僅考慮近鄰的數(shù)量并不準(zhǔn)確,還應(yīng)該考慮未知樣本與近鄰的距離。
圖1 未知樣本與近鄰
其次,KNN模型只能將樣本分到已知類別中,但Android惡意應(yīng)用的發(fā)展很快,新的惡意應(yīng)用類別層出不窮,如果不能采取措施識(shí)別新的應(yīng)用類別,勢(shì)必會(huì)給用戶安全帶來(lái)隱患。
為了使分類結(jié)果更準(zhǔn)確,同時(shí)提高Android檢測(cè)系統(tǒng)辨別新樣本類型的能力,我們?cè)O(shè)計(jì)了代價(jià)函數(shù)來(lái)評(píng)估樣本被錯(cuò)誤分類的可能性。
計(jì)算未知樣本屬于某一個(gè)類a的代價(jià),就是用屬于a的近鄰與未知樣本間的最短距離,除以未知樣本的近鄰中屬于a的近鄰數(shù)。在計(jì)算完未知樣本屬于每一個(gè)類的代價(jià)后,選擇最小的非零值作為最小代價(jià)。最小代價(jià)對(duì)應(yīng)的類就認(rèn)為是未知樣本所屬的類。
但是考慮到未知樣本有可能屬于一個(gè)新的樣本種類,因此在用最小代價(jià)對(duì)應(yīng)的類給未知樣本分類之前,還需要判定其是否屬于已有的樣本類型。
本文計(jì)算了樣本集中所有已知樣本的最小代價(jià),若未知樣本的最小代價(jià)小于已知樣本的最小代價(jià)的最大值,就認(rèn)為該未知樣本屬于已知類型;不然,就發(fā)出提示,示意未知類型出現(xiàn)。具體算法如算法1所示。
算法1:
輸入:待聚類的樣本空間f,每個(gè)樣本對(duì)應(yīng)的類別result,Android待檢測(cè)樣本fx。
初始化:聚類后所得類別數(shù)量k,分類系數(shù)c。1.計(jì)算未知樣本的最小代價(jià)nx,并記錄其對(duì)應(yīng)的類別m'
圖5所示為某型雷達(dá)天線舉升機(jī)構(gòu)重載轉(zhuǎn)動(dòng)副裝配示意圖,采用的軸承型號(hào)為30210,選用的精度等級(jí)為0級(jí)。底座內(nèi)孔同軸度及中心距如圖4,分別為0.025mm及152±0.1mm。
2.if n<nx+c do
3.m=m';
4.else do
5.m=未知;
6.print(“未知樣本類型”);
7.end if
輸出:Android待檢測(cè)樣本fx所屬的類別m。
多分類模型動(dòng)態(tài)集成預(yù)測(cè)是指樣本經(jīng)過(guò)某種機(jī)制實(shí)現(xiàn)預(yù)測(cè)過(guò)程中動(dòng)態(tài)選擇一個(gè)或者一組預(yù)測(cè)性能優(yōu)良的分類模型,或者動(dòng)態(tài)調(diào)節(jié)多個(gè)分類模型的集成權(quán)重系數(shù)。所以,該方法的預(yù)測(cè)結(jié)果和魯棒性都很好[5]。
本文的集成分類器動(dòng)態(tài)選擇分兩步構(gòu)建。
具體做法是,將多個(gè)基礎(chǔ)分類器用軟投票法按一定權(quán)重集合成一個(gè)集成分類器,再用該集成分類器對(duì)相應(yīng)類別的Android樣本進(jìn)行K折檢測(cè),記錄每一種權(quán)重對(duì)應(yīng)的集成分類器的準(zhǔn)確率,最終,取準(zhǔn)確率最高的集成分類器作為該類的專屬集成分類器。因?yàn)檫x用的基礎(chǔ)分類器固定為決策樹(shù)(DT)、隨機(jī)森林(RF)、線性支持向量機(jī)(SVC)和伯努利樸素貝葉斯(NB),所以在記錄專屬集成分類器時(shí),只需要記錄其各基礎(chǔ)分類器之間的權(quán)重即可。具體計(jì)算方法如公式(2)所示。
其中,m表示樣本所屬的類別;score表示集成分類器對(duì)于類別m中的樣本的惡意性的判斷結(jié)果的準(zhǔn)確率;clf_weight_mum[m][]=[i1,i2,i3,i4]是每個(gè)樣本類別對(duì)應(yīng)的專屬集成分類器的內(nèi)部權(quán)重,其中i1表示DT的權(quán)重,i2表示RF的權(quán)重,i3表示SVC的權(quán)重,i4表示 NB 的權(quán)重。score1、score2、score3、score4分別是用DT、RF、SVC和NB對(duì) m類中的所有樣本進(jìn)行K折檢測(cè)后得出的判斷結(jié)果準(zhǔn)確率。
第二步,就是對(duì)已經(jīng)完成分類的未知樣本鑒定其惡意性了,根據(jù)其分類結(jié)果,選擇相應(yīng)的集成分類器權(quán)重對(duì)其惡意性進(jìn)行預(yù)測(cè)。具體算法如算法2所示。
算法2:
輸入:clf_weight_mum[][],m,fx。
輸出:預(yù)測(cè)結(jié)果SCORE。
1.用 DT、RF、SVC、NB 分別檢測(cè) fx,分別得到 fx為惡意樣本的可能性 SCORE1,SCORE2,SCORE3,SCORE4;
2.SCORE=(clf_weight_mum[m][0]×SCORE1+
clf_weight_mum[m][1]×SCORE2+
clf_weight_mum[m][2]×SCORE3+
clf_weight_mum[m][3]×SCORE4)/
(clf_weight_mum[m][0]+
clf_weight_mum[m][1]+
clf_weight_mum[m][2]+
clf_weight_mum[m][3])
3.if SCORE>0.5 do
4.SCORE=1;
5.else do
6.SCORE=0
7.Return SCORE
制作對(duì)抗性樣本分為兩步。第一步,需要根據(jù)特征重要性給特征排序。我們假設(shè)檢測(cè)系統(tǒng)處在最不利的情況下,也就是敵人精準(zhǔn)地知道模型與參數(shù)。通過(guò)這種方法制作出的對(duì)抗性樣本代表了攻擊者最強(qiáng)的攻擊水平,可以很好地檢驗(yàn)檢測(cè)系統(tǒng)應(yīng)對(duì)對(duì)抗性樣本的能力。本文的集成分類器由4種基礎(chǔ)分類器按一定權(quán)重組合得到,所以可以通過(guò)求每個(gè)基礎(chǔ)分類器中的特征重要性來(lái)組合成集成分類器的特征重要性。
1.DT,RF:直接調(diào)用屬性feature_importances_,然后歸一化,表示每個(gè)特征在DT、RF中的重要性。
2.SVC:直接調(diào)用屬性coef_(因?yàn)槲覀儗VC的kernel調(diào)為linear,所以其內(nèi)部函數(shù)為一個(gè)線性函數(shù),這里的coef_就是調(diào)出每個(gè)特征的系數(shù)值),對(duì)coef輸出的值取絕對(duì)值,然后歸一化,表示每個(gè)特征在SVC中的重要性。
3.NB:feature_log_prob,這個(gè)屬性值輸出的是指定類的各特征概率(條件概率)對(duì)數(shù)值。在得到這些值之后,先將每個(gè)值作為e的指數(shù),得到原本的概率;之后,對(duì)于同一特征不同種類所得的兩個(gè)值,取較大的一個(gè)作為該特征的影響力;然后對(duì)所有特征的影響力,做歸一化處理,用來(lái)表示每個(gè)特征在NB中的重要性。
這樣,4個(gè)分類器各自輸出一個(gè)表現(xiàn)特征重要性的值,將這些值按照集成分類器中各個(gè)基礎(chǔ)分類器的權(quán)重分配相加,即可得到每個(gè)特征的綜合影響力,也就是特征重要性。
第二步,修改樣本。將特征重要性由大到小排序,根據(jù)需要取前幾個(gè)特征。制作對(duì)抗性樣本時(shí),查詢這些特征值對(duì)應(yīng)的原coef值,因?yàn)閏oef值越大,表明該特征導(dǎo)致樣本被判定為惡意性的概率越大。又因?yàn)楸疚氖褂玫臄?shù)據(jù)均為0/1矩陣的形式,若某一樣本的某一特征值為1,表明該樣本具有該特征。所以,若coef為正,則特征值不變;若coef為負(fù),則將特征值改為1。
理想的防御策略應(yīng)該使敵手付出昂貴的代價(jià),即需要修改大量特征才能逃避檢測(cè),并且還要兼顧對(duì)惡意程序的本身功能不能有較大影響。
由于對(duì)抗性樣本都是根據(jù)特征重要性進(jìn)行修改的,對(duì)于分類器的迎合度很高,所以平常精度越高的分類器,在面對(duì)對(duì)抗性樣本時(shí),抵抗力越弱。因此要想增強(qiáng)分類器的抵抗力,就需要在做出判斷時(shí)適當(dāng)減弱特征的影響力,從而削弱對(duì)抗性樣本更改特征后對(duì)于最終結(jié)果的影響程度。同時(shí),還需要適當(dāng)調(diào)整用于鑒定樣本惡意性的閾值,以使結(jié)果更加精確。具體算法如算法3所示。
算法3:
輸入:每個(gè)聚類區(qū)域包含的樣本class_if[][],對(duì)抗性樣本的分類m,對(duì)抗性樣本fx。
初始化:用于減弱特征影響力的參數(shù)x,用于判斷樣本惡意性的閾值y。
1.用 DT、RF、SVC、NB 分別檢測(cè) fx,分別得到 fx為惡意樣本的可能性 scorel,score2,score3,score4;2.SCORE=
(class_if[m][0]×scorel+
class_if[m][1]×score2+
class_if[m][2]×score3+
class_if[m][3]×score4)×(1-2x)/
(class_if[m][0]+class_if[m][1]+
class_if[m][2]+class_if[m][3])+x
3.if SCORE>y do
4.SCORE=1;
5.else do
6.SCORE=0;
輸出:預(yù)測(cè)結(jié)果SCORE
本節(jié)將對(duì)第2節(jié)中介紹的Android應(yīng)用分類與檢測(cè)方法的效果進(jìn)行實(shí)驗(yàn)驗(yàn)證。首先,將本文提出的專屬集成分類器檢測(cè)未知樣本時(shí)的準(zhǔn)確率與基礎(chǔ)分類器的準(zhǔn)確率進(jìn)行對(duì)比,以體現(xiàn)Android應(yīng)用分類與檢測(cè)方法在鑒定未知樣本惡意性時(shí)的效果。然后,我們將比較本文提出的Android應(yīng)用分類與檢測(cè)方法在檢測(cè)屬于未知類型的未知樣本時(shí)的效果,以驗(yàn)證其預(yù)知未知類型樣本的能力。
2.1.1 實(shí)驗(yàn)數(shù)據(jù)
本文實(shí)驗(yàn)中使用的Android應(yīng)用來(lái)自多個(gè)不同權(quán)威的應(yīng)用市場(chǎng),每個(gè)應(yīng)用被分為良性的或惡意的。良性樣本數(shù)量為3 000個(gè),它們來(lái)自Google Play,因?yàn)镚oogle Play上有自己的檢測(cè)系統(tǒng),所以可以認(rèn)為在其上面發(fā)布的Android應(yīng)用程序都是良性的。而惡意樣本的來(lái)源是多樣的,共收集了10 153個(gè)惡意應(yīng)用程序,它們來(lái)自AMD[6]、VirusTotal[7]、F-Droid[8]等。
2.1.2 結(jié)果與分析
對(duì)于比較本文提出的系統(tǒng)與單一基礎(chǔ)分類器的準(zhǔn)確率這一實(shí)驗(yàn),將聚類所得的class_if[][]的每個(gè)子集按照1:3的比例隨機(jī)地分為測(cè)試集與訓(xùn)練集。用訓(xùn)練集分別訓(xùn)練本文提出的系統(tǒng)以及另外 4個(gè)基礎(chǔ)分類器(DT,RF,SVC,NB),然后用測(cè)試集分別測(cè)試。實(shí)驗(yàn)結(jié)果顯示,本文提出的系統(tǒng)在檢測(cè)樣本的惡意性時(shí),擁有更高的準(zhǔn)確率。
數(shù)據(jù)如表1所示,本文所提出的基于集成學(xué)習(xí)的Android惡意應(yīng)用分類檢測(cè)系統(tǒng)的平均準(zhǔn)確率高達(dá)93.10%,比單一的基礎(chǔ)分類器都要高。
表1 不同模型的準(zhǔn)確率
驗(yàn)證基于集成學(xué)習(xí)的軟件分類檢測(cè)系統(tǒng)判斷未知樣本類型的能力時(shí),需要在class_if[][]中,任選5個(gè)類別的全部樣本作為訓(xùn)練集,其余數(shù)據(jù)均作為測(cè)試集,檢測(cè)測(cè)試集中的樣本被判斷為未知樣本類型的樣本的比率。
需要注意的是,本文之前的聚類結(jié)果共包含9個(gè)樣本類型,因此可以認(rèn)為,如果檢測(cè)系統(tǒng)只學(xué)習(xí)了其中部分類別的樣本,那么其余沒(méi)有被學(xué)習(xí)的類型的樣本對(duì)于該系統(tǒng)而言,均屬于未知類型。因此,比率越高,說(shuō)明該系統(tǒng)發(fā)現(xiàn)屬于未知類型的未知樣本的能力越強(qiáng)。最終結(jié)果顯示,本系統(tǒng)在面對(duì)未知樣本類型時(shí),檢測(cè)的平均比率為90.25%。
本節(jié)對(duì)基于對(duì)抗學(xué)習(xí)的反惡意混淆檢測(cè)方法進(jìn)行實(shí)驗(yàn)評(píng)估。
對(duì)于沒(méi)有使用對(duì)抗性防御策略的基于集成學(xué)習(xí)的Android惡意軟件分類檢測(cè)系統(tǒng),稱其為原始系統(tǒng)。
對(duì)于使用對(duì)抗性防御策略的基于集成學(xué)習(xí)的Android惡意軟件分類檢測(cè)系統(tǒng),稱其為對(duì)抗性系統(tǒng)。
首先根據(jù)對(duì)抗性樣本生成的攻擊策略來(lái)制作對(duì)抗性樣本,然后將這些對(duì)抗樣本作為測(cè)試集分別直接送到原始系統(tǒng)與對(duì)抗性系統(tǒng)中進(jìn)行檢測(cè),比較兩者的準(zhǔn)確率。
測(cè)試結(jié)果顯示,原始系統(tǒng)對(duì)于對(duì)抗性樣本的防御能力很弱,當(dāng)修改的特征數(shù)量分別為5和10時(shí),檢測(cè)準(zhǔn)確率分別只有76.23%和38.54%。
至于對(duì)抗性系統(tǒng),若想使其準(zhǔn)確率盡可能達(dá)到最大,需要確定算法3中x,y的取值,實(shí)驗(yàn)中x的取值范圍是[0,0.5),y的取值范圍是(0,1.0)。經(jīng)過(guò)實(shí)驗(yàn),當(dāng)x=0.42,y=0.46時(shí),該系統(tǒng)在對(duì)抗性環(huán)境下具有較強(qiáng)的魯棒性,對(duì)于對(duì)抗性樣本的檢測(cè)準(zhǔn)確度最高,達(dá)到91.85%,與原始系統(tǒng)相比,準(zhǔn)確率得到了極大的提高。
本文提出了一種Android惡意應(yīng)用分類與檢測(cè)方法,該方法不僅對(duì)靜態(tài)特征進(jìn)行了全面準(zhǔn)確的提取,還研究了一種聚類+分類模型,以實(shí)現(xiàn)對(duì)Android未知樣本的分類與檢測(cè);最后本文研究在對(duì)抗環(huán)境下敵手的攻擊策略與分類器的防御策略,進(jìn)一步加強(qiáng)了分類器的魯棒性。在未來(lái)工作中,還需要對(duì)靜態(tài)資源進(jìn)行進(jìn)一步挖掘,并且進(jìn)一步探索對(duì)其他類型攻擊的防御策略,從多方面來(lái)提升本文研究的分類器的魯棒性。