?

基于時空序列相似性的大規模內網數據庫非法訪問信息的挖掘算法

2024-01-09 16:54陳琳
江蘇理工學院學報 2023年6期
關鍵詞:內網歸類IP地址

陳琳

(福建信息職業技術學院物聯網與人工智能學院,福建福州 350001)

隨著信息化技術的發展,計算機和網絡在社會生產、生活中的重要性越來越凸顯。為了保障組織機構工作的安全與效率,政府和企業大多建設了自己的內網。內網作為網絡應用的重要組成部分,其安全性對信息的保密具有重要意義。內網信息安全問題根據威脅的類型可分為:外部的黑客入侵,即黑客盜取內網的機密信息;外部的襲擊行為,主要是內網用戶以不同的方式將主機連到外網,從而破壞了內網的封閉性。5G技術為內網的信息化改進提供了更加靈活的接入方式,但也增加了安全威脅。為此,科研人員設計了許多非法訪問信息的挖掘方法加以應對。其中,毛伊敏等人[1]運用信息熵和遺傳算法設計了挖掘算法,基于對數據相似項目的構建,通過支持度閾值進行挖掘,具有較好的挖掘效果。薛歡慶等人[2]提出了基于關系代數的挖掘算法,通過隸屬度函數對數據類型進行設定,在支持向量機的基礎上設定關聯規則,同樣具有較強的挖掘效果。

上述挖掘方法主要用在網絡通信數據庫中,由于缺乏連續性的數據挖掘規則,忽視非連續性數據的動態特征及數據中存在的時間關聯性,導致數據挖掘的最終結果存在偏差,無法有效區分非法訪問信息與安全信息。本文通過時空序列相似性設計了一種新的挖掘方法,將數據挖掘作為一個連續的過程,將訪問數據看作一個時空序列,對數據的時空屬性進行定義,并將其運用于內網數據庫的挖掘過程,為保證內網的信息安全提供技術支持。

1 大規模內網非法訪問信息挖掘規則知識庫的構建

為實現對內網數據庫非法訪問信息的大規模挖掘,需要預先設定挖掘規則。通過對數據類型的劃分,判斷其是否為異常行為或攻擊行為[3]。由于數據挖掘是一個連續性的過程,因此應建立動態循環的挖掘流程,在數據發出訪問時進行對比,并根據訪問特征建立數據審計結構,見圖1。

圖1 數據審計結構

圖1中,n 表示數據列總數。對數據結構的劃分主要依賴數據列,包括其訪問時間及用戶的ID信息等。在采集到訪問信息后,將其與具體的特征描述進行對照,完成對數據的先驗審計[4]。然后,從語句分析和關聯分析兩方面判斷該訪問數據是否為非法訪問。具體處理流程如下:

(1)語句分析,主要是對語句的表達形式進行檢測,驗證其是否存在攻擊和非法訪問的特征。因此,需要對語句的類型和操作表進行設定,實時跟蹤其變化情況。

(2)關聯分析,是指對數據庫鏈路中的數據進行關聯,根據主外鍵關系對訪問信息進行擴展,驗證是否存在相似的歷史數據。若具有相似性數據記錄,可初步判斷為安全數據;反之,判斷為非法訪問數據。

運行上述分析程序時,常規化的檢測用時較少,但如果發生非法訪問行為,內網數據庫被攻擊的概率很高[5]。為此,需要建立以服務數據審計為目標的挖掘規則知識庫,如圖2所示。圖中,m 表示數據量[6]。由于非法訪問通常為群體行為,若從單個操作來判斷可能為正常的語義,因此需要采用動態的知識庫進行規則設定;分別對訪問信息的產生時間、路徑以及流通至數據庫的節點進行檢驗,判斷其是否為數據庫中的非法權限用戶。通過上述規則,在時間序列中判斷非法訪問信息的相對位置,并對其位置關系進行標識。

圖2 挖掘規則知識庫

2 非法訪問信息相對序列位置連接關系的標識

序列長度能夠記錄不同數據產生的位置信息。為實現對大規模內網數據庫中非法訪問信息的快速挖掘,可利用上文設計的規則知識庫獲取信息的相對序列,并對其位置的連接關系進行標識。將每一個數據的序列記為單一項集,記作:

式中,b為數據序列串[7],v為數據序列長度[8]。數據序列長度與事件訪問時間有關;當為非法訪問數據時,其數據序列長度必大于給定的序列長度。據此,可建立序列的位置表征關系,見表1[9]。

表1 數據序列位置表征

根據表中內容,此次將序列劃分為4 個類型,分別按照向前和向后兩個方向對其進行位置信息判斷,每種序列類型分別對應一種位置。以序列定義來看,當數據的序列長度能夠繼續擴展時,則其中至少含有一個可變位置方向。根據擴展情況定義新序列,并給予新的支持系數,具體為:

其中:v″為數據序列長度的變化結構[10];→為變換過程;f為位置變換表征矩陣;h為支持系數;b″為新序列串?;诖?,對數據序列的擴展位置定義如下:

數據序列在傳輸過程中的具體位置可以用位置方向來表示,表達式見公式(5)。例如:當數據的序列長度v=1 時,其出現在方向z中的位置為z=2,則位置信息表示為(1 ,2 )。

3 時空序列相似性下數據庫非法信息挖掘的實現

基于設定的時間序列的位置關系,以時間順序對數據序列進行排序,根據時空序列相似性對非法訪問數據信息進行挖掘。以常規化的數據請求為例,在形式上將數據看作是一個時空序列,并對其時空屬性進行定義,則有:

其中:d為數據屬性集合;a為屬性個數;p為數據的屬性域[11];i為時空域;o為數據的表現形式,且oa∈p(da)[12]。測量數據序列之間的相似性,要求序列長度相同,且每個序列的屬性一致,計算公式如下:

式中:pv1和pv2表示屬性域為p的數據序列[13];ya、ua表示數據序列屬性,且ya∈da、ua∈da;t(pv1,pv2)表示序列之間的距離函數[14]。

由于數據在傳輸過程中為波動狀態,直接對相鄰數據進行長度計算容易產生誤差,因此需要設定一個平衡函數進行檢驗,該函數表達如下:

式中:e和w為數據在時空序列下的變動字符;r(e,w) 為平衡函數;r1、r2、r3為平衡得分[15];[matches] 為匹配狀態;[dismatches] 為不匹配狀態;[alighs] 為具有較小差異。在基于連續傳輸數據對比的挖掘中,只有[matches] 表示訪問數據與數據庫中的數據相類似,其余均為非法訪問狀態。至此,本文通過時空序列的相似性,完成非法訪問數據挖掘算法的設計。

4 實驗測試與分析

運用MATLAB_7.0 測試平臺模擬一個內網環境[16],以一個擁有邊界防火墻,并與外界隔絕的單位內網作為模擬對象;通過ETHERNET10M/1000M交換機組成局域網,該交換機不會與互聯網連接,因此可以實現局域網與外網的隔絕。在此基礎上,通過該局域網連接7 組計算機(其中包括兩組筆記本電腦),組成一個內網環境;具體配置見表2。

表2 測試環境配置情況

如表2 所示:編號Q1 的主機為整個測試的服務器,是該內網的控制臺;其余6臺主機為客戶端,均安裝監控代理裝置。利用MATLAB_7.0 測試平臺與MySQL 數據庫管理系統進行交互,在搭建的內網數據庫中隨機選擇4 150 組用戶訪問數據作為后期的測試對象,運用SNIFFER 軟件對客戶端用戶的非法訪問行為進行監控。完成測試環境的配置后,再對非法訪問信息的挖掘測試條件進行設定:在控制主機中編寫安全策略,并根據設備信息表中的ID 進行定義,編輯數據庫中所有信息的來源IP地址(見表3)。

MySQL 數據庫中有140 個數據集,選擇其中20個。統計所選數據集在內網中的數據量和安全等級,將5 級以下的設定為安全數據。在MySQL數據庫管理系統中創建一個名為“Iris”的表格,插入相應的實驗數據;則現階段數據庫中的數據均具有安全性,不會與后期的非法訪問產生沖突。除控制主機外,其余的主機均可模擬非法訪問行為。為保證測試的統一性,對其余主機的訪問IP進行包裝,使其盡可能地與安全信息的來源IP相似,也可以作為非法訪問信息的來源IP。具體情況如下:

(1)Q2主機:非法IP地址為132.07.2526.18,歸類為E2、Q2、R2;

(2)Q3主機:非法IP地址為125.07.2502.65,歸類為E3、Q3、R3;

(3)Q4主機:非法IP地址為128.07.3204.33,歸類為E4、Q4、R4;

(4)Q5主機:非法IP地址為125.08.2402.33,歸類為E5、Q5、R5;

(5)Q6主機:非法IP地址為125.07.2501.64,歸類為E6、Q6、R6;

(6)Q7 主機:其他非法IP 地址,歸類為E7、Q7、R7。

表3 來源IP地址

通過對4 組主機中產生的非法訪問信息的分析,發現其對應的IP 地址與表2 中安全數據的IP 地址較為相似,因此,能夠模擬非法數據的訪問,符合測試要求。其挖掘算法的Python 偽代碼如下:

1.//導入Iris庫和訪問IP包裝模塊

2.import pandas as pd

3.from sklearn.preprocessing import StandardScaler

4.from sklearn.cluster spatiotemporal variation attribute

5.//讀取Iris數據并進行預處理

6.iris_data = pd.read_csv('iris.csv')//假設數據集保存在'iris.csv'文件中

7.features = iris_data.drop('class',axis=1)//去除目標變量列

8.scaler=StandardScaler()

9.features_scaled = scaler.fit_transform(features)//特征標準化

10.//使用基本聚類算法

11.kmeans=KMeans(n_clusters=3,random_state=42)

12.kmeans.fit(features_scaled)

13.clusters=kmeans.predict(features_scaled)

14.//檢測非法訪問信息

15.illegal_access=[平衡函數]

16.for i in range(len(clusters)):

17.if clusters[i]!=iris_data['class'][i]://將實際類別與訪問數據得分進行比較

18.illegal_access.append(i)//如果不匹配,則認為是非法訪問信息

19.//輸出非法訪問信息的樣本索引

20.print("Illegal access samples:",illegal_access)

21.```

運用上述偽代碼對非法訪問數據進行挖掘,主要是基于對訪問數據IP 來源的確定,即只有標定出其具體的來源,才能完成攔截或是阻斷。因而,對本次選擇的安全IP 地址和非法IP 地址進行特征編碼,以二分法進行歸類處理,見圖3。圖中,橫縱坐標分別表示特征編碼,安全數據全部歸類在特征“1”中,非法訪問數據歸類在特征“2”中。挖掘測試中,設定非法訪問數據為同時段發布狀態,則4 組主機會同時段對內網數據庫進行訪問。為了明確本文方法的挖掘效果,特選擇基于關系代數的挖掘算法和基于信息熵的挖掘算法進行對比,見圖4。

圖3 數據特征編碼示意

圖4 不同算法的挖掘測試

由圖4可見,3種算法對非法訪問信息的挖掘結果各不相同。其中,基于關系代數的挖掘算法將W8、W13、W19 誤判為非法網絡數據,而將R2、E3、E6歸類到安全數據中。這是因為該算法包括復雜的數據關聯和模式挖掘,在處理大規模、非關系型的數據集時效率較低,會產生信息損失和偏差,因此挖掘效果受限?;谛畔㈧氐耐诰蛩惴▽16、W17、W18、W20 誤判為非法網絡數據,而將R2、R4、E3、Q3、R6歸類到安全數據中。這是因為該算法的計算過程涉及多個關系操作及其執行順序與優化,而信息熵計算又是個復雜的問題,用于處理大規模數據集時難以保證執行效率,必然導致挖掘的準確性和可信度下降。本文算法僅將W6 誤判為非法網絡數據,將R6 歸類到安全數據中,表現出較為理想的挖掘效果。這是由于本文算法利用時空序列相似性,將數據挖掘作為一個連續性的過程,降低了挖掘的誤差。

5 結語

本文通過時空序列相似性方式設計了新的數據挖掘算法,主要針對內網數據庫中存在的非法訪問信息進行挖掘。新算法在用戶同時發出訪問行為時,能高效、準確地劃分安全數據與非法訪問數據,挖掘效果理想,具有較好的應用價值。但因在非法訪問信息的設定方面沒有做專門的統計,所以研究還存在一定的不足,計劃在后續研究中加以完善。

猜你喜歡
內網歸類IP地址
電表“對”與“錯”歸類巧掌握
鐵路遠動系統幾種組網方式IP地址的申請和設置
Happiness through honorable actions
IP地址切換器(IPCFG)
基于SNMP的IP地址管理系統開發與應用
分式方程應用題歸類解說
企業內網中的數據隔離與交換技術探索
公安網絡中IP地址智能管理的研究與思考
地下車庫柱網布置設計思路
QoS技術在企業內網實踐探索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合