馮曉榮,林 軍,麥松濤
(工業(yè)和信息化部電子第五研究所 軟件質(zhì)量工程研究中心,廣東 廣州 510610)
一種改進的面向移動數(shù)據(jù)安全檢測的文本分類模型*
馮曉榮,林 軍,麥松濤
(工業(yè)和信息化部電子第五研究所 軟件質(zhì)量工程研究中心,廣東 廣州 510610)
隨著移動互聯(lián)網(wǎng)應(yīng)用的不斷普及,移動終端承載了大量的數(shù)據(jù)交互業(yè)務(wù)與應(yīng)用,移動數(shù)據(jù)的安全問題日益凸顯。基于C4.5決策樹算法對移動數(shù)據(jù)進行文本分類檢測,實現(xiàn)惡意代碼分析。傳統(tǒng)的C4.5文本分類模型中,測試屬性選擇未考慮屬性之間的影響,因此提出了一種改進的基于Boosting算法的C4.5決策樹文本分類模型。該模型在衡量被測屬性最優(yōu)弱假設(shè)的重要性時,引入Boosting的權(quán)重系數(shù),每次迭代計算結(jié)束后,自適應(yīng)調(diào)整權(quán)重值,在降低特征子集屬性冗余度的同時,提高了分類模型的魯棒性。實驗結(jié)果表明,改進的文本分類模型在檢測率和分類準(zhǔn)確率上均有一定程度的提高。
惡意代碼;文本分類;C4.5決策樹;Boosting算法
近年來,隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)技術(shù)的迅猛發(fā)展,全球數(shù)據(jù)量呈現(xiàn)爆發(fā)式增長。由于移動終端承載了大量的數(shù)據(jù)交互業(yè)務(wù)與應(yīng)用,移動數(shù)據(jù)的安全問題日益凸顯,移動終端設(shè)備也成為攻擊者的主要目標(biāo)之一。如何在海量數(shù)據(jù)中對安全威脅進行快速識別與分類,成為當(dāng)前信息安全研究亟待解決的問題。
移動終端是大量互聯(lián)應(yīng)用與服務(wù)的承載體,目前主要通過對移動終端設(shè)備安全能力檢測及移動應(yīng)用程序的惡意行為檢測來實現(xiàn)數(shù)據(jù)安全保障。然而,這些安全防護方法都存在較大的局限性,基于移動終端設(shè)備的安全能力檢測一般局限于移動終端系統(tǒng)本身,而移動應(yīng)用程序的檢測主要采用病毒庫的特征匹配,需要隨時更新病毒庫,無法滿足移動大數(shù)據(jù)應(yīng)用的多樣性和實時動態(tài)特性。
在移動互聯(lián)網(wǎng)應(yīng)用背景下,針對移動數(shù)據(jù)應(yīng)用的主要攻擊是面向移動終端設(shè)備,包括竊取移動終端上的信息、遠(yuǎn)程控制移動設(shè)備等,其中,大量惡意攻擊行為通過HTTP請求實現(xiàn)。例如,在移動終端通過HTTP訪問請求注入SQL語句惡意代碼,實現(xiàn)DNS欺騙、ARP欺騙,竊取用戶敏感信息。在服務(wù)器端通過HTTP傳遞請求內(nèi)容的方式將用戶敏感信息上傳至服務(wù)器,泄露大量隱私數(shù)據(jù)。
在大數(shù)據(jù)應(yīng)用環(huán)境下移動終端數(shù)據(jù)的信息安全檢測中,機器學(xué)習(xí)主要應(yīng)用于解決數(shù)據(jù)分類問題、知識表示及規(guī)則提取、搜索問題和增強學(xué)習(xí)等方面。其中,利用機器學(xué)習(xí)技術(shù)解決數(shù)據(jù)的分類,區(qū)分異常數(shù)據(jù)和正常數(shù)據(jù),為移動大數(shù)據(jù)的分析提供前提條件。
本文根據(jù)已有的參考文獻中提出的主流文本分類算法的特征[1],結(jié)合移動數(shù)據(jù)的特性,綜合考慮各種算法在移動數(shù)據(jù)分析中的優(yōu)缺點和局限性,提出了一種基于AdaBoost思想的改進型C4.5決策樹文本分類模型,通過對HTTP請求數(shù)據(jù)的特征屬性進行選擇、特征向量化,形成訓(xùn)練樣本和測試樣本,輸入到分類算法中進行模型訓(xùn)練、文本分類和結(jié)果驗證,從查準(zhǔn)率、誤檢率和準(zhǔn)確率三個方面進行比較分析,為今后的文本分析研究提供理論基礎(chǔ)。
1.1 特征提取
在機器識別分類算法實現(xiàn)中,數(shù)據(jù)特征向量化是前提條件。對于一個特征集F={f1,f2…,fn},描述特征子集的二進制向量為S={S1,S2…,Sn},其中Si∈{0,1},i=1,2,…,n。Si=1表示第i個特征被選擇,Si=0表示第i個特征未被選擇[2]。由于特征集中包含很多冗余特征與不相關(guān)特征,導(dǎo)致數(shù)據(jù)屬性的維度增加,提高了數(shù)據(jù)計算的時間復(fù)雜度和空間復(fù)雜度,降低了分類模型的泛化能力。通過過濾的方法進行特征選擇,選擇出與類別相關(guān)性最大且具有最小冗余特征的子集,從而達到最優(yōu)分類效果。
1.2 C4.5決策樹基本原理
基于機器學(xué)習(xí)的文本分類方法是將數(shù)據(jù)根據(jù)預(yù)先定義的類別,按照一定的規(guī)則進行自動化分類,實現(xiàn)數(shù)據(jù)挖掘。在移動互聯(lián)網(wǎng)環(huán)境下,使用文本分類算法對移動數(shù)據(jù)進行安全檢測,將移動終端本身及移動應(yīng)用的安全威脅進行有效分類,能夠自適應(yīng)地學(xué)習(xí)正常數(shù)據(jù)和異常數(shù)據(jù)行為模式,從而涵蓋更大的安全檢測范圍,具有重要的研究意義。
在機器學(xué)習(xí)中,決策樹作為一個分類預(yù)測模型,代表對象屬性與對象值之間的映射關(guān)系。樹中的每個節(jié)點代表某個對象,每個分叉路徑代表某個可能的屬性值,每個葉節(jié)點對應(yīng)從根節(jié)點到該葉節(jié)點所經(jīng)歷的路徑所表示的對象值,基于數(shù)據(jù)產(chǎn)生決策樹的機器學(xué)習(xí)方法依托于分類、訓(xùn)練上的預(yù)測樹,根據(jù)已知預(yù)測歸類未知數(shù)據(jù)。決策樹是一種多級分類的思想,目前已有的算法包括ID3、C4.5、CART算法等[3]。ID3是決策樹基礎(chǔ)算法,自頂向下地貪婪搜索遍歷可能的決策樹空間構(gòu)造決策樹,使用統(tǒng)計測試確定每一個實例單獨分類訓(xùn)練樣例的能力,分類能力最好的屬性作為判定樹根節(jié)點的測試屬性?;贑4.5決策樹算法建立在ID3算法的基礎(chǔ)上,用信息增益率選擇特征屬性,解決多值偏向問題。在樹構(gòu)造過程中進行剪枝,完成對連續(xù)屬性的離散化處理以及對不完整屬性的處理能力和產(chǎn)生規(guī)則等功能。
根據(jù)已有的ID3算法,基于信息增益的基本原理,C4.5算法通過計算信息增益率,選取信息增益比最高的屬性作為樣本的測試屬性,創(chuàng)建一個節(jié)點并為每個屬性創(chuàng)建分支劃分樣本[4]。
2.1 C4.5決策樹改進算法
C4.5決策樹算法根據(jù)信息增益率選擇屬性,從一個無次序、無規(guī)則的實例中歸納一組采用樹形結(jié)構(gòu)表示的分類規(guī)則。信息增益率為信息增益和分割信息量的比值,信息增益越大,則類屬性對該屬性的依賴性越大,因此,該屬性作為測試屬性的期望值越大。
假設(shè)以屬性A的值為基準(zhǔn)對樣本分割,訓(xùn)練數(shù)據(jù)D用分裂信息SplitInfo作為初始信息量劃分成對應(yīng)于屬性A的有m個輸出的m個劃分信息。屬性A具有n個不同的取值{a1,a2,…,an},如果用屬性A將樣本集S劃分為{S1,S2,…,Sn}共n個子集,則屬性A對S進行劃分的信息增益率為:
(1)
其中,
(2)
最佳屬性子集能夠?qū)Ψ诸愵A(yù)測產(chǎn)生最好的效果,子集中的屬性與類屬性關(guān)聯(lián)度最大,同時屬性之間的冗余度相對較小。C4.5算法考慮了屬性與類屬性的關(guān)聯(lián)度,但是屬性之間的關(guān)系尚未考慮。特別是對于數(shù)據(jù)屬性及其取值較多的情況,不同屬性之間可能存在一定的聯(lián)系,若屬性之間的關(guān)聯(lián)度過高,屬性的冗余度過大,則會影響屬性子集的有效性,導(dǎo)致系統(tǒng)魯棒性較差。
在該改進的算法模型中,將屬性與其他屬性之間的關(guān)聯(lián)度引入屬性A的信息增益率度量。屬性A與其他屬性之間的信息增益如式(3)所示:
Gain(AF)=∑f∈F(H(A)-H(A|f))
(3)
其中,Gain(AF)為其他屬性對屬性A的信息增益之和,表示屬性A與其他屬性的關(guān)聯(lián)度;F是不包含屬性A的非類屬性集合;f是非類屬性且f∈F。式(4)表示其他屬性對屬性A的信息增益平均值。
(4)
在已有的信息增益率的基礎(chǔ)上,通過引入其他屬性對被選屬性信息增益的均值,降低其他屬性與備選屬性之間的冗余度。改進后的信息增益率如式(5)所示,其中,w是權(quán)重系數(shù)。
(5)
在改進的信息增益率計算過程中,若備選屬性A與其他屬性的關(guān)聯(lián)度較差,其他屬性對屬性A的信息增益平均值較低,該屬性的信息增益率會增加,則被選定作為類屬性的子屬性的可能性會更大。
對于權(quán)重系數(shù)w,在形成的初始訓(xùn)練序列后,基于AdaBoost思想,對每個訓(xùn)練樣本賦予相同的初始權(quán)重,在迭代遞歸過程中動態(tài)調(diào)整權(quán)重系數(shù),根據(jù)權(quán)重系數(shù)構(gòu)造訓(xùn)練集。權(quán)重系數(shù)w衡量備選屬性最優(yōu)弱假設(shè)的重要性,在每次迭代計算結(jié)束后,對分類錯誤的樣本增加權(quán)重,使得在下一次迭代中更關(guān)注分類錯誤的樣本,利用不同的訓(xùn)練集構(gòu)造多個分類模型,通過綜合打分得到優(yōu)化的分類結(jié)果。在降低特征子集屬性冗余度的同時,提高了分類模型的魯棒性。
權(quán)重系數(shù)的確定及樣本訓(xùn)練過程如下:
輸入:訓(xùn)練數(shù)據(jù)集T,樣本數(shù)n,迭代次數(shù)m;
輸出:決策樹序列G(x);
訓(xùn)練流程如下:
(1)初始化訓(xùn)練數(shù)據(jù)的權(quán)重:
D1={w11,w12,…,w1N}
(6)
其中,
(7)
(2)對于m=1,2,…,M,使用具有權(quán)值分布Dm的訓(xùn)練數(shù)據(jù)集基于改進的C4.5決策樹進行學(xué)習(xí),得到弱分類器。
(3)計算Gm(Ti)在訓(xùn)練數(shù)據(jù)集上的分類誤差率:
(8)
(4)計算弱分類器Gm(t)的系數(shù):
(9)
(5)更新訓(xùn)練數(shù)據(jù)的權(quán)值分布:
Dm+1=(wm+1,1,wm+1,2,…,wm+1,N)
(10)
(6)將m個弱分類器進行線性組合,得到最終分類器:
(11)
2.2 改進的安全檢測文本分類模型
針對HTTP請求的移動數(shù)據(jù)安全檢測文本分類模型如圖1所示,檢測流程包括以下幾個步驟:
(1)以每個請求數(shù)據(jù)包為文本單位,將已分類的數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù);
(2)數(shù)據(jù)特征選擇及數(shù)據(jù)特征向量化,轉(zhuǎn)化為可供機器學(xué)習(xí)的訓(xùn)練樣本和測試樣本;
(3)利用訓(xùn)練數(shù)據(jù)集對改進的文本分類算法模型進行訓(xùn)練,建立分類模型,輸入測試數(shù)據(jù),輸出檢測數(shù)據(jù)類別。
圖1 改進的移動數(shù)據(jù)安全檢測文本分類模型
3.1 實驗數(shù)據(jù)集
文中采用HTTP請求進行模型驗證分析。在移動互聯(lián)網(wǎng)應(yīng)用環(huán)境中,通過HTTP請求實現(xiàn)Web攻擊是一種常見的攻擊方式,包括SQL注入、跨站腳本攻擊、Cookie篡改等惡意行為特征[5-6]。HTTP請求分為正常和異常兩個類別,根據(jù)HTTP請求的數(shù)據(jù)格式和惡意特征分析,從數(shù)據(jù)結(jié)構(gòu)、長度、字符等方面提取大量特征,使用基于相關(guān)的屬性選擇算法(CFS)對基礎(chǔ)數(shù)據(jù)進行屬性選擇,再使用本文提出的改進的文本分類算法選擇屬性子集,對實驗數(shù)據(jù)集進行分類,比較分類結(jié)果的正確率。
原始數(shù)據(jù)為CSIC2010的原始數(shù)據(jù)包,保留有效TCP數(shù)據(jù)包,過濾得到HTTP請求數(shù)據(jù)。HTTP請求格式包含請求方法URL協(xié)議/版本、請求頭(Request Header)、請求正文等數(shù)據(jù)。將HTTP結(jié)構(gòu)化數(shù)據(jù)部分保存為特征文本,同時,將請求內(nèi)容、path和Cookie等半結(jié)構(gòu)化的內(nèi)容進行結(jié)構(gòu)化處理。已有研究基礎(chǔ)表明,請求內(nèi)容、訪問路徑和Cookie一般是惡意特征集中表現(xiàn)位置[7]。參考KDDCUP1999數(shù)據(jù)集在安全檢測方面的特征要求[8],選取長度、鍵值對數(shù)等有效信息保存為結(jié)構(gòu)化文本數(shù)據(jù)。為了提高分類效率,首先對文本數(shù)據(jù)進行屬性選擇,屬性集搜索算法選用Best-first Search,屬性集評估算法選用CFS,提取HTTP請求的15個特征描述數(shù)據(jù)內(nèi)容。具體特征如表1所示。
表1 數(shù)據(jù)集特征描述
3.2 評估策略
將數(shù)據(jù)包劃分為正常數(shù)據(jù)和惡意數(shù)據(jù)兩類,數(shù)據(jù)向量特征化之后將目標(biāo)數(shù)據(jù)輸入到分類算法中進行模型訓(xùn)練、分類測試和準(zhǔn)確率驗證。實驗平臺使用WEKA,迭代次數(shù)設(shè)為10次,建立10棵決策樹,采用10折交叉驗證。
文本分類結(jié)果使用信息檢索中的查準(zhǔn)率(TP)、誤檢率(FP)和分類準(zhǔn)確率(ACC)來衡量改進算法的效果[9]。
其中:
查準(zhǔn)率=正確分類的HTTP惡意請求個數(shù)/HTTP惡意請求總數(shù)
誤檢率=正常HTTP請求被誤判為惡意請求的個數(shù)/正常HTTP請求總數(shù)
分類準(zhǔn)確率=正確分類的樣本數(shù)/所有測試樣本數(shù)
3.3 結(jié)果分析
實驗數(shù)據(jù)采用CSIC2010數(shù)據(jù)集,選取36 878條正常HTTP請求和24 668條包含惡意代碼的異常HTTP請求。通過Best-first Search屬性集搜索算法和CFS屬性集評估算法,提取HTTP請求的15個特征描述數(shù)據(jù)內(nèi)容。在選擇的15個屬性集上分別選用C4.5決策樹算法和改進的C4.5決策樹算法訓(xùn)練樣本數(shù)據(jù),建立分類模型。
3.3.1 小規(guī)模樣本測試
為驗證文中提出的改進算法的分類效率,首先進行小批量實驗數(shù)據(jù)驗證,選擇樣本數(shù)據(jù)集包含正常HTTP請求500個,異常HTTP請求500個。分類結(jié)果如表2所示。
表2 小規(guī)模樣本分類結(jié)果
表2結(jié)果顯示,基于AdaBoost思想的C4.5決策樹分類模型適用于HTTP惡意請求檢測,針對于傳統(tǒng)的C4.5檢測算法,檢測率和分類準(zhǔn)確率指標(biāo)均有所改善,其中,查準(zhǔn)率提高了1.9%,誤檢率降低了3.8%,分類準(zhǔn)確率提高了2.9%。由于改進模型中增加了Boosting自適應(yīng)調(diào)整權(quán)值系數(shù)過程,導(dǎo)致分類時間增加了12.2 ms。
3.3.2 總體樣本測試
采用上述方法選取所有異常樣本和正常樣本HTTP請求的屬性值,輸入算法模型,對比C4.5算法和改進后的C4.5算法在數(shù)據(jù)集上的分類準(zhǔn)確率,結(jié)果如表3所示。
表3 總體樣本分類結(jié)果
表3結(jié)果顯示,改進的C4.5文本分類模型查準(zhǔn)率提高了1.6%,誤檢率降低了0.8%,分類準(zhǔn)確率提高了1.7%,分類時間增加了45 ms。在保證分類時間影響較小的前提下提高了分類準(zhǔn)確度。
針對移動數(shù)據(jù)HTTP請求的惡意代碼特征,本文分析了傳統(tǒng)C4.5算法未考慮屬性間影響、屬性間冗余度較大、從而導(dǎo)致算法復(fù)雜度較高的問題,提出了一種基于AdaBoost算法的C4.5文本分類模型,并對模型進行優(yōu)化和改進。通過對文本數(shù)據(jù)的特征屬性進行選擇并通過特征向量化形成訓(xùn)練樣本和測試樣本,輸入到分類算法中進行模型訓(xùn)練、文本分類和結(jié)果驗證,從查準(zhǔn)率、誤檢率和準(zhǔn)確率三個方面進行比較分析。實驗結(jié)果證明,改進的C4.5算法具有較好的分類效果,對今后移動數(shù)據(jù)安全檢測研究中分類算法的選取具有一定的理論研究和應(yīng)用價值。
[1] 張福永,齊德昱,胡鏡林. 基于C4.5決策樹的嵌入型惡意代碼檢測方法[J]. 華南理工大學(xué)學(xué)報(自然科學(xué)版),2011,39(5):68-72.
[2] 陳祎荻,秦玉平, 基于機器學(xué)習(xí)的文本分類方法綜述[J]. 渤海大學(xué)學(xué)報(自然科學(xué)版), 2010,31(2): 201-205.
[3] 潘峰,基于C5.0決策樹算法的考試結(jié)果預(yù)測研究[J].微型機與應(yīng)用, 2016,35(8):72-74.
[4] 程駿,王健.面向移動數(shù)據(jù)安全檢測的文本分類算法比較研究[J]. 無線互聯(lián)科技, 2015(24):115-118.
[5] 魏浩,丁要軍.一種基于屬性相關(guān)的C4.5決策樹改進算法[J], 中北大學(xué)學(xué)報(自然科學(xué)版),2014,35(4):402-406.
[6] SCHULTZ M G, ESKIN E, ZADOK E, et al. Data mining methods for detection of new malicious executables[C].IEEE Symposium on Security and Privacy,2001:38-49.
[7] LA POLLA M, MARTINELLI F, SAGANDURRA D. A survey on security for mobile devices[J]. Communications Surveys & Tutorials, IEEE,2013,15(1):446-471.
[8] STOLFO S J,Wang Ke,Li Weijen.Towards stealthy malware detection[M].Malware detection.Heidelberg:Springer-Verlag,2007:231-249.
[9] GARCIA S,FERNANDEZ A,HERRERA F. Enchancing the effectiveness and interpretability of decision tree and rule induction classifiers with evolutionary training set selection over imbalanced problems [J]. Applied Soft Computing,2009,9(4):1304-1314.
An improved text classification model for mobile data security testing
Feng Xiaorong, Lin Jun, Mai Songtao
(Software Quality Testing Engineering Research Center, China Electronic Product Reliability and Environmental Testing Research Institute, Guangzhou 510610, China)
With the popularity development of mobile Internet, intelligent terminals carry a large amount of data interactive business and application, thus mobile data security problem is increasingly highlighted. In the view of mobile data security detection, text classification model can be realized in the application layer to detect malicious attacks. Since traditional C4.5 decision tree has the disadvantage of no considering about interaction influence between properties in attribute selection, an improved model of C4.5 decision tree based on Boosting algorithm is put forward. The problem in measuring the properties of the optimal weak assumptions is to be solved by introducing the weight coefficient of Boosting, which would generate an adaptive adjustment weights at the end of each iteration calculation, so as to reduce the feature subset attribute redundancy and meanwhile, improve the robustness of the classification model. Experimental results illustrate that the proposed text classification model is superior to the traditional method in terms of detection rate and classification accuracy.
malware detection; test classification; C4.5 decision tree; Boosting algorithm
廣東省省級科技計劃項目(2015A030401023)
TP311
A
10.19358/j.issn.1674- 7720.2017.08.001
馮曉榮,林軍,麥松濤.一種改進的面向移動數(shù)據(jù)安全檢測的文本分類模型[J].微型機與應(yīng)用,2017,36(8):1-4.
2016-11-29)
馮曉榮(1987-),女, 碩士,工程師,主要研究方向:計算機網(wǎng)絡(luò)安全技術(shù)、移動互聯(lián)網(wǎng)應(yīng)用技術(shù)。
林軍(1976-),男, 碩士,高級工程師,主要研究方向:移動通信、汽車電子等。
麥松濤(1989-),男, 碩士,工程師,主要研究方向:計算機網(wǎng)絡(luò)安全、信息安全等。
________________________