孫 茜,吳 鳴
(1. 江西科技學院信息工程學院,江西 南昌 330098;2. 南昌大學,江西 南昌 330031)
計算機和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,多樣網(wǎng)絡(luò)病毒的入侵范圍開始逐漸廣泛,成為網(wǎng)絡(luò)安全運行需要解決的首要問題[1,2]。現(xiàn)階段,無論是在技術(shù)領(lǐng)域還是模型領(lǐng)域,已有的網(wǎng)絡(luò)客戶端檢測技術(shù)和防御技術(shù)均不夠先進,無法對一些新型的病毒進完成檢測和防御,而且滯后性較強。
為了有效解決上述問題,國內(nèi)相關(guān)專家給出了一些較好的研究成果,例如張瑜等人[3]采用接種數(shù)字疫苗形成低于病毒攻擊的未成熟抗體;然后免疫抗體動態(tài)演化機制,形成抗原的成熟體以及記憶抗體,同時借助交叉視圖法來構(gòu)建病毒攻擊動態(tài)防御模型。劉娜[4]主要通過數(shù)據(jù)挖掘技術(shù)獲取網(wǎng)絡(luò)病毒特征,進而制定對應(yīng)得到防御策略。但是,以上文獻方法均無法獲取病毒的特征向量,導(dǎo)致病毒防御不具有針對性,病毒防御效果不理想。
基于上述已有方法,提出一種基于N-Gram模型的網(wǎng)絡(luò)客戶端病毒防御方法。經(jīng)實驗測試證明,所提方法可以更好地防御網(wǎng)絡(luò)客戶端病毒。
優(yōu)先分析不同長度的N-Gram特征對網(wǎng)絡(luò)客戶端病毒檢測結(jié)果產(chǎn)生的影響,進而采用N-Gram模型提取對應(yīng)的網(wǎng)絡(luò)客戶端病毒特征向量。
N-Gram模型的主要作用是提取未知類型的病毒特征,是基于馬爾科夫鏈形成的一種概率模型。N-Gram特征提取就是將經(jīng)過數(shù)據(jù)預(yù)處理得到的網(wǎng)絡(luò)客戶端病毒數(shù)據(jù)做窗口大小為N的滑動窗口進行切分。特征選擇[5,6]是在提取到的特征中選取一個特征子集,通過特征子集可以創(chuàng)建更好的病毒數(shù)據(jù)特征向量。在訓練檢測模型中,輸入數(shù)據(jù)特征的選取對分類結(jié)果會產(chǎn)生更加明顯的影響,好的特征選擇能夠促使分類結(jié)果準確率更高且效果更好。若沒有進行特征選擇,提取的特征數(shù)量會增加,而且各個不相關(guān)特征或者特征之間的依賴性也會隨之增加,進而提升模型訓練時間。其中,特征選擇的詳細操作步驟如下所示:
1)產(chǎn)生過程
在已有的特征集中選擇特征子集的過程,主要借助搜索算法或者啟發(fā)算法等完成。
2)評價函數(shù)
主要用來判斷形成的候選特征子集好壞。
3)停止準則
屬于評判規(guī)則,通常為一個閾值,當評價函數(shù)的取值達到設(shè)定的閾值,則可以結(jié)束搜索。
4)驗證過程
對上述操作步驟進行驗證時,需要在已有數(shù)據(jù)集中選擇有效且真實的特征子集。
對于提取的N-Gram序列需要選擇合適的方法,以下主要使用特征向量表示。其中,網(wǎng)絡(luò)客戶端的病毒特征向量提取過程如下所示[7,8]:
1)采用N-Gram模型提取網(wǎng)絡(luò)客戶端病毒的特征子序列,同時統(tǒng)計特征子序列的總數(shù)。
2)計算不同類型特征子序列在總序列中所占據(jù)的比例。
3)將全部特征序列的比例值從小到大進行排列,形成候選特征子集M。
4)將M中取值最大的特征子序列加入到特征向量中,采用式(1)計算特征向量對應(yīng)的增益值
(1)
當式(5)的取值大于0,則保留該特征子序列中的向量;反之,則將其刪除。
5)重復(fù)步驟4),直至特征子集為空。
6)輸出特征向量。
在上述分析的基礎(chǔ)上,將距離相似度檢測技術(shù)和決策算法兩者進行有效結(jié)合,對網(wǎng)絡(luò)客戶端病毒進行檢測[9,10],詳細的操作步驟如下所示:
計算距離比較常用的方法就是相似性度量方法,根據(jù)計算兩個對象A和B的距離D(A,B),可以計算相似度計算S(A,B),如式(2)所示
(2)
由式(2)可知,當相似度S(A,B)的取值越大,則說明D(A,B)的取值越小,兩個對象之間的相似度就越高。
卡方距離檢測主要被應(yīng)用于檢測網(wǎng)絡(luò)客戶端病毒中,整個算法的詳細操作步驟如下所示:
1)訓練階段
輸入網(wǎng)絡(luò)客戶端病毒的特征向量,計算正常的網(wǎng)絡(luò)客戶端數(shù)據(jù),進而獲取平均客戶端病毒的平均特征向量。
2)檢測階段
輸入被檢測的網(wǎng)絡(luò)客戶端數(shù)據(jù),得到被檢測數(shù)據(jù)的特征向量。計算步驟1)和步驟2)中兩個特征向量的卡方距離D2(X,Y),如式(3)所示
(3)
式中,X代表被檢測網(wǎng)絡(luò)客戶端的特征向量;Y代表被正常數(shù)據(jù)中提取到的特征向量;N代表序列的總數(shù)。當Yi的取值為0時,則說明數(shù)據(jù)需要進行平滑處理。
根據(jù)上述操作步驟已經(jīng)提取的特征向量[11,12],需要對上述檢測階段的給出計算公式進行距離改進,同時確定檢測閾值,以下給出詳細的操作步驟:
1)計算正?;旌螻-Gram特征向量的平均向量;
2)輸入網(wǎng)絡(luò)客戶端數(shù)據(jù),設(shè)定特征向量的長度為1500;
3)重復(fù)步驟1)和步驟2);
4)確定檢測閾值;
5)計算兩個客戶端之間的距離d,如式(4)所示
(4)
式中,α和β分別代表最大距離值和最小距離值。
6)判定數(shù)據(jù)是否為異常數(shù)據(jù);
7)輸出最終的網(wǎng)絡(luò)客戶端病毒檢測結(jié)果。
當病毒入侵網(wǎng)絡(luò)后,采用N-Gram模型提取病毒的特征,通過尋找抗原的對應(yīng)特征來激活自主防御性能,有效消除對應(yīng)的病毒,同時會形成含有記憶功能的抗體,對病毒的特征進行記錄。當受到相同的病毒攻擊時,系統(tǒng)的整體速度就會增加。利用圖1給出網(wǎng)絡(luò)客戶端病毒防御方法的詳細操作步。
圖1 網(wǎng)絡(luò)客戶端病毒防御流程圖
假設(shè)在一個網(wǎng)絡(luò)系統(tǒng)中,客戶植入了n個病毒,每個病毒都包含自身的特征,病毒集合為N={p1,p2,…,pn},病毒對應(yīng)的特征集合為P={x1,x2,…,xn}。設(shè)定網(wǎng)絡(luò)客戶端的數(shù)據(jù)集和為Ω={σ1,σ2,…,σn},每個數(shù)據(jù)包都對應(yīng)一個信任值ωi,對應(yīng)的計算公式為
(5)
式中,C(σi)代表數(shù)據(jù)包的原始容量;C(σi)′代表數(shù)據(jù)包容量的變化情況。
通過概率函數(shù)ξ(x,Z)描述不同變量的分布情況,具體如式(6)所示
(6)
式中,Z(xi,μ,∑)代表高斯概率密度函數(shù);θ(xi)代表分布權(quán)值函數(shù);∑代表協(xié)方差矩陣。其中,分布權(quán)值函數(shù)的具體表達形式如式(7)所示
(7)
式中,v代表病毒的傳播速度;μ代表最佳估算值,具體的計算式如下
(8)
式中,yi代表樣本xi對應(yīng)的特征向量。
設(shè)定帶有xi特征的病毒pi從原始客戶端ipj進入,入侵數(shù)據(jù)包σj準備攻擊目標IP為ipt的服務(wù)器,則此時數(shù)據(jù)包信任值的變化情況可以表示為式(9)的形式
(9)
式中,(ipt-ipj)代表兩者IP地址之間的差值。通過設(shè)定一個信任閾值T(ω),當數(shù)據(jù)包的信任值小于T(ω)時,則說明數(shù)據(jù)包遭到入侵,可以采用相關(guān)公式進行跟蹤,最終獲取攻擊目標的準確IP地址。
為了使后期的防御功能得到提升,需要對網(wǎng)絡(luò)客戶端病毒完成評估[13,14],危險等級越高,則說明受到攻擊的可能性就越大。危險等級劃分方式如式(10)所示
Li=F(ipj)·F(xi)·F(ωj)
(10)
式中,Li代表網(wǎng)絡(luò)客戶端病毒的危險等級;F(ipj)代表IP地址為ipj的危險度函數(shù);F(xi)代表特征xi的危險度熵函數(shù);F(ωj)代表數(shù)據(jù)包信任值對應(yīng)的危險度熵函數(shù),分別將其表示為以下的形式
(11)
假設(shè)為了防御含有病毒的數(shù)據(jù)[15]包,免疫系統(tǒng)會隨機形成對應(yīng)的特殊數(shù)據(jù)包yi,將其表示為式(12)的形式
yi=-xi·li·f(xi)·e-c
(12)
式中,li代表網(wǎng)絡(luò)客戶端中包含的二進制字符串;c代表任意常數(shù);f(xi)代表病毒對應(yīng)的特征函數(shù),具體的計算式如下:
(13)
上式中,α代表網(wǎng)絡(luò)客戶端病毒的危險系數(shù);T代表病毒的衍生速度。
根據(jù)形成含有抗體的特殊數(shù)據(jù),將含有病毒的數(shù)據(jù)包兩者進行有效融合,最終達到防御病毒的目的。為更好評估網(wǎng)絡(luò)客戶端病毒等級N(yi),采用式(14)進行計算:
(14)
式中,Li和LT分別代表系統(tǒng)默認的最低風險評估等級。
在上述分析的基礎(chǔ)上,根據(jù)網(wǎng)絡(luò)客戶端風險評估結(jié)果,進而對應(yīng)的網(wǎng)絡(luò)客戶端病毒防御方案。
為了驗證所提基于N-Gram模型的網(wǎng)絡(luò)客戶端病毒防御方法的有效性,仿真測試實驗。為了確保實驗結(jié)果不失去一般性,分別選取和復(fù)雜社會網(wǎng)絡(luò)最為接近的無標度網(wǎng)絡(luò)作為研究對象,共計包含1500個節(jié)點。
為了統(tǒng)計數(shù)據(jù)結(jié)果的準確性,進行200次計算,獲取計算結(jié)果的平均值,將其作為實驗依據(jù)。為了測試網(wǎng)絡(luò)結(jié)構(gòu)的控制能力和節(jié)點分布情況,利用圖2給出對應(yīng)的統(tǒng)計結(jié)果。
圖2 介數(shù)中心控制力以及接近中心控制力統(tǒng)計圖
分析圖2中的實驗數(shù)據(jù)可知,大部分節(jié)點的介數(shù)中心控制力均在50以下,只有小部分節(jié)點的介數(shù)控制中心在150到200之間,說明能夠?qū)φ麄€網(wǎng)絡(luò)起到比較核心的控制作用。
一般情況下,病毒攻擊和防御是從兩個角度出發(fā)的,以下實驗測試重點分析所提方法的網(wǎng)絡(luò)客戶端病毒防御性能,具體實驗結(jié)果如表1所示。
表1 所提方法的網(wǎng)絡(luò)客戶端病毒防御性能測試
分析表1中的實驗數(shù)據(jù)可知,所提方法可以有效控制病毒的傳播以及惡意程序的擴散,制定更加有效的防御策略。由于所提方法在進行病毒防御前,優(yōu)先檢測了網(wǎng)絡(luò)客戶端的病毒,這樣可以全面提升所提防御性能,更好抑制病毒的傳播。
針對傳統(tǒng)方法存在的應(yīng)用問題,設(shè)計并提出一種基于N-Gram模型的網(wǎng)絡(luò)客戶端病毒防御方法。經(jīng)實驗測試結(jié)果證明,所提方法能夠有效抑制病毒傳播,同時制定對應(yīng)的防御策略。
網(wǎng)絡(luò)客戶端病毒防御機理是現(xiàn)階段計算機領(lǐng)域研究的熱點話題,后續(xù)將全面引入計算機病毒理論以及安全操作系統(tǒng)等相關(guān)技術(shù),全面提升系統(tǒng)的防御性能。后續(xù)將重點針對以下兩方面的內(nèi)容進行研究:
1)引入計算機病毒程序,同時對其進行進一步完善。
2)全面考慮黑客以及木馬等攻擊,進一步加強防御性能。
3)引入病毒預(yù)警相關(guān)內(nèi)容,由于現(xiàn)階段已有的病毒預(yù)警系統(tǒng)處于研究初期,十分容易被黑客攻擊,后續(xù)將對其進行深入完善,使其能夠更好被應(yīng)用于病毒防御中。
4)針對所提方法存在的不足進一步進行完善,確保整個方法的綜合性能得到有效提升,可以以更快的速度完成網(wǎng)絡(luò)客戶端病毒防御。