劉福剛
(淮南聯合大學信息工程學院 安徽淮南 232001)
互聯網技術的不斷發展為人們日常生活與工作等方面帶來了極大的便利,但網絡應用時,逐漸暴露出網絡在設計、安全等方面存在些許缺陷與漏洞問題。同時,網絡的入侵行為過于隱蔽、破壞性強,普通用戶無法對網絡中存在的異常行為進行精準判斷,導致網絡安全受到極大的影響?;诖?,為有效避免網絡入侵行為造成網絡系統安全受到影響,合理運用kmaeans聚類算法[1],能夠有效促進網絡安全檢測能力得到提高。所以,本文對該聚類算法在網絡安全檢測方面的應用研究展開分析。
現階段,聚類分析算法已經被廣泛應用在各個領域當中,并充分地滿足了數據和大數據結構更加復雜的網絡數據處理方面的要求。并且,K-means聚類算法也是一種以群分析實現數據挖掘的算法,結合數據集和相關要求,將其劃分成多個子集。同時,每個子集數據擁有較高的相似性,但子集之間的屬性存在相對明顯的差異。此外,該聚類算法比較注重層次性,可以實現對數據分類,還為每類數據的相似性提供保障,從中獲得K聚類。具體k-means聚類算法工作流程:首先,在針對網絡安全檢測時,由于檢測的網絡數據數量講多,且數據結構更加復雜,滿足大數據的要求。這時就可以將網絡中的數據劃分成N個數據對象,然后從這些對象當中隨機抽取出K個對象當作初始聚類中心。接著,結合每個對象自身的屬性特點,對其進行聚類劃分。在聚類劃分的過程當中,還需要以K個對象的距離作為聚類劃分的標準,從而分別將K個對象分配給相似的聚類即可。其次,也可以利用計算方法實現對新型聚類進行獲取,以新聚類為所有對象中心實現求均值,最終借助重復的計算,構成新的距離,并實現對k的均值求解,直到均方差當中所標記的標準測度函數,發生逐漸收斂的情況結束,這樣一來就能夠獲得最佳精準度的均值。而傳統k-means聚類算法當中,一般選擇利用均方誤差為標準測量的函數,并將密集型數據當做聚類數據對象。因此,當所有的數據對象之間存在明顯的區別時,利用傳統k-means算法能夠有效滿足對網絡安全檢測的要求[2]。
(一)網絡安全檢測現狀分析。計算機技術與網絡信息技術的不斷應用,使得網絡空間當中的數據含量得到指數型的上升。而早期針對網絡安全入侵檢測系統中引入數據挖掘技術,實現了對網絡中存在的入侵行為進行識別。但受參數調整時,過度依賴人工的方式,出現局部極小值、計算時間長與異常行為檢測精度低等問題,導致網絡安全整體檢測效率和質量等方面較低。同時,聚類算法擁有低復雜度與高效率等優點,如kmeans聚類算法在應用過程中很容易得到網絡安全檢測局部最優解。基于此,針對傳統k-means聚類算法進行改進,并結合網絡安全檢測現狀,提出一種網絡入侵檢測效率、精準度高以及誤報率低的網絡安全檢測算法[3]。
(二)傳統的k-means聚類算法分析。傳統的k-means聚類算法能夠實現在同一類當中聚集較高相似度的樣本。不過,在對網絡安全中存在的入侵行為進行檢查時,對算法方面有著相應的要求。這樣一來,針對樣本和樣本之間的距離計算過程中,可以利用聚類算法且復雜度小的歐氏距離。
假設數據集A當中包含了n個樣本對象,那么m維則是每個數據樣本的特征維度。而第i 個數據對象就可以用Xi來表示:Xi=(x1i,x2i,L,xmi),其中,數據對象Xi的第m 維特征由Xmi來表示;而i=1,2,…,n。初始聚類中心則是隨機從中抽取的k個數據。
(一)改進后的新K-means 聚類算法。想要使得改進之后的聚類算法在網絡安全檢測過程中得到充分的應用,就需要加強做好對聚類算法的K值確定工作、數據預處理工作和初始聚類中心選取工作等。
1.數據預處理分析。數據預處理中網絡數據由離散型數據和連續型數據等兩種類型構成。因此,為了進一步實現對網絡中的數據進行挖掘處理,這就要求在數據預處理時,對離散型的數據展開相應的預處理,以此將其轉化成多個數值型,最終滿足了數據預處理的效果。但在針對類離散型數據進行轉化處理時,還需要進行以下定義。
定義1:報警數據庫為D,且具備n個警告記錄集。因此,針對該類型警告記錄集可以用T 來表示,則T={T1,T2,…,Tn},n≥1。所以,警告記錄集的屬性集可以利用X來表示,且由多個特征屬性構成m。也可以利用對象之間的距離表示對象間的相似程度。
定義2:如果,網絡數據中存在的警告記錄,可以從中選擇任意兩種警告記錄用Ti與Tj進行表示,而兩者之間的相似程度可以利用Sim(Ti與Tj)來表示,而Sim(Ti與Tj)=Simc(Ti和Tj)+Simd(Ti和Tj)(i≠j)。
定義3:針對聚類集,可以利用C 來表示,則C={Ci}(i=1,2,3,…,k)。
定義4:當假設C是所需要處理的聚類時,這時mi就表示聚類中心,且mi=mid+mic。
2.初始聚類中心確定。想要完成對聚類算法的初始聚類中心確認,需要在網絡數據轉化作業完成之后,從海量的網絡數據之中抽取一種符合類中心的樣本,以此完成聚類。不過,由于在確認初始聚類時,還需要對影響初始聚類中心的相似距離以及密度等進行綜合考慮。然后,從D當中隨機進行多個子集進行抽取,并利用D1,D2,…,Dq等來表示隨機抽取的子集。同時,每個子集當中存在n條記錄,所以當對不同類型的內容確定完成之后,在借助函數FindM 對子集進行處理,從而可以獲得三個相應的初始聚類中心,并分別以m1、m2以及m3來表示[4]。
3.確定K值及新聚類生成。在完成對初始聚類中心確認之后,還需要利用多次迭代的方法對K 值進行計算,從而得到關于各個聚類間的相似度距離的最小值和最大值。同時,在聚類的過程當中,還能夠實現對K 值進行動態化調整,從而使得“類”當中的最近以及和類間最遠作為標準,以此完成歸類的目的。本文改進之后的距離算法結果的精準性,需要結合對象的初始聚類中心來實現,但是不同的初始聚類中心,會導致其他類型的數據聚類結構受到相應的影響。因此,K-means聚類算法在網絡安全檢測時,要求用戶先根據經驗,給出關于聚類數的k值,不過確定K值時還需要注意k值估計和k值不確定性等對聚類結果造成的影響。所以,在確定K 值時,可以選擇一個合適的K值,并結合相應指標,從而確定最終K值[5]。具體K值確定及新聚類生成算法流程圖見圖1所示。

圖1 K值確定及新聚類生成流程示意圖
(二)網絡安全檢測模型設計。針對網絡安全進行入侵行為、異常情況進行檢測時,想要促進改進后的k-means聚類算法在大數據環境當中檢測效率得到提高,可以通過設計相應的網絡安全檢測模型來實現,具體設計見圖2所示。

圖2 基于K-means聚類算法的網絡安全檢測模型設計示意圖
k-means聚類算法在應用時,首先需要隨機抽取K個對象,然后根據隨機抽取的對象本身所對應的聚類中心兩者之前的距離,從中選擇最優的方式實現聚類。其次,需要對對象聚類中心展開反復計算,一直到簇內的均方差的準則度函數逐漸收斂時結束。同時,從圖2所設計的網絡安全檢測模型來看,由兩個階段設計來實現,如,訓練階段和檢測階段。其中,從前者階段上來看,該階段包含了哈希值(Hash)函數、數據訓練以及網絡大數據、樹形數據結構等內容。從檢測階段上來看,此階段包含了網絡數據的基準庫、待檢測的網絡數據抓取功能以及哈希值函數內容、處理網絡數據內容和直推式異常檢測內容、k的鄰近對象等相關內容構成。訓練階段當中,需要先對網絡當中的正常數據展開抓取,這樣一來可以充分反映出網絡正常狀態的數據特征,并對其進行篩選處理,從而為構建網絡安全檢查模型所需要的網絡正常行為數據集打下堅實的基礎。當完成網絡數據正常行為數據集特征建立后,可以利用Hash函數實現對數據集進行處理,并將其轉化成檢測模型能夠識別與處理的數據,以此為k-means聚類算法的分析提供支撐。最后,通過算法對數據展開分析和分類,并形成數據樹結構構建與訓練,從而完成網絡中正常行為數據集庫的構建[6]。
針對檢測階段的設計,首先,需要結合從網絡當中所采集的相關原始正常行為數據展開實時監控,這樣一來可以使得待檢測的網絡數據的可用性得到保障。其次,利用Hash函數針對網絡數據展開處理時,需要先對數據特征進行轉換,然后再利用算法進行分析,并利用聚類算法根據相應的數據特征分類和訓練階段的數據樹形結構,從而找到K 鄰近的對象。最后,將得到的數據代入到直推式異常檢測算法當中,與正常網絡數據基準庫進行對比,從而得到P值,并借助P值,實現對網絡數據當中是否存在異常行為、入侵行為等情況進行判斷。
為了進一步驗證本文提出的k-means聚類算法的網絡安全檢測模型在應用過程中的效果,可以結合所設計的模型結合KDD Cup99模型數據采集參考,以此實現對網絡安全檢測模型的應用進行測試分析。
首先,在實際測試工作當中,具體的攻擊類型主要包含4種類型:DoS、Probe、R2L 以及U2R 等。并且,在模型當中共含有34個記錄屬性值和4個字符屬性。不過,在所有類型字符屬性當中,18.69%為正常數據在總體數據的占比;81.34%為異常數據在總體數據當中的占比。因此,當對數據確定完成之后,就可以實現對網絡安全模型的應用進程測試[7]。其次,針對該網絡安全檢測模型的性能展開評估時,可以從這些數據當中選擇1、2、3 組數據,作為分析的樣本,且每組子集當中都均有1000條記錄,而這些記錄當中已知的異常數據占比為1.8%,具體樣本數據見表1。

表1 測試樣本數據
根據表1中的3組樣本數據,利用改進后的k-means聚類算法對其進行測試后,將其結果和傳統k-means聚類算法的檢測結果進行分析對比,發現,改進后的k-means聚類算法的網絡安全檢測率提高了8.03%,誤檢率降低了2.88%,且檢測所需的時間節省了19%,具體檢測結果對比見表2。

表2 具體實驗檢測結果對比分析
因此,基于大數據環境下,將改進后的k-means聚類算法應用在網絡安全檢測當中,具有可行性。同時,本文又選擇不同的攻擊類型方式的檢測角度,對兩種劇烈算法的檢測效果展開分析,具體結果見表3:

表3 不同攻擊類型情況下K-means聚類算法的檢測效率
從表3上可以得知,本文所提出的網絡安全檢測算法的優勢明顯高于傳統的算法。同時,DOS 和Probe 等網絡入侵攻擊檢測效率更高。U2R與R2L的檢測效率相對較低,其原因主要是由于測試數據集當中所存在的U2R 和R2L 網絡入侵記錄數據集相對較少,因此訓練時存在不理想的效果,造成后期模型檢測效果差等問題,并容易導致檢測率低的情況發生。此外,改進后的k-means 聚類算法的網絡入侵行為誤檢率和傳統kmeans聚類算法的誤檢率對比有所降低。由此可知,在大數據背景下通過對網絡安全檢測過程中存在的正常數據以及異常數據等進行歸類,k-means聚類算法的網絡安全檢測模型應用具有可行性[8]。從而滿足互聯網應用的要求,并有效避免了網絡病毒的入侵和木馬等行為影響網絡安全運行。
綜上所述,隨著大數據環境的應用,網絡安全問題備受用戶的重視。而傳統的防火墻技術、入侵檢測技術在網絡安全檢測方面,已經無法充分滿足用戶的需要。因此,為能夠進一步保障網絡交易的安全和數據傳輸安全等,實現對網絡中存在的異常攻擊行為進行準確檢測。應用改進后的k-means 聚類算法,可以實現對網絡中冗余數據進行分析處理,并從中提取出關鍵的數據進行計算,促進網絡安全檢測的效率得到提升,同時還有效避免受網絡中冗余數據導致的算法檢測效率低的問題。