張雅茹
(連云港開放大學(xué) 繼續(xù)教育學(xué)院,江蘇 連云港 222000)
大數(shù)據(jù)時代,海量數(shù)據(jù)中隱藏著的大量攻擊性異常行為數(shù)據(jù)對網(wǎng)絡(luò)安全造成重大隱患,而入侵檢測技術(shù)能夠為數(shù)據(jù)安全提供保障[1]。針對現(xiàn)有網(wǎng)絡(luò)異常行為檢測技術(shù)中因數(shù)據(jù)不平衡而導(dǎo)致召回率低的問題,楊宏宇等人提出一種基于逆向習(xí)得推理的異常行為檢測模型,實驗結(jié)果表明,該模型在數(shù)據(jù)不平衡時仍具有較高的召回率和檢測精度[2]。針對現(xiàn)有網(wǎng)絡(luò)流量異常檢測技術(shù)對網(wǎng)絡(luò)環(huán)境動態(tài)變化適應(yīng)性差的問題,蔣華團隊提出一種自適應(yīng)閾值的網(wǎng)絡(luò)流量異常檢測方法,研究結(jié)果表明,該檢測方法對網(wǎng)絡(luò)異常流量具有較高的檢測精度[3]。在關(guān)于網(wǎng)絡(luò)異常檢測技術(shù)的研究中,較少有學(xué)者用二分K-means 算法解決正常行為特征行為模型效率低的問題,基于此,研究提出以改進后的二分K-means 算法來構(gòu)建正常行為特征訓(xùn)練集模型,并在此基礎(chǔ)上設(shè)計出網(wǎng)絡(luò)異常檢測算法ITCM-KNN,期望實現(xiàn)對網(wǎng)絡(luò)異常行為數(shù)據(jù)的高效檢測。
網(wǎng)絡(luò)異常檢測技術(shù)是根據(jù)正常的網(wǎng)絡(luò)數(shù)據(jù)集建立模型,然后將待檢測的數(shù)據(jù)與模型進行比對來判斷數(shù)據(jù)是否異常,異常檢測能夠檢測出未知的異常行為數(shù)據(jù),甚至察覺到潛在的網(wǎng)絡(luò)攻擊行為,因此常被用于進行網(wǎng)絡(luò)安全監(jiān)測[4-5]。大數(shù)據(jù)時代下,隨著網(wǎng)絡(luò)數(shù)據(jù)不斷更迭,傳統(tǒng)異常檢測方法效率低下、誤報率較高,難以有效區(qū)分攻擊類型和正常類型,基于此,研究提出基于改進二分K-means 算法的網(wǎng)絡(luò)異常檢測模型。首先利用二分K-means 聚類算法來對海量數(shù)據(jù)進行挖掘分析從而構(gòu)建出正常網(wǎng)絡(luò)行為模型,其次結(jié)合正常網(wǎng)絡(luò)行為模型設(shè)計出檢測算法ITCM-KNN,該模型如圖1 所示。
圖1 基于改進二分K-means 算法的網(wǎng)絡(luò)異常檢測算法模型示意圖
聚類分析是在未給定訓(xùn)練目標的情況下按照“簇內(nèi)樣本相似度最大,簇間樣本差異度最大”的規(guī)則對所收集的數(shù)據(jù)對象進行分類[6-7]。K-means劃分聚類算法因其簡潔、高效而被廣泛應(yīng)用,該算法的核心是依據(jù)特定的距離函數(shù)在已知的數(shù)據(jù)集合上將數(shù)據(jù)對象反復(fù)分配至k(需要的聚類數(shù)目)個聚類中[8]。根據(jù)歐幾里得距離公式計算出數(shù)據(jù)樣本點和聚類中心的距離如式(1)所示:
式(1)中,m 表示待聚類的個體特征變量,Xik、Xjk分別為第i 個、第j 個樣本的第k 個指標的取值。Dist(Xi,Xj)表示樣本點Xi、Xj之間的距離,距離越小表明兩個樣本點的性質(zhì)越相近。在構(gòu)建正常行為特征訓(xùn)練集模型時,Xij、Xjk分別代表兩個不同時刻的基于流量數(shù)據(jù)屬性的度量值數(shù)據(jù)集合。在異常檢測階段,Xij、Xjk分別代表不同時刻所得的H(SIP)、H(InDeg)、H(DPort)、OWCD 四維結(jié)構(gòu)數(shù)據(jù)屬性的度量值。假定總數(shù)據(jù)集D 通過聚類得到K個簇即D=(D1,D2,D3,…,Dk),異常檢測是以每個新類中各維數(shù)據(jù)的均值作為新類的中心值,新類Di的中心值Xi0如式(2)所示:
式(2)中,r 代表在某個新類中的數(shù)據(jù)個數(shù),Xt1、Xt2、Xt3、Xt4分別表示四維結(jié)構(gòu)的離散樣本點。由于K-means 算法是一種用于優(yōu)化非凸代價函數(shù)的貪婪下降求解算法,易陷入局部最優(yōu)解,且聚類結(jié)果受制于聚類中心的初始化選擇,因此研究引入二分K-means 算法解決上述問題。該算法的核心是利用K-means 算法將所有樣本數(shù)據(jù)分為兩個聚類,然后從兩個聚類中選擇樣本數(shù)據(jù)數(shù)量最多的聚類,并對該聚類進行迭代劃分操作直至獲得K個簇類算法。K-means 算法中的畸變函數(shù)即誤差平方和是聚類的評價函數(shù),如式(3)所示:
直推信度機是以隨機性思想理論為基礎(chǔ)建立的一種置信度機制,常用于衡量樣本的類別歸屬問題[9]。K-近鄰分類算法通過直接從訓(xùn)練集中搜尋出距待分類的樣本對象最近的k 個點來對樣本進行歸類,但是若樣本分布不平衡,待分類的樣本便可能分配到非目標類中,利用TCM 的檢測函數(shù)能夠避免KNN 算法將待分類的樣本歸類于非目標類中[10]。研究結(jié)合TCM、KNN 設(shè)計出TCM-KNN算法,該算法基于現(xiàn)有的樣本區(qū)域計算出待分類樣本各點之間的空間距離,然后利用置信度外推機制得到檢測函數(shù)P,并根據(jù)P 值評估樣本分屬于某一類中的可靠度。待分類的樣本i 對于類別y 的P 值如式(4)所示:
式(4)中,“#”為集合的“勢”,表示有限集合所包含的元素個數(shù),αj為集合中任一樣本的奇異值,αi為待分類樣本的奇異值,n 表示集合的個數(shù)。研究將TCM-KNN算法結(jié)合聚類分析構(gòu)建網(wǎng)絡(luò)異常檢測算法ITCM-KNN。ITCM-KNN算法是根據(jù)聚類后的正常數(shù)據(jù)集而構(gòu)建的異常檢測算法,假設(shè)改進的二分k-means 算法將正常數(shù)據(jù)集合分類為f 個聚類,ITCM-KNN 算法首先需計算出待測樣本相對于f 個聚類中心的歐氏距離,并將待測樣本加入到距離最短的聚類中。然后選擇最接近待檢測樣本點的聚類作為正常特征行為訓(xùn)練集。最后根據(jù)公式(4)得到待測樣本歸屬于正常特征行為訓(xùn)練集的概率P 值,若P 值小于預(yù)定的閾值τ=0.05,則置信度為1-τ 即作為判定異常的指標。
研究選用1999DARPA 數(shù)據(jù)集對異常檢測算法進行評估,使用Wireshark 抓包工具捕捉分析網(wǎng)絡(luò)中的數(shù)據(jù)包。對構(gòu)建正常行為模型的改進二分K-means算法設(shè)置參數(shù):聚類個數(shù)z=5;對網(wǎng)絡(luò)異常檢測算法ITCM-KNN設(shè)置最近鄰目數(shù)k=8,置信度1-τ=95%,并且實驗引入傳統(tǒng)檢測算法Cluster 作為基準算法與研究所提出的算法進行對照實驗。為檢驗ITCM-KNN算法的優(yōu)越性和有效性,研究在數(shù)據(jù)集上仿真算法Cluster、KNN、ITCM-KNN 對K-means 的聚類能力,以每一次迭代后的最優(yōu)適應(yīng)度值作為指標,如圖2 所示為根據(jù)每次迭代結(jié)果所繪制的迭代收斂圖。
圖2 不同算法在數(shù)據(jù)集上的收斂圖
由圖2 仿真曲線可知,相較KNN、Cluster 算法,ITCM-KNN 算法適應(yīng)度曲線較為平滑且收斂速度最為迅速,在迭代次數(shù)20 次內(nèi)就以較快的速度接近全局最優(yōu)解,在[20,40]的迭代區(qū)間內(nèi)實現(xiàn)最優(yōu)解。由此說明,ITCM-KNN 算法對比KNN、Cluster 算法對全局和局部的搜索能力提升顯著,聚類效果更優(yōu)異。
實驗以檢測率、誤報率作為衡量算法對網(wǎng)絡(luò)異常進行檢測的指標,如圖3 所示為Cluster、KNN、ITCM-KNN 算法誤報率-檢測率實驗關(guān)系對比圖。
圖3 算法誤報率-檢測率檢測對比圖
由圖3 可知,隨著檢測率的提升,三種算法的誤報率均相應(yīng)增加,其中ITCM-KNN 算法相較KNN、Cluster 算法在較高的檢測率下誤報率最低且曲線走勢平滑,由此說明ITCM-KNN 算法能較好平衡檢測率和誤報率兩者指標的關(guān)系。如圖4所示為三種算法在網(wǎng)絡(luò)異常檢測中檢測率、誤報率的具體表現(xiàn)。
圖4 算法網(wǎng)絡(luò)異常檢測效果對比圖
由圖4 可知,ITCM-KNN 算法在檢測率指標中相較Cluster、KNN 算法提升顯著,其檢測率較Cluster 算法平均提高8.37%,較KNN 算法平均提高2.78%。ITCM-KNN 算法在數(shù)據(jù)含量超過1/2 后與KNN 算法曲線拉大差距,說明ITCM-KNN 算法能夠快速準確地確定聚類中心,跳出局部最優(yōu)值而確定全局最優(yōu)值,從而提升對數(shù)據(jù)集的檢測率。從誤報率指標結(jié)果圖可知,ITCM-KNN 算法相較其它兩種算法誤報率最低,隨著數(shù)據(jù)含量增大誤報率下降明顯,其中相較Cluster 算法誤報率平均下降2.14%,較KNN 算法平均下降1.03%。
在大數(shù)據(jù)時代,網(wǎng)絡(luò)數(shù)據(jù)呈現(xiàn)出指數(shù)級增長的趨勢,而在這些數(shù)據(jù)中,大量網(wǎng)絡(luò)異常數(shù)據(jù)所代表的網(wǎng)絡(luò)性攻擊行為對網(wǎng)絡(luò)安全造成巨大挑戰(zhàn),傳統(tǒng)網(wǎng)絡(luò)異常檢測技術(shù)難以對海量數(shù)據(jù)進行有效挖掘分析。研究提出以改進二分K-means 聚類算法構(gòu)建正常行為特征訓(xùn)練集模型,在此基礎(chǔ)上將直推信度機制、K-近鄰算法結(jié)合所建立的正常行為特征模型設(shè)計出異常檢測算法ITCM-KNN,隨后以仿真的形式對該算法進行了驗證。實驗結(jié)果表明,ITCM-KNN 算法的檢測率相較Cluster 算法平均提高8.37%,誤報率平均下降2.14%,檢測率相較KNN 算法平均提高2.78%,誤報率平均下降1.03%。由此說明研究所提出的ITCM-KNN 算法能夠在保持較高檢測率的同時降低誤報率,改善了傳統(tǒng)檢測技術(shù)難以處理海量數(shù)據(jù)的困境。由于研究對該算法進行驗證所采用的是模擬實驗數(shù)據(jù)集,因此未來可將ITCM-KNN 算法應(yīng)用于真實網(wǎng)絡(luò)環(huán)境中檢測,以便更有效說明該算法的適應(yīng)性與可行性。