◆焦 棟 敖乃翔 王 辰
基于頻繁行為挖掘的未知木馬檢測技術
◆焦 棟 敖乃翔 王 辰
(中國電子科技集團公司中國電子科學研究院 北京 100041)
本文針對木馬檢測技術的研究現狀和難題,提出了頻繁行為挖掘的未知木馬檢測技術。通過對歷史木馬的行為序列進行據挖掘分析,形成頻繁行為知識庫,然后采用樸素貝葉斯算法,快速判定目標程序是木馬程序的可能性,并關聯目標程序與知識庫中頻繁行為序列,尋找最相似行為,采用匹配序列的后綴行為預測木馬后續攻擊。
未知木馬;頻繁行為;木馬檢測
隨著網絡技術的不斷發展,網絡開始大規模的覆蓋人們日常生活、工作、學習的各個領域。在享受網絡帶來的巨大便利的同時,人們也面臨著嚴重的安全威脅。尤其是在“互聯網+”與工業4.0的推動下,移動互聯網、云計算、大數據、物聯網等與現代制造業結合,使得傳統相對安全的隔離工業網絡,面臨著更加嚴峻的網絡安全威脅。
木馬作為一種攻擊工具,被網絡攻擊者利用,進行賬號、機密文件、隱私信息等的竊取,從而為其謀取利益,嚴重威脅著互聯網用戶的隱私和數據安全。而當木馬被用來進行針對國家重要信息系統與關鍵基礎設施的高級持續性威脅(APT)攻擊時,將會造成更加嚴重的后果。據國家互聯網應急中心(CNCERT)統計,2015年共發現10.5萬余個木馬和僵尸網絡控制端,控制了我國境內1978萬余臺主機。其中,位于我國境內的控制端近4.1萬個。而在國家重要信息系統方面,2015年我國境內有近5000個IP地址感染了竊密木馬,存在失泄密和運行安全風險。通過以上數據分析,木馬仍然是黑客進行網絡竊密的重要手段,且感染數量龐大,范圍廣泛。而隨著信息技術的發展,木馬也在不斷采用新技術、新方法進行演進,例如OceanLotus特種木馬等,具備著文件偽裝、隨機加密、自我銷毀等技術能力,甚至使用云控技術,以增強木馬攻擊的危險性、不確定性,以及被識別查殺的難度。
目前,國內外主流的木馬檢測技術主要可以分為兩大類:一是基于特征碼檢測技術和二是基于木馬行為特征檢測技術。
基于特征碼的木馬檢測技術:分析已知木馬和被感染的系統文件,分析挖掘出木馬特征,并構建木馬樣本特征庫,這些特征是通過分析木馬在目標程序中運行時進程名稱、木馬原始文件及生成的文件的特征字符串、文件大小及所在目錄、啟動加載的方式、生成的文件名、使用的固定端口等信息得出。當檢測目標程序是否為木馬時,通過目標程序與被感染文件的特征匹配特征庫中的特征碼,如果匹配,則表示目標為木馬。該類方法只能識別已知木馬,雖然具有較高的準確率,但卻無法識別未知木馬程序。同時如果系統中裝了未知Rootkit后,常規的特征碼檢測反病毒軟件將無法發現Rootkit在系統中的存在[1,2]。
基于行為特征的木馬檢測技術:利用木馬特有的行為特征來檢測木馬的一種方法。該類方法主要是通過對木馬進行長期的觀察、分析、研究和歸納,提取出木馬的特異性行為特征,而這些行為或行為組合在正常程序中不常出現。通過監視程序運行時的行為,如果發現了木馬行為特征,系統就會發出可疑木馬程序報警,并采取相應措施。主要的木馬行為特征有:對可執行文件做寫入操作、盜用截流系統中斷、寫引導扇區、執行格式化磁盤、修改注冊表、修改啟動項、修改文件關聯、注冊為系統服務、創建網絡通信通道、常用端口服用、打開不常用端口等。雖然基于木馬行為特征的木馬檢測方法可以檢測未知木馬,但是誤報率高,且現有相關檢測方法無法進行未知木馬行為預測,缺乏對未知木馬程序的有效控制手段[3,4,5]。
本文提出一種基于頻繁行為挖掘的未知木馬檢測方法,實現了對未知木馬檢測與后續攻擊行為的預判,彌補了現有木馬檢查方法缺乏對未知木馬后續攻擊預測的不足,給系統防護決策提供有力支撐。
本方案是用歷史發生過的木馬數據變化模式判定已知與未知木馬,以及預測其后續攻擊行為。首先通過對歷史木馬的行為序列進行大數據挖掘分析,結合頻繁行為序列的相關概念和方法提取出預測所需的知識,形成木馬行為知識庫。然后,結合樸素貝葉斯算法,基于先驗行為序列,快速判定目標程序是木馬程序的可能性。最后,通過大數據關聯目標程序與知識庫中頻繁行為序列,尋找最相似行為,并采用后綴行為預測木馬后續攻擊。

圖1 未知木馬攻擊檢測與預測方案
2.1 知識提取階段
步驟一:分析歷史木馬程序,形成行為序列庫。對每一個歷史木馬樣本,分析其在不同時段的活動行為,構成活動行為特征向量S=[(a1,t1),(a2,t2),…,(an,tn)],其中ai是行為庫中的行為特征,且ti<ti+1。將所有木馬樣本的活動行為特征向量存入數據庫,形成行為序列庫。

圖2 鄰接頻繁情節(A→B→C)挖掘自動機示意圖
步驟二:挖掘行為序列頻繁行為,形成頻繁行為知識庫。在行為序列庫的基礎上,對所有行為序列采用自動機(圖2為鄰接頻繁行為序列長度為3的自動機示意)進行鄰接頻繁行為序列挖掘。具體挖掘過程如下:
(1)將行為序列庫中所有行為特征放入候選的鄰接行為序列(依據時間先后依次發生的行為即為鄰接行為序列)集合中,作為長度唯一的頻繁行為序列;
(2)在每一條行為序列中,通過自動機實例,挖掘長度為i(2≤i≤M,其中M是最長頻繁鄰接行為序列長度)的鄰接行為序列并計數,如果候選鄰接行為序列的出現次數超出支持度閾值(根據實際情況自行定義),則將其放入長度為i的頻繁鄰接行為序列集合Ei中;
(3)對Ei中的每一對頻繁鄰接行為序列進行匹配連接測試,形成長度為i+1的候選鄰接行為序列;
(4)在i+1的基礎上,重復(2)和(3),至生成所有限定長度(根據實際情況自行定義)內的頻繁鄰接行為序列;
(5)由所有頻繁鄰接行為序列集合Ei(2≤i≤M)構成頻繁行為序列知識庫,以支撐后續木馬檢測與預判。
2.2 判定階段
在上一階段形成的頻繁行為序列知識庫基礎上,采用樸素貝葉斯算法[6],關聯匹配目標程序與歷史木馬程序的頻繁鄰接行為序列,實現對目標程序是否為惡意木馬的判定。具體步驟如下:
步驟一:對目標程序進行最長頻繁鄰接行為序列挖掘en=(a1,a2,…,an);(ai為行為庫中的行為特征)。
步驟二:在頻繁行為序列知識庫關聯en的匹配對象,如匹配,說明目標程序為木馬,若不匹配執行步驟三。
步驟三:采用樸素貝葉斯算法,進行en是否為木馬的判定。具體如下:
(1)設C={正常程序,不確定,木馬}是一個隨機變量分類集;
(2)基于頻繁行為序列知識庫,采用樸素貝葉斯算法,計算目標程序為木馬程序的概率p(C|en):

(3)將en的特征值帶入,可得:

(4)根據p(C|en)的最大值,可以確定en最大可能程序類型:

(5)若判定為木馬,則基于歐幾里得距離尋找最相似頻繁鄰接行為序列。
2.3 預測階段
在預測階段,利用上一階段中提取出的頻繁鄰接行為序列后綴行為(與目標程序鄰接行為序列匹配后的后續剩余行為)預測未來時序子段上的特征行為,從而完成預測工作。
本文提出的技術方案中采用頻繁鄰接情節進行知識挖掘,采用樸素貝葉斯算法進行木馬判定,與現有技術相比,不僅可以提高對已知和未知木馬識別精度,還可以對未知木馬未來攻擊行為進行預判,可有效支撐系統及時采取木馬捕獲和阻斷等響應處置。
[1]吳潤浦,方勇,吳少華.基于統計與代碼特征分析的網頁木馬檢測模型[J].信息與電子工程,2009.
[2]陳婧婧.基于行為特征的木馬檢測系統研究及實現[D].四川師范大學.2010.
[3]李煥洲,唐彰國,鐘明全等.基于行為監控的木馬檢測系統研究及實現[J].四川師范大學學報(自然科學版),2009.
[4]顏會娟,秦杰.基于行為分析的木馬檢測系統[J].網絡安全,2010.
[5]夏愛民,張宏志,楊偉鋒.基于綜合行為特征的木馬檢測技術研究[J].信息安全與通信保密,2014.
[6]阿曼.樸素貝葉斯分類算法的研究與應用[D].大連理工大學,2014.

第二步:

改變im和jm的選擇方式來防止可能存在的攻擊。
具體操作位:i0=FO;j0=F0+S[i0];
確定了im,則S[im]=XtmYtm,jm=jm-1+Sm-1[im];S[jm]=XnmYnm,這樣再將XnmYnm的位置分別向上和向左移動Xnm+1、Ynm-1后,記S[jm]=Xnm’Ynm’。
Swap(S’[im]+S[jm])mod EF=Xtm’Ytm’,分別又將Xtm’Ytm’和向左和向下移動Xtm’+1,記S[S’[im]+S[jm])modEF=Xtm’’Ytm’’則Xtm’’Ytm’’即為密鑰輸出字節。
又或者當m=Pm時,則明文字節Dpm=XpmYpm運行上述改進算法時,則:
R_step1:jpm=S[ipm]=XpmYpm;R_step2:jpm=S[ipm]=Xpm‘’Ypm‘;
加密階段為:Dpm⊕Zm=XpmYpm⊕XqmYqm=Epm;
同理,可得解密階段為:
Epm⊕Zm=XpmYpm⊕XqmYqm⊕XqmYqm=Epm。
本文對無線網絡安全中的RC4加密算法進行了分析和改進,使得原先無任何加密的無線網絡等待了較好的保護。但是,計算機網絡技術的高速發展,勢必會將原有的無線局域網加密算法進行破解和攻擊。在建立一套行之有效的無線網絡管理安全管理模型的同時也應該及時把握時代的發展,不斷探索升級原有的安全管理模型才能真正做到無線網絡的安全。
參考文獻:
[1]冀艾.WLAN安全機制[J]電信工程技術與標準化,2012.
[2]李東霖.基于公鑰證書的無線局域網訪問控制算法[D].吉林延邊:延邊大學,2014.
[3]耿嘉,曹秀英,畢光國.一種攻擊RC4-WEP類密碼的改進算法[J].通信學報,2004.
[4]胡嘉,遲全,袁巍,初劍峰,徐小博.基于抵抗故障引入攻擊的RC4算法的改進[J]吉林大學學報,2012.