李燕萍
摘 要:盡管Linux在設計之初就具有顯著的優(yōu)越性,但在1996年卻出現了Linux病毒。基于全面地監(jiān)測該病毒的目的,文章綜合了機器學習的基本理論知識,進而探索出一種高效的檢測方法。此方案綜合了ELF文件特征,并將BP神經網絡作為基分類器,通過AdaBoost實現對所有的基分類器的訓練。
關鍵詞:Linux;基分類器;病毒檢測;AdaBoost
一、基于AdaBoost的Linux病毒檢測方案
本研究綜合采用了集成學習的基本原理,對各分類器所帶來的檢測結果加以整合,進而提升檢測精度。最終,所得的Linux病毒檢測系統(tǒng)其基本檢測流程如下:首先選取待測文件,從中獲取各樣本特征。其次所有基分類器都各自展開樣本檢測工作,獲得各自的結果。最后將各基分類器所得的結果加以整合,進而得出最終的檢測結果。
事實上,本文所設計的檢測方案是基于傳統(tǒng)方案加以改進所得,二者的區(qū)別在于改進后的方案增強了分類器的差異性,這也隨之帶來了一些問題。此外還需要通過科學的手段對基分類器加以訓練,提升整合能力。
二、AdaBoost算法及其改進
1.原AdaBoost算法
基于Adaboost算法,對同一個訓練集而言,可以對具有差異化的基分類器展開訓練,而后將各分類器進行整合,最終形成強分類器。最初,訓練樣本對應了相應的初始權值,隨著某一基分類器的訓練結束,將會以所得的分類結果為依據,進而對樣本權值做調整,因此在后續(xù)的訓練中可以增強基分類器對該類樣本的洞察能力。在獲得各分類器的判決結果后,對其進行加權處理方可得到最終的強分類器。
2.改進算法分析
基于傳統(tǒng)的AdaBoost算法,本文做了如下改進:一是對權重計算方案做了相應調整,將病毒納入基分類器的權重分配之中。二是對基分類器的整合方式做了相應優(yōu)化,由曾經傳統(tǒng)的權重投票方式優(yōu)化為基于DS證據理論的整合方式。三是改進了合成規(guī)則。對于檢測系統(tǒng)而言,若其含有T個基分類器,此時可以引入Dempster正交合成規(guī)則,進而對命題所對應的基本概率函數加以整合,而后可以得出系統(tǒng)對某一命題所對應的具體信任度分配情況,如下所示:
M(A)=m1(A)⊕m2(A)⊕...⊕mT(A)
對于某一命題N而言,可以通過上述方法獲悉系統(tǒng)對其的信任度,如果所得的值超過預先設定的閃值,那么將會認定該待測文件屬于病毒,否則將會認定為正常文件。
顯然,引入DS證據理論后,此時檢測系統(tǒng)將突破傳統(tǒng)“是”與“否”的簡單形式,通過可量化的值加以輸出。在某些檢測敏感度較高的場合,可以將閃值做相應下調,此時將會有更多的可疑文件被系統(tǒng)認定為病毒,高度的靈活性在提升判定能力的同時還可以適用于各類場景中。
由上述內容可知,對AdaBoost算法加以改進后,在進行基分類器的權重計算環(huán)節(jié)中,綜合考慮了病毒(即正樣本)對識別能力的影響,因此該算法對病毒檢測而言具有高度可行性。當出現分類錯誤率相同的情況時,對于識別能力更強的基分類器而言可以對權重做以調整,獲得更大的值,進而提升整個系統(tǒng)的識別能力。基于AdaBoost算法,綜合了DS理論,可以顯著增強各基分類器所帶來的整合水平,提升最終的準確率。
三、實驗結果與分析
假定系統(tǒng)只有一個基分類器,此時可以等效于系統(tǒng)沒有進行集成學習,所帶來的正確率保持在85%以上水平,因此有理由說明ELF文件特性以及BP神經網絡分類算法具有較強的可行性,它對Linux病毒檢測而言效果顯著。
如果基分類器數量在2至16個范圍內,此時正確率將進一步提升,這受惠于集成學習的優(yōu)越性。
如果基分類器的數量在16至32個范圍內,此時準確率并未呈現明顯上升的特征,這表明基分類器的數量在達到某一限定范圍后,對效果的提升并不明顯,因此無需為了提升檢測效果而大量使用基分類器。
本文圍繞Linux病毒檢測方案展開研究,將ELF文件作為樣本特性,并將BP神經網絡作為基分類器,在引入AdaBoost算法后可以實現基分類器的訓練目的,同時還引入了DS理論,很大程度上改善了整合效果。
參考文獻:
[1]吳 戀,馬敏耀,黃一峰,等.基于AdaBoost算法的Linux病毒檢測研究[J].計算機工程,2018(8).
[2]楊 曄.基于行為的惡意代碼檢測方法研究[D].西安:西安電子科技大學,2015.