陳汝聰 張華熊
摘? 要:針對蜜網(wǎng)系統(tǒng)易被攻擊者通過時延特征進行識別的問題,提出一種基于集成學習的業(yè)務網(wǎng)絡時延模擬算法。該方法首先采集業(yè)務服務所在局域網(wǎng)內的網(wǎng)絡流量和時延信息,經(jīng)數(shù)據(jù)預處理后,得到數(shù)據(jù)集。其次,基于Stacking集成學習方法,以隨機森林為元學習器,將Boosting簇三種模型作為初級學習器進行預測,預測結果經(jīng)融合后作為時延預測的基準值。接著,以分段回歸樹為模型預測時延抖動特征。最后,將時延基準和抖動特征疊加,得到符合局域網(wǎng)時延抖動特性的綜合時延模型,基于該模型實現(xiàn)蜜網(wǎng)系統(tǒng)時延模擬,從而降低被攻擊者識別概率。最終實驗結果表明,與GBDT、XGBoost和CatBoost算法相比,本文方法預測結果在MSE(Mean Square Error,均方誤差)和MAPE(Mean Absolute Percentage Error,平均絕對百分比誤差)上分別提升了35.5%和21.3%,在細節(jié)方面有較強表達能力。
關鍵詞:集成學習;網(wǎng)絡時延;Boosting;Stacking;蜜網(wǎng)
中圖分類號:TP181? ? ?文獻標識碼:A
Business Network Delay Simulation based on Integrated Learning
CHEN Rucong, ZHANG Huaxiong
(School of Information, Zhejiang Sci-Tech University, Hangzhou 310018, China)
735874531@qq.com; zhxhz@zstu.edu.cn
Abstract: Aiming at the problem that Honeynet systems are easy to be identified by attackers through delay characteristics, this paper proposes a business network delay simulation algorithm based on integrated learning. First, network traffic and delay information are collected in the local area network where the business service is located, and obtains a data set after data preprocessing. Secondly, based on Stacking integrated learning method, taking random forest as the meta-learner, three models of Boosting cluster are used as primary learner for prediction, and the prediction results are fused as the reference value for delay prediction. Then, segmented regression tree is used as a model to predict the delay jitter characteristics. Finally, the delay reference and jitter characteristics are superimposed to obtain a comprehensive delay model that conforms to the delay and jitter characteristics of the LAN (Local Area Network). Based on this model, the Honeynet system delay simulation is implemented, thereby reducing the probability of being identified by the attackers. Final experimental results of the thesis show that, compared with GBDT (Gradient Boosting Decision Tree), XGBoost and CatBoost algorithms, prediction results of the proposed method are improved by 35.5% and 21.3% in MSE (Mean Square Error) and MAPE (Mean Absolute Percentage Error) respectively, and they have strong expressive ability in details.
Keywords: integrated learning; network delay; Boosting; Stacking; Honeynet
1? ?引言(Introduction)
隨著互聯(lián)網(wǎng)技術的普及,網(wǎng)絡為人們帶來便利的同時,也帶來了未知的威脅。傳統(tǒng)安全防御技術判斷手段單一,處理能力有限,不能實時有效地保護真實主機。為了改變攻防雙方在網(wǎng)絡對抗中不平等的狀態(tài),安全人員引入了蜜網(wǎng)技術[1]。蜜網(wǎng)由多個蜜罐組合而成,是一種通過誘餌資源構建真實網(wǎng)絡環(huán)境,誘騙攻擊者攻擊虛假資源從而保護業(yè)務系統(tǒng)安全的網(wǎng)絡主動防御技術,其首要問題是如何保護蜜網(wǎng)不被攻擊者輕易識別。
傳統(tǒng)網(wǎng)絡中數(shù)據(jù)傳輸時延受通信協(xié)議、路由算法等因素影響,呈現(xiàn)隨機變化的非線性特征。而在蜜網(wǎng)系統(tǒng)中,過長、過短或者一直穩(wěn)定的網(wǎng)絡時延,都有可能引起攻擊者的警覺。本文假設蜜網(wǎng)部署于局域網(wǎng)內用于保護真實業(yè)務主機,為模擬真實主機的時延特性,提出了一種基于集成學習[2-3]的業(yè)務網(wǎng)絡時延模擬模型。該模型融合Boosting簇三種算法進行時延基準的預測,同時根據(jù)分段回歸樹模型進行抖動特征預測,最后通過兩者疊加來模擬符合局域網(wǎng)的綜合時延。實驗結果表明,該模型與其他模型相比有較好的預測效果。
2? 數(shù)據(jù)獲取與預處理(Data acquisition and preprocessing)
2.1? ?源數(shù)據(jù)獲取
本文數(shù)據(jù)集來源于某實驗室真實局域網(wǎng)網(wǎng)關中的流量。該數(shù)據(jù)集時間跨度為三天,以分鐘為時間顆粒度,每分鐘的流量數(shù)據(jù)利用軟件以pcap包的方式保存,以便后續(xù)進行分析。采用shell腳本獲取網(wǎng)絡時延數(shù)據(jù),結果如圖1所示。從圖1中看出,網(wǎng)絡時延隨時間變化,在一定基準范圍內抖動。在日常工作時間點上,實驗室使用網(wǎng)絡頻繁,引起時延抖動幅度變化較大。
2.2? ?數(shù)據(jù)預處理
分析原始數(shù)據(jù)包發(fā)現(xiàn),由于協(xié)議多且復雜,部分協(xié)議出現(xiàn)數(shù)次之后再也未出現(xiàn),當數(shù)據(jù)集將這些協(xié)議作為特征記錄時,導致所采集到的數(shù)據(jù)存在大量無效值。因此為了提高數(shù)據(jù)質量用于建模分析,需要對數(shù)據(jù)進行預處理。本文數(shù)據(jù)預處理包括數(shù)據(jù)清洗、數(shù)據(jù)轉換和數(shù)據(jù)增強三部分,具體步驟如圖2所示。
2.3? ?特征選擇
數(shù)據(jù)預處理后,在剩余數(shù)據(jù)中,部分字段包含在另外一個字段下,例如“DNS Response”和“DNS Query”都屬于“DNS”屬性,數(shù)據(jù)集分類不清晰,故需要進行特征提取。
特征提取的目的是從所有流量數(shù)據(jù)中提取更多隱藏在數(shù)據(jù)中的特征,以達到更好的訓練效果。過多的特征會引起模型出現(xiàn)過擬合現(xiàn)象,適當?shù)剡x擇特征,不僅能減少學習模型的訓練時間,還能降低學習任務的復雜度,優(yōu)化學習模型的泛化能力[4]。本文數(shù)據(jù)集主要以HTTP、HTTPS、SSDP、DNS等應用層協(xié)議作為特征選擇。
3? 基于Stacking的時延預測算法(Stacking-based delay prediction algorithm)
3.1? ?移動窗口平均時延基準和時延抖動
移動窗口平均法適用于分析時間序列,其計算方式是按照時間序列逐項推移,計算出窗口內數(shù)值的平均值,用于消除預測中的隨機波動。由圖1可知,時延基準數(shù)值圍繞一定數(shù)值上下波動,在不同時間段內抖動的幅度是不同的。為求得時延在時間序列上的基準值,本文將9:00至22:30劃分為工作時間,其余時間為休息時間。工作時間內時延波動幅度較大,將窗口設置為3;休息時間抖動幅度較小,將窗口設定為5,求得平均時延特征后作為時延基準值。抖動特征則根據(jù)時間段劃分為兩部分,分別用于工作時間和休息時間的抖動預測。
3.2? ?算法描述
(1)時延基準預測。時延基準是指在一定時間范圍內,時延的大致數(shù)值。本文采用Stacking框架將Boosting簇模型融合,進行時延基準預測。
本節(jié)將經(jīng)預處理的數(shù)據(jù)集作為輸入,將時延基準值作為輸出,按照8:2的比例將數(shù)據(jù)集劃分為訓練集和測試集。定義訓練集為
其中,為輸入特征向量,則本文提出的算法步驟如下:
輸入:訓練數(shù)據(jù)集D;
輸出:算法模型以及預測值。
步驟1:利用n 折交叉驗證將數(shù)據(jù)集分成n 份,每一份表示為
取其中1 折作為驗證集,其余N-1 折作為訓練數(shù)據(jù)。
步驟2:建立n 個算法k的模型。對于模型,,設置驗證集為數(shù)據(jù)集的第c 份,其余部分為訓練數(shù)據(jù),將數(shù)據(jù)傳入模型,模型產(chǎn)生第c 折驗證集的預測結果。
重復n 次得到n 個算法k的模型和驗證集預測值,并用生成的模型對測試集進行預測得到,。將按照順序拼接后得到算法k模型對訓練集的預測結果,記為
每個模型都對測試集進行預測后,求平均得到對測試集的預測結果,記為。
算法k模型對測試集的預測結果,由n 個值取平均后求得,記為
步驟3:用同樣的方式訓練不同算法,得到K 個訓練集預測值和測試集預測值。將K 個訓練集預測值和真實時延作為新的訓練集數(shù)據(jù),將K 個測試集預測值作為新的測試集數(shù)據(jù)。
步驟四:利用元學習器對新數(shù)據(jù)集建模預測,預測出最終的時延基準值為。
(2)抖動預測。Boosting簇算法是加法模型和前向分布的結合,在GBDT[5]中表現(xiàn)為加權加法模型,因此削弱了數(shù)據(jù)隨機波動特性。故本文采用決策樹DCRT對時延抖動誤差進行模擬,得到抖動預測??紤]到工作時間和休息時間內抖動幅度不同,本文采用分段回歸樹模型預測不同時間段的抖動值,記為
其中,和為工作時間和休息時間的模型函數(shù)。
(3)由時延基準預測和抖動預測得到最終的時延結果為
4? 實驗結果與分析(Experimental results and analysis)
本節(jié)實驗目標是驗證時延預測方案的有效性,具體包括數(shù)據(jù)預處理的有效性,提出算法模型的性能對比,以及對于Stacking的元學習器選擇。實驗環(huán)境如表1所示。
實驗所使用的數(shù)據(jù)集來自2.1部分所述,經(jīng)預處理后隨機將數(shù)據(jù)分為訓練集和測試集,其中訓練集占數(shù)據(jù)總量的80%,測試集占數(shù)據(jù)總量的20%。為在效果圖中呈現(xiàn)清晰的曲線圖像,在圖中取2%的點進行表示。
4.1? ?數(shù)據(jù)預處理有效性
為了驗證數(shù)據(jù)預處理對預測性能的影響,對數(shù)據(jù)預處理前后的特征進行預測驗證。本文算法模型選擇Boosting簇三種模型XGBoost[6]、LightGBM[7]、CatBoost[8]進行融合,元學習器則使用回歸模型中最為廣泛使用的線性回歸模型,在10 折交叉驗證后送入模型。在對照實驗過程中,分別使用上述三種單獨算法和本文算法模型對時延基準進行預測,采用網(wǎng)格搜索法[9]優(yōu)化參數(shù)。由于時延是在一定均值范圍內抖動,R2系數(shù)不適用于作為本文的評估標準,故選用MAPE和MSE。
圖3和圖4的對比結果顯示,給定初始特征下的MSE值和MAPE值較大,通過預處理后MSE值誤差平均降低了約35.5%,MAPE值誤差降低了約21.3%。初始數(shù)據(jù)無用特征較多,訓練的模型泛化能力弱。經(jīng)過數(shù)據(jù)預處理,簡化了模型對特征的學習,可以很好地表示時延數(shù)據(jù)的特性,預測誤差有了明顯的降低。對比其他三種模型,本文模型算法具有更低的預測誤差,既說明了數(shù)據(jù)預處理對于時延預測的重要性和有效性,又說明了在預測基準模型上,本文提出的模型具有更好的預測效果。
4.2? ?模型性能驗證
(1)抖動預測模型對比
為對照休息時間和工作時間的抖動預測模型,本部分使用同一個數(shù)據(jù)集訓練模型并預測。根據(jù)時間段的劃分,使用分段回歸樹模型預測時延抖動特征?;貧w樹預測抖動特征時,有較快的處理效率,在預測時也能保證抖動的波動性。本文使用單個回歸樹模型對工作時間的抖動進行預測,使用五個回歸樹取平均的方式對休息時間的抖動進行預測,達到在工作時間抖動幅度較大,休息時間抖動較平緩的效果。同理,使用機器學習中其他經(jīng)典模型與本文提出的回歸樹抖動模型進行對比。實驗結果如圖5—圖10所示。
從對比結果中可以得出:
回歸樹模型在抖動幅度和抖動趨勢的預測上,兩個時間段的模型都達到了較為符合現(xiàn)實的效果。工作時間抖動模型預測值的幅度明顯大于休息時間抖動模型預測值的幅度,符合時延抖動的特征,且兩者在抖動趨勢上與真實值大致保持一致。
對比其余模型,可以看出不同算法在單個模型和多個模型上預測的結果大致是重合的,不符合工作時間和休息時間的時延抖動。
(2)元學習器對比
本部分研究基于Stacking的模型融合算法和元學習器組合的預測性能。實驗過程中,除抖動的預測外,其余模型都按照網(wǎng)格搜索法提取最優(yōu)參數(shù)后進行實驗。在元學習器的選擇上,采用較為廣泛的有GBDT、支持向量機(SVR)回歸以及線性(LR)回歸,并且測試了隨機森林(RF)回歸模型作為元學習器的性能。上述四種算法模型作為元學習器的擬合曲線,加上抖動模型預測值的擬合曲線以及真實值的曲線如圖11—圖14所示。
從圖11—圖14中可以看出,每個元學習器在總體上保持一致,但是在細節(jié)處理方面(即圖中所圈之處),隨機森林的性能更高。由第一層學習器預測到的數(shù)據(jù)是高度非線性的,隨機森林模型在擬合曲線上更加符合真實時延抖動,據(jù)此可以說明,利用隨機森林作為元學習器符合本文需求。在后續(xù)實驗中,將選擇隨機森林作為實驗的元學習器。
4.3? ?數(shù)據(jù)采樣結果影響
為防止模型過擬合,在數(shù)據(jù)集采樣時,借鑒Bagging策略[10]的自助采樣法,從所有訓練數(shù)據(jù)中抽取若干子集,每次選取63.2%的數(shù)據(jù)進行模型訓練,未被抽中的36.8%的袋外數(shù)據(jù)則可以作為驗證集對模型進行評估和優(yōu)化。在驗證數(shù)據(jù)集采樣結果對模型訓練效果的影響時,采取80%數(shù)據(jù)的隨機采樣,既保證了數(shù)據(jù)的準確性,又保證了由于數(shù)據(jù)集的不同訓練出的模型具有差異性,可以提升本文算法模型的泛化能力。
從圖15和圖16中可以看出,80%隨機取樣的數(shù)據(jù)比100%隨機取樣的數(shù)據(jù)作為訓練集,在預測效果上更符合真實值,據(jù)此可以說明采用自助采樣的方式,增加了基學習器之間的差異性,模型泛化能力得到加強。
5? ?結論(Conclusion)
本文在獲取時延數(shù)據(jù)并對數(shù)據(jù)進行預處理之后,研究了基于Stacking的時延抖動預測算法。首先,基于Boosting簇三種算法,構建時延基準預測模型第一層學習器,在此基礎上,融合三大算法的優(yōu)點,使用隨機森林作為元學習器,對時延基準值進行預測。接著,使用分段回歸樹模型預測時延抖動特征后,結合時延基準和抖動兩種特性,模擬符合真實局域網(wǎng)時延特征的預測值。最后,使用上述算法模型和其他經(jīng)典模型進行實驗對比。實驗結果表明,本文算法在有效提高準確性的同時,更加符合真實網(wǎng)絡時延的抖動,為蜜網(wǎng)部署時模擬網(wǎng)絡時延以達到“以假亂真”的目的奠定基礎。
參考文獻(References)
[1] 司楊濤.面向主動防御的變色蜜網(wǎng)技術研究[D].西安:西安電子科技大學,2018.
[2] 周志華.機器學習[M].北京:清華大學出版社,2016:171-173.
[3] 王清.集成學習中若干關鍵問題的研究[D].上海:復旦大學,2011.
[4] 夏慧維.基于決策樹集成和寬度森林的網(wǎng)絡流量分析與預測研究[D].南京:南京郵電大學,2020.
[5] FRIEDMAN J H. Greedy function approximation: A gradient boosting machine[J]. Annals of Statistics, 2001, 29(5):1189-1232.
[6] CHEN J, ZHAO F, SUN Y, et al. Improved XGBoost model based on genetic algorithm[J]. International Journal of Computer Applications in Technology, 2020, 62(3):240-245.
[7] ZHANG J, MUCS D, NORINDER U, et al. LightGBM: An effective and scalable algorithm for prediction of chemical toxicity-application to the Tox21 and mutagenicity data sets[J]. Journal of Chemical Information and Modeling, 2019, 59(10):4150-4158.
[8] 黨存祿,武文成,李超鋒,等.基于CatBoost算法的電力短期負荷預測研究[J].電氣工程學報,2020,15(01):76-82.
[9] 溫博文,董文瀚,解武杰,等.基于改進網(wǎng)格搜索算法的隨機森林參數(shù)優(yōu)化[J].計算機工程與應用,2018,54(10):154-157.
[10] BREIMAN L. Bagging predictors[J]. Machine Learning, 1996, 24(2):123-140.
作者簡介:
陳汝聰(1995-),男,碩士生.研究領域:網(wǎng)絡信息安全,軟件開發(fā).
張華熊(1971-),男,博士,教授.研究領域:智能信息處理,計算機網(wǎng)絡與信息安全軟件開發(fā).