馮曉榮,林軍,麥松濤
(工業和信息化部電子第五研究所 軟件質量工程研究中心,廣東 廣州 510610)
摘要:隨著移動互聯網應用的不斷普及,移動終端承載了大量的數據交互業務與應用,移動數據的安全問題日益凸顯。基于C4.5決策樹算法對移動數據進行文本分類檢測,實現惡意代碼分析。傳統的C4.5文本分類模型中,測試屬性選擇未考慮屬性之間的影響,因此提出了一種改進的基于Boosting算法的C4.5決策樹文本分類模型。該模型在衡量被測屬性最優弱假設的重要性時,引入Boosting的權重系數,每次迭代計算結束后,自適應調整權重值,在降低特征子集屬性冗余度的同時,提高了分類模型的魯棒性。實驗結果表明,改進的文本分類模型在檢測率和分類準確率上均有一定程度的提高。
關鍵詞:惡意代碼;文本分類;C4.5決策樹;Boosting算法
中圖分類號:TP311文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.001
引用格式:馮曉榮,林軍,麥松濤.一種改進的面向移動數據安全檢測的文本分類模型[J].微型機與應用,2017,36(8):1-4.
0引言
*基金項目:廣東省省級科技計劃項目(2015A030401023)近年來,隨著移動互聯網、物聯網、云計算、大數據技術的迅猛發展,全球數據量呈現爆發式增長。由于移動終端承載了大量的數據交互業務與應用,移動數據的安全問題日益凸顯,移動終端設備也成為攻擊者的主要目標之一。如何在海量數據中對安全威脅進行快速識別與分類,成為當前信息安全研究亟待解決的問題。
移動終端是大量互聯應用與服務的承載體,目前主要通過對移動終端設備安全能力檢測及移動應用程序的惡意行為檢測來實現數據安全保障。然而,這些安全防護方法都存在較大的局限性,基于移動終端設備的安全能力檢測一般局限于移動終端系統本身,而移動應用程序的檢測主要采用病毒庫的特征匹配,需要隨時更新病毒庫,無法滿足移動大數據應用的多樣性和實時動態特性。
在移動互聯網應用背景下,針對移動數據應用的主要攻擊是面向移動終端設備,包括竊取移動終端上的信息、遠程控制移動設備等,其中,大量惡意攻擊行為通過HTTP請求實現。例如,在移動終端通過HTTP訪問請求注入SQL語句惡意代碼,實現DNS欺騙、ARP欺騙,竊取用戶敏感信息。在服務器端通過HTTP傳遞請求內容的方式將用戶敏感信息上傳至服務器,泄露大量隱私數據。
在大數據應用環境下移動終端數據的信息安全檢測中,機器學習主要應用于解決數據分類問題、知識表示及規則提取、搜索問題和增強學習等方面。其中,利用機器學習技術解決數據的分類,區分異常數據和正常數據,為移動大數據的分析提供前提條件。
本文根據已有的參考文獻中提出的主流文本分類算法的特征[1],結合移動數據的特性,綜合考慮各種算法在移動數據分析中的優缺點和局限性,提出了一種基于AdaBoost思想的改進型C4.5決策樹文本分類模型,通過對HTTP請求數據的特征屬性進行選擇、特征向量化,形成訓練樣本和測試樣本,輸入到分類算法中進行模型訓練、文本分類和結果驗證,從查準率、誤檢率和準確率三個方面進行比較分析,為今后的文本分析研究提供理論基礎。
1C4.5決策樹算法
1.1特征提取
在機器識別分類算法實現中,數據特征向量化是前提條件。對于一個特征集F={f1,f2…,fn},描述特征子集的二進制向量為S={S1,S2…,Sn},其中Si∈{0,1},i=1,2,…,n。Si=1表示第i個特征被選擇,Si=0表示第i 個特征未被選擇[2]。由于特征集中包含很多冗余特征與不相關特征,導致數據屬性的維度增加,提高了數據計算的時間復雜度和空間復雜度,降低了分類模型的泛化能力。通過過濾的方法進行特征選擇,選擇出與類別相關性最大且具有最小冗余特征的子集,從而達到最優分類效果。
1.2C4.5決策樹基本原理
基于機器學習的文本分類方法是將數據根據預先定義的類別,按照一定的規則進行自動化分類,實現數據挖掘。在移動互聯網環境下,使用文本分類算法對移動數據進行安全檢測,將移動終端本身及移動應用的安全威脅進行有效分類,能夠自適應地學習正常數據和異常數據行為模式,從而涵蓋更大的安全檢測范圍,具有重要的研究意義。
在機器學習中,決策樹作為一個分類預測模型,代表對象屬性與對象值之間的映射關系。樹中的每個節點代表某個對象,每個分叉路徑代表某個可能的屬性值,每個葉節點對應從根節點到該葉節點所經歷的路徑所表示的對象值,基于數據產生決策樹的機器學習方法依托于分類、訓練上的預測樹,根據已知預測歸類未知數據。決策樹是一種多級分類的思想,目前已有的算法包括ID3、C4.5、CART算法等[3]。ID3是決策樹基礎算法,自頂向下地貪婪搜索遍歷可能的決策樹空間構造決策樹,使用統計測試確定每一個實例單獨分類訓練樣例的能力,分類能力最好的屬性作為判定樹根節點的測試屬性。基于C4.5決策樹算法建立在ID3算法的基礎上,用信息增益率選擇特征屬性,解決多值偏向問題。在樹構造過程中進行剪枝,完成對連續屬性的離散化處理以及對不完整屬性的處理能力和產生規則等功能。
根據已有的ID3算法,基于信息增益的基本原理,C4.5算法通過計算信息增益率,選取信息增益比最高的屬性作為樣本的測試屬性,創建一個節點并為每個屬性創建分支劃分樣本[4]。
2改進的安全檢測文本分類模型
2.1C4.5決策樹改進算法
C4.5決策樹算法根據信息增益率選擇屬性,從一個無次序、無規則的實例中歸納一組采用樹形結構表示的分類規則。信息增益率為信息增益和分割信息量的比值,信息增益越大,則類屬性對該屬性的依賴性越大,因此,該屬性作為測試屬性的期望值越大。
假設以屬性A的值為基準對樣本分割,訓練數據D用分裂信息SplitInfo作為初始信息量劃分成對應于屬性A的有m個輸出的m個劃分信息。屬性A具有n個不同的取值{a1,a2,…,an},如果用屬性A將樣本集S劃分為{S1,S2,…,Sn}共n個子集,則屬性A對S進行劃分的信息增益率為:
最佳屬性子集能夠對分類預測產生最好的效果,子集中的屬性與類屬性關聯度最大,同時屬性之間的冗余度相對較小。C4.5算法考慮了屬性與類屬性的關聯度,但是屬性之間的關系尚未考慮。特別是對于數據屬性及其取值較多的情況,不同屬性之間可能存在一定的聯系,若屬性之間的關聯度過高,屬性的冗余度過大,則會影響屬性子集的有效性,導致系統魯棒性較差。
在該改進的算法模型中,將屬性與其他屬性之間的關聯度引入屬性A的信息增益率度量。屬性A與其他屬性之間的信息增益如式(3)所示:
其中,Gain(AF)為其他屬性對屬性A的信息增益之和,表示屬性A與其他屬性的關聯度;F是不包含屬性A的非類屬性集合;f是非類屬性且f∈F。式(4)表示其他屬性對屬性A的信息增益平均值。
在已有的信息增益率的基礎上,通過引入其他屬性對被選屬性信息增益的均值,降低其他屬性與備選屬性之間的冗余度。改進后的信息增益率如式(5)所示,其中,w是權重系數。
在改進的信息增益率計算過程中,若備選屬性A與其他屬性的關聯度較差,其他屬性對屬性A的信息增益平均值較低,該屬性的信息增益率會增加,則被選定作為類屬性的子屬性的可能性會更大。
對于權重系數w,在形成的初始訓練序列后,基于AdaBoost思想,對每個訓練樣本賦予相同的初始權重,在迭代遞歸過程中動態調整權重系數,根據權重系數構造訓練集。權重系數w衡量備選屬性最優弱假設的重要性,在每次迭代計算結束后,對分類錯誤的樣本增加權重,使得在下一次迭代中更關注分類錯誤的樣本,利用不同的訓練集構造多個分類模型,通過綜合打分得到優化的分類結果。在降低特征子集屬性冗余度的同時,提高了分類模型的魯棒性。
權重系數的確定及樣本訓練過程如下:
輸入:訓練數據集T,樣本數n,迭代次數m;
輸出:決策樹序列G(x);
訓練流程如下:
訓練序列為 Ti,權重系數Dm表示在第m輪迭代開始前訓練數據的概率分布,wmi表示第i個樣本的權值,∑Ni=1wmi=1。
(1)初始化訓練數據的權重:
D1={w11,w12,…,w1N}(6)
其中,
w1i=1N,i=1,2,…,N(7)
(2)對于m=1,2,…,M,使用具有權值分布Dm的訓練數據集基于改進的C4.5決策樹進行學習,得到弱分類器。
(3)計算Gm(Ti)在訓練數據集上的分類誤差率:
(5)更新訓練數據的權值分布:
(6)將m個弱分類器進行線性組合,得到最終分類器:
2.2改進的安全檢測文本分類模型
針對HTTP請求的移動數據安全檢測文本分類模型如圖1所示,檢測流程包括以下幾個步驟:
(1)以每個請求數據包為文本單位,將已分類的數據集分為訓練數據和測試數據;
(2)數據特征選擇及數據特征向量化,轉化為可供機器學習的訓練樣本和測試樣本;
(3)利用訓練數據集對改進的文本分類算法模型進行訓練,建立分類模型,輸入測試數據,輸出檢測數據類別。
3實驗與結果分析
3.1實驗數據集
文中采用HTTP請求進行模型驗證分析。在移動互聯網應用環境中,通過HTTP請求實現Web攻擊是一種常見的攻擊方式,包括SQL注入、跨站腳本攻擊、Cookie篡改等惡意行為特征[56]。HTTP請求分為正常和異常兩個類別,根據HTTP請求的數據格式和惡意特征分析,從數據結構、長度、字符等方面提取大量特征,使用基于相關的屬性選擇算法(CFS)對基礎數據進行屬性選擇,再使用本文提出的改進的文本分類算法選擇屬性子集,對實驗數據集進行分類,比較分類結果的正確率。
原始數據為CSIC2010的原始數據包,保留有效TCP數據包,過濾得到HTTP請求數據。HTTP請求格式包含請求方法URL協議/版本、請求頭(Request Header)、請求正文等數據。將HTTP結構化數據部分保存為特征文本,同時,將請求內容、path和Cookie等半結構化的內容進行結構化處理。已有研究基礎表明,請求內容、訪問路徑和Cookie一般是惡意特征集中表現位置[7]。參考KDDCUP1999數據集在安全檢測方面的特征要求[8],選取長度、鍵值對數等有效信息保存為結構化文本數據。為了提高分類效率,首先對文本數據進行屬性選擇,屬性集搜索算法選用Bestfirst Search,屬性集評估算法選用CFS,提取HTTP請求的15個特征描述數據內容。具體特征如表1所示。
3.2評估策略
將數據包劃分為正常數據和惡意數據兩類,數據向量特征化之后將目標數據輸入到分類算法中進行模型訓練、分類測試和準確率驗證。實驗平臺使用WEKA,迭代次數設為10次,建立10棵決策樹,采用10折交叉驗證。
文本分類結果使用信息檢索中的查準率(TP)、誤檢率(FP)和分類準確率(ACC)來衡量改進算法的效果[9]。
其中:
查準率=正確分類的HTTP惡意請求個數/HTTP惡意請求總數
誤檢率=正常HTTP請求被誤判為惡意請求的個數/正常HTTP請求總數
分類準確率=正確分類的樣本數/所有測試樣本數
3.3結果分析
實驗數據采用CSIC2010數據集,選取36 878條正常HTTP請求和24 668條包含惡意代碼的異常HTTP請求。通過Bestfirst Search屬性集搜索算法和CFS屬性集評估算法,提取HTTP請求的15個特征描述數據內容。在選擇的15個屬性集上分別選用C4.5決策樹算法和改進的C4.5決策樹算法訓練樣本數據,建立分類模型。
3.3.1小規模樣本測試
為驗證文中提出的改進算法的分類效率,首先進行小批量實驗數據驗證,選擇樣本數據集包含正常HTTP請求500個,異常HTTP請求500個。分類結果如表2所示。
表2結果顯示,基于AdaBoost思想的C4.5決策樹分類模型適用于HTTP惡意請求檢測,針對于傳統的C4.5檢測算法,檢測率和分類準確率指標均有所改善,其中,查準率提高了1.9%,誤檢率降低了3.8%,分類準確率提高了2.9%。由于改進模型中增加了Boosting自適應調整權值系數過程,導致分類時間增加了12.2 ms。
3.3.2總體樣本測試
采用上述方法選取所有異常樣本和正常樣本HTTP請求的屬性值,輸入算法模型,對比C4.5算法和改進后的C4.5算法在數據集上的分類準確率,結果如表3所示。
表3結果顯示,改進的C4.5文本分類模型查準率提高了1.6%,誤檢率降低了0.8%,分類準確率提高了1.7%,分類時間增加了45 ms。在保證分類時間影響較小的前提下提高了分類準確度。
4結論
針對移動數據HTTP請求的惡意代碼特征,本文分析了傳統C4.5算法未考慮屬性間影響、屬性間冗余度較大、從而導致算法復雜度較高的問題,提出了一種基于AdaBoost算法的C4.5文本分類模型,并對模型進行優化和改進。通過對文本數據的特征屬性進行選擇并通過特征向量化形成訓練樣本和測試樣本,輸入到分類算法中進行模型訓練、文本分類和結果驗證,從查準率、誤檢率和準確率三個方面進行比較分析。實驗結果證明,改進的C4.5算法具有較好的分類效果,對今后移動數據安全檢測研究中分類算法的選取具有一定的理論研究和應用價值。
參考文獻
[1] 張福永,齊德昱,胡鏡林. 基于C4.5決策樹的嵌入型惡意代碼檢測方法[J]. 華南理工大學學報(自然科學版),2011,39(5):68-72.
[2] 陳祎荻,秦玉平, 基于機器學習的文本分類方法綜述[J]. 渤海大學學報(自然科學版), 2010,31(2): 201-205.
[3] 潘峰,基于C5.0決策樹算法的考試結果預測研究[J].微型機與應用, 2016,35(8):72-74.
[4] 程駿,王健.面向移動數據安全檢測的文本分類算法比較研究[J]. 無線互聯科技, 2015(24):115-118.
[5] 魏浩,丁要軍.一種基于屬性相關的C4.5決策樹改進算法[J], 中北大學學報(自然科學版),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:3849.
[7] LA POLLA M, MARTINELLI F, SAGANDURRA D. A survey on security for mobile devices[J]. Communications Surveys & Tutorials, IEEE,2013,15(1):446471.
[8] STOLFO S J,Wang Ke,Li Weijen.Towards stealthy malware detection[M].Malware detection.Heidelberg:SpringerVerlag,2007:231249.
[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.