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