1.改進K-均值聚類算法原理
K-means 算法的缺點是容易受到噪聲和孤立點的影響,噪聲和孤立點的存在會使聚類效果發(fā)生很大的變化,影響聚類的效果。還有一個缺點就是初始聚類中心點的選取對聚類結果具有較大的影響。因為在該算法中是隨機選取任意個點作為初始聚類中心,假如選擇的個體對象分布比較集中,將會延緩聚類的進程,影響聚類的效果。再有一個缺點就是從不同的初始聚類中心出發(fā),將會得到不同的聚類結果。因此,如何選擇初始聚類中心點就成為影響最后聚類結果的重要因素。另外 K 值的確定也是一個值得研究的問題。
本案例提供的改進K-均值聚類算法主要從如下幾個方面進行了優(yōu)化:
(1) 針對不同的數(shù)據(jù)類型對聚類效果的影響較大,改進K-均值聚類算法可對數(shù)據(jù)首先進行標準化處理以提高聚類精度。
(2) 針對經(jīng)典K–means算法聚類中心個數(shù)難以確定的缺點,改進K-均值聚類算法提出了一種求聚類中心個數(shù)的算法。
(3) 針對經(jīng)典K–means算法易受噪聲和孤立點影響這一缺點對算法做了進一步改進,以減少噪聲和孤立點對聚類效果的影響。
(4) 針對經(jīng)典K–means算法聚類效果對初始質(zhì)心嚴重依賴和對數(shù)據(jù)輸入順序敏感(即從不同的初始聚類中心出發(fā)會得到不同的聚類結果且準確率也不一樣)等缺點,改進K-均值聚類算法提出了尋找較為準確的K個聚類中心的方法,從而可以得到更好的劃分效果。
2.案例描述
入侵檢測技術是近年來順應網(wǎng)絡安全需求發(fā)展起來的一種新興技術,并得到快速發(fā)展。入侵檢測系統(tǒng)(Intrusion Detection System, IDS)可以對系統(tǒng)或網(wǎng)絡資源進行實時檢測,及時發(fā)現(xiàn)闖入系統(tǒng)或網(wǎng)絡的入侵者,也可以預防合法用戶對資源的誤操作,是保證網(wǎng)絡安全的關鍵技術和重要手段,它也是一種主動保護自己免受攻擊的網(wǎng)絡安全技術。入侵檢測系統(tǒng)分為數(shù)據(jù)采集、數(shù)據(jù)分析和響應三個部分。為了尋找入侵行為和痕跡,數(shù)據(jù)采集從網(wǎng)絡系統(tǒng)的多個點進行,采集內(nèi)容包括系統(tǒng)日志、網(wǎng)絡數(shù)據(jù)包、重要文件以及用戶活動的狀態(tài)與行為等。數(shù)據(jù)分析則通過模式匹配、異常檢測和完整性檢測三種技術手段對采集的數(shù)據(jù)進行分析。入侵檢測系統(tǒng)一旦發(fā)現(xiàn)入侵行為,立即會進入響應過程,包括日志、告警和安全控制等。隨著網(wǎng)絡范圍的不斷擴大,網(wǎng)絡技術的不斷進步,網(wǎng)絡攻擊也日益增多,而且危害程度也越來越大。入侵檢測需要采集處理的數(shù)據(jù)很多,利用傳統(tǒng)的入侵檢測方法已經(jīng)不能適應。傳統(tǒng)的模式匹配檢測是基于已知的攻擊或系統(tǒng)的明顯漏洞識別入侵,這種方法的缺點是無法檢測未知的攻擊。而傳統(tǒng)的異常檢測技術利用統(tǒng)計學的方法建立常規(guī)狀態(tài)庫,對不滿足常規(guī)條件的行為判斷為異常。這種方法缺點是誤報率高。并且現(xiàn)存的IDS缺少有效性、適用性和擴展性。需要找到一種提高IDS有效性、適用性和擴展性的方法。
目前的入侵檢測系統(tǒng)主要以模式發(fā)現(xiàn)技術為主,其目前的研究熱點主要表現(xiàn)在:寬帶高速實時的檢測技術、大規(guī)模分布式的檢測技術、數(shù)據(jù)挖掘技術、更先進的檢測算法和入侵響應技術。目前對將數(shù)據(jù)挖掘技術尤其是將其中的聚類算法應用到入侵檢測中的研究還處于起步階段,如何改進聚類算法使入侵檢測的檢測率提高并且降低誤報率是進一步的研究方向。因此,研究的目的在于設計一個基于聚類算法的入侵檢測系統(tǒng),使其正確率、效率和可用性在一個比較理想的范圍內(nèi),并在一個特定環(huán)境中實現(xiàn)。
以聚類(Clustering)為代表的無監(jiān)督異常檢測(Unsupervised Anomaly Detection)方法的提出解決了傳統(tǒng)方法存在的問題。在入侵檢測系統(tǒng)中使用數(shù)據(jù)挖掘算法是IDS研究中一種新的趨勢,這一領域技術的成熟,將會有助于提高主機和網(wǎng)絡的安全性。將聚類分析應用于入侵檢測領域,是實現(xiàn)IDS智能化的重要手段,也是實現(xiàn)入侵檢測的關鍵。其主要思想是利用聚類分析算法提取相關的用戶行為特征,并根據(jù)這些特征生成安全事件的分類模型或具有代表性的系統(tǒng)特征模式,應用于安全事件的自動鑒別,以對程序和用戶行為作出更精確的描述。
這里采用了《系統(tǒng)安全與入侵檢測》中的實驗數(shù)據(jù)作為原始數(shù)據(jù),如樣本表所示。表中列出了 20 條網(wǎng)絡連接記錄的特征數(shù)據(jù),顯示了用戶登陸的一些特征。主要針對三維數(shù)組(Count,Srv_serror,Srv_count)對數(shù)據(jù)進行分析。這個三維數(shù)組較好的描述了數(shù)據(jù)是否具有攻擊特征。主要對這三個參數(shù)考察來區(qū)別攻擊、異常、正常行為。
攻擊:在一個時間窗口內(nèi),目標主機與當前連接相同的次數(shù)大于等于 15;同一主機的連接中出現(xiàn) SYN 錯誤的百分比大于等于 88%,且目標端口與當前連接相同次數(shù)大于等于 25。
異常:在一個時間窗口內(nèi),目標主機與當前連接相同次數(shù)大于等于 6;同一主機連接中出現(xiàn) SYN 錯誤的百分比大于 75%,且目標端口與當前連接相同次數(shù)大于等于 6。
正常:如果不滿足上述兩個條件。
樣本數(shù)據(jù)如下:
以下是對相關參數(shù)的一些說明:
Count:在一個時間窗口內(nèi)目標主機是與當前連接相同的連接次數(shù)(以下屬性針對相同主機的連接)。
Serror:出現(xiàn) SYN 錯誤的連接百分比。
Same_srv:目標端口(service)相同的連接所占的百分比
Diff_srv:目標端口(service)不同的連接所占的百分比
Srv_count:目標端(service)與當前連接相同的連接次數(shù)(以下屬性針對相同服務的連接)。
Srv_serror:出現(xiàn) SYN 錯誤的連接百分比。
Rv_diff_host:目標主機不同的連接所占的百分比。
3.建模過程
1)方案管理
2)數(shù)據(jù)管理
3)建模過程
a)導入數(shù)據(jù)
選擇Count,Srv_serror,Srv_count屬性,并導入20 條網(wǎng)絡連接記錄的特征數(shù)據(jù):
b)參數(shù)設置
c)聚類分析
聚類分析結果表明:當聚類數(shù)設置為3時,系統(tǒng)將 20 條記錄分為以下三類:
> 攻擊:3
> 異常:4,5,6,12,13,19,20
> 正常:1,2,7,8,9,10,11,14,15,16,17,18
聚類數(shù)為3時的聚類結果:
當聚類數(shù)設置為4時,系統(tǒng)將 20 條記錄分為以下四類:
系統(tǒng)將 20 條記錄分為以下四類:
> 攻擊:3
> 異常:4,6,12,13,20
> 異常:5,19。此為需重點監(jiān)視的異常行為
> 正常:1,2,7,8,9,10,11,14,15,16,17,18
聚類數(shù)為4時的聚類結果:
4.視頻演示
用戶可通過下面的網(wǎng)址體驗本案例的建模過程:
http://www.tipdm.cn