陳波紅,祝金明
(1. 廣西民族大學(xué)相思湖學(xué)院,廣西 南寧 530225;2. 廣西民族大學(xué)材料與環(huán)境學(xué)院,廣西 南寧 530006)
網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,使得互聯(lián)網(wǎng)滲透到民生、經(jīng)濟(jì)等諸多層面[1],成為推進(jìn)國家發(fā)展的源動力[2]。此外,人工智能、物聯(lián)網(wǎng)技術(shù)的深入研究,也助力了網(wǎng)絡(luò)服務(wù)模式與體驗(yàn)的革新,呈現(xiàn)流量大、多元化的發(fā)展趨勢,但是與此同時(shí)網(wǎng)絡(luò)環(huán)境愈發(fā)復(fù)雜[3,4]。為保障網(wǎng)絡(luò)空間安全,準(zhǔn)確鑒別網(wǎng)絡(luò)流量異常行為是一項(xiàng)亟待處理的重要問題。
針對流量異常檢測問題,文獻(xiàn)[5]從若干層面獲取網(wǎng)絡(luò)流量特征屬性,創(chuàng)建特征屬性矩陣,利用數(shù)據(jù)流之間的相關(guān)性組建鄰接矩陣,殘差計(jì)算屬性矩陣,依照數(shù)據(jù)流殘差與預(yù)設(shè)臨界值完成流量異常評估。該方法計(jì)算量過多,檢測耗時(shí)較長,實(shí)時(shí)性不強(qiáng)。除此之外,還有學(xué)者提出了基于集成特征選擇的網(wǎng)絡(luò)異常流量檢測方法,利用投票機(jī)制挑選流量特征子集,采用樸素貝葉斯、決策樹、XGBoost三種機(jī)器學(xué)習(xí)算法進(jìn)行特征選擇擇優(yōu),輸出最佳檢測模式完成網(wǎng)絡(luò)異常流量檢測。該方法對應(yīng)用環(huán)境的局限性較高,無法廣泛應(yīng)用在實(shí)際場景中。
由此,本文提出一種基于統(tǒng)計(jì)向量的大規(guī)模網(wǎng)絡(luò)流量異常檢測算法。運(yùn)用廣義回歸神經(jīng)網(wǎng)絡(luò)得到固定時(shí)段的網(wǎng)絡(luò)流量總值,利用t-分布式隨機(jī)鄰居嵌入方法把高維流量數(shù)據(jù)變換成低維數(shù)據(jù),通過支持向量機(jī)統(tǒng)計(jì)流量向量特征,代入比特壓縮技術(shù)實(shí)現(xiàn)高精度網(wǎng)絡(luò)流量異常劃分。實(shí)驗(yàn)部分從不同角度分析了該方法的可行性,驗(yàn)證了該方法為提升網(wǎng)絡(luò)安全指數(shù)提供了較大幫助。
為準(zhǔn)確獲取某個(gè)時(shí)間段的網(wǎng)絡(luò)流量總值,展現(xiàn)當(dāng)前網(wǎng)絡(luò)狀態(tài)全局信息,使用廣義回歸神經(jīng)網(wǎng)絡(luò)統(tǒng)計(jì)大規(guī)模網(wǎng)絡(luò)流量。流量矩陣代表網(wǎng)絡(luò)內(nèi)全部節(jié)點(diǎn)之間的流量,鏈路負(fù)載為流量矩陣按照路由矩陣在鏈路上匯合而成[6,7]。設(shè)定大規(guī)模網(wǎng)絡(luò)包含a個(gè)節(jié)點(diǎn),c條鏈路,那么網(wǎng)絡(luò)中含有a2條數(shù)據(jù)流。則將負(fù)載和流量的線性約束條件表示成
b(t)=De(t)
(1)
D=(De)a×c
(2)
式中,D代表路由矩陣,b(t)為鏈路負(fù)載,e(t)是節(jié)點(diǎn)流量,De表示第e個(gè)路由矩陣包含的數(shù)據(jù)集。
測量簡單網(wǎng)絡(luò)管理協(xié)議中的網(wǎng)絡(luò)節(jié)點(diǎn)就能直接得到鏈路負(fù)載,通過網(wǎng)絡(luò)狀態(tài)與配置信息獲得路由矩陣,只有在確定上述兩個(gè)值的情況下,才能統(tǒng)計(jì)固定時(shí)段流量值。大規(guī)模網(wǎng)絡(luò)環(huán)境中,鏈路個(gè)數(shù)遠(yuǎn)低于數(shù)據(jù)流個(gè)數(shù),式(1)為一個(gè)線性逆向問題,涵蓋多個(gè)解,挑選最優(yōu)解的難度較高。本文利用廣義回歸神經(jīng)網(wǎng)絡(luò)良好的非線性特征訓(xùn)練流量統(tǒng)計(jì)數(shù)據(jù),輸出正確率高的流量統(tǒng)計(jì)值,給流量異常檢測提供完整的數(shù)據(jù)支持。
廣義回歸神經(jīng)網(wǎng)絡(luò)整體架構(gòu)包含四個(gè)層次:輸入層、模式層、聚合層與輸出層。把廣義回歸網(wǎng)絡(luò)中的輸入-輸出關(guān)系記作
(3)
流量矩陣e(t)與鏈路負(fù)載b(t)無法直接應(yīng)用于網(wǎng)絡(luò)架構(gòu)訓(xùn)練中,要對其采取數(shù)據(jù)轉(zhuǎn)換處理,得到滿足廣義回歸神經(jīng)網(wǎng)絡(luò)的輸入/輸出要求的數(shù)據(jù),否則訓(xùn)練輸出值就不能精準(zhǔn)展現(xiàn)流量運(yùn)行特征[8]。數(shù)據(jù)轉(zhuǎn)換處理過程如下
(4)
式中,h、g分別為輸入層與輸出層的訓(xùn)練迭代次數(shù)。
將式(4)引入至式(1),將其變換為:
e(t)=H(b(t))
(5)
式中,H被定義成從b(t)至e(t)的映射關(guān)聯(lián)。把式(3)與式(5)擬作訓(xùn)練數(shù)據(jù)集,通過廣義回歸神經(jīng)網(wǎng)絡(luò)即可得到網(wǎng)絡(luò)流量統(tǒng)計(jì)值。
數(shù)據(jù)預(yù)處理是增強(qiáng)流量異常檢測正確率的前提,數(shù)據(jù)預(yù)處理得到的網(wǎng)絡(luò)流量數(shù)據(jù)特征,決定了檢測結(jié)果的可靠性[9]。當(dāng)前網(wǎng)絡(luò)流量數(shù)據(jù)特征均是高維的,因此,本文設(shè)計(jì)一種基于t-分布式隨機(jī)鄰居嵌入(t-distributed stochastic neighbor embedding,t-SNE)的數(shù)據(jù)降維方法,把高維數(shù)據(jù)流信息轉(zhuǎn)換成低維數(shù)據(jù),有效劃分出異常點(diǎn)分布的大致區(qū)域,了解網(wǎng)絡(luò)流量出現(xiàn)異常的時(shí)間范圍。下面是具體的運(yùn)算過程:
使用SplitCap文件分割器把網(wǎng)絡(luò)流量內(nèi)一組源IP和目標(biāo)IP交互劃分至相同流量包內(nèi),再格式化流量包獲取流量特點(diǎn)[10]。網(wǎng)絡(luò)流量包格式化流程為:將流量包內(nèi)的各字節(jié)映射成相同特征,截?cái)喔髁髁堪卣?只保存流量包的前n個(gè)字節(jié)。
t-SNE算法屬于非線性降維,可以把數(shù)據(jù)從高維空間映射至低維空間。假設(shè)一個(gè)涵蓋N個(gè)網(wǎng)絡(luò)流量包的集合是X={x1,x2,…,xN},使用t-SNE算法計(jì)算隨機(jī)2個(gè)流量包xi、xj,把流量包之間的高維歐幾里得距離變換成網(wǎng)絡(luò)流量包之間相似性的條件概率qj|i,記作
(6)
式中,γ代表以兩個(gè)網(wǎng)絡(luò)流量包xi、xj為基礎(chǔ)的高斯分布標(biāo)準(zhǔn)差。
為避免不對稱代價(jià)函數(shù)引發(fā)降維偏差大的問題[11],利用式(7)推算網(wǎng)絡(luò)流量包xi、xj之間的歐氏距離
(7)
如果降維后的網(wǎng)絡(luò)流量包集合是R={r1,r2,…,rN},則此集合為高維空間X至低維空間R的映射,即高維空間內(nèi)的網(wǎng)絡(luò)流量包xi、xj在低維空間內(nèi)依次對應(yīng)ri與rj。在低維空間內(nèi)使用t-SNE算法推算ri、rj之間的歐氏距離,得到
(8)
式中,l表示空間映射次數(shù)。
流量數(shù)據(jù)降維的根本目標(biāo)是相對熵,相對熵計(jì)算過程如式(9)所示,通過式(9)即可得到對應(yīng)的網(wǎng)絡(luò)流量數(shù)據(jù)降維輸出
(9)
統(tǒng)計(jì)向量立足于觀測樣本,在樣本中找出某些無法使用原理分析得到的隱含規(guī)律,利用此類規(guī)律研究客觀目標(biāo),精準(zhǔn)分析流量數(shù)據(jù)[12]。以統(tǒng)計(jì)向量思想為核心,使用統(tǒng)計(jì)學(xué)習(xí)理論中的支持向量機(jī)算法完成大規(guī)模網(wǎng)絡(luò)流量異常檢測。支持向量機(jī)是以二元分類問題為中心,探尋最優(yōu)分類超平面決策邊界[13],快速準(zhǔn)確劃分訓(xùn)練樣本中不同屬性的數(shù)據(jù)。
假設(shè)訓(xùn)練樣本是di,相對的預(yù)期輸出是oi,則在一般線性不可分狀態(tài)下代入松弛變量ξ,將支持向量機(jī)算法擬作處理具備約束條件的二次優(yōu)化問題,記作
(10)
式中,F是誤差權(quán)重,通常為一個(gè)固定常數(shù),具備懲罰作用,w′是法向矢量,b′是超平面偏移量,U是樣本數(shù)量。
在式(10)內(nèi)代入拉格朗日乘子,獲得對偶優(yōu)化解析式
(11)
式中,β為非負(fù)拉格朗日乘子,oj表示輸出值。
支持向量機(jī)方法適用于訓(xùn)練高精度分類器,但在大規(guī)模網(wǎng)絡(luò)流量環(huán)境下,具備檢測效率低的不足。因此,引入比特壓縮策略,彌補(bǔ)該方法的缺陷,實(shí)現(xiàn)期望流量異常檢測目標(biāo)。比特壓縮技術(shù)一般用來減少數(shù)據(jù)分辨率,涵蓋標(biāo)準(zhǔn)化、比特壓縮與融合三個(gè)操作步驟。
標(biāo)準(zhǔn)化處理可以使樣本特征擁有相同分辨率[14],處理后的特征值要落在[0,1]區(qū)間。為了不丟失重要信息,利用一個(gè)整數(shù)描述標(biāo)準(zhǔn)化后的特征值,運(yùn)算過程為
J(v)=int(Y×v)
(12)
式中,Y代表標(biāo)準(zhǔn)化后的特征值比率,nt(Y×v)代表某個(gè)返回?cái)?shù)據(jù)的整數(shù)部分。
比特壓縮時(shí),如果m是待壓縮的比特值,那么壓縮過程是
J(v)′←J(v)?m
(13)
式中,“?”符號表示把整數(shù)向右移動m個(gè)位置。
(14)
(15)
(16)
由此看出,僅需更改非負(fù)拉格朗日乘子的限定條件即可完成算法優(yōu)化,在真實(shí)應(yīng)用中提升算法的可靠性。最終,將支持向量機(jī)算法下網(wǎng)絡(luò)流量異常檢測函數(shù)表示成
(17)
式中,K(·)表示核函數(shù)。
為檢驗(yàn)所提方法在網(wǎng)絡(luò)流量異常檢測中應(yīng)用性能的優(yōu)越性,進(jìn)行實(shí)驗(yàn)研究。
利用MATLAB 7.0與C++平臺進(jìn)行聯(lián)合仿真。設(shè)定網(wǎng)絡(luò)流量采樣節(jié)點(diǎn)數(shù)量為300,骨干節(jié)點(diǎn)數(shù)量是35,匯聚節(jié)點(diǎn)數(shù)量為15,異常流量輸入模式為分布式拒絕服務(wù)攻擊,攻擊時(shí)間為35min,在223s、442s和511s三處實(shí)施網(wǎng)絡(luò)攻擊,隨機(jī)若干采樣點(diǎn)實(shí)施流量異常檢測,得到如圖1的網(wǎng)絡(luò)流量采集結(jié)果。
圖1 網(wǎng)絡(luò)流量采集結(jié)果
將圖1作為檢測樣本,采用所提方法進(jìn)行異常檢測,結(jié)果如圖2所示。
圖2 網(wǎng)絡(luò)異常流量檢測結(jié)果
從圖2看出,本文方法可精準(zhǔn)鎖定異常流量分布頻域位置,在223s、442s和511s三處均檢測出流量異常,經(jīng)對比與真實(shí)流量異常情況相符,證明本文方法具備較高的異常檢測精度。
為進(jìn)一步證明所提方法的有效性,將殘差分析法與集成特征選擇法作為對比方法,對三種方法進(jìn)行對比分析。通過敏感度描述異常數(shù)據(jù)被正確評估的概率,計(jì)算公式為
(18)
式中,TN表示正確檢測值,FP為錯誤檢測值。
假設(shè)共進(jìn)行8次流量異常檢測實(shí)驗(yàn),三種方法檢測效果對比結(jié)果如圖3所示。
分析圖3可知,本文方法敏感度較高,檢測準(zhǔn)確率一直維持在96%以上,兩個(gè)文獻(xiàn)方法的敏感度值起伏較大,且均小于本文方法,計(jì)算穩(wěn)定性較差。出現(xiàn)此種現(xiàn)象的原因?yàn)?本文方法采用t-分布式隨機(jī)鄰居嵌入方法,將網(wǎng)絡(luò)流量數(shù)據(jù)從高維空間變換至低維空間,確定出現(xiàn)異常的時(shí)間范圍,檢測輸出值更具針對性,流量異常檢測精度隨之提升。
假設(shè)網(wǎng)絡(luò)流量異常檢測成功率是95%,對三種方法進(jìn)行抗干擾能力實(shí)驗(yàn),將噪聲信號擬作干擾強(qiáng)度,明確三種方法抗干擾性能優(yōu)劣,獲得流量異常檢測所能承受的干擾強(qiáng)度,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 三種方法流量異常檢測抗干擾性對比
從圖4看出,檢測成功率為95%的狀態(tài)下,本文方法抗干擾強(qiáng)度最高值為33.2dB,殘差分析法和集成特征選擇法的抗干擾強(qiáng)度最高值依次是23.9dB與20.8dB,遠(yuǎn)低于本文方法,這表明了本文方法具備極強(qiáng)的抗干擾性,在形式各異的惡意攻擊環(huán)境中具備更好的檢測能力。
在網(wǎng)絡(luò)受到分布式拒絕服務(wù)攻擊情況下,三種方法流量異常檢測所耗時(shí)長的對比如圖5所示。
圖5 三種方法流量異常檢測時(shí)間對比
由圖5可以看出,本文方法檢測時(shí)間要低于兩個(gè)文獻(xiàn)方法,整體效率得到顯著改善。這是因?yàn)楸疚耐ㄟ^統(tǒng)計(jì)向量策略了解數(shù)據(jù)流特征,使用支持向量機(jī)方法搜尋最優(yōu)分類超平面決策,大幅縮減了檢測時(shí)長。
為完成精準(zhǔn)的網(wǎng)絡(luò)流量異常檢測,增強(qiáng)網(wǎng)絡(luò)服務(wù)安全,提出一種基于統(tǒng)計(jì)向量的大規(guī)模網(wǎng)絡(luò)流量異常檢測算法。通過流量估計(jì)、數(shù)據(jù)降維兩個(gè)步驟得到完整流量數(shù)據(jù)集,使用支持向量機(jī)方法統(tǒng)計(jì)特征向量,完成高效準(zhǔn)確的流量異常檢測目標(biāo),并在仿真中表明了自身性能的優(yōu)越性。所提方法復(fù)雜度低,適用于多種復(fù)雜環(huán)境下網(wǎng)絡(luò)流量異常檢測,實(shí)用性強(qiáng)。