張亮
校園網智能惡意軟件數據檢測研究
張亮
隨著互聯網技術的不斷發展,惡意軟件的幾何式增長和傳播,傳統安全軟件鑒別模式已經很難適應新形勢,大量的未知文件經過殺毒軟件比對后,仍有很高比例無法識別。通過數據挖掘技術實現對未知文件高效、準確識別、分析和處理就有較大的實用意義。采用分類關聯規則挖掘算法建立模型,并使用集成學習方法共同進行未知文件預測,對預測的惡意軟件使用聚類進行歸類,并提取特征代碼用于鑒別。
云安全;分類;歸納學習;集成學習
惡意軟件的爆發式增長使得傳統安全技術變得脆弱不堪,傳統安全方案對安全領域專家個人能力依賴性較強,甚至需要進行人工特征碼提取,單一主體的安全防御已經無法適應現在高校網絡安全形勢。國際國內高校逐漸開始嘗試構建云安全[1]中心,通過大數據技術依托云計算中心進行高效的數據分析,同時運用并行計算、未知代碼行為分析等技術采集惡意軟件樣本。研究大數據相關方法,把數據分析技術運用到智能惡意軟件檢測中具有較高的研究價值。
根據破壞性和傳播方式,本文中提及的惡意軟件一般指病毒、蠕蟲、木馬、后門及它們的組合。對于鑒別這些惡意軟件,需要采集其靜態和動態特征[2]。靜態特征是在程序未運行時,提取出的指令代碼等。特點是容易提取,但是對于應用變形和多態等技術的惡意軟件提取后難以分析。動態特征[3]是將代碼運行后監視其行為,對于變形和多態技術可以很好識別,但是操作時提取速度慢,采集樣本效率低。對于新時期高校網絡安全需求,特征提取過程需要自動、高效、準確,特征代碼的維數應最小化。
本文采用以下步驟進行惡意軟件的檢測、歸類、提取特征代碼和查殺。
(1)構建Apriori分類器、Supportt Vector Machines分類器、決策樹分類器、樸素貝葉斯分類器,對普通樣本和惡意軟件樣本進行學習,查找惡意代碼共性,提取特征和分類;
(2)使用分類集成學習方法對單個分類器的預測結果進行結論生成;
(3)對預測結果惡意軟件樣本經聚類方法進行歸類,對每一個惡意軟件簇提取相應的通用特征代碼用于鑒別和查殺;
(4)如有預測結果為未知的文件交由人工處理并把結果返回分類器。
系統架構如圖1所示:

圖1 惡意軟件智能檢測系統架構圖
本文采用分類學習方法對進行惡意軟件檢測和鑒別。通過正常樣本和已知惡意軟件樣本的數據學習,查找新產生的惡意軟件源代碼和記錄中原惡意代碼的共性,快速準確的歸類并提取惡意軟件的身份特征代碼。
2.1 構造Apriori分類器
通過文獻[4-6]知道了Apriori的兩個性質,因此,假設數據表如圖2所示:

圖2 樣本數據表
最小支持度為25%,置信度為65%,進行惡意軟件分類。對應的分類關聯規則C:
C1{A3}推導類=惡意(37.5%,100%)
C2{A1,A3}推導類=惡意(25%,100%)
C3{A3,A5}推導類=正常(25%,100%)
C4{A4,A5}推導類=正常(255%,66.7%)
C5{A2,A4,A5}推導類=正常(25%,66.7%)
照此估算每次計算頻繁項集過程中產生數量很大的候選項,例如長度為50就會產生20的50次方個候選,系統開銷極大。本文利用頻繁模式增長算法來解決這個問題,這種算法在頻繁項集挖掘過程中不產生候選,也就是不存在從樹根到樹葉的路徑,從而提高效率。
抽取樣本庫中5 497個樣本進行測試,其中包含3 356個惡意軟件,2 141個正常軟件,提取到25 366個函數。設定參數最小支持度為0.294,置信度為0.98,使用頻繁模式增長算法得到237條關聯規則。
測試舉例:
C1{2 221,378,127,116,17}推導類=惡意(支持度0.296 7,置信度0.996 7)
還原函數操作得到規則如下:
C1{打開進程;返回句柄;復制文件;關閉已經打開的進程;獲取操作系統版本;獲取文件路徑;寫文件}
符合此類操作的函數調用就可能是惡意軟件調用規則,根據上述樣本測試使用如上操作的軟件99.7%是惡意軟件操作,0.3%是正常軟件操作。
2.2 構造Support Vector Machines分類器
單一特征表達方法檢測的準確率很低,一般需要使用多種特征表達的方法來彌補。Support Vector Machines算法具有較好的分類精度,對于高維度數據集有較強的處理能力。根據數據的線性可分性和線性不可分性區別,對于由于樣本數較高的惡意軟件鑒別,本文采用采用線性Support Vector Machine分類器[7,8]構造。
2.3 構造決策樹分類器
在鑒別資源特征的特征時,本文采用決策樹分類器[9]算法,構造方法如下:
(1)建立樹
設節點X代表劃分W的元組,X的分裂屬性需選擇最高增益屬性,那么W中的期望信息如式(1):

其中yi是W中任意元祖屬于Ci的概率,IN(W)是識別W元組類標號需要的平均信息量,假設屬性N將W分為n個子集W1,W2,……Wn為式(2):

信息增益計算就是對E劃分得到的與原有的信息需求差為式(3):

選擇最高信息增益的屬性為該節點分列屬性。
(2)減枝
本文采用悲觀錯誤減枝(Pessimistic Error Pruning)方法,該方法精度較高,在每個子樹中最多訪問一次。
2.4 構造樸素貝葉斯分類器
針對特征很長和緯度非常高的指令序列,本文采用樸素貝葉斯分類器[10]處理。該方法在此領域效果明顯,性能和神經網絡接近。
貝葉斯分類器應用的學習中,目標函數從有限集合K中取值,根據目標函數的訓練樣本和實例,預測新實例目標值,計算最可能的目標值Km,根據貝葉斯公式代入后得到式(4):

假定給定目標屬性值獨立,得到式(5):

檢測惡意軟件是一個二分類問題,因此本文采用變形式(6):

集成學習是由多個個體學習器對同一問題進行學習,輸出共同決定,根據惡意軟件檢測分類器的實際情況,本文采用個體學習器算法不同的異構集成。為了使集成學習具有更好的預測效果需要滿足條件:
(1)對新數據進行函數逼近或分類,誤差率比隨機預測好,個體分類錯誤率低于0.5;
(2)對新數據進行函數逼近或分類,錯誤互不相關。
集成學習方法:
(1)通過策略生成具有較高正確率和差異性的集成個體,可以使用不同訓練算法或者同一訓練算法采用不同參數;
(2)結論生成算法一般采用投票法,用多個基本分類器分類預測后,根據權重采用一票否決、一致同意、多數決定、閾值表決等方法生成結論。當每個分類器能力不同,根據過去表現根據貝葉斯算法進行計算設定權值,這種貝葉斯投票效果更好,但是因為很難窮舉整個假設,分配所有先驗概率,所以無法代替普通投票法。
本文采用聚類方法對惡意軟件進行歸類。
4.1 惡意軟件的特征表達方法
文件指令頻度的特征提取需要解析所有指令,統計出每條指令在惡意軟件樣本中出現的頻率PL與擬向樣本頻率NYD,并進行加權。
指令頻率PL定義為特定指令出現的頻率,對于第j個樣本中的指令有式(7):

分子是該指令在j中出現的次數,分母是所有指令出現的次數和。
逆向樣本頻率NYD計算為式(8):

本文采用PLNYD=PLi,j*NYDi對樣本j中Vi指令加權。經過樣本分析發現,變種惡意軟件指令頻度變化曲線具有相同或相似特征。
4.2 GFS文件指令頻度特征聚類
單純采取層次方法和劃分方法聚類在惡意軟件中檢測實驗中只得到不均勻密度的結果,這種結果難以進行分析。本文采用無參數聚類方法改進FS指標,稱為GFS方法為式(9):

其中mi第i簇中樣本數,s是簇個數,zi是i簇中心點(距離所有數據距離最小的點),是全數據中心點,是簇內緊湊度,是類間分離度。
根據以上算法GFS越小越好,并且不須考慮簇和自身的分離度,減少了相關干擾。
4.3 WKM文件指令序列特征聚類
惡意軟件檢測函數指令序列特征一般是高維度稀疏數據,傳統聚類方法沒有用武之地。本文采用WKM加權子空間聚類算法,通過聚類過程中搜索每個簇對應的指令序列子空間來實現該類數據自動歸類。算法得出的聚類結果中,可能產生在本簇中出現頻率高,在其他簇中出現頻率低的數據,如果這類數據通過誤報測試,那么這些數據就是惡意軟件通用檢測特征。例如A簇中指令片出現的頻率為[1,1,0.66,0.34,0.34],B簇[1,0,0,1,0.4],設定的高頻為0.66,低頻為0.34,那么提取A簇中2、3號指令,B簇中4號指令進行誤報測試,通過后即可作為惡意軟件通用檢測特征。
使用上述方法對惡意軟件檢測效率進行試驗,在對比組使用諾頓、卡巴斯基、Mcfee等安全軟件進行測試。
在第1次測試中,統計結果本系統效率低于傳統安全軟件。第2次測試開始,結果開始穩定,效率也達到預期。第2次到第8次實驗數據相似,兩次實驗的數據統計結果如表1所示:

表1 實驗結果統計
在前10秒的分析中,實驗樣本在本試驗中的數據遠領先于傳統安全軟件。
使用本文方法對惡意軟件進行自動歸類,并對每個惡意軟件提取特征代碼,對惡意軟件描述舉例如圖3所示:

圖3 歸類后的惡意軟件簇描述示例
例如特征ID72274856匹配到2754個惡意軟件樣本,其惡意特征如下:

將此ID提取的通用惡意特征分發到客戶端,即可進行快速查殺。
惡意軟件的高速增長和傳播,使得傳統安全軟件的架構難以適應新形勢的要求,面對海量的未知文件難以鑒別和分類。本文通過大數據技術和數據挖掘,配合云架構進行惡意軟件數據檢測研究。重點研究了惡意軟件的特征表達、分類以及分類集成學習在檢測惡意軟件中的算法,聚類方法在惡意軟件檢測中的應用等內容。根據實驗結論,這些方法能夠實現在海量未知文件樣本中自動、快速、準確的識別和分析惡意軟件,該研究在高校惡意軟件檢測和防護領域具有較強的實用性。
[1] 劉曉梅.高校中云安全技術策略分析[J].網絡安全技術與應用,2014,(6):82-83.
[2] 張健飛,陳黎飛,郭躬德.檢測迷惑惡意代碼的層次化特征選擇方法[J].計算機應用,2012,32(10):2761-2767.
[3] 管云濤,段海新.自動的惡意代碼動態分析系統的設計與實現[J].小型微型計算機系統,2009,7(4):1326-1330.
[4] 趙祖應,丁勇,鄧平.基于Apriori算法的購物籃關聯規則分析[J].江西科學,2012,30(1):96-98.
[5] 劉華婷,郭仁祥,姜浩.關聯規則挖掘Apriori算法的研究和改進[J].計算機應用與軟件,2014,26(1):1-3
[6] Osmar R Zaiane,Mohammad EI-Hajj,Paul Lu.Fast Parallel Assocation Rule Mining Without Candidate Generation.[J]2001:115-126.
[7] 安元,胡衛群,夏真友.線性三類分類器[J].電腦知識與技術,2013,9(33):7625-7626.
[8] 廖周宇,謝曉蘭,劉建明.云計算環境下基于SVM的數據分類[J].桂林理工大學學報,2013,4(33):765-769
[9] 丁文彬.基于決策樹分類的網絡異常流檢測與過濾[D].成都:電子科技大學,2013:18-24.
[10] 王東,熊世桓.一種基于特征置換的樸素貝葉斯分類器[J].蘭州理工大學學報,2012,4(38):93-97.
Research on Malicious Software Data Detection of Campus Network
Zhang Liang
(Network Information Center, China University of Petroleum (East China), Qingdao 266500, China)
With the continuous development of the Internet technology, the size of malicious software is growing and spreading at an incredible rate, so the traditional security software authentication mode can not adapt to the new situation. After using anti-virus software comparison, there is still a high proportion of unrecognized. Data mining technology to implement unknown files is efficient and accurate to identify and analyze for these files, so it has great practical significance. In this paper, the model is to built by classified association rule mining algorithm and integrated learning methods to carry out unknown files prediction, the prediction of malware uses cluster analysis to classify and extract the feature code for its identification.
Clould security; Classification; Inductive learning; Ensemble learning
TP393
A
1007-757X(2016)010-0044-04
2016.08.20)
中國石油大學(華東)高等教育研究基金(GJKT201502)
張 亮(1981-),男,啟東,中國石油大學(華東),碩士,研究方向:計算機信息和網絡技術方面的研究,青島 266500