,,
(火箭軍工程大學(xué) 信息工程系,西安 710025)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,網(wǎng)絡(luò)流量的規(guī)模越來越大,類型也越來越多,網(wǎng)絡(luò)安全問題日益突出。但不論何種網(wǎng)絡(luò)異常都會對網(wǎng)絡(luò)流量產(chǎn)生影響,因此,網(wǎng)絡(luò)流量異常檢測的研究越來越受到重視。網(wǎng)絡(luò)流量異常檢測是指通過對網(wǎng)絡(luò)流量歷史活動的觀測建立網(wǎng)絡(luò)流量的正常模式,和當(dāng)前網(wǎng)絡(luò)流量活動比較發(fā)現(xiàn)異常。其優(yōu)點是可以發(fā)現(xiàn)新的異常,但也存在不少問題。
當(dāng)前骨干網(wǎng)的網(wǎng)絡(luò)活動特點是流量大、流速快、數(shù)據(jù)維數(shù)高,要進(jìn)行數(shù)據(jù)檢測,數(shù)據(jù)的降維處理成為一個必要的過程。文獻(xiàn)[1]采用基于主成分分析(Principal Component Analysis,PCA)的子空間方法,利用PCA對數(shù)據(jù)降維的能力將流量矩陣分離為正常子空間和異常子空間,通過設(shè)置閾值,對大流量的異常取得較好的檢測效果。文獻(xiàn)[2]同時考慮流量的時間和空間相關(guān)性,綜合利用小波變換具有的多尺度建模能力和PCA具有的降維能力對正常流量進(jìn)行建模,實現(xiàn)異常檢測。但PCA方法仍存在較多問題:PCA追求的是全局最優(yōu)解,導(dǎo)致對局部特征提取不充分,影響檢測精度;系數(shù)向量中存在負(fù)值,但流量不可能為負(fù),可解釋性差;PCA方法的效果受主成分的選擇和閾值設(shè)定的影響很大。鑒于以上問題,文獻(xiàn)[3]將非負(fù)矩陣分解(Non-negative Matrix Factorization,NMF) 方法用于異常流量檢測。主要特點是采用非負(fù)子空間方法提取流量矩陣中的主要時變模式,構(gòu)成正常子空間,得到重構(gòu)矩陣和殘余矩陣,然后應(yīng)用Q圖進(jìn)行異常點檢測。該方法有更強(qiáng)的特征提取能力,由于其非負(fù)性,可解釋性也更強(qiáng),實驗表明比PCA方法在檢測精度方面有明顯提高。
傳統(tǒng)的基于統(tǒng)計的網(wǎng)絡(luò)流量異常檢測方法多是對流量特性進(jìn)行分析[4]。文獻(xiàn)[5]總結(jié)了基于熵的異常流量檢測的優(yōu)點:在數(shù)據(jù)流上有高效的熵值計算算法,且有足夠的精度保證;基于熵的檢測方法提供了一種更細(xì)粒度的信息,能夠檢測出更加隱蔽的異常類型;采樣對基于熵的檢測方法精度影響并不明顯;正常情況下熵值相對流量幅值更穩(wěn)定。
文獻(xiàn)[6]用增量投影非負(fù)矩陣分解對NMF方法進(jìn)行改進(jìn),提高了NMF的效率。文獻(xiàn)[7]雖利用了流量的熵值特征,但僅利用流量幅值的熵,流量數(shù)據(jù)利用不充分。為此,本文提出一種將特征熵和NMF相結(jié)合的方法對此類異常流量檢測方法進(jìn)行改進(jìn)。
信息熵是信息論中用于度量信息量的一個概念,信息熵標(biāo)志著所含信息量的多少,是對系統(tǒng)不確定性的描述。用信息熵來描述網(wǎng)絡(luò)流量的特征,對流量數(shù)據(jù)預(yù)處理,不僅增強(qiáng)了對網(wǎng)絡(luò)流量異常的檢測能力,而且方便了流量異常的分類。
基于熵的異常檢測系統(tǒng)的主要思想是:一旦有異常流量發(fā)生,總體流量的熵值應(yīng)該會隨之發(fā)生變化,通過熵值的變化能夠檢測出該異常。文獻(xiàn)[8]把流量聚集成網(wǎng)絡(luò)流,針對每個流在源/目IP,源/目端口維度上分別計算熵值,然后采用PCA方法進(jìn)行異常檢測;文獻(xiàn)[9]提出在高速IP網(wǎng)絡(luò)上利用熵值來檢測蠕蟲爆發(fā)和流量異常,均取得較好的效果。文獻(xiàn)[10]基于最大熵原理,通過比較當(dāng)前分布和基準(zhǔn)分布的差異來進(jìn)行異常檢測。文獻(xiàn)[11]在多個不同維度上采用熵度量流量數(shù)據(jù)的分布特征,在每個時間窗口上把不同維度熵值序列排列成檢測向量,提出多窗口關(guān)聯(lián)檢測算法,既降低了計算復(fù)雜度,也提高了檢測效率。以上方法從不同層面都驗證了熵特征在異常流量檢測方面的良好性能。
把采集到的Netflow流量數(shù)據(jù)當(dāng)作離散信息源,把數(shù)據(jù)中的各個屬性看作是一組隨機(jī)事件,就可以對它的信息熵進(jìn)行分析。假設(shè)某一時段內(nèi)目的IP的集合用X表示,i表示有i個不同的目的IP,ni表示第i個目的IP出現(xiàn)的次數(shù):X={ni,i=1,2,…,N}。那么該時段內(nèi)目的IP(X)的信息熵定義如式(1)所示,本文使用信息熵的指標(biāo)有源/目的IP、源/目的端口,如下:
(1)
不同指標(biāo)熵的計算方法可參考式(1)。表1反映的是不同異常對流量各屬性熵值的影響。
為充分利用流量的時間和空間相關(guān)性,在多維特征熵的基礎(chǔ)上構(gòu)建多維熵矩陣。傳統(tǒng)流量矩陣描述一個網(wǎng)絡(luò)中所有源節(jié)點和目的節(jié)點(Origin-Destination, OD)對之間的流量情況,主要反映了目標(biāo)網(wǎng)絡(luò)各OD對之間流量分布情況。主要包括鏈路級、路由級和PoP(Point of Presence)級流量矩陣。單一時刻的流量矩陣表示為一個m行的列向量:(x1,x2,…,xn)T,其中。m表示OD對的數(shù)量。不同的列代表不同時刻。則在有m個OD對的網(wǎng)絡(luò)中所有n個時刻的流量矩陣如式(2)所示,矩陣Xmn表示第m個OD對在n時刻的流量情況,多維熵矩陣就是將流量指標(biāo)修改為源/目的IP熵,源/目的端口熵等指標(biāo)得到四維熵矩陣。
(2)
NMF[12]起源于主成分分析,1999年Lee和Seung在Nature上發(fā)表了NMF算法,該算法是在矩陣中所有元素均為非負(fù)的條件下對其實現(xiàn)非負(fù)分解.具有可解釋性、占用存儲空間少等優(yōu)點。NMF可以定義為給定一個n×m階非負(fù)矩陣Vg和一個正整數(shù)r,將矩陣Vg分解為n×r階的矩陣Wg和r×m階的矩陣Hg的乘積,如式(3)所示為得到近似的分解結(jié)果,需要定義一個目標(biāo)函數(shù):
Vm×n≈Wm×r×Hr×n
(3)
(4)
來量化矩陣Vg與矩陣Wg×Hg的逼近程度,如式(4)所示。式(4)需滿足矩陣Wia≥0,Hbj≥0,?i,a,b,j,是一個帶約束的非線性規(guī)劃問題。利用迭代的方法求解矩陣Wg和Hg。文獻(xiàn)[3]給出了帶約束條件下用拉格朗日算子解得的矩陣Wg和Hg的更新方程,如下:
(5)
NMF算法可描述如下:
1)初始化矩陣Wia≥0,Hbj≥0,?i,a,b,j。
2)設(shè)置基矩陣維數(shù)r和最大迭代次數(shù)k,更新矩陣Wg和Hg,更新規(guī)則為式(5)。
3)循環(huán)執(zhí)行式(5),至算法收斂。
但NMF算法復(fù)雜度高,不利于異常流量檢測對實時性的要求,因此,采用投影梯度(Projected Gradient, PG)優(yōu)化方法降低NMF迭代的復(fù)雜度。PGNMF方法具物理意義明確、稀疏性好、以及耗時少等特點,但梯度投影法使用另外的迭代規(guī)則。文獻(xiàn)[9]提出的一種梯度投影法,使迭代的復(fù)雜度大為降低且更新得到的解收斂。算法基本思想如下:
將式(4)改寫為如下形式:
(6)
(7)
(8)
1)初始化矩陣Wia≥0,Hbj≥0,?i,a,b,j。
2)設(shè)置基矩陣維數(shù)r和最大迭代次數(shù)k,通過迭代條件式(8),利用梯度投影方法求解式(6)、式(7),得到矩陣Wg和Hg的更新關(guān)系。
3)重復(fù)步驟(2),至算法收斂,得到矩陣Wg和Hg。
基于ME-PGNMF的異常流量檢測方法主要分為構(gòu)建多維熵矩陣、獲取殘差矩陣、異常點檢測。如圖1所示為異常流量檢測的基本流程。
圖1 異常流量檢測基本流程
若矩陣Xm×n表示待檢測的目標(biāo)網(wǎng)絡(luò)流量矩陣,則m表示目標(biāo)網(wǎng)絡(luò)的OD對的數(shù)量,n表示檢測時間段內(nèi)的采樣周期數(shù)。根據(jù)信息熵定義,求出網(wǎng)絡(luò)流量在n個周期內(nèi)源/目的IP、源/目的端口4個屬性的熵值序列,并標(biāo)準(zhǔn)化處理,得到4個大小為m×n的標(biāo)準(zhǔn)化熵矩陣。將4個維度矩陣依次按行相接得到一個4m×n的多維熵矩陣,用矩陣V4m×n表示。矩陣V4m×n的列向量表示某一檢測周期內(nèi)不同OD對4種屬性熵值的變化,行向量表示某一OD對不同周期某一屬性熵值變化。
若將多維熵矩陣中第i個位置的向量看做是d維空間的點,每一個點的狀態(tài)特征用多維熵特征表示。多維熵矩陣可以用r維的子空間表示,滿足條件的r維子空間為多維熵矩陣的特征子空間,而r維子空間可以通過PGNMF算法進(jìn)行構(gòu)建。選取子空間維數(shù)r和迭代次數(shù)k,通過構(gòu)建r維特征子空間,得到殘差距陣。殘差矩陣的獲取分2個步驟:提取正常成分和獲取殘余成分。
首先提取正常成分,對多維熵矩陣V進(jìn)行PGNMF算法分解之后可以獲得矩陣W和矩陣H,其中基矩陣Wg=(w1,w2,…,wr)的每一列代表的是r維子空間的基向量,系數(shù)矩陣Hg=(h1,h2,…,hn)中的每一列表示的是r維子空間的系數(shù)向量,而每一個基向量捕獲的是目標(biāo)網(wǎng)絡(luò)各OD對的一種狀態(tài)模式。矩陣Vg≈Wg×Hg代表的是目標(biāo)網(wǎng)絡(luò)的正常狀態(tài)成分。
得到殘差矩陣后,如果某周期內(nèi)發(fā)生了異常,其對應(yīng)的殘差向量也會發(fā)生明顯變化。本文引入Q統(tǒng)計量來監(jiān)測殘差向量的變化,Q統(tǒng)計量的時序圖亦稱平方預(yù)測誤差(Squared Prediction Error,SPE)圖[14],是多元統(tǒng)計過程控制圖的一種,主要監(jiān)測輸入多變量的數(shù)據(jù)結(jié)構(gòu)是否變化,殘差向量中包含源/目的IP、源/目的端口熵4個變量,每個殘差向量代表一個采樣點。
Q統(tǒng)計量在i時刻的值Qi是個標(biāo)量,用殘余向量中所有元素的平方和(SSE)來衡量,當(dāng)檢驗水平為α?xí)r,控制限Qα可按式(9)計算:
(9)
其中,λj為多維熵矩陣V第j個特征值,cα是正態(tài)分布中1-α分位數(shù),α通常取0.001。若Qi 分析以上3個步驟可以發(fā)現(xiàn)基于ME-PGNMF的異常流量檢測方法有以下3個關(guān)鍵問題:1)PGNMF算法的效果受初始參數(shù)r和k影響較大,如何選取合理的參數(shù)保證檢測效果。2)r維特征子空間是否能還原出流量的正常狀態(tài)模式,從而保證得到的殘余矩陣包含了異常狀態(tài)模式。3)用Q統(tǒng)計量對殘余向量進(jìn)行多元統(tǒng)計過程控制是否能檢測出異常。對于問題1)可通過矩陣還原性來選取參數(shù),問題2)一方面取決于矩陣還原性,同時取決于檢測效果,而問題3主要取決于檢測效果。綜上,在進(jìn)行實驗設(shè)計和分析時要從以上3個問題進(jìn)行綜合考慮,不僅要分析最終的檢測效果,還要關(guān)注過程中的矩陣還原性指標(biāo)。 為了驗證分析ME-PGNMF算法在異常流量檢測方面的有效性,實驗實測數(shù)據(jù)來自Abilene骨干網(wǎng)在2009年3月1日—2009年3月7日一周所采集的流量矩陣數(shù)據(jù)。該網(wǎng)絡(luò)是美國的IP骨干網(wǎng)絡(luò),每個節(jié)點對應(yīng)一個城市,由12個節(jié)點組成,共有12×12=144條OD流,所有節(jié)點通過配置NetFlow來收集真實OD流。其中,采集間隔為5 min,這樣一周所采集的次數(shù)為7×24×60/5=2 016,而OD流的數(shù)目為144個,因此,該OD流矩陣為一個144×2016的矩陣。在OD流矩陣的基礎(chǔ)上,計算源/目的IP、源/目的端口4個同樣大小的熵矩陣,標(biāo)準(zhǔn)化處理后,按行相接得到576×2 016的多維熵矩陣。表2所示為本文實驗的具體數(shù)據(jù)集形式。 但Abilene數(shù)據(jù)集中并無明顯異常,因此采用人為注入異常流量的方法進(jìn)行實驗。為方便和PCA、NMF等方法對比,采用和文獻(xiàn)[3]相似的異常注入方式。在實驗中,采樣點之間間隔為5 min,異常注入過程如下:從第300個采樣點到第800個采樣點期間,每隔50個采樣點輪流依次注入一次低速DDOS攻擊和一次DDOS攻擊,并且2種攻擊都持續(xù)30 min(持續(xù)6個采樣點);從第1 000個~第1 500個采樣點里,每隔50個采樣點注入一次端口掃描,攻擊持續(xù)時間為30 min(持續(xù)6個采樣點);從第1 700個~第1 900個采樣點期間,持續(xù)注入蠕蟲攻擊,包括個感染到爆發(fā)的完整過程(持續(xù)200個采樣點)。 非負(fù)矩陣分解算法的一個非常重要的參數(shù)是基矩陣維數(shù)r的選擇,參數(shù)r主要影響分解后的矩陣對原矩陣的還原性,是影響最終檢測結(jié)果的重要因素。且參數(shù)r的選擇受數(shù)據(jù)集特性影響較大。迭代次數(shù)k雖然在足夠大的情況下能確保算法收斂,但k值過大會使算法的復(fù)雜性增大。鑒于以上情況以及數(shù)據(jù)集的相似性,對基于流量矩陣的NMF方法,參數(shù)選擇參考文獻(xiàn)[3],對基于流量熵矩陣的PGNMF方法,參數(shù)選擇參考文獻(xiàn)[15],本文重點分析基于多維熵矩陣的PGNMF方法的參數(shù)選擇。 矩陣的還原性通常用式(10)來衡量: (10) 為確定基矩陣維數(shù)r和合理的迭代次數(shù)k,為確保d收斂,首先設(shè)置最大的迭代次數(shù)k為500,r從2遞增至20,尋求最優(yōu)矩陣還原性的r。。實驗對象為標(biāo)準(zhǔn)化后的576×2 016的多維熵矩陣,實驗結(jié)果如圖2所示。 圖2 矩陣還原性d與維數(shù)r的關(guān)系 從圖2和圖3可以看出,基矩陣維數(shù)r設(shè)為12時,矩陣還原性d已基本穩(wěn)定即d收斂,且此時收斂所需時間t還沒有明顯增加。結(jié)合圖4,d收斂時所需的迭代次數(shù)k均未超過200,因此,最大迭代次數(shù)500未對實驗造成影響。綜合以上結(jié)果選取參數(shù)r為12,k為200。 圖3 d收斂時,收斂時間t與維數(shù)r的關(guān)系 圖4 d收斂時,不同維數(shù)r與迭代次數(shù)k的關(guān)系 對基于NMF的檢測算法選擇合適的基矩陣維數(shù)r和迭代次數(shù)k后,按表2算法與實驗數(shù)據(jù)形式得到圖3和表3、表4的實驗結(jié)果。圖3中直線代表控制限Qα,α取0.001,圓圈代表殘余向量的Qi。表3檢測率指標(biāo)參考文獻(xiàn)[16],為檢測到的異常點與注入異常點的比,表4中誤報率為注入異常時段內(nèi)正常采樣點報為異常的次數(shù)與正常采樣點的比。 表3 不同方法對注入異常的檢測率 % 表4 不同方法對注入異常的誤報率 % 通過分析表3和圖5~圖8可以發(fā)現(xiàn)對于低速DDOS攻擊,PCA方法檢測效果最差,檢測率接近于0,NMF和PGNMF方法檢測效果也不明顯檢測率不足20%,分析原因主要是此類攻擊并未明顯引起流量變化,而這3種方法都是以流量為基礎(chǔ)。對于端口掃描和普通DDOS攻擊,幾種方法都能不同程度的檢測出來,其中,以ME-PGNMF方法效果最好,原因是該方法既有NMF方法局部特征提取能力強(qiáng)的優(yōu)勢,又以多維熵為基礎(chǔ),對異常流量的分辨能力有很大提高。最后,比較對蠕蟲攻擊的檢測可以發(fā)現(xiàn),PCA方法對攻擊最不敏感,在第1 700個采樣點攻擊已出現(xiàn),圖5直到第1 780個采樣點左右才有檢測到的跡象,圖6和圖7中雖然在第1 700采樣點已能檢測到異常但并不穩(wěn)定,依然有很多漏報點發(fā)生,直至第1 750采樣點才穩(wěn)定報出異常,只有ME-PGNMF方法最快對蠕蟲攻擊做出反應(yīng),且漏報點很少,分析原因,與蠕蟲攻擊在起始階段對流量變化影響不大有關(guān)。 圖5 PCA方法異常流量檢測效果 圖6 NMF方法異常流量檢測效果 圖7 PGNMF方法異常流量檢測效果 圖8 ME-PGNMF方法異常流量檢測效果 為準(zhǔn)確評價幾種方法對注入異常的檢測效果,分析表4的誤報率可以看出,基于流量的方法對低速DDOS攻擊不敏感,檢測率和誤報率都很低,對其他攻擊流量,ME-PGNMF方法檢測率有明顯提高,誤報率也沒有明顯上升。綜合考慮3種攻擊,ME-PGMF方法檢測率有明顯提高,同時誤報率并無明顯提升。對于蠕蟲攻擊,由于每一個采樣點都注入異常,因此不存在把正常采樣點報為異常點,即誤報問題。 在3.2節(jié)中分析了ME-PGNMF方法中參數(shù)選擇對算法的影響,為直觀體現(xiàn)參數(shù)r和k對實驗結(jié)果的影響,通過設(shè)計不同的參數(shù)得到圖9~圖10所示的實驗結(jié)果??梢钥闯?實驗結(jié)果與參數(shù)分析基本一致。r為12,k為120(小于實驗預(yù)設(shè)值200)都達(dá)到了實驗的最佳效果,如果參數(shù)變大雖能達(dá)到檢測效果,但運算的時間復(fù)雜度就會增加。 圖9 k為200時,r與檢測率的關(guān)系 圖10 r為12時,k與檢測率的關(guān)系 利用熵特征對異常流量的敏感性和PGNMF算法局部特征提取能力強(qiáng)、收斂速度快的特性,本文提出基于多維熵和PGNMF的網(wǎng)絡(luò)異常流量檢測方法。實驗結(jié)果表明,與基于流量的檢測方法相比,該方法對低流量異常更敏感,有利于發(fā)現(xiàn)隱蔽的流低速攻擊,可以在蠕蟲爆發(fā)的早期階段及時發(fā)現(xiàn),提高了檢測率。下一步將改進(jìn)數(shù)據(jù)輸入形式,通過增量或其他方法,達(dá)到在線檢測的目的。 [1] LAKHINA A,CROVELLA M,DIOT C.Mining Anomalies Using Traffic Feature Distributions[J].Conference on Applications,2005,35(4):217-228. [2] 錢葉魁,陳 鳴,葉立新,等.基于多尺度主成份的全網(wǎng)絡(luò)異常檢測方法[J].軟件學(xué)報,2012,23(2):361-377. [3] 魏祥麟,陳 鳴,張國敏.NMF-NAD:基于NMF的全網(wǎng)絡(luò)流量異常檢測方法[J].通信學(xué)報,2012,33(4):54-61. [4] 王 浩.針對TCP的低速DDoS解析及防御策略[J].計算機(jī)工程,2009,35(13):122-124. [5] 鄭黎明.大規(guī)模通信網(wǎng)絡(luò)流量異常檢測與優(yōu)化[D].長沙:國防科學(xué)技術(shù)大學(xué),2012. [6] 柏 駿,夏靖波,吳吉祥,等.ODA-IPNMF:一種在線全網(wǎng)絡(luò)流量異常檢測方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2015,47(5):104-109. [7] 王曉鴿.基于PGM-NMF的網(wǎng)絡(luò)流量異常檢測研究[J].電子科技,2014,27(5):175-178. [8] ANUKOOLL,MARK C,CHRISTOPHE D.Mining Anomalies Using Traffic Feature Distributions[C]//Proceedings of ACM SIUCOMM’05.New York,USA:ACM Press,2005:217-228. [9] WAGNER A,PLANNER B.Entropy Based Worm and Anomaly Detection in Fast IP Networks[C]//Proceedings of the 14th IEEE International Workshops on Enabling Technologies:Infrastructure for Collaborative Enterprise.Washington D.C.,USA:IEEE Press,2005:172-177. [10] YU Gu,ANDREW M,DON T.Detecting Anomalies in Network Traffic Using Maximum Entropy Estimation[C]//Proceedings of the 5th ACM SIUCOMM Conference on Internet Measurement.New York,USA:ACM Press,2005:345-350. [11] 鄭黎明,鄒 鵬,韓偉紅,等.基于多維嫡值分類的骨干網(wǎng)流量異常檢測研究[J].計算機(jī)研究與發(fā)展,2012,49(9):1972-1981. [12] LEE D,SEUNG H S.Learning the Parts of Objects by Non-negative Matrix Factorization[J].Nature,1999,401(6755):788-791. [13] LINC J.Projected Gradient Methods for Non-negative Matrix Factorization[J].Neural Computation,2007,19(10):2756-2779. [14] 王兆軍,鄒長亮,李忠華,等.統(tǒng)計質(zhì)量控制圖理論與方法[M].北京:科學(xué)出版社,2013. [15] 王曉鴿.基于流量矩陣的網(wǎng)絡(luò)入侵檢測研究[D].蘭州:蘭州交通大學(xué),2014. [16] 許 倩,程東年.基于層次聚類的網(wǎng)絡(luò)流量異常分類算法[J].計算機(jī)工程,2012,38(23):131-136.3 實測數(shù)據(jù)實驗及結(jié)果分析
3.1 實驗數(shù)據(jù)與方法
3.2 參數(shù)分析與選擇
3.3 實驗結(jié)果及分析
3.4 參數(shù)選擇對實驗結(jié)果的影響
4 結(jié)束語