杜軍龍,周劍濤,王 磊
(江西省信息中心,江西 南昌 330036)
互聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用普及給社會生活的各個領(lǐng)域帶來了很大的便利。但由于互聯(lián)網(wǎng)自組織網(wǎng)絡(luò)各節(jié)點的運行是開放及可以隨時進出通信網(wǎng)絡(luò),導致網(wǎng)線的拓撲結(jié)構(gòu)會出現(xiàn)較大的時變,同時開放的通信網(wǎng)絡(luò)中還需要傳輸與保存各種數(shù)據(jù),因此數(shù)據(jù)安全問題就變得越來越重要,可及時發(fā)現(xiàn)隱藏的異常狀態(tài),輔助相關(guān)人員快速了解網(wǎng)絡(luò)當前異常,做出正確的判斷,解決網(wǎng)絡(luò)中出現(xiàn)的異常問題[1-2]。網(wǎng)絡(luò)異常節(jié)點及其行為是監(jiān)測網(wǎng)絡(luò)數(shù)據(jù)是否安全的必要條件。異常行為的出現(xiàn)通伴有區(qū)別于正常通信信息的敏感信息,通過對這些波動進行異常檢測,可以有效的發(fā)現(xiàn)異常情況并定位異常節(jié)點,在無線傳感器網(wǎng)絡(luò)的實際應(yīng)用中具有非常重要的意義對于提高網(wǎng)絡(luò)安全具有十分重要的作用[3]。
國內(nèi)外學者在敏感信息檢測方面主要基于節(jié)點信息的時間關(guān)聯(lián)性,該方法在異常檢測中有著較高的準確率,但難以找到將信號與網(wǎng)絡(luò)拓撲結(jié)構(gòu)關(guān)聯(lián)的數(shù)學模型,而數(shù)據(jù)流統(tǒng)計模型難以事先獲得[4]?;诮y(tǒng)計學的方法具有較高的異常節(jié)點和敏感信息檢測效率,但需要根據(jù)網(wǎng)絡(luò)的先驗信息購建統(tǒng)計模型[5]。機器學習、統(tǒng)計分析及信號處理是用于網(wǎng)絡(luò)異常節(jié)點信息的監(jiān)測的常用三大類方法,但這些方法雖然能夠一定的監(jiān)測效果,但對異常節(jié)點流識別能力有待提高[6]。臨近節(jié)點檢測法[7]根據(jù)數(shù)相似度或距離來識別敏感信息或判斷異常節(jié)點,但算法復雜度較高,且無法監(jiān)測連續(xù)異常節(jié)點。
聚類方法在無需統(tǒng)計模型的情況下即可對當前網(wǎng)絡(luò)數(shù)據(jù)異常信息監(jiān)測處理[8]。馬爾科夫聚類是基于馬爾科夫過程的經(jīng)典的快速圖聚類方法,其圖聚類,可以在不進行聚類預(yù)估的情況下實現(xiàn)數(shù)據(jù)聚類[8]。為此,基于美國的Ablience骨干網(wǎng)數(shù)據(jù),采集通信網(wǎng)絡(luò)的流數(shù)據(jù)構(gòu)建流連接結(jié)構(gòu),基于網(wǎng)絡(luò)流連接結(jié)構(gòu),利用敏感詞距離信息對網(wǎng)絡(luò)節(jié)點的行為分別進行聚類,根據(jù)聚類差異情況實現(xiàn)敏感信息的監(jiān)測及相應(yīng)異常節(jié)點的有效區(qū)分實驗驗證算法的有效性。
Ablience骨干網(wǎng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu),如圖1所示。該網(wǎng)絡(luò)共有9個節(jié)點,每個節(jié)點布設(shè)一個專用路由器,各個節(jié)點均遵從具備網(wǎng)絡(luò)監(jiān)測功能的Netflow協(xié)議。基于該網(wǎng)絡(luò)監(jiān)測協(xié)議,每隔4min進行數(shù)據(jù)采集,數(shù)據(jù)采樣速率為196。Netflow協(xié)議數(shù)據(jù)是通信網(wǎng)絡(luò)異常信息監(jiān)測的數(shù)據(jù)來源。然而實際監(jiān)測過程中,系統(tǒng)自動采集的數(shù)據(jù)量很大,且存在很多冗余信息,因此需要對數(shù)據(jù)進行篩選,以提高數(shù)據(jù)精準度和降低網(wǎng)絡(luò)監(jiān)測的計算復雜度。經(jīng)過大量測試,由Netflow協(xié)議數(shù)據(jù)中選取了能夠代表通信網(wǎng)絡(luò)信息的9個關(guān)鍵屬性,具體為:網(wǎng)絡(luò)數(shù)據(jù)包數(shù)量、網(wǎng)絡(luò)層的總字節(jié)數(shù)、源IP地址、目的IP地址、TCP協(xié)議控制標志、下一跳IP地址、傳輸層源端口號、傳輸層目的端口號和協(xié)議類型。
圖1 Ablience骨干網(wǎng)結(jié)構(gòu)圖Fig.1AblienceBackboneNetworkStructure
通信網(wǎng)絡(luò)中的攻擊異常及產(chǎn)生的敏感信息較多,文中主要分析通信網(wǎng)絡(luò)中最為常見的掃描異常和拒絕服務(wù)兩種攻擊異常信息,并通過敏感信息間距離描述其在通訊網(wǎng)絡(luò)中的位置,敏感信息距離T(t1,t2)計算式為:
式中:pt1、pt2—敏感信息在通信網(wǎng)絡(luò)中的雙親節(jié)點函數(shù);l(pt1)—節(jié)點在網(wǎng)絡(luò)中所在的層數(shù);pt1fpt2—兩節(jié)點存在祖先與后代關(guān)系;pit1=pjt1-i,j—兩節(jié)點共有相同父節(jié)點;ptc—與t1或t2具有相同父節(jié)點的元素節(jié)點。
多敏感信息之間的網(wǎng)絡(luò)距離為各敏感信息距離各,即:
通過計算各異常節(jié)點產(chǎn)生的敏感信息之間的距離,可以較為準確的反映敏感信息的分布情況,敏感信息中的敏感詞距離越小表明敏感信息越集中,即當前信息的敏感程度越高;當敏感詞距離越大,說明敏感信息節(jié)點越分散,即當前信息和敏感程度越低[6],因此,利用敏感詞間的距離信息對通信網(wǎng)絡(luò)的節(jié)點行為分別進行聚類,根據(jù)聚類差異情況可以實現(xiàn)敏感信息的自動監(jiān)測及其對應(yīng)異常節(jié)點的有效區(qū)分。
馬爾科夫聚類(Markovclusteralgorithm,MCL)的關(guān)鍵主要是圖擴展和膨脹兩個過程[10],都是對狀態(tài)轉(zhuǎn)移矩陣進行操作,通過不斷的擴展和膨脹最終使得圖鄰接矩陣滿足收斂條件。擴展是模擬轉(zhuǎn)移矩陣的隨機漫游,首先,在網(wǎng)絡(luò)鄰接矩陣中增加一條自環(huán);然后,對鄰接矩陣進行冪運算。取正整數(shù),對圖鄰接矩陣自乘e次,得到新的進行了e步轉(zhuǎn)移的狀態(tài)轉(zhuǎn)移矩陣。膨脹操作是矩陣進行規(guī)則化的過程,完成鄰接矩陣的各列進行規(guī)則化,其處理公式為:
式中:M—圖鄰接矩陣;k—矩陣M行數(shù);M*—規(guī)則化后的矩陣;
τ—矩陣膨脹操作的松弛系數(shù);p、q—矩陣的行和列下標。
膨脹操作能夠?qū)崿F(xiàn)節(jié)點概率的自適應(yīng)調(diào)整,即不斷增加概率較大節(jié)點的概率,同時也不斷減小概率較小節(jié)點的概率。經(jīng)過馬爾科夫聚類后,鄰接矩陣的各個節(jié)點與其他節(jié)點均會連接成正值的邊,且和為1。
馬爾科夫聚類后,達成穩(wěn)定狀態(tài)的鄰接矩陣是監(jiān)測通信網(wǎng)絡(luò)狀態(tài)的關(guān)鍵。如果存有異常,鄰接矩陣的聚類中心及其數(shù)量會出現(xiàn)變化。為此,基于馬爾科夫聚類,構(gòu)建了異常節(jié)點及其產(chǎn)生的敏感信息的監(jiān)測算法,算法以鄰接矩陣描述預(yù)處理后提取的網(wǎng)絡(luò)流圖并進行馬爾科夫聚類,然后從聚類結(jié)果中判斷敏感信息。
網(wǎng)絡(luò)數(shù)據(jù)流經(jīng)過預(yù)處理得出網(wǎng)絡(luò)流圖后,對流圖中的各個節(jié)點進行編號,形成一個索引二維矩陣。如果網(wǎng)絡(luò)流圖中有N個節(jié)點,則矩陣行列數(shù)均為N。如果網(wǎng)絡(luò)流圖中源節(jié)點和目的節(jié)點存有連接關(guān)系,則其鄰接矩陣值非零,且值越大,鄰接關(guān)系就越密切,反之為零值。
設(shè)J(ti)為敏感信息中敏感詞的結(jié)構(gòu)相關(guān)性,則基于詞間距離的敏感詞間結(jié)構(gòu)相關(guān)度為:
式中:J(ti)—網(wǎng)絡(luò)中敏感信息ti的總詞數(shù):td(ti)—詞間距,td(ti)與T(ti)之間的差值絕對值越小,對應(yīng)的信息數(shù)據(jù)越符合最初始結(jié)構(gòu)關(guān)系,對應(yīng)的敏感度值越大。
基于敏感詞敏感度得到敏感信息的相關(guān)度為:
其中,α、β滿足α+β=1。
鄰接矩陣構(gòu)建完成后,對鄰接矩陣添加自循環(huán)邊,設(shè)置擴展和膨脹的冪次參數(shù)α和e,進行馬爾科夫聚類,直至滿足預(yù)設(shè)置穩(wěn)定條件。
傳統(tǒng)MCL算法通過迭代得目標函數(shù)最小實現(xiàn)圖最優(yōu)分割,進行聚類和計算隸屬度,但其存在樣本特征未優(yōu)化導致細節(jié)易丟失和空間結(jié)構(gòu)關(guān)系不能很好表達導致對噪聲誤聚類兩個主要缺點,為此,在敏感信息詞間距離和敏感度計算基礎(chǔ)上,采用核空間MCL算法,引入核函數(shù),在高維映射空間通過模糊聚類分析擴展MCL算法;引入馬爾可夫隨機模型,對鄰接圖局部特征建模,以有效利用像素結(jié)構(gòu)信息。
核空間MCL算法的目標函數(shù)為:
式中:πik—先驗概率;Φ(·)—非線性映射;c—聚類數(shù),xi鄰接圖元素值;vk—輸入空間的聚類中心數(shù);uik—隸屬度,Σuik=1,λ—加權(quán)指數(shù)。采用滿足Mercer條件的高斯核函數(shù),則有K(xi,xj)=exp(-(2σ2)-1||xi-xj||2),從而得到:
采用拉格朗日乘子可以得到隸屬度的迭代式為:
判斷鄰接矩陣是否達到穩(wěn)定條件的方式是當再次進行擴展和膨脹操作,鄰接概率矩陣不再變化。此時,提取鄰接矩陣中的各行正數(shù)值,形成一個類簇。如果通信網(wǎng)絡(luò)中存有異常,鄰接矩陣中的行值和列值均相同,此時即可導出IP編號中對應(yīng)的索引值。
網(wǎng)絡(luò)流圖能夠有效表示網(wǎng)絡(luò)流信息的連接關(guān)系,當存在異常時,流圖的結(jié)構(gòu)參數(shù)會隨之出現(xiàn)異常,從而識別出敏感信息,進而實現(xiàn)網(wǎng)絡(luò)攻擊的監(jiān)測。選取網(wǎng)絡(luò)流圖的平均度、最大連通子圖比和最大度數(shù)比作為識別網(wǎng)絡(luò)異常的特征。
平均度[7]能夠有效表示網(wǎng)絡(luò)流圖的連接狀態(tài),通常情況下,網(wǎng)絡(luò)流圖連接越復雜,網(wǎng)絡(luò)流圖的平均度就越大,反之亦然。最大連通子圖比[3]能夠有效表示網(wǎng)絡(luò)流圖節(jié)點之間的是否存在連通,連通性越好,最大連通子圖比值就越大。在通信網(wǎng)絡(luò)敏感信息監(jiān)測過程中,如果最大連通子圖比值較大,則說明網(wǎng)絡(luò)中的存有訪問率較高的傀儡機,或網(wǎng)絡(luò)中存有病毒。最大度數(shù)比[9]也是評價網(wǎng)絡(luò)流圖的重要參數(shù),最大度數(shù)比的值越高,通信網(wǎng)絡(luò)中存有異常信息的概率就越大,一旦最大度數(shù)比值接近1,則網(wǎng)絡(luò)中存有異常攻擊。
以網(wǎng)絡(luò)采集的實測數(shù)據(jù)對文中算法監(jiān)測性能進行測試,實驗測試了算法的識別準確性,實驗數(shù)據(jù)為LANL數(shù)據(jù)集[9]的flows數(shù)據(jù),LANL數(shù)據(jù)集是2010年由Los實驗室成員在其內(nèi)部網(wǎng)絡(luò)采集,其flows數(shù)據(jù)共有426045096條數(shù)據(jù)記錄,12027個主機節(jié)點,99 433條有效通信邊,對數(shù)據(jù)集中添加拒絕服務(wù)攻擊,然后利用馬爾科夫聚類判斷流圖節(jié)點的聚類變化,聚類前后的網(wǎng)絡(luò)流圖,如圖2所示。對比圖2(a)和圖2(b)可知,聚類前后,簇數(shù)和節(jié)點數(shù)分別增加和減少了一個,并且聚類后展現(xiàn)出了十分明顯的全連接關(guān)系,這是典型的拒絕服務(wù)攻擊的特征。這是由于當攻擊者向通信網(wǎng)絡(luò)發(fā)起拒絕服務(wù)攻擊時,被攻擊者控制的傀儡機會像服務(wù)器發(fā)起非常具有規(guī)律性的數(shù)據(jù),且數(shù)據(jù)的大小非常相似,因此經(jīng)過馬爾科夫聚類后才會出現(xiàn)良好的全連接關(guān)系,且聚類簇數(shù)增加一個。
圖2 拒絕服務(wù)攻擊馬爾科夫聚類結(jié)果Fig.2 Denial of Service Attack Markov Clustering Results
MIT實驗室在IDS評測時采集的DARPA 2000數(shù)據(jù)集[10],具有較強的權(quán)威性和代表性,在數(shù)據(jù)集中添加網(wǎng)絡(luò)掃描攻擊,提取數(shù)據(jù)集的絡(luò)數(shù)據(jù)流后,利用馬爾科夫聚類處理鄰接矩陣,聚類前的網(wǎng)絡(luò)流圖結(jié)構(gòu),如圖3(a)所示。經(jīng)過馬爾科夫聚類后,通信網(wǎng)絡(luò)流圖的聚類結(jié)果,如圖3(b)所示。對比圖3(a)和圖3(b)可知,經(jīng)過馬爾科夫聚類后,核心聚類結(jié)構(gòu)數(shù)據(jù)節(jié)點有所減少,且與圖2(b)同樣展現(xiàn)出了良好的全連接狀態(tài),這非常符合網(wǎng)絡(luò)掃描攻擊的特征。這是由于當攻擊者發(fā)起掃描攻擊時,會向服務(wù)器單方面?zhèn)魉驼埱髷?shù)據(jù),但不會服務(wù)回應(yīng)任何信息。為此,經(jīng)過圖聚類算法后,攻擊者的請求數(shù)據(jù)會被聚為一類,且這些數(shù)據(jù)由于具有較高的相似性而展現(xiàn)出良好的全連接特點。
圖3 掃描攻擊馬爾科夫聚類結(jié)果Fig.3 Scanning Attack Markov Clustering Results
網(wǎng)絡(luò)敏感信息監(jiān)測是輔助通信網(wǎng)絡(luò)發(fā)現(xiàn)網(wǎng)絡(luò)攻擊行為的有效途徑,針對此問題,提出了基于馬爾可夫聚類的自動監(jiān)測算法,算法利用通信網(wǎng)絡(luò)數(shù)據(jù)構(gòu)建能夠表征網(wǎng)絡(luò)狀態(tài)的流圖,據(jù)此構(gòu)建鄰接概率矩陣,然后對其進行馬爾科夫聚類以判斷聚類前后節(jié)點變化,自動監(jiān)測和識別敏感信息,測試結(jié)果驗證了算法對網(wǎng)絡(luò)敏感信息監(jiān)測的有效性和準確性。