期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專(zhuān)業(yè),沒(méi)有后顧之憂
來(lái)源:期刊VIP網(wǎng)所屬分類(lèi):計(jì)算機(jī)信息管理時(shí)間:瀏覽:次
摘 要:針對(duì)蜜網(wǎng)系統(tǒng)易被攻擊者通過(guò)時(shí)延特征進(jìn)行識(shí)別的問(wèn)題,提出一種基于集成學(xué)習(xí)的業(yè)務(wù)網(wǎng)絡(luò)時(shí)延模擬算法。該方法首先采集業(yè)務(wù)服務(wù)所在局域網(wǎng)內(nèi)的網(wǎng)絡(luò)流量和時(shí)延信息,經(jīng)數(shù)據(jù)預(yù)處理后,得到數(shù)據(jù)集。其次,基于Stacking集成學(xué)習(xí)方法,以隨機(jī)森林為元學(xué)習(xí)器,將Boosting簇三種模型作為初級(jí)學(xué)習(xí)器進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果經(jīng)融合后作為時(shí)延預(yù)測(cè)的基準(zhǔn)值。接著,以分段回歸樹(shù)為模型預(yù)測(cè)時(shí)延抖動(dòng)特征。最后,將時(shí)延基準(zhǔn)和抖動(dòng)特征疊加,得到符合局域網(wǎng)時(shí)延抖動(dòng)特性的綜合時(shí)延模型,基于該模型實(shí)現(xiàn)蜜網(wǎng)系統(tǒng)時(shí)延模擬,從而降低被攻擊者識(shí)別概率。最終實(shí)驗(yàn)結(jié)果表明,與GBDT、XGBoost和CatBoost算法相比,本文方法預(yù)測(cè)結(jié)果在MSE(Mean Square Error,均方誤差)和MAPE(Mean Absolute Percentage Error,平均絕對(duì)百分比誤差)上分別提升了35.5%和21.3%,在細(xì)節(jié)方面有較強(qiáng)表達(dá)能力。
關(guān)鍵詞:集成學(xué)習(xí);網(wǎng)絡(luò)時(shí)延;Boosting;Stacking;蜜網(wǎng)
1 引言(Introduction)
隨著互聯(lián)網(wǎng)技術(shù)的普及,網(wǎng)絡(luò)為人們帶來(lái)便利的同時(shí),也帶來(lái)了未知的威脅。傳統(tǒng)安全防御技術(shù)判斷手段單一,處理能力有限,不能實(shí)時(shí)有效地保護(hù)真實(shí)主機(jī)。為了改變攻防雙方在網(wǎng)絡(luò)對(duì)抗中不平等的狀態(tài),安全人員引入了蜜網(wǎng)技術(shù)[1]。蜜網(wǎng)由多個(gè)蜜罐組合而成,是一種通過(guò)誘餌資源構(gòu)建真實(shí)網(wǎng)絡(luò)環(huán)境,誘騙攻擊者攻擊虛假資源從而保護(hù)業(yè)務(wù)系統(tǒng)安全的網(wǎng)絡(luò)主動(dòng)防御技術(shù),其首要問(wèn)題是如何保護(hù)蜜網(wǎng)不被攻擊者輕易識(shí)別。
傳統(tǒng)網(wǎng)絡(luò)中數(shù)據(jù)傳輸時(shí)延受通信協(xié)議、路由算法等因素影響,呈現(xiàn)隨機(jī)變化的非線性特征。而在蜜網(wǎng)系統(tǒng)中,過(guò)長(zhǎng)、過(guò)短或者一直穩(wěn)定的網(wǎng)絡(luò)時(shí)延,都有可能引起攻擊者的警覺(jué)。本文假設(shè)蜜網(wǎng)部署于局域網(wǎng)內(nèi)用于保護(hù)真實(shí)業(yè)務(wù)主機(jī),為模擬真實(shí)主機(jī)的時(shí)延特性,提出了一種基于集成學(xué)習(xí)[2-3]的業(yè)務(wù)網(wǎng)絡(luò)時(shí)延模擬模型。該模型融合Boosting簇三種算法進(jìn)行時(shí)延基準(zhǔn)的預(yù)測(cè),同時(shí)根據(jù)分段回歸樹(shù)模型進(jìn)行抖動(dòng)特征預(yù)測(cè),最后通過(guò)兩者疊加來(lái)模擬符合局域網(wǎng)的綜合時(shí)延。實(shí)驗(yàn)結(jié)果表明,該模型與其他模型相比有較好的預(yù)測(cè)效果。
2 數(shù)據(jù)獲取與預(yù)處理(Data acquisition and preprocessing)
2.1 源數(shù)據(jù)獲取
本文數(shù)據(jù)集來(lái)源于某實(shí)驗(yàn)室真實(shí)局域網(wǎng)網(wǎng)關(guān)中的流量。該數(shù)據(jù)集時(shí)間跨度為三天,以分鐘為時(shí)間顆粒度,每分鐘的流量數(shù)據(jù)利用軟件以pcap包的方式保存,以便后續(xù)進(jìn)行分析。采用shell腳本獲取網(wǎng)絡(luò)時(shí)延數(shù)據(jù),結(jié)果如圖1所示。從圖1中看出,網(wǎng)絡(luò)時(shí)延隨時(shí)間變化,在一定基準(zhǔn)范圍內(nèi)抖動(dòng)。在日常工作時(shí)間點(diǎn)上,實(shí)驗(yàn)室使用網(wǎng)絡(luò)頻繁,引起時(shí)延抖動(dòng)幅度變化較大。
2.2 數(shù)據(jù)預(yù)處理
分析原始數(shù)據(jù)包發(fā)現(xiàn),由于協(xié)議多且復(fù)雜,部分協(xié)議出現(xiàn)數(shù)次之后再也未出現(xiàn),當(dāng)數(shù)據(jù)集將這些協(xié)議作為特征記錄時(shí),導(dǎo)致所采集到的數(shù)據(jù)存在大量無(wú)效值。因此為了提高數(shù)據(jù)質(zhì)量用于建模分析,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。本文數(shù)據(jù)預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)增強(qiáng)三部分,具體步驟如圖2所示。
2.3 特征選擇
數(shù)據(jù)預(yù)處理后,在剩余數(shù)據(jù)中,部分字段包含在另外一個(gè)字段下,例如“DNS Response”和“DNS Query”都屬于“DNS”屬性,數(shù)據(jù)集分類(lèi)不清晰,故需要進(jìn)行特征提取。
特征提取的目的是從所有流量數(shù)據(jù)中提取更多隱藏在數(shù)據(jù)中的特征,以達(dá)到更好的訓(xùn)練效果。過(guò)多的特征會(huì)引起模型出現(xiàn)過(guò)擬合現(xiàn)象,適當(dāng)?shù)剡x擇特征,不僅能減少學(xué)習(xí)模型的訓(xùn)練時(shí)間,還能降低學(xué)習(xí)任務(wù)的復(fù)雜度,優(yōu)化學(xué)習(xí)模型的泛化能力[4]。本文數(shù)據(jù)集主要以HTTP、HTTPS、SSDP、DNS等應(yīng)用層協(xié)議作為特征選擇。
3 基于Stacking的時(shí)延預(yù)測(cè)算法(Stacking-based delay prediction algorithm)
3.1 移動(dòng)窗口平均時(shí)延基準(zhǔn)和時(shí)延抖動(dòng)
移動(dòng)窗口平均法適用于分析時(shí)間序列,其計(jì)算方式是按照時(shí)間序列逐項(xiàng)推移,計(jì)算出窗口內(nèi)數(shù)值的平均值,用于消除預(yù)測(cè)中的隨機(jī)波動(dòng)。由圖1可知,時(shí)延基準(zhǔn)數(shù)值圍繞一定數(shù)值上下波動(dòng),在不同時(shí)間段內(nèi)抖動(dòng)的幅度是不同的。為求得時(shí)延在時(shí)間序列上的基準(zhǔn)值,本文將9:00至22:30劃分為工作時(shí)間,其余時(shí)間為休息時(shí)間。工作時(shí)間內(nèi)時(shí)延波動(dòng)幅度較大,將窗口設(shè)置為3;休息時(shí)間抖動(dòng)幅度較小,將窗口設(shè)定為5,求得平均時(shí)延特征后作為時(shí)延基準(zhǔn)值。抖動(dòng)特征則根據(jù)時(shí)間段劃分為兩部分,分別用于工作時(shí)間和休息時(shí)間的抖動(dòng)預(yù)測(cè)。
3.2 算法描述
(1)時(shí)延基準(zhǔn)預(yù)測(cè)。時(shí)延基準(zhǔn)是指在一定時(shí)間范圍內(nèi),時(shí)延的大致數(shù)值。本文采用Stacking框架將Boosting簇模型融合,進(jìn)行時(shí)延基準(zhǔn)預(yù)測(cè)。
本節(jié)將經(jīng)預(yù)處理的數(shù)據(jù)集作為輸入,將時(shí)延基準(zhǔn)值作為輸出,按照8:2的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。定義訓(xùn)練集為
其中,為輸入特征向量,則本文提出的算法步驟如下:
輸入:訓(xùn)練數(shù)據(jù)集D;
輸出:算法模型以及預(yù)測(cè)值。
步驟1:利用n 折交叉驗(yàn)證將數(shù)據(jù)集分成n 份,每一份表示為
取其中1 折作為驗(yàn)證集,其余N-1 折作為訓(xùn)練數(shù)據(jù)。
步驟2:建立n 個(gè)算法k的模型。對(duì)于模型,,設(shè)置驗(yàn)證集為數(shù)據(jù)集的第c 份,其余部分為訓(xùn)練數(shù)據(jù),將數(shù)據(jù)傳入模型,模型產(chǎn)生第c 折驗(yàn)證集的預(yù)測(cè)結(jié)果。
重復(fù)n 次得到n 個(gè)算法k的模型和驗(yàn)證集預(yù)測(cè)值,并用生成的模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè)得到,。將按照順序拼接后得到算法k模型對(duì)訓(xùn)練集的預(yù)測(cè)結(jié)果,記為
每個(gè)模型都對(duì)測(cè)試集進(jìn)行預(yù)測(cè)后,求平均得到對(duì)測(cè)試集的預(yù)測(cè)結(jié)果,記為。
算法k模型對(duì)測(cè)試集的預(yù)測(cè)結(jié)果,由n 個(gè)值取平均后求得,記為
步驟3:用同樣的方式訓(xùn)練不同算法,得到K 個(gè)訓(xùn)練集預(yù)測(cè)值和測(cè)試集預(yù)測(cè)值。將K 個(gè)訓(xùn)練集預(yù)測(cè)值和真實(shí)時(shí)延作為新的訓(xùn)練集數(shù)據(jù),將K 個(gè)測(cè)試集預(yù)測(cè)值作為新的測(cè)試集數(shù)據(jù)。
步驟四:利用元學(xué)習(xí)器對(duì)新數(shù)據(jù)集建模預(yù)測(cè),預(yù)測(cè)出最終的時(shí)延基準(zhǔn)值為。
(2)抖動(dòng)預(yù)測(cè)。Boosting簇算法是加法模型和前向分布的結(jié)合,在GBDT[5]中表現(xiàn)為加權(quán)加法模型,因此削弱了數(shù)據(jù)隨機(jī)波動(dòng)特性。故本文采用決策樹(shù)DCRT對(duì)時(shí)延抖動(dòng)誤差進(jìn)行模擬,得到抖動(dòng)預(yù)測(cè)。考慮到工作時(shí)間和休息時(shí)間內(nèi)抖動(dòng)幅度不同,本文采用分段回歸樹(shù)模型預(yù)測(cè)不同時(shí)間段的抖動(dòng)值,記為
其中,和為工作時(shí)間和休息時(shí)間的模型函數(shù)。
(3)由時(shí)延基準(zhǔn)預(yù)測(cè)和抖動(dòng)預(yù)測(cè)得到最終的時(shí)延結(jié)果為
4 實(shí)驗(yàn)結(jié)果與分析(Experimental results and analysis)
本節(jié)實(shí)驗(yàn)?zāi)繕?biāo)是驗(yàn)證時(shí)延預(yù)測(cè)方案的有效性,具體包括數(shù)據(jù)預(yù)處理的有效性,提出算法模型的性能對(duì)比,以及對(duì)于Stacking的元學(xué)習(xí)器選擇。實(shí)驗(yàn)環(huán)境如表1所示。
實(shí)驗(yàn)所使用的數(shù)據(jù)集來(lái)自2.1部分所述,經(jīng)預(yù)處理后隨機(jī)將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占數(shù)據(jù)總量的80%,測(cè)試集占數(shù)據(jù)總量的20%。為在效果圖中呈現(xiàn)清晰的曲線圖像,在圖中取2%的點(diǎn)進(jìn)行表示。