摘 要:軟件定義網(wǎng)絡(luò)中存在多種不同類型的異常流量,高維數(shù)的異常流量需要大量的數(shù)據(jù)進行訓(xùn)練和檢測,異常流量難以被準確提取,導(dǎo)致軟件定義網(wǎng)絡(luò)異常流量難以精準檢測。為此,該研究基于無監(jiān)督學(xué)習的軟件定義網(wǎng)絡(luò)異常流量檢測技術(shù),提升軟件定義網(wǎng)絡(luò)的運行安全性。利用無監(jiān)督學(xué)習方法中的自編碼器方法,通過壓縮網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)2部分檢測軟件定義網(wǎng)絡(luò)異常流量。壓縮網(wǎng)絡(luò)部分采用收縮自編碼技術(shù),通過調(diào)節(jié)重構(gòu)誤差的損失函數(shù),對軟件定義網(wǎng)絡(luò)流量特征實施降維處理;將降維處理后的軟件定義網(wǎng)絡(luò)流量特征,輸入條件生成對抗網(wǎng)絡(luò)-長短時記憶網(wǎng)絡(luò)模型中,該模型利用生成器生成軟件定義網(wǎng)絡(luò)流量樣本,作為判別器訓(xùn)練的依據(jù),利用完成訓(xùn)練的判別器,輸出軟件定義網(wǎng)絡(luò)異常流量檢測結(jié)果。實驗結(jié)果表明,該方法在迭代次數(shù)接近150次時,重構(gòu)誤差穩(wěn)定至0.01左右,該方法能夠有效檢測軟件定義網(wǎng)絡(luò)受到不同類型的攻擊造成的流量異常情況,及時發(fā)出告警,異常流量檢測精度為98.98%。
關(guān)鍵詞:無監(jiān)督學(xué)習;軟件定義網(wǎng)絡(luò);異常流量檢測;壓縮網(wǎng)絡(luò);收縮自編碼;判別器
中圖分類號:TP393 文獻標志碼:A 文章編號:2095-2945(2024)24-0032-07
Abstract: There are many different types of abnormal traffic in software-defined network, high-dimensional abnormal traffic needs a lot of data for training and detection, abnormal traffic is difficult to be extracted accurately, so it is difficult to accurately detect abnormal traffic in software-defined network. For this reason, the software-defined network abnormal traffic detection technology based on unsupervised learning is studied to improve the operational security of the software-defined network. By using the self-encoder method of unsupervised learning method, the abnormal network traffic defined by software is detected by compressing the network and detecting the network. The shrinking self-coding technology is adopted in the compressed network part, and the dimensionality reduction of the software-defined network traffic characteristics is implemented by adjusting the loss function of the reconstruction error. After the dimensionality reduction, the software defines the network traffic characteristics, and the input condition generates the countermeasure network-short-term memory network model. The model uses the generator to generate the software-defined network traffic sample as the basis for the discriminator training. The discriminator that completes the training is used to output the abnormal network traffic detection results of the software definition. The experimental results show that when the number of iterations is close to 150, the reconstruction error is stable to about 0.01. This method can effectively detect the traffic anomalies caused by different types of attacks on the software-defined network, and issue alarms in time, so that the accuracy of abnormal traffic detection is 98.98%.
Keywords: unsupervised learning; software-defined network; abnormal traffic detection; compressed network; shrinking self-coding; discriminator
隨著信息技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)安全事故頻發(fā),隱私保護與數(shù)據(jù)安全成為研究熱點。軟件定義網(wǎng)絡(luò)(SDN)因其靈活性、可編程性和可擴展性,在提升網(wǎng)絡(luò)性能的同時,也暴露了更多被攻擊的風險。因此,SDN中的異常流量檢測成為通信網(wǎng)絡(luò)安全的重要研究課題。
傳統(tǒng)有監(jiān)督異常檢測方法依賴于大量標記樣本,難以應(yīng)對未標記或新出現(xiàn)的異常流量。而無監(jiān)督學(xué)習方法無需事先標記數(shù)據(jù),能自動學(xué)習數(shù)據(jù)內(nèi)在規(guī)律,有效彌補這一不足。常用的無監(jiān)督學(xué)習算法包括聚類、自編碼器和生成對抗網(wǎng)絡(luò)(GAN),它們在異常流量檢測中展現(xiàn)出巨大潛力。然而,單一無監(jiān)督學(xué)習算法在SDN異常流量檢測中往往忽視時間因素,影響檢測效果。無監(jiān)督學(xué)習算法的優(yōu)勢在于無需特征提取,能自動挖掘未標記數(shù)據(jù)中的異常模式,有效應(yīng)對高維數(shù)據(jù)帶來的挑戰(zhàn)。特別地,自編碼器因其強大的數(shù)據(jù)重構(gòu)能力,在異常檢測中表現(xiàn)突出。
現(xiàn)有研究如Mahfouz等利用機器學(xué)習算法檢測網(wǎng)絡(luò)異常流量,通過博弈論與網(wǎng)絡(luò)安全數(shù)據(jù)集驗證其有效性,提升了檢測速度和準確性;Muhuri等結(jié)合長短時記憶網(wǎng)絡(luò)與遺傳算法,實現(xiàn)了異常流量的高效檢測;Nakashima等則通過特征選擇優(yōu)化檢測過程,減少特征數(shù)量同時提升檢測性能。這些方法雖取得一定成果,但存在特征提取復(fù)雜、實時性不足等問題。
針對上述問題,本文聚焦于基于無監(jiān)督學(xué)習的SDN異常流量檢測技術(shù),特別是引入自編碼器結(jié)合長短時記憶網(wǎng)絡(luò)中的生成器與判別器。該方法利用生成器的重構(gòu)誤差和判別器的分類結(jié)果,綜合判斷SDN中的異常流量,不僅提升了檢測精度,還增強了實時性。通過此技術(shù),能夠更有效地識別SDN中的未知和復(fù)雜攻擊,保障網(wǎng)絡(luò)的安全穩(wěn)定運行??傊?,本文提出的無監(jiān)督學(xué)習方法在SDN異常流量檢測中的應(yīng)用,為解決當前網(wǎng)絡(luò)安全挑戰(zhàn)提供了新的思路與解決方案。
1 軟件定義網(wǎng)絡(luò)結(jié)構(gòu)分析
軟件定義網(wǎng)絡(luò)是一種可編程的網(wǎng)絡(luò)結(jié)構(gòu),軟件定義網(wǎng)絡(luò)主要包括分布式轉(zhuǎn)發(fā)部分和集中式控制部分。軟件定義網(wǎng)絡(luò)將數(shù)據(jù)平面以及數(shù)據(jù)控制集中調(diào)控處理,為不同形式的編程提供接口。軟件定義網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
通過圖1看出,軟件定義網(wǎng)絡(luò)主要包括數(shù)據(jù)層、控制層、應(yīng)用層3部分組成。
軟件定義網(wǎng)絡(luò)的應(yīng)用層,由2個以上的軟件定義網(wǎng)絡(luò)組成,利用軟件定義網(wǎng)絡(luò)控制設(shè)備和北向接口進行數(shù)據(jù)交換。交換過程中,利用編程方法將傳輸內(nèi)容傳送至網(wǎng)絡(luò)的控制設(shè)備中。單個軟件定義網(wǎng)絡(luò)應(yīng)用中,設(shè)置多個北向接口驅(qū)動,抽象與封裝處理軟件定義網(wǎng)絡(luò)的自身功能,將封裝后的功能,提供至北向代理接口。完成功能傳送后,將北向接口由低等級轉(zhuǎn)換至高等級。
軟件定義網(wǎng)絡(luò)的控制層即網(wǎng)絡(luò)的控制設(shè)備。利用控制層,向軟件定義網(wǎng)絡(luò)的應(yīng)用層發(fā)送邀請,將控制平面轉(zhuǎn)換為供給應(yīng)用層與數(shù)據(jù)層的網(wǎng)絡(luò)抽象模型。利用2個以上的網(wǎng)元,組成軟件定義網(wǎng)絡(luò)的數(shù)據(jù)平面。軟件定義網(wǎng)絡(luò)的控制設(shè)備構(gòu)成軟件定義網(wǎng)絡(luò)的網(wǎng)元,軟件定義網(wǎng)絡(luò)的控制設(shè)備均設(shè)置了獨立邏輯的網(wǎng)絡(luò)器材,僅具有數(shù)據(jù)轉(zhuǎn)發(fā)以及網(wǎng)絡(luò)數(shù)據(jù)處理功能,并不具備軟件定義網(wǎng)絡(luò)的調(diào)控功能。軟件定義網(wǎng)絡(luò)的控制設(shè)備,利用控制層端口完成軟件定義網(wǎng)絡(luò)的處理功能。軟件定義網(wǎng)絡(luò)的控制層,負責網(wǎng)絡(luò)通信的靜態(tài)工作。控制層主要包括網(wǎng)元配置、軟件定義網(wǎng)絡(luò)控制設(shè)備控制、軟件定義網(wǎng)絡(luò)應(yīng)用范圍控制等功能。將軟件定義網(wǎng)絡(luò)加入數(shù)據(jù)中心網(wǎng)絡(luò)中,具有提升網(wǎng)絡(luò)不同設(shè)備間的交換便捷性,降低通信網(wǎng)絡(luò)運行成本的作用。
2 基于自編碼器的無監(jiān)督異常流量檢測算法
將無監(jiān)督學(xué)習方法引入軟件定義網(wǎng)絡(luò)的異常流量檢測中,網(wǎng)絡(luò)異常流量檢測的總體結(jié)構(gòu)圖如圖2所示。
通過圖2可以看出,網(wǎng)絡(luò)異常流量檢測主要包括流量生成模塊、控制模塊及應(yīng)用模塊3部分。
利用流量生成模塊和支持OpenFlow技術(shù)的交換機進行軟件定義網(wǎng)絡(luò)異常流量檢測的數(shù)據(jù)轉(zhuǎn)發(fā)。支持OpenFlow技術(shù)的交換機包括OpenFlow協(xié)議安全通道以及流表。對于軟件定義網(wǎng)絡(luò)中接收的通信數(shù)據(jù)包,利用交換機依據(jù)固定的匹配規(guī)則,匹配軟件定義網(wǎng)絡(luò)的流表項。利用流量生成模塊生成正常流量與異常流量,將生成的流量傳送至交換機內(nèi)。
利用控制模塊將傳統(tǒng)交換設(shè)備中的控制部分,轉(zhuǎn)換為網(wǎng)絡(luò)操作部分。利用南向接口進行網(wǎng)絡(luò)設(shè)備的集中維護與管控,將北向編程接口提供至上層的業(yè)務(wù)與應(yīng)用部分,為軟件定義網(wǎng)絡(luò)提供更優(yōu)質(zhì)的服務(wù)水平。依據(jù)主機路徑信息或固定的通信需求,利用流表更新模塊,對網(wǎng)絡(luò)設(shè)備流表進行更新操作。
利用應(yīng)用模塊分析軟件定義網(wǎng)絡(luò)流量,檢測軟件定義網(wǎng)絡(luò)是否出現(xiàn)由于攻擊造成的流量異常情況。應(yīng)用模塊利用流量分析模塊分析流量。利用攻擊檢測模塊分析軟件定義網(wǎng)絡(luò)的流量信息,利用無監(jiān)督學(xué)習算法判定是否產(chǎn)生攻擊。攻擊檢測模塊檢測到軟件定義網(wǎng)絡(luò)存在攻擊情況時,利用主機標識模塊確定主機位置,針對異常流量位置及時做出決策。
自編碼器是無監(jiān)督學(xué)習方法中的重要方法,對于海量的軟件定義網(wǎng)絡(luò)流量數(shù)據(jù),具有較高的檢測性能。對軟件定義網(wǎng)絡(luò)異常流量數(shù)據(jù)進行檢測時,首先需要對軟件定義網(wǎng)絡(luò)的高維流量數(shù)據(jù)進行降維處理,將軟件定義網(wǎng)絡(luò)流量數(shù)據(jù)的高維特征映射至低維空間中,在低維空間中,進行流量樣本的異常檢測。
基于自編碼器的軟件定義網(wǎng)絡(luò)異常流量檢測的結(jié)構(gòu)圖如圖3所示。
通過圖3可以看出,軟件定義網(wǎng)絡(luò)異常流量檢測,主要包括流量樣本降維以及異常流量檢測兩部分。通過聯(lián)合訓(xùn)練調(diào)優(yōu)方法,處理數(shù)據(jù)降維及異常流量檢測兩部分,通過兩部分的互相約束與訓(xùn)練,令經(jīng)過降維處理后的軟件定義網(wǎng)絡(luò)流量特征,可以維持最優(yōu)狀態(tài),為后續(xù)的異常流量檢測提供高質(zhì)量的訓(xùn)練數(shù)據(jù),避免軟件定義網(wǎng)絡(luò)異常流量檢測時,陷入局部最優(yōu)解的情況。
自編碼器的異常流量檢測技術(shù),結(jié)合收縮自編碼技術(shù)和條件生成對抗網(wǎng)絡(luò)-長短時記憶網(wǎng)絡(luò)(Conditional Generative Adversarial Net-works-Long Short Term Memory,CGAN-LSTM)模型2種無監(jiān)督學(xué)習方法,通過收縮自編碼網(wǎng)絡(luò),將軟件定義網(wǎng)絡(luò)流量特征進行降維處理,與CGAN-LSTM模型的異常檢測部分,通過端到端的聯(lián)合訓(xùn)練,獲取最終軟件定義網(wǎng)絡(luò)異常流量檢測結(jié)果。收縮自編碼網(wǎng)絡(luò),對軟件定義網(wǎng)絡(luò)流量特征進行降維處理的同時,有效去除噪音對流量樣本降維的干擾,與深度自編碼網(wǎng)絡(luò)相比,可以改善過擬合情況,提升無監(jiān)督學(xué)習算法的泛化能力。
基于自編碼器的軟件定義網(wǎng)絡(luò)異常流量檢測,主要包括壓縮網(wǎng)絡(luò)部分和檢測網(wǎng)絡(luò)部分。對于輸入的軟件定義網(wǎng)絡(luò)流量樣本x,利用收縮自編碼器進行降維處理后,結(jié)合重構(gòu)誤差zr和低維的潛在表示zc,構(gòu)建最終的軟件定義網(wǎng)絡(luò)低維流量特征z,將低維流量特征z反饋至后續(xù)的檢測網(wǎng)絡(luò)中。檢測網(wǎng)絡(luò)利用CGAN-LSTM方法,對反饋數(shù)據(jù)進行處理,輸出異常流量檢測結(jié)果。
2.1 收縮自編碼的軟件定義網(wǎng)絡(luò)流量特征壓縮方法
采用收縮自編碼方法,進行軟件定義網(wǎng)絡(luò)的流量特征壓縮。收縮自編碼的編碼輸出h(x),是所提取的最終軟件定義網(wǎng)絡(luò)流量特征。收縮自編碼利用雅克比矩陣范數(shù)各元素的和,提升流量特征提取的健壯性。
利用收縮自編碼方法構(gòu)建壓縮網(wǎng)絡(luò),收縮自編碼方法屬于正則自編碼器。為了對編碼器的導(dǎo)數(shù)進行最小化處理,將正則項添加至收縮自編碼器的編碼上。軟件定義網(wǎng)絡(luò)異常流量特征壓縮的收縮自編碼損失函數(shù)表達式如下
式中:與分別表示輸入的軟件定義網(wǎng)絡(luò)流量樣本x的重構(gòu)表示,以及編碼器與解碼器偏置值和權(quán)重值的參數(shù)結(jié)合;?啄表示正則系數(shù);Jf(x)表示與權(quán)重相關(guān)的隱含層輸出的雅克比矩陣; 表示雅克比矩陣元素平方的和,其計算公式如下
式中:W與hi分別表示權(quán)重矩陣以及流量樣本特征壓縮后的第i個低維表示,計算重構(gòu)誤差與計算懲罰函數(shù)的時間成本相似。
軟件定義網(wǎng)絡(luò)異常流量樣本數(shù)據(jù)x,利用收縮自編碼器降維處理后,獲取低維表示的軟件定義網(wǎng)絡(luò)異常流量數(shù)據(jù)zc,利用收縮自編碼器的解碼器重構(gòu)zc,獲取重構(gòu)后的樣本數(shù)據(jù)。收縮自編碼器的編碼器和解碼器利用全連接神經(jīng)網(wǎng)絡(luò)構(gòu)建,選取tanh函數(shù)作為收縮自編碼器的激活函數(shù),tanh激活函數(shù)的表達式如下
用z表示收縮自編碼器的輸出值,該輸出值包含利用收縮自編碼器學(xué)習的低維表示zc,以及通過重構(gòu)誤差形成的特征zr兩部分。各部分的計算公式如下
式中:?漬e與?漬d分別表示收縮自編碼網(wǎng)絡(luò)中編碼器與解碼器參數(shù),zc與f(x)分別表示通過降維處理獲取的低維表示以及編碼函數(shù),與g(x)分別表示自編碼器生成的x的重構(gòu)及解碼函數(shù),L(x,)表示計算重構(gòu)誤差特征的函數(shù)。將收縮自編碼網(wǎng)絡(luò)的輸出值z,傳送至后續(xù)的異常流量檢測網(wǎng)絡(luò)中。
對于收縮自編碼器中重構(gòu)誤差的損失函數(shù),選取余弦相似度和歐式距離2個指標作為度量指標,計算公式如下
, (9)
式中與N分別表示輸入的軟件定義網(wǎng)絡(luò)流量樣本的重構(gòu)表示及樣本數(shù)量。
利用以上過程獲取的zr=L1(x,),L2(x,)為軟件定義網(wǎng)絡(luò)流量樣本的二維特征。設(shè)原始軟件定義網(wǎng)絡(luò)流量樣本數(shù)據(jù),利用收縮自編碼器壓縮至B維,最終的軟件定義網(wǎng)絡(luò)流量樣本特征維數(shù)為B+2維。
2.2 CGAN-LSTM的異常流量檢測方法
利用CGAN-LSTM模型,作為無監(jiān)督學(xué)習的模型估計部分,檢測軟件定義網(wǎng)絡(luò)的異常流量。該模型主要包括訓(xùn)練部分和測試部分。利用時間周期信息指導(dǎo)生成器,在訓(xùn)練和測試部分,生成軟件定義網(wǎng)絡(luò)的流量樣本。CGAN-LSTM模型檢測軟件定義網(wǎng)絡(luò)流量異常的總體結(jié)構(gòu)圖如圖4所示。
CGAN-LSTM模型的訓(xùn)練階段,選擇正常的軟件定義網(wǎng)絡(luò)流量樣本作為訓(xùn)練樣本,從隨機空間獲取降維后的樣本z,將所獲取的樣本與時間信息t結(jié)合后,傳送至生成器G中。利用生成器生成軟件定義網(wǎng)絡(luò)的流量樣本,將生成的樣本數(shù)據(jù)與真實的樣本數(shù)據(jù)傳送至判別器D內(nèi),利用判別器劃分真實樣本數(shù)據(jù)以及生成的樣本數(shù)據(jù)。依據(jù)判別器的輸出結(jié)果,反向更新模型參數(shù)。
CGAN-LSTM模型的測試階段,利用訓(xùn)練階段獲取生成器和判別器的參數(shù)。輸入軟件定義網(wǎng)絡(luò)流量樣本數(shù)據(jù),將軟件定義網(wǎng)絡(luò)流量測試樣本與時間信息連接后,傳送至判別器內(nèi),利用判別器輸出軟件定義網(wǎng)絡(luò)流量異常判別結(jié)果。
詳細介紹CGAN-LSTM模型的訓(xùn)練階段以及測試階段如下。
2.2.1 訓(xùn)練階段
1)生成器。所構(gòu)建的生成器由2層LSTM和一層的Attention組成。Attention機制的運行過程如下:將包含64個單元及128個單元的2層LSTM,應(yīng)用于隨機空間中,最后通過一層的Attention機制,獲取軟件定義網(wǎng)絡(luò)流量數(shù)據(jù)的重點。選取交叉熵函數(shù)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的損失函數(shù)。選取梯度下降方法,求解模型的最優(yōu)參數(shù)。
2)判別器。判別器輸出結(jié)果為0~1之間,判別器判別軟件定義網(wǎng)絡(luò)流量樣本為真實樣本時,輸出值與1接近,否則輸出值與0接近。選取Sigmoid函數(shù)作為損失函數(shù),選取梯度下降方法,確定模型最優(yōu)參數(shù)。
2.2.2 測試階段
利用判別器判別結(jié)果及生成器的重構(gòu)誤差,綜合檢測軟件定義網(wǎng)絡(luò)流量樣本是否屬于異常流量樣本。CGAN-LSTM模型的訓(xùn)練階段,生成器需要學(xué)習如何將樣本映射至隨機空間內(nèi)。為了檢測軟件定義網(wǎng)絡(luò)的異常流量,將測試樣本映射至隨機空間內(nèi),觀測利用隨機空間生成的樣本與測試樣本間的距離,二者之間的距離越近時,表示訓(xùn)練生成器生成的數(shù)據(jù)樣本與正常樣本越接近。
為了在隨機空間內(nèi)搜尋一個最優(yōu)的映射空間,令該映射空間利用生成器G,生成與測試樣本最接近的數(shù)據(jù),定義隨機生成映射空間?椎的損失函數(shù)表達式如下
。(10)
利用梯度下降方法,更新映射空間?椎,獲取最優(yōu)的k維映射空間?椎k。計算生成新樣本與測試樣本之間的重構(gòu)損失表達式如下
利用已訓(xùn)練的判別器,區(qū)分軟件定義網(wǎng)絡(luò)正常流量樣本與異常流量樣本。判別器判別的表達式如下
。 (12)
公式(12)的計算結(jié)果與1極為接近時,表示該軟件定義網(wǎng)絡(luò)流量樣本屬于正常樣本;公式(12)的計算結(jié)果與0接近時,表示該軟件定義網(wǎng)絡(luò)的流量樣本屬于異常樣本。
將判別器判別結(jié)果與生成器的重構(gòu)誤差綜合處理,設(shè)置軟件定義網(wǎng)絡(luò)異常流量檢測的正常樣本與異常樣本分別與1接近,以及與0接近,生成器的重構(gòu)誤差越大,表示樣本異常程度越高。為了良好地綜合重構(gòu)誤差與判別器判別結(jié)果,將1-Dis(x′)結(jié)果,帶入以下計算公式中
, (13)
式中:?孜與w分別表示異常流量判定結(jié)果及權(quán)重參數(shù)。
公式(13)計算結(jié)果數(shù)值越大時,表示測試流量樣本異常程度越高,否則表示流量樣本為正常狀態(tài)。依據(jù)軟件定義網(wǎng)絡(luò)異常流量檢測實驗結(jié)果,確定軟件定義網(wǎng)絡(luò)異常流量檢測閾值。公式(13)的計算結(jié)果高于所設(shè)置閾值時,判定該樣本為異常流量樣本,完成軟件定義網(wǎng)絡(luò)異常流量檢測。
3 實驗分析
為了驗證所研究的基于無監(jiān)督學(xué)習的軟件定義網(wǎng)絡(luò)異常流量檢測技術(shù)、檢測軟件定義網(wǎng)絡(luò)異常流量的有效性,選取網(wǎng)絡(luò)中常應(yīng)用于異常流量檢測的KDD99數(shù)據(jù)集作為測試對象。本文方法采用無監(jiān)督學(xué)習方法作為異常流量檢測技術(shù),樣本訓(xùn)練過程中,無需標簽信息。通過對原始數(shù)據(jù)集進行特征分析及數(shù)據(jù)預(yù)處理,構(gòu)建完整的KDD99數(shù)據(jù)集。KDD99數(shù)據(jù)集定義了網(wǎng)絡(luò)連接方式,固定時間段內(nèi),從軟件定義網(wǎng)絡(luò)源IP地址至目的IP地址在固定的TCP、UDP協(xié)議的流量數(shù)據(jù)收集統(tǒng)計信息中,統(tǒng)計信息內(nèi)包含流量信息,以及軟件定義網(wǎng)絡(luò)從運行初始至結(jié)束的TCP數(shù)據(jù)包序列,在固定時間內(nèi)從源IP地址傳送至目的IP地址的數(shù)據(jù)。
利用異常攻擊樣本,制作軟件定義網(wǎng)絡(luò)中的流量異常情況。異常攻擊樣本設(shè)置見表1。
從測試集的數(shù)據(jù)中,隨機選取其中20%的樣本作為實驗樣本。數(shù)據(jù)集中樣本數(shù)量為15 834個,避免由于樣本數(shù)量過高,影響異常流量檢測性能。針對軟件定義網(wǎng)絡(luò)異常流量檢測,設(shè)置的實驗樣本見表2。
實驗測試前,對數(shù)據(jù)集內(nèi)的流量樣本特征進行歸一化操作,避免取值范圍較小的特征,受到取值范圍較大的特征影響。對完成歸一化處理后的數(shù)據(jù),進行隨機抽樣,獲取共10個數(shù)據(jù)子集,同時測試抽取的10個數(shù)據(jù)子集,令實驗數(shù)據(jù)具有更高的可信性。
采用本文方法對軟件定義網(wǎng)絡(luò)的異常流量進行檢測,伴隨無監(jiān)督學(xué)習方法的不斷迭代,無監(jiān)督學(xué)習方法的損失函數(shù)值變化如圖5所示。
伴隨無監(jiān)督學(xué)習方法的不斷變化,軟件定義網(wǎng)絡(luò)異常流量檢測的重構(gòu)誤差變化結(jié)果如圖6所示。
分析圖5、圖6實驗結(jié)果,伴隨無監(jiān)督學(xué)習方法迭代次數(shù)的不斷增加,無監(jiān)督學(xué)習方法的損失函數(shù)值存在明顯的波動后趨于穩(wěn)定,直至迭代次數(shù)接近100次時,本文方法的損失函數(shù)值接近0,此時本文方法具有最佳的訓(xùn)練效果。本文方法在迭代次數(shù)為100次左右時,即可以保持最佳的訓(xùn)練效果,可靠性較高。伴隨迭代次數(shù)的增加,無監(jiān)督學(xué)習方法中壓縮網(wǎng)絡(luò)的重構(gòu)誤差逐漸降低,而后趨于穩(wěn)定。迭代次數(shù)接近150次時,重構(gòu)誤差穩(wěn)定至0.01左右。以上實驗結(jié)果可以看出,利用無監(jiān)督學(xué)習方法,通過損失函數(shù)和重構(gòu)誤差設(shè)定,提升異常流量檢測的可靠性。
向軟件定義網(wǎng)絡(luò)的主機192.168.184.123發(fā)送10次不同類型的攻擊,令軟件定義網(wǎng)絡(luò)流量出現(xiàn)異常情況,檢測軟件定義網(wǎng)絡(luò)異常流量變化情況。通過是否發(fā)出告警,測試檢測是否成功。以文獻[6]提出的基于機器學(xué)習算法的網(wǎng)絡(luò)異常流量檢測方法、文獻[7]提出的基于長短時記憶遞歸神經(jīng)網(wǎng)絡(luò)的異常流量檢測方法為實驗對比方法,對軟件定義網(wǎng)絡(luò)異常流量的檢測結(jié)果見表3。
通過表3實驗結(jié)果可以看出,采用本文方法能夠有效檢測軟件定義網(wǎng)絡(luò)受到不同類型的攻擊造成的流量異常情況,及時發(fā)出告警,具有較高的軟件定義網(wǎng)絡(luò)異常流量檢測有效性。而采用文獻[6]、文獻[7]方法無法準確全面檢測到軟件定義網(wǎng)絡(luò)受到不同類型攻擊造成的流量異常情況。本文方法不僅可以檢測軟件定義網(wǎng)絡(luò)的異常流量,同時可以快速確定軟件定義網(wǎng)絡(luò)的攻擊端口,為快速解決流量異常情況,提供有效依據(jù),具有較高的應(yīng)用性。
統(tǒng)計采用本文方法檢測軟件定義網(wǎng)絡(luò)異常流量的檢測性能見表4。
通過表4實驗結(jié)果可以看出,采用本文方法有效檢測軟件定義網(wǎng)絡(luò)的異常流量,異常流量檢測精度平均值為98.98%,文獻[6]方法的異常流量檢測精度平均值為87.61%,文獻[7]方法的異常流量檢測精度平均值為83.34%,驗證本文方法具有良好的異常流量檢測表現(xiàn)性能。本文方法對于不同類型的攻擊,仍具有較高的監(jiān)測準確率。本文方法首先對軟件定義網(wǎng)絡(luò)異常流量的高維數(shù)據(jù)進行降維處理,提升異常流量檢測可靠性。降維處理后的損失函數(shù)可以快速收斂,對軟件定義網(wǎng)絡(luò)的實時流量檢測,提供了可靠的保證。
4 結(jié)論
軟件定義網(wǎng)絡(luò)具有可以自由編程的特點,應(yīng)用較為廣泛。軟件定義網(wǎng)絡(luò)用戶較多,具有網(wǎng)絡(luò)響應(yīng)靈敏性高,便于實時調(diào)整工作負載的優(yōu)勢,滿足當今的網(wǎng)絡(luò)應(yīng)用需求。軟件定義網(wǎng)絡(luò)受到不同類型攻擊時,容易造成網(wǎng)絡(luò)流量出現(xiàn)異常情況,影響網(wǎng)絡(luò)可靠運行,基于此本文提出基于無監(jiān)督學(xué)習的軟件定義網(wǎng)絡(luò)異常流量檢測技術(shù)。將無監(jiān)督學(xué)習方法應(yīng)用于軟件定義網(wǎng)絡(luò)異常流量檢測中,利用無監(jiān)督學(xué)習方法具有的無需特征提取的優(yōu)勢,提升異常流量檢測可靠性。通過實驗驗證,該方法對于由于不同類型攻擊造成的異常流量,均可以有效檢測,異常流量檢測精度較高,適用于軟件定義網(wǎng)絡(luò)異常流量檢測實際應(yīng)用中。
參考文獻:
[1] GUO A P, YUAN C H. Network Intelligent Control and Traffic Optimization Based on SDN and Artificial Intelligence[J].Electronics,2021,10(6):700-708.
[2] ALMALAWI A, FAHAD A, TARI Z, et al. Add-on anomaly threshold technique for improving unsupervised intrusion detection on SCADA data[J].Electronics,2020,9(6):1017-1023.
[3] MADHUKRISHNA P, PADMALOCHAN B. Software defined networking architecture, traffic management, security, and placement: A survey[J].Computer Networks,2021,192(19):1-15.
[4] PAPADOGIANNAKI E, IOANNIDIS S. Acceleration of Intrusion Detection in Encrypted Network Traffic Using Heterogeneous Hardware[J].Sensors, 2021,21(4):1140.
[5] LIN K, XU X, XIAO F. MFFusion: A multi-level features fusion model for malicious traffic detection based on deep learning[J].Computer networks, 2022,202(15):202.
[6] MAHFOUZ A, ABUHUSSEIN A, VENUGOPAL D ,et al. Ensemble classifiers for network intrusion detection using a novel network attack dataset[J]. Future Internet, 2020,12(11):180-188.
[7] MUHURI P S, CHATTERJEE P, YUAN X, et al. Using a long short-term memory recurrent neural network (lstm-rnn) to classify network attacks[J]. Information (Switzerland), 2020,11(5):243-246.