摘" 要: 通過離群點檢測可以及時發(fā)現(xiàn)計算機網(wǎng)絡(luò)中的異常,從而為風(fēng)險預(yù)警和控制提供重要線索。為此,設(shè)計一種基于局部信息熵的計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng)。在高維數(shù)據(jù)采集模塊中,利用Wireshark工具采集計算機網(wǎng)絡(luò)原始高維數(shù)據(jù)包;并在高維數(shù)據(jù)存儲模塊中建立MySQL數(shù)據(jù)庫、Zooleeper數(shù)據(jù)庫與Redis數(shù)據(jù)庫,用于存儲采集的高維數(shù)據(jù)包。在高維數(shù)據(jù)離群點檢測模塊中,通過微聚類劃分算法劃分存儲的高維數(shù)據(jù)包,得到數(shù)個微聚類;然后計算各微聚類的局部信息熵,確定各微聚類內(nèi)是否存在離群點;再依據(jù)偏離度挖掘微聚類內(nèi)的離群點;最后,利用高維數(shù)據(jù)可視化模塊呈現(xiàn)離群點檢測結(jié)果。實驗證明:所設(shè)計系統(tǒng)不僅可以有效采集計算機網(wǎng)絡(luò)高維數(shù)據(jù)并劃分計算機網(wǎng)絡(luò)高維數(shù)據(jù),還能夠有效檢測高維數(shù)據(jù)離群點,且離群點檢測效率較快。
關(guān)鍵詞: 計算機網(wǎng)絡(luò); 高維數(shù)據(jù); 離群點檢測; 局部信息熵; Wireshark工具; 微聚類劃分
中圖分類號: TN919.1?34; TP391" " " " " " " " " "文獻標(biāo)識碼: A" " " " " " " " " " 文章編號: 1004?373X(2024)10?0091?05
A computer network high?dimensional data outlier detection system based on
local information entropy
Abstract:" The anomalies in computer networks can be detected in a timely manner by means of outlier detection, so as to provide important clues for risk warning and control. On this basis, a computer network high?dimensional data outlier detection system based on local information entropy is designed. In the high?dimensional data collection module, Wireshark tool is used to collect raw high?dimensional data packets from computer networks. The high?dimensional data storage module is established by means of MySQL database, Zooleeper database, and Redis database to store the collected high?dimensional data packets. In the high?dimensional data outlier detection module, the stored high?dimensional data packets are divided by means of micro clustering partitioning algorithm to obtain several micro clusters. The local information entropy of each micro cluster is calculated to determine whether there are outliers within each micro cluster, and outliers within micro clustering are mined based on the degree of deviation. The high?dimensional data visualization module is used to present outlier detection results. The experimental results show that the system can not only effectively collect high?dimensional data from computer networks and partition them, but also effectively detect outliers in high?dimensional data, and the efficiency of outlier detection is fast.
Keywords: computer network; high dimensional data; outlier detection; local information entropy; Wireshark tool; microclustering division
0" 引" 言
計算機網(wǎng)絡(luò)中,網(wǎng)絡(luò)流量、用戶行為、社交網(wǎng)絡(luò)等數(shù)據(jù)呈現(xiàn)出高維度的特性[1],這些數(shù)據(jù)中可能隱藏著重要的信息和模式。離群點是數(shù)據(jù)集中與其他數(shù)據(jù)點顯著不同的觀測值[2?4],也可能是異常事件、惡意行為或重要機會的指示器,因此,準(zhǔn)確、高效地檢測離群點對于網(wǎng)絡(luò)安全、數(shù)據(jù)分析和決策支持等方面具有重要意義。例如,在網(wǎng)絡(luò)安全領(lǐng)域,檢測異常流量可以識別網(wǎng)絡(luò)攻擊和病毒傳播;在用戶行為分析中,檢測異常行為有助于理解用戶需求和市場趨勢;在社交網(wǎng)絡(luò)中,檢測離群點可以發(fā)現(xiàn)關(guān)鍵人物和群體,為社交媒體分析和輿情監(jiān)控提供支持。
目前,有很多學(xué)者對計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測問題進行了大量研究。葉晟等人結(jié)合了網(wǎng)格劃分和LLE方法,旨在有效地識別高維數(shù)據(jù)中的離群點[5]。通過將數(shù)據(jù)劃分為網(wǎng)格,系統(tǒng)能夠快速處理大規(guī)模數(shù)據(jù)集,并利用LLE方法對每個網(wǎng)格進行局部特征提取和降維。離群點檢測基于降維后的數(shù)據(jù),能夠自適應(yīng)地識別離群點,并具有較好的魯棒性和準(zhǔn)確性,但該系統(tǒng)對于高度非線性分布的數(shù)據(jù)難以捕捉其復(fù)雜結(jié)構(gòu),從而影響離群點檢測的準(zhǔn)確性。傅麗芳等人利用CART算法構(gòu)建決策樹模型,對網(wǎng)絡(luò)大數(shù)據(jù)集進行分類和回歸分析,同時檢測其中的離群點[6]。系統(tǒng)采用滑動窗口技術(shù)處理動態(tài)數(shù)據(jù)集,能夠?qū)崟r地檢測離群點并更新檢測結(jié)果。但該系統(tǒng)中CART算法在處理大規(guī)模數(shù)據(jù)時,會遇到內(nèi)存限制和計算效率問題。
局部信息熵能夠更好地適應(yīng)高維數(shù)據(jù)的特性,提取出更多有用的信息,它還能夠更好地反映數(shù)據(jù)的內(nèi)在特征和分布情況,從而提高離群點檢測的準(zhǔn)確性?;谏鲜龇治?,本文設(shè)計一種基于局部信息熵的計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng),以準(zhǔn)確、高效地檢測離群點,這對于網(wǎng)絡(luò)安全、數(shù)據(jù)分析和決策支持等方面的研究具有重要意義。
1" 計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng)
為及時發(fā)現(xiàn)計算機網(wǎng)絡(luò)高維數(shù)據(jù)中的異常數(shù)據(jù),設(shè)計計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng)。該系統(tǒng)內(nèi)共包含4個模塊,分別是采集模塊、存儲模塊、離群點檢測模塊以及可視化模塊。計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng)的結(jié)構(gòu)如圖1所示。
該系統(tǒng)的離群點檢測步驟如下。
1) 高維數(shù)據(jù)采集模塊在計算機網(wǎng)絡(luò)的出口路由器位置,通過Wireshark工具采集計算機網(wǎng)絡(luò)的原始高維數(shù)據(jù)包。
2) 高維數(shù)據(jù)存儲模塊采用MySQL數(shù)據(jù)庫、Zooleeper數(shù)據(jù)庫與Redis數(shù)據(jù)庫,存儲采集的計算機網(wǎng)絡(luò)原始高維數(shù)據(jù)包。
3) 高維數(shù)據(jù)離群點檢測模塊通過微聚類劃分算法劃分計算機網(wǎng)絡(luò)原始高維數(shù)據(jù)包,得到數(shù)個微聚類。通過計算各微聚類的局部信息熵,確定各微聚類內(nèi)是否存在離群點。通過基于距離的方法,在存在離群點的微聚類內(nèi)挖掘?qū)?yīng)的離群點。
4) 利用高維數(shù)據(jù)可視化模塊,呈現(xiàn)計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測結(jié)果。
1.1" 高維數(shù)據(jù)存儲模塊
高維數(shù)據(jù)存儲模塊中包含三種類型的數(shù)據(jù)庫,存儲高維數(shù)據(jù)采集模塊采集的計算機網(wǎng)絡(luò)高維數(shù)據(jù)包。其中:MySQL數(shù)據(jù)庫具備持久化的高維數(shù)據(jù)存儲功能[7],用于存儲計算機網(wǎng)絡(luò)高維配置信息、服務(wù)器的高維日志記錄;Zooleeper數(shù)據(jù)庫屬于臨時數(shù)據(jù)庫,用于存儲臨時的計算機網(wǎng)絡(luò)高維配置信息[8];Redis數(shù)據(jù)庫用于存儲計算機網(wǎng)絡(luò)已完成的會話流標(biāo)識,以及未完成會話流內(nèi)高維數(shù)據(jù)包的負(fù)載。
MySQL數(shù)據(jù)庫內(nèi)存儲的計算機網(wǎng)絡(luò)配置信息格式如表1所示。
計算機網(wǎng)絡(luò)配置信息tb_configure內(nèi)包含三個關(guān)鍵字段,分別是計算機網(wǎng)絡(luò)設(shè)備Device、BPF過濾表達式Filter、檢測服務(wù)器的地址Server。
MySQL數(shù)據(jù)庫內(nèi)存儲的計算機網(wǎng)絡(luò)服務(wù)器高維日志記錄格式如表2所示。
計算機網(wǎng)絡(luò)服務(wù)器高維日志記錄tb_session內(nèi)具有兩種關(guān)鍵字段,分別是五元組與預(yù)測標(biāo)簽predicate。其中,五元組分別是計算機網(wǎng)絡(luò)協(xié)議Protocol、源IP地址src_ip、源端口號src_port、目的IP地址dest_ip、目的端口號dest_port。
Zookeeper屬于內(nèi)存型數(shù)據(jù)庫,以文件系統(tǒng)的方式存儲計算機網(wǎng)絡(luò)的臨時高維配置信息[9]。而Redis數(shù)據(jù)庫可存儲多種類型的計算機網(wǎng)絡(luò)高維數(shù)據(jù)包,通過單線程的方式處理高維數(shù)據(jù)包,通過多線程的方式接收高維數(shù)據(jù)包調(diào)用請求,同時不同請求間不會出現(xiàn)干擾問題[10]。因此,本文利用Redis數(shù)據(jù)庫存儲已完成與未完成的會話流done_session、doing_session::{id},已完成與未完成的會話流的存儲格式如表3所示。
1.2" 基于局部信息熵的高維數(shù)據(jù)離群點檢測算法
高維數(shù)據(jù)離群點檢測模塊利用微聚類劃分算法,劃分高維數(shù)據(jù)存儲模塊內(nèi)存儲的計算機網(wǎng)絡(luò)高維數(shù)據(jù)包,得到[k]個計算機網(wǎng)絡(luò)高維數(shù)據(jù)微聚類。具體步驟如下:
1) 輸入高維數(shù)據(jù)存儲模塊內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)集[X=X1,X2,…,Xn]。
2) 初始化[X]內(nèi)全部的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象,得到相應(yīng)的簇[C1,C2,…,Ci,Cj,…,Cn],并將其作為微聚類。
3) 計算微聚類間的最小距離,公式如下:
式中:第[i]個簇[Ci]內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象為[Xp];第[j]個簇[Cj]內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象為[Xq]。
在計算機網(wǎng)絡(luò)高維數(shù)據(jù)的微聚類內(nèi),利用式(1)選擇2個距離最小的簇[Ci]與[Cj],組合成一個新的聚類[Ch]。[Ch]內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象屬于原始計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象的并集,即[Ch=Ci?Cj],同時返回微聚類數(shù)量[k]。
4) 按照[Ch]內(nèi)計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象的均值,將各計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象分配至與其最接近的簇[KCk]內(nèi),并更新簇均值,再次確定聚類中心。
5) 反復(fù)操作上述步驟,到簇均值無改變?yōu)橹埂?/p>
6) 輸出計算機網(wǎng)絡(luò)高維數(shù)據(jù)集內(nèi)微聚類數(shù)量[k],以及微聚類結(jié)果[KC=KC1,KC2,…,KCk]。
利用局部信息熵[H]描繪各微聚類[KCi]內(nèi)計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象的分布狀態(tài),即通過[H]分析[KCi]內(nèi)是否存在離群點。
令[KCi]內(nèi)計算機網(wǎng)絡(luò)數(shù)據(jù)對象是[Xp]與[Xq],則[Xp]的局部信息熵為:
在剔除偏離度最大的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象后,微聚類的局部信息熵為[HXp],則局部信息熵閾值公式如下:
[ε=HXp-HXp]" " " " " (3)
當(dāng)[ε]無限接近0,說明該微聚類內(nèi)不存在離群點,并剔除該微聚類;否則,代表該微聚類內(nèi)存在離群點,并加入離群點數(shù)據(jù)集內(nèi)。
依據(jù)偏離度降序排列離群點數(shù)據(jù)集內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象,便可得到前[τ]個離群點,即計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測結(jié)果。離群點數(shù)據(jù)集內(nèi)計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象[Xp]與[Xq]的空間加權(quán)距離為:
式中[ω]為權(quán)重。
微聚類中計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象的偏離度為:
式中:[m]為離群點數(shù)據(jù)集內(nèi)計算機網(wǎng)絡(luò)高維數(shù)據(jù)對象數(shù)量。[g]值越大,對應(yīng)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)偏離程度越大,屬于離群點的概率越高。
2" 實驗分析
以某計算機網(wǎng)絡(luò)環(huán)境為實驗對象,該計算機網(wǎng)絡(luò)環(huán)境內(nèi)包含1個主服務(wù)器、1個中心設(shè)備、1個交換模塊、4個共享模塊以及8個主機。
該計算機網(wǎng)絡(luò)環(huán)境在2個月內(nèi),共產(chǎn)生100萬條計算機網(wǎng)絡(luò)高維數(shù)據(jù),計算機網(wǎng)絡(luò)高維數(shù)據(jù)集的維度在10~100維之間。
利用本文系統(tǒng)采集計算機網(wǎng)絡(luò)高維數(shù)據(jù),數(shù)據(jù)的分布情況如圖2所示。
分析圖2可知,本文系統(tǒng)可有效采集計算機網(wǎng)絡(luò)高維數(shù)據(jù),從數(shù)據(jù)的分布情況可以看到,采集的高維數(shù)據(jù)均勻分布在數(shù)據(jù)空間內(nèi)。
利用本文系統(tǒng)對數(shù)據(jù)進行微聚類劃分,計算機網(wǎng)絡(luò)高維數(shù)據(jù)劃分結(jié)果如圖3所示,其中共包含7種類型。
分析圖3可知:本文系統(tǒng)可對計算機網(wǎng)絡(luò)高維數(shù)據(jù)進行有效微聚類劃分,共得到7個簇,與實際計算機網(wǎng)絡(luò)高維數(shù)據(jù)類型相同;同時,本文系統(tǒng)劃分后的每個簇間并無混淆情況,邊界清晰,說明本文系統(tǒng)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)微聚類劃分效果較優(yōu)。
利用本文系統(tǒng)計算各微聚類的局部信息熵閾值,分析各微聚類內(nèi)是否存在離群點,計算結(jié)果如表4所示。
分析表4可知:本文系統(tǒng)可有效計算各微聚類的局部信息熵,得到局部信息熵閾值,其中,簇1、簇3、簇5、簇6、簇7的局部信息熵閾值均與0較為接近,說明這5個簇內(nèi)不存在離群點;簇2與簇4的局部信息熵閾值明顯高于0,說明這兩個簇內(nèi)存在離群點。
利用本文系統(tǒng)對簇2與簇4內(nèi)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)進行離群點檢測,離群點檢測結(jié)果如圖4所示。
分析圖4可知,雖然計算機網(wǎng)絡(luò)高維數(shù)據(jù)內(nèi),正常數(shù)據(jù)點與離群點高度混合在一起,但本文系統(tǒng)依舊能夠有效檢測出離群點,說明本文系統(tǒng)具備計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測的能力。
一般而言,傳輸速率越快,則離群點檢測效率越快,當(dāng)傳輸速率超過30 Gb/s時,說明系統(tǒng)的高維數(shù)據(jù)離群點檢測效率較快。本文系統(tǒng)的高維數(shù)據(jù)傳輸速率分析結(jié)果如圖5所示。
分析圖5可知,本文系統(tǒng)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)傳輸速率在65 Gb/s左右,明顯高于30 Gb/s,說明本文系統(tǒng)的計算機網(wǎng)絡(luò)高維數(shù)據(jù)傳輸速率較快,進而高維數(shù)據(jù)離群點檢測效率較高。
3" 結(jié)" 語
本文提出一種基于局部信息熵的計算機網(wǎng)絡(luò)高維數(shù)據(jù)離群點檢測系統(tǒng),該系統(tǒng)利用局部信息熵完成離群點檢測。通過實驗驗證,本文系統(tǒng)能夠準(zhǔn)確地識別出高維數(shù)據(jù)中的離群點,具有良好的魯棒性和自適應(yīng)性,是一種有效的離群點檢測方法。該系統(tǒng)可以應(yīng)用于網(wǎng)絡(luò)安全、數(shù)據(jù)挖掘、機器學(xué)習(xí)等領(lǐng)域,為企業(yè)和組織提供有力的支持。
參考文獻
[1] 劉琨,張曉涵,曹汝坤,等.IPv6遠(yuǎn)程監(jiān)控網(wǎng)絡(luò)下無狀態(tài)通信數(shù)據(jù)的多尺度離群點挖掘算法[J].電信科學(xué),2023,39(8):118?126.
[2] 郭一陽,于炯,杜旭升,等.基于隨機投影與集成學(xué)習(xí)的離群點檢測算法[J].計算機應(yīng)用研究,2022,39(9):2608?2614.
[3] 何美玲,李佩雅.面向高維大數(shù)據(jù)的局部離群點并行檢測算法[J].計算機仿真,2022,39(2):304?308.
[4] 高志宇,宋學(xué)坤,肖俊生,等.基于神經(jīng)網(wǎng)絡(luò)的大規(guī)模數(shù)據(jù)集離群點檢測算法[J].沈陽工業(yè)大學(xué)學(xué)報,2022,44(4):420?425.
[5] 葉晟,吳曉朝.基于網(wǎng)格劃分和LLE的高維數(shù)據(jù)離群點自適應(yīng)檢測方法[J].湖南科技大學(xué)學(xué)報(自然科學(xué)版),2023,38(1):85?91.
[6] 傅麗芳,陳卓,敖長林.基于分類和回歸樹決策樹的網(wǎng)絡(luò)大數(shù)據(jù)集離群點動態(tài)檢測算法[J].吉林大學(xué)學(xué)報(工學(xué)版),2023,53(9):2620?2625.
[7] 張玉婷,馮山.一種基于鄰域近似精度的離群點檢測方法[J].數(shù)據(jù)采集與處理,2022,37(5):1018?1025.
[8] 張忠平,張玉停,劉偉雄,等.基于質(zhì)心投影波動的離群點檢測算法[J].計算機集成制造系統(tǒng),2022,28(12):3867?3876.
[9] 楊志勇,江峰,于旭,等.采用離群點檢測技術(shù)的混合型數(shù)據(jù)聚類初始化方法[J].智能系統(tǒng)學(xué)報,2023,18(1):56?65.
[10] 金利娜,于炯,杜旭升,等.基于生成對抗網(wǎng)絡(luò)和變分自編碼器的離群點檢測算法[J].計算機應(yīng)用研究,2022,39(3):774?779.
[11] 趙向兵,張?zhí)靹?基于相關(guān)子空間的高維離群數(shù)據(jù)檢測算法[J].計算技術(shù)與自動化,2022(1):82?86.
[12] 安云哲,吳東翰,夏秀峰,等.面向流數(shù)據(jù)的多離群點檢測算法研究[J].河南科技學(xué)院學(xué)報(自然科學(xué)版),2023,51(1):48?57.
[13] 蔣斌,黃恩銘.基于分形理論的異質(zhì)網(wǎng)絡(luò)中局部離群點檢測[J].計算機仿真,2023,40(1):544?547.