?

基于貝葉斯算法的網頁木馬檢測技術研究

2023-06-18 07:02張尚韜
關鍵詞:木馬程序木馬貝葉斯

張尚韜

(福建信息職業技術學院物聯網與人工智能學院,福建福州 350003)

0 引言

互聯網搜索、網絡下載、網絡購物、網絡支付、網游產業等互聯網應用形式多樣化,使得瀏覽網頁已經滲透到社會的各個角落.由于系統及應用軟件、瀏覽器插件及網站等的漏洞層出不窮,使得網站掛馬活動越來越猖獗[1-5].網頁木馬不僅威脅到個人信息的安全,甚至可能影響國計民生和國家安全,如何保證網頁安全性已經成了安全領域的研究焦點.因此,研究網頁木馬的檢測技術具有顯著的現實意義.

網頁木馬是利用瀏覽器或瀏覽器插件的漏洞,向用戶機器植入木馬的惡意網頁腳本[6][7].傳統的網頁木馬檢測方法是特征匹配,這種方法不能檢測特征碼未知的網頁木馬.本文的主要工作是在研究網頁木馬行為特征、木馬監控技術的基礎上,將樸素貝葉斯分類算法應用于網頁木馬的檢測;同時分析了網頁木馬的代碼特征,提出了將鏈接分析作為基于行為分析的網頁木馬檢測的一個補充;最后給出了一種基于樸素貝葉斯分類算法的網頁木馬檢測模型,完成了檢測方案的設計與實現.

1 樸素貝葉斯算法判定網頁木馬原理

1.1 網頁木馬的行為特征

在查閱網絡上關于網頁木馬的技術細節的描述,并對網頁木馬的相關技術進行分析的基礎上,本文歸納出網頁木馬的行為特征如表1.

1.2 貝葉斯算法應用于網頁木馬判定原理

樸素貝葉斯分類算法[8-11]假定一個屬性值對給定類的影響獨立于其他屬性的值.這一假設稱為條件獨立,這種假設降低了計算的復雜度,且具有較高的精確度.

貝葉斯分類算法的原理是通過某對象的先驗概率,利用貝葉斯公式計算出其后驗概率,即該對象屬于某一類的概率,選擇具有最大后驗概率的類作為該對象所屬的類.樸素貝葉斯分類器的工作過程為:

若樣本S有n個特征(A1,A2,...,An),它可看作是n維空間的一個點(X=X1,...,Xn).其中,X1,X2,...,Xn分別為樣本特征A1,A2,...,An的取值(n∈N),樣本S有m個類別,記為C={C1,C2,...,Ci,...,Cm}(i,m∈N,1 ≤i≤m)。

若給定類別未知數據樣本X屬于類別Ci,那么分類問題就是決定P(Ci|X),即在獲得數據樣本X時,確定X的最佳分類.所謂最佳分類,即給定的樣本S以及其類別C中不同假設的先驗概率的情況下最可能的分類.貝葉斯理論給出了計算這種可能的方法[12-13].

貝葉斯定理基于假設的先驗概率,給定假設下觀察到的不同數據的概率以及觀察到的數據本身,提供了一種計算假設概率的方法,可表示為

P(Ci)表示沒有訓練數據前,Ci擁有的初始概率,P(Ci)稱為Ci的先驗概率,反映了所擁有的關于Ci是正確分類機會的背景知識,它應該是獨立于樣本的.某些情況下,可以簡單地將每一候選類別賦予相同的先驗概率,通常一般可以表示成訓練數據中屬于類別Ci的數據個數Si與總的訓練數據個數S的比值.P(Ci|X)表示給定數據樣本為X時,屬于類別Ci的概率:

樸素貝葉斯分類算法假設每個類別相互獨立,即各特征的取值相互獨立,從而有

貝葉斯分類算法根據計算的后驗概率P(Ci|X)的取值大小預測出X的類別,后驗概率最大的類別為X所屬的類別.

因此,分別計算出X屬于每一個類別Ci的概率P(Ci|X),然后選擇其中概率最大的類別作為其類別.由此可見,對一個未知類別的樣本X,它所屬的類別與該樣本的特征息息相關.

1.3 貝葉斯算法應用于網頁木馬判定步驟

由于樸素貝葉斯分類算法結合樣本的多個特征的取值對樣本進行分類,這與將行為分析應用于未知木馬判斷的原理相吻合.因而,可以將分類算法和網頁木馬行為分析結合起來判斷未知程序是否是網頁木馬(圖1).

圖1 為樸素貝葉斯分類算法應用于網頁木馬判定的流程圖

(1)確定應用程序的行為特征

在本文的研究中,確定應用程序主要具有4個特征:注冊表中設置啟動項;系統目錄下拷貝或創建文件;呈現可視化的界面;修改配置文件.

定義:PBC1表示應用程序具有在注冊表設置啟動項的特征表示應用程序不具有在注冊表設置啟動項的特征;PBC2表示應用程序具有系統目錄下拷貝或創建文件的特征表示應用程序不具有系統目錄下拷貝或創建文件的特征;PBC3表示應用程序具有呈現可視化界面的特征表示應用程序不具有呈現可視化界面的特征;PBC4表示應用程序具有修改配置文件的特征表示應用程序不具有修改配置文件的特征.

(2)確定實驗數據,分析實驗數據是否呈現上述的行為特征

本文選取的實驗數據為45個合法程序和37個木馬程序,現分析選取的網頁木馬程序和合法程序是否呈現出上述行為特征.其中網頁木馬的行為特征是參照權威網站提供的網頁木馬特征描述確定的;而合法程序的行為特征是將程序運行之后,查看其是否呈現上述特征確定的.

(3)將實驗數據分為A組和B組2組數據

A組包含35個合法程序和27個木馬程序,其余的合法程序和木馬程序歸B組.A組作為樣本數據,B組用于檢驗樣本A的計算結果.

在35個合法程序中,有11個具有PBC1的特征,3個具有PBC2的特征,28個具有PBC3的特征,6個具有PBC4的特征;在27個木馬程序中,有18個具有PBC1的特征,23個具有PBC2的特征,0個具有PBC3的特征,12個具有PBC4的特征.

由式(1.1)和式(1.3)可得

而先驗概率P(LP)=35/(35+27)=0.5645,P(T)=27/(35+27)=0.4355.

(5)依據B組的數據驗證樣本數據的計算結果,得出實驗結論

根據貝葉斯分類算法在網頁木馬判定中的原理,以及上一步計算所得的各項數據,區分B組的合法程序和網頁木馬程序,并計算漏報率和誤報率,以檢測貝葉斯分類算法應用于網頁木馬判定的準確性.

2 基于樸素貝葉斯分類算法的網頁木馬檢測模型設計

系統共分為4個子模塊:管理模塊、網頁代碼分析模塊、網頁木馬進程創建監控模塊以及網頁木馬行為分析模塊,如圖2所示.各個功能模塊的功能如下:

圖2 系統結構

(1)管理模塊屬于界面程序,包括兩部分:系統配置和日志查看.系統配置響應用戶對系統的控制、配置,如開始、停止、自動配置運行等;日志查看能夠將系統產生的日志信息進行提取并查看分析.

(2)網頁代碼分析模塊主要是對網頁中的鏈接和原代碼進行分析,抓取網頁中的鏈接,分析鏈接文件的格式.若是可執行文件,則該網頁可能被掛馬.

(3)進程創建監視模塊對系統進程特別是iexplorer進程中創建的子進程進行監視.

(4)網頁木馬行為分析模塊屬于動態監視程序,負責對被鎖定的可疑進程進行監視跟蹤,搜集程序的實時行為,主要實現對程序是否呈現可視化界面、文件、注冊表操作進行監視,進而利用樸素貝葉斯定理進行判定.

管理模塊同時啟動代碼分析模塊和進程創建監視模塊,在進程監視到可疑的進程創建時,立即啟動木馬行為分析模塊,最后根據判別結果將日志信息寫入日志模塊中,根據代碼分析模塊定位被掛馬的網頁.

2.1 管理模塊

系統配置主要為用戶提供管理整個系統的接口,包括系統啟動、停止和參數配置等功能.當點擊開始按鈕時,其程序流程如圖3所示.

圖3 管理模塊流程圖

當監視功能啟動時,啟動網頁代碼分析模塊,分析網頁中是否有可疑文件,并提取網頁中的鏈接;同時將進程創建檢測模塊注入iexplore進程中,進程創建檢測模塊會自動啟動監視功能;當發現有進程創建時,加載木馬行為分析模塊,判斷某可疑程序是否是木馬程序;最后根據網頁代碼分析結果和木馬行為監測模塊的輸出判斷網頁是否掛馬,網頁代碼分析結果從靜態方面檢測,貝葉斯的網頁木馬行為分析從動態方面檢測,兩者結合,增加了判定的準確性.同時,網頁代碼分析模塊對行為分析檢測的網頁木馬進行定位,找出被掛馬的網頁.

2.2 創建監視模塊設計

進程創建監視模塊主要是對掛接在IE 或系統關鍵進程中新創建的進程進行檢測,一旦可疑的進程創建,立刻通知網頁木馬行為監視模塊對此進程進行監視;同時將可疑的進程創建的子進程當作可疑的木馬程序,并通知管理模塊,以便檢測可疑木馬程序是否已經結束,從而能及時釋放不必要的資源.進程創建監視模塊是以dll形式存在的,由管理模塊將該模塊注入IE或系統關鍵進程中,并常駐內存.

運行的流程如圖4所示,當進程監視模塊被注入IE進程中后,進程創建監視模塊會自動實現對監視點函數的掛鉤,當進程創建時,攔截此創建進程的信息,并得到新創建進程的信息.

圖4 進程創建檢測模塊流程圖

2.3 行為監視模塊

該模塊在應用層實現,實現對注冊表、文件、可視化界面的創建、修改及訪問網絡等行為的監視.通過掛鉤注冊表操作的函數來實現對注冊表的監視,由于本文主要對木馬程序進行監視,采用API掛鉤進行監視,如圖5所示.

圖5 文件監視模塊流程圖

2.4 網頁代碼分析模塊

該模塊主要提取網頁中的鏈接,對直接鏈接所引用的文件格式進行判斷,判斷是不是PE文件格式.

直接在當前頁下載到本地引用的鏈接,為直接引用標簽.直接引用標簽是指當前頁下載到本地所引用的標簽,含直接引用標簽鏈接的網頁會在用戶瀏覽該網頁時將標簽指定的文件下載到本地的瀏覽器目錄.

間接引用標簽是需要用戶點擊或者執行某些操作,瀏覽器才會去訪問的鏈接,一般不會直接下載到本地.這些鏈接通常指向某個新的網頁,也有的是提供下載某個文件的鏈接.網頁木馬通常是隱藏在多層網頁鏈接之中,因而需要繼續分析這些間接引用標簽鏈接所指網頁.

該模塊流程圖如圖6所示.

圖6 鏈接分類流程

網頁中的文件一般下載到IE臨時文件夾中,而網頁中的可疑文件通常為PE(可執行)文件.因此,網頁中可疑文件的分析原理,就是通過分析待檢測文件的格式是否符合PE文件格式,若符合,就是可疑文件.

通過對PE 文件格式的分析,讀取PE 文件頭的信息,然后判斷文件的PE 標志,從而識別出文件是否是PE文件.

本文通過ImageFileType實現,其代碼如下:

DWORD ImageFileType(char*lpFile){

CreateFile(…)//打開文件.

CreateFileMapping(…)//創建內存映射文件.

MapViewOfFile(…)//把文件頭映象存入baseointer.

bPFiel(…)//判定是否是PE文件

}

3 實驗測試

(1)測試環境如表2所示

表2 測試環境

測試對象為一個被掛馬的網頁,即被植入“廣外男生”木馬的網頁木馬muma.htm,如表3所示.測試方法分為3步:

表3 測試對象

1)制作網頁木馬

使用“廣外男生”gwboy.exe客戶端生成一個Server.exe,漏洞利用工具,生成網頁木馬muma.htm.

2)上傳網頁木馬

選擇表2的操作系統1作為服務器,將網頁木馬文件上傳到服務器的網站目錄下,當瀏覽muma.htm時就會中木馬.

3)啟動網頁木馬檢測系統

選擇表2 的操作系統2 作為客戶端,在客戶端啟動網頁木馬檢測系統,在IE11 訪問muma.htm,監視muma.htm的行為,并根據輸出日志給出判斷結果.

(2)測試結果

(a)網頁代碼分析結果

網頁代碼分析模塊提取muma.htm網頁中的鏈接,對鏈接所引用的文件格式進行分析,如圖7所示.由圖7可以看出,bbs003302.css為可疑文件.

圖7 網頁代碼分析結果

(b)進程創建與行為分析結果

當啟動IE11 瀏覽muma.htm 時,觸發Microsoft Internet Explorer 遠程任意命令執行漏洞,下載bbs00323302.css和bbs00323302.gif,bbs00323302.css將釋放Server.exe文件,Server.exe運行并釋放gwboydll.dll,同時設置為開機自啟動,該程序執行時并不呈現可視化的界面.圖8、圖9、圖10分別為對進程、文件和注冊表操作部分日志.

圖8 進程操作日志

由進程創建和行為分析結果可以得出,該程序具有在注冊表設置啟動項、在系統目錄中創建文件的特征,不具有操作配置文件設置啟動項和呈現可視化界面的特性,與實驗收集到的網頁木馬行為特征中的“廣外男生”的行為特征相符,由本實驗收集的木馬程序判別結果可以看出,該程序是木馬程序.因此,muma.htm是網頁木馬.

由網頁代碼分析結果得出,muma.htm被植入了bbs003302.css可疑木馬程序.實際上bbs003302.css是由Server.exe偽裝而來.

同時利用代碼分析模塊能夠更加準確定位網頁木馬.對附錄中實驗收集的B組數據進行測試,測試結果如表4.可見,對木馬程序的漏報率為30%,對合法程序的誤報率為10%.

表4 B組數據測試結果

由以上的分析可以得出,本文提出的將樸素貝葉斯分類算法應用于網頁木馬行為的判斷,可以檢測出網頁木馬.該檢測方法具有誤報率低、檢測方法簡單的特點.但是由于實驗數據收集得不完善,影響了分析的準確性.同時,監控技術和參數還有待進一步完善.

4 結束語

本文通過分析網頁木馬的原理、網頁木馬植入的一般模型及網頁木馬的行為特征,提出了基于貝葉斯算法的網頁木馬的檢測模型,并給出了利用該模型進行網頁木馬檢測的設計方案.通過實驗數據分析,該方法可以檢測出網頁木馬.由于樣本數據收集得比較少,因此影響了判定分析,下一步工作要完善訓練集,大幅增加樣本數據.

猜你喜歡
木馬程序木馬貝葉斯
小木馬
騎木馬
殺滅木馬程序,幸福就會來臨
小木馬
旋轉木馬
貝葉斯公式及其應用
惡意木馬程序——Trojan_Generic
基于貝葉斯估計的軌道占用識別方法
一種基于貝葉斯壓縮感知的說話人識別方法
木馬更加專業化網絡攻擊成主角
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合