王晨曦
摘要 文章首先對聚類算法k-means的原理進行簡要分析,在此基礎(chǔ)上對基于聚類算法k-means的異常檢測系統(tǒng)進行論述。期望通過本文的研究能夠?qū)Υ龠Mk-means聚類算法的推廣應用有所幫助。
【關(guān)鍵詞】聚類算法 k-means 異常檢測
1 聚類算法k-means的原理分析
在對聚類算法k-means的基本原理進行闡釋前,需要先對聚類分析技術(shù)有一個初步的了解。聚類歸屬于數(shù)據(jù)挖掘的范疇,主要用于數(shù)據(jù)集問題的解決,它是一個數(shù)據(jù)整理過程,核心是數(shù)據(jù)的相似程度,通過對數(shù)據(jù)集進行聚類之后,可以得到簇。在聚類分析技術(shù)中,k-means是一種較為常用的聚類方法,這種方法具有動態(tài)性的特征,被廣泛應用于科研領(lǐng)域,其可將若干個(可以用n來表示若干)數(shù)據(jù),劃分成K個聚類,在這一前提下得到的聚類能夠滿足以下條件:同一個聚類中的數(shù)據(jù)將會具有非常高相似度,不同聚類中數(shù)據(jù)的相似度相對較低。k-means的基本原理是從一個數(shù)據(jù)集當中,任意選出K個數(shù)據(jù),可將這些被隨機選中的數(shù)據(jù)作為初始的聚類中心,對其余的數(shù)據(jù)計算出它們到達聚類中心的距離,隨后,將數(shù)據(jù)分配到就近的聚類中心當中,完成初始聚類。在這一過程中,若是聚類中心保持不變,則可輸出聚類結(jié)果。
2 基于聚類算法k-means的異常檢測系統(tǒng)構(gòu)建
在計算機網(wǎng)絡當中,異常檢測是一項較為重要的手段,其最為突出的特點是能夠快速檢測出未知的攻擊,這在一定程度上確保了網(wǎng)絡的運行安全性。下面對基于k-means的異常檢測系統(tǒng)的構(gòu)建進行論述。
2.1 聚類分析
這是k-means在異常檢測系統(tǒng)構(gòu)建過程的關(guān)鍵環(huán)節(jié),具體是指通過對相關(guān)的數(shù)據(jù)集進行訓練,進而得到分類模型與閾值。聚類分析過程如下:
Stepl:在進行聚類分析之前,需要先獲取如下條件:源IP地址、源端口、目的IP地址、目的端口、連接時間等。為使整個聚類分析過程能夠在相對較短的時間內(nèi)完成,可將獲取到的連接時間作為基礎(chǔ),對時間段進行自定義,然后對其余幾個條件的信息熵進行計算,從而得到訓練所需的數(shù)據(jù)集;
Step2:當?shù)玫较嚓P(guān)的訓練數(shù)據(jù)集之后,對其中各個樣本的距離進行計算,據(jù)此確定出距離最遠的兩個樣本,并將之作為初始的聚類中心:
Step3:對訓練數(shù)據(jù)集中的數(shù)據(jù)對象到達中心的距離進行計算,并將分類數(shù)據(jù)歸入到最近的簇中。此時可能存在這樣一種情況,即數(shù)據(jù)對象到達各個初始聚類中心的距離均超過閾值,一旦這種情況出現(xiàn)時,便可將這個數(shù)據(jù)對象視作為新類,同時,需要為其增加K值,并以該數(shù)據(jù)作為聚類中心;
Step4:按照上述步驟對聚類中心進行重新計算,直至不再出現(xiàn)新類為止,此時的聚類中心即為最終的聚類中心。
由于所有的訓練數(shù)據(jù)集均未進行任何標記,如果其中只含有少量的攻擊,那么可將這部分攻擊視作正常,同時可將聚類后獲得的相關(guān)模型,在異常檢測中進行應用,完成對數(shù)據(jù)集的異常檢測。
2.2 異常檢測
為使異常檢測過程變得更加真實,可在該階段對攻擊進行模擬,并借助網(wǎng)絡封包分析軟件對檢測數(shù)據(jù)進行采集,然后對聚類分析前獲取的幾個條件的信息熵進行計算,同時,對檢測數(shù)據(jù)與聚類中心之間的距離值進行計算,并將這些數(shù)據(jù)對象全部歸類到最近的聚類中心當中。若是檢測數(shù)據(jù)到達聚類中心的距離超過系統(tǒng)預先設定好的閾值,則可將該數(shù)據(jù)判定為一種新的攻擊類型,此時需要對K值進行修改,并將代表這個新攻擊類型的數(shù)據(jù)作為新聚類的中心點。具體的異常檢測過程如下:
Stepl:對檢測數(shù)據(jù)的特征屬性的信息熵值進行計算,隨后按照模擬攻擊對檢測數(shù)據(jù)的攻擊類型進行標定,由此可以與檢測有關(guān)的數(shù)據(jù)集,這個數(shù)據(jù)集是進行異常檢測的重要前提和基礎(chǔ):
Ste2:得到檢測數(shù)據(jù)集之后,可以利用聚類分析過程中輸出的聚類中心作為異常檢測的初始聚類中心,并對數(shù)據(jù)集中的檢測對象進行距離計算,依據(jù)計算所得的結(jié)果進行聚類;
Step3:對檢測數(shù)據(jù)至聚類中心之間的距離進行計算,并以該計算結(jié)果與閾值進行比較,若是距離超過閾值,則可該檢測數(shù)據(jù)判定為新的入侵,同時對聚類進行更新,在原有K值的基礎(chǔ)上加l,并將之作為新簇的聚類中心。若是距離在閾值以內(nèi),則可將該檢測數(shù)據(jù)歸入到與之距離最近的一個簇中;
Step4:當異常檢測系統(tǒng)將某個檢測數(shù)據(jù)歸類成入侵類型的數(shù)據(jù)之后,系統(tǒng)便會自行啟動異常相應模塊,此時檢測過程開始重新循環(huán),從Stepl開始對其它檢測數(shù)據(jù)進行檢測,直至所有數(shù)據(jù)全部檢測完畢后,會將聚類結(jié)果輸出,根據(jù)該結(jié)果系統(tǒng)便可以完成對異常數(shù)據(jù)的檢測。
在本次研究中,為使聚類過程得以簡化,對訓練數(shù)據(jù)集進行了如下假設:所有數(shù)據(jù)集均為常態(tài)數(shù)據(jù),在這樣的前提條件下,數(shù)據(jù)之間可以達到非常高的相似度。同時,檢測數(shù)據(jù)集中的數(shù)據(jù)與訓練數(shù)據(jù)集中的數(shù)據(jù)相似性較低,由此便可在聚類分析時,快速檢測出異常行為。實踐證明,基于k-means的異常檢測系統(tǒng)能夠在較短的時間內(nèi)檢測到異常。
3 結(jié)論
綜上所述,為確保網(wǎng)絡安全,需要進行異常檢測,本文對基于聚類算法k-means的異常檢測系統(tǒng)進行分析研究,結(jié)果表明,k-means在異常檢測系統(tǒng)的應用,可以提高異常數(shù)據(jù)的檢測效率,具有一定的推廣使用價值。
參考文獻
[1]鳳祥云,基于K-Means聚類算法入侵檢測系統(tǒng)研究[J].電腦知識與技術(shù):學術(shù)交流,2016,12 (16):49-51.
[2]陳麗珊,基于K-means聚類算法的入侵檢測系統(tǒng)研究[J],昆明學院學報,2017,39 (03): 58-62.
[3]周邁,基于聚類算法的入侵檢測系統(tǒng)的研究[J].中外企業(yè)家,2017 (01):173-174.
[4]毛嘉莉,基于K-means的文本聚類算法[J].計算機系統(tǒng)應用,2009,18 (10):85- 87.