段雪源,付鈺,王坤,4,李彬
(1.海軍工程大學(xué)信息安全系,湖北 武漢 430033;2.信陽師范學(xué)院計(jì)算機(jī)與信息技術(shù)學(xué)院,河南 信陽 464000;3.信陽師范學(xué)院河南省教育大數(shù)據(jù)分析與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,河南 信陽 464000;4.信陽職業(yè)技術(shù)學(xué)院數(shù)學(xué)與信息工程學(xué)院,河南 信陽 464000)
由于互聯(lián)網(wǎng)協(xié)議和服務(wù)的開放性,各種網(wǎng)絡(luò)入侵攻擊行為從未間斷,在眾多威脅中,低速率拒絕服務(wù)(LDoS,low-rate denial of service)攻擊由于其巨大的破壞力和良好的隱蔽性,被網(wǎng)絡(luò)犯罪分子和黑產(chǎn)業(yè)鏈運(yùn)營商廣泛使用。不同于傳統(tǒng)的泛洪式拒絕服務(wù)攻擊,LDoS 攻擊主要針對傳輸層、網(wǎng)絡(luò)層或應(yīng)用層的協(xié)議漏洞,利用較少的攻擊流量使系統(tǒng)或網(wǎng)絡(luò)服務(wù)質(zhì)量下降[1]。例如,針對傳輸控制協(xié)議(TCP,transmission control protocol)超時重傳機(jī)制的LDoS 攻擊主要通過向瓶頸鏈路中發(fā)送短促高速的攻擊脈沖,觸發(fā)大量數(shù)據(jù)包丟失,迫使網(wǎng)絡(luò)啟動超時重傳機(jī)制,造成大量無用數(shù)據(jù)流耗盡網(wǎng)絡(luò)帶寬。針對應(yīng)用層的LDoS 攻擊則是利用HTTP 的連接保持機(jī)制,通過向服務(wù)器發(fā)送多個連接請求,耗盡服務(wù)器的可分配資源,使正常請求無法得到響應(yīng)??梢钥闯?,LDoS 攻擊的本質(zhì)就是利用系統(tǒng)的自適應(yīng)機(jī)制,通過短促的高速脈沖數(shù)據(jù)流攻擊關(guān)鍵鏈路或端系統(tǒng),使其因過載而無法對外提供正常服務(wù)。
通常,單獨(dú)LDoS 攻擊流形式上都是合法的網(wǎng)絡(luò)流量,表現(xiàn)出與正常流量相同的基本特征,且發(fā)送的數(shù)據(jù)包數(shù)量少、平均速率低,一般僅為正常數(shù)據(jù)流的10%~20%[2],經(jīng)常被淹沒在正常流量中,能夠穿越普通防火墻,傳統(tǒng)的針對DoS 攻擊的檢測方法并不適用于檢測LDoS 攻擊。一直以來,研究人員嘗試將小波變換分析、頻譜分析、統(tǒng)計(jì)分析、信息度量分析等技術(shù)引入檢測攻擊工作中,但提出的檢測方法大多依賴特征工程,檢測效果受制于研究人員的專業(yè)素質(zhì)和工作經(jīng)驗(yàn)[3-4]。
深度學(xué)習(xí)利用神經(jīng)網(wǎng)絡(luò)從原始數(shù)據(jù)中自主地學(xué)習(xí)數(shù)據(jù)高層次的特征信息并用于進(jìn)一步的分類,是解決傳統(tǒng)檢測方法特征依賴的有效手段。其中,長短期記憶(LSTM,long short-term memory)網(wǎng)絡(luò)是基于“門”設(shè)計(jì)的改進(jìn)型循環(huán)神經(jīng)網(wǎng)絡(luò),不僅能捕捉數(shù)據(jù)序列的時間關(guān)聯(lián)性,還可緩解普通循環(huán)神經(jīng)網(wǎng)絡(luò)的長時依賴問題,在語音識別、自然語言處理、網(wǎng)絡(luò)流量異常檢測等領(lǐng)域應(yīng)用廣泛。生成式對抗網(wǎng)絡(luò)(GAN,generative adversarial network)是基于零和博弈思想構(gòu)建的生成式模型,對異構(gòu)數(shù)據(jù)具有較強(qiáng)的適應(yīng)性,由生成器和判別器2 個部分組成,其中,生成器通過學(xué)習(xí)輸入樣本的分布來生成同分布的相似樣本;判別器通過計(jì)算判別誤差來區(qū)分輸入樣本是真實(shí)樣本還是生成樣本。在序列數(shù)據(jù)異常檢測領(lǐng)域,可利用判別誤差來區(qū)分輸入樣本是正常樣本還是異常樣本。雖然深度學(xué)習(xí)有著強(qiáng)大的表征能力,但需要足夠的樣本進(jìn)行訓(xùn)練才能完成建模[5-6]。當(dāng)前的檢測方法大多是流級別的,需要跟蹤分析流內(nèi)的多個數(shù)據(jù)包,會消耗大量的計(jì)算資源。另外,實(shí)驗(yàn)數(shù)據(jù)大多來源于公開數(shù)據(jù)集或仿真平臺,存在攻擊場景過時、通信量不完整、流量背景單一等缺陷。
針對上述問題,本文提出一種基于簡單統(tǒng)計(jì)特征的LDoS 攻擊檢測方法。利用流量采集工具,從真實(shí)網(wǎng)絡(luò)環(huán)境中獲取流量數(shù)據(jù),以流量中數(shù)據(jù)包大小和到達(dá)時間間隔為特征構(gòu)造檢測數(shù)據(jù)序列,利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)正常流量數(shù)據(jù)的特征分布,能夠?qū)φ?shù)據(jù)序列進(jìn)行較好的重構(gòu);當(dāng)待檢測數(shù)據(jù)序列為攻擊流時,重構(gòu)數(shù)據(jù)與輸入數(shù)據(jù)將會出現(xiàn)較大重構(gòu)誤差,當(dāng)重構(gòu)誤差超過閾值時則判定為攻擊,并輸出判定結(jié)果,實(shí)現(xiàn)從原始流量輸入到檢測結(jié)果輸出的端到端檢測模式。
2001 年,ASTA Network 公司在Internet 2 的主干網(wǎng)上首次發(fā)現(xiàn) LDoS 攻擊流量;2005 年,Kuzmanovic 等[7]展示了一種惡意利用TCP 超時重傳機(jī)制的低速率TCP 定向DoS 攻擊,人們才對LDoS攻擊有了更加清晰的認(rèn)識。自此,研究人員開始研究檢測LDoS 攻擊的有效方法,根據(jù)攻擊流的脈沖周期性特征以及被攻擊網(wǎng)絡(luò)的波動性表現(xiàn),這些檢測方法可歸納為基于流量特征、基于信號分析、基于機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)這4 類,如圖1 所示。
圖1 LDoS 攻擊的檢測方法
基于流量特征的檢測方法通常是利用被攻擊網(wǎng)絡(luò)中流量的異常波動性特征進(jìn)行檢測,這些特征包括從網(wǎng)絡(luò)流中提取的隊(duì)列長度、連接持續(xù)時間、數(shù)據(jù)包編號、數(shù)據(jù)包間隔、數(shù)據(jù)包大小和ACK 序列號等信息[8]。流是指具有相同五元組(源IP、目標(biāo)IP、源端口、目標(biāo)端口以及傳統(tǒng)層協(xié)議)的所有報(bào)文[9]。吳志軍等[10]將網(wǎng)絡(luò)中的實(shí)際網(wǎng)絡(luò)帶寬占用率、小分組比例、分組丟失率這3 個特征組成聯(lián)合特征輸入反向傳播神經(jīng)網(wǎng)絡(luò)分類器進(jìn)行LDoS 攻擊檢測,在仿真平臺和試驗(yàn)網(wǎng)絡(luò)中驗(yàn)證了方法的有效性。Wu 等[11]提出基于LDoS 攻擊流量的多重分形特征[12]的檢測算法,利用H?lder 指數(shù)估計(jì)LDoS 攻擊下流量的奇異性和突發(fā)性,取得的實(shí)驗(yàn)結(jié)果與理論預(yù)測相符。Zhang 等[13]根據(jù)網(wǎng)絡(luò)擁塞期間正常TCP流發(fā)送的數(shù)據(jù)包少,而攻擊流發(fā)送的數(shù)據(jù)包多的現(xiàn)象,提出基于正常數(shù)據(jù)包數(shù)量與數(shù)據(jù)包總量比的LDoS 攻擊檢測與過濾方法,通過分析路由器中的數(shù)據(jù),驗(yàn)證了方法的可行性。然而,這些基于流量特征的檢測方法普遍存在2 個不足,一是研究所用數(shù)據(jù)大多是在模擬環(huán)境中生成的,缺乏真實(shí)網(wǎng)絡(luò)背景;二是網(wǎng)絡(luò)流特征的設(shè)計(jì)需要人工完成,提取時需要非常大的計(jì)算開銷,且時間消耗較長,適合處理離線數(shù)據(jù),很難實(shí)現(xiàn)在線的LDoS 攻擊檢測[14]。
相關(guān)實(shí)驗(yàn)說明了利用信號分析方法檢測網(wǎng)絡(luò)中LDoS 攻擊流的可行性。杜臻等[15]使用小波分析提取流量數(shù)據(jù)的多樣性特征,利用支持向量機(jī)(SVM,support vector machine)完成混合流量中的異常分離。Agrawal 等[16]使用功率譜密度方法識別云環(huán)境中的低速LDoS 攻擊,通過傅里葉變換,將持續(xù)收集到的流量數(shù)據(jù)變換為頻譜序列,并計(jì)算功率譜密度值,將功率譜密度集中在低頻段的部分判定為攻擊。Brynielsson 等[17]根據(jù)HTTP 中的持續(xù)連接特性,實(shí)現(xiàn)了利用譜分析方法檢測針對應(yīng)用層HTTP 服務(wù)的LDoS 攻擊。雖然這些頻域分析法對LDoS 攻擊的檢測是有效的,但信號轉(zhuǎn)換會引起巨大的額外開銷,并且可能會產(chǎn)生較高的誤警率和漏檢率。在時域方面,Wu 等[18]結(jié)合Hilbert 譜和Pearson 相關(guān)系數(shù),利用小尺度檢測窗口實(shí)現(xiàn)對LDoS 攻擊包的檢測。Swami 等[19]提出一種基于高級熵的自適應(yīng)檢測方法,實(shí)現(xiàn)了對未知攻擊的檢測。盡管這些方法簡單且檢測精度較高,但要求被檢測數(shù)據(jù)在時域上的波動不能過大,否則檢測性能嚴(yán)重下降,這顯然與真實(shí)網(wǎng)絡(luò)情況不符。
基于機(jī)器學(xué)習(xí)的檢測方法通常與其他算法結(jié)合使用,Zhang 等[20]將主成分分析(PCA,principal component analysis)與SVM 模型相結(jié)合,利用PCA過濾掉噪聲干擾并提取TCP 流的主要特征,作為SVM 模型的輸入來檢測LDoS 攻擊。Yan 等[21]提取TCP 流量的平均值、方差和熵等特征來訓(xùn)練改進(jìn)的邏輯回歸模型,以檢測LDoS 攻擊。Pérez-Díaz 等[22]提出了用于檢測軟件定義網(wǎng)絡(luò)(SDN,software defined network)環(huán)境中LDoS 攻擊的框架,該框架有助于實(shí)現(xiàn)各種機(jī)器學(xué)習(xí)模型,如決策樹、代表樹、隨機(jī)樹、隨機(jī)森林、多層感知器(MLP,multilayer perceptron)和SVM 等對LDoS 攻擊的檢測,但是該方法的誤報(bào)率較高。Tang 等[23]提出了將網(wǎng)絡(luò)流量特征集構(gòu)建技術(shù)與改進(jìn)的自適應(yīng)增強(qiáng)(Adaboost,adaptive boosting)分類算法相結(jié)合的多特征自適應(yīng)增強(qiáng)(MF-Adaboost,multi-feature Adaboost)算法,通過提取網(wǎng)絡(luò)流量數(shù)據(jù)中最有用的信息,減小數(shù)據(jù)規(guī)模;采取最優(yōu)特征選擇策略,用28 個特征完成對分類器的訓(xùn)練;改進(jìn)的Adaboost 算法可緩解樣本權(quán)值不平衡問題。然而,以上基于機(jī)器學(xué)習(xí)的檢測方法在特征提取上需要消耗較多的計(jì)算資源,特征設(shè)計(jì)依賴人工經(jīng)驗(yàn),并且對未知特征的攻擊缺乏有效的檢測能力。
基于深度學(xué)習(xí)的檢測方法通常以原始流量為輸入,經(jīng)簡單預(yù)處理后,利用深度學(xué)習(xí)的強(qiáng)大表征能力,提取樣本數(shù)據(jù)的特征信息,進(jìn)而完成流量的分類,實(shí)現(xiàn)端到端的檢測模式。按照所用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類型,可分為單結(jié)構(gòu)模型檢測方法和復(fù)合結(jié)構(gòu)模型檢測方法。單結(jié)構(gòu)模型檢測方法是一種以神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為模型基本架構(gòu)的檢測方法,例如,Ilango 等[24]提出基于前饋卷積神經(jīng)網(wǎng)絡(luò)(FF-CNN,feedforward-convolutional neural network)的異常檢測方法,用于檢測物聯(lián)網(wǎng)SDN 中的LDoS 攻擊,在公開數(shù)據(jù)集上取得了不錯的檢測效果。Tang 等[25]提出的多特征融合卷積神經(jīng)網(wǎng)絡(luò)(MF-CNN,multi-feature fusion-convolutional neural network)檢測模型也是利用卷積神經(jīng)網(wǎng)絡(luò)區(qū)分網(wǎng)絡(luò)特征映射之間的差別,以檢測出哪些特征映射包含LDoS 攻擊。Agarwal 等[26]利用LSTM 網(wǎng)絡(luò)模型定期學(xué)習(xí)Web 服務(wù)器日志并對網(wǎng)站的訪問情況進(jìn)行預(yù)測,實(shí)現(xiàn)對欺詐型LDoS 攻擊的檢測。單結(jié)構(gòu)模型雖然可以檢測出LDoS 攻擊,但是存在2 個不足,一是需要大量樣本進(jìn)行訓(xùn)練,且模型缺少指導(dǎo),在訓(xùn)練初期較困難;二是對異構(gòu)數(shù)據(jù)適應(yīng)能力較差,模型的泛化能力弱。因此,研究人員更多地使用復(fù)合結(jié)構(gòu)模型,即由2 種以上神經(jīng)網(wǎng)絡(luò)構(gòu)建的檢測模型,合理的組合設(shè)計(jì)可以發(fā)揮不同結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,克服單結(jié)構(gòu)模型自身的不足。Xu 等[27]提出將一維卷積神經(jīng)網(wǎng)絡(luò)與雙向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合的LDoS 攻擊檢測模型,先用卷積模塊提取歸一化預(yù)處理后的信號特征,再用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)估計(jì)信號中包含LDoS 攻擊的概率值,實(shí)現(xiàn)對LDoS 攻擊的檢測。Chen 等[28]設(shè)計(jì)的DAEMON 在線檢測模型是將變分自編碼網(wǎng)絡(luò)與GAN 相結(jié)合,利用變分自編碼網(wǎng)絡(luò)對異構(gòu)數(shù)據(jù)的適應(yīng)性,同時作為GAN 的生成器指導(dǎo)訓(xùn)練,克服GAN 在訓(xùn)練初期難以收斂的不足。然而當(dāng)前基于深度學(xué)習(xí)的檢測方法大多是“流級別”的,即以整個網(wǎng)絡(luò)流為檢測對象,需要對流內(nèi)的每個數(shù)據(jù)包進(jìn)行跟蹤與分析,計(jì)算開銷大、時延較長,并且難以完成實(shí)時在線檢測。另外,檢測時需要分析出完整數(shù)據(jù)流的相關(guān)信息才能得到最終的檢測結(jié)果,不具備對LDoS 攻擊的早期發(fā)現(xiàn)能力。
為獲得真實(shí)流量數(shù)據(jù),本文使用支持Wireshark軟件的高性能流量數(shù)據(jù)采集系統(tǒng)平臺,抓取流經(jīng)Web 服務(wù)器的所有流量。為獲得大量普通用戶訪問服務(wù)器產(chǎn)生的流量,本文選擇某校園的Web 站點(diǎn)作為正常流量的來源。圖2 是經(jīng)過簡化后的正常流量采集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),交換機(jī)設(shè)置校園網(wǎng)絡(luò)Web 服務(wù)器端口的鏡像端口,流量采集系統(tǒng)從該鏡像端口抓取服務(wù)器對外交互的所有上下行流量數(shù)據(jù)。
圖2 正常流量采集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
本文實(shí)驗(yàn)從采集的流量數(shù)據(jù)中選取連續(xù)600 min沒有發(fā)生網(wǎng)絡(luò)異常的數(shù)據(jù)作為正常流量樣本,因?yàn)樵摬杉瘯r段網(wǎng)絡(luò)能夠正常提供服務(wù),表明網(wǎng)絡(luò)中沒有明顯異常,已經(jīng)排除拒絕服務(wù)攻擊的可能,或有少量其他攻擊,但對LDoS 攻擊檢測影響基本可以忽略。
為了不影響網(wǎng)絡(luò)的正常運(yùn)行,攻擊流量不能在實(shí)際的Web 服務(wù)器網(wǎng)絡(luò)中傳輸,只能通過隔離網(wǎng)絡(luò)生成與采集,因此,本文單獨(dú)設(shè)計(jì)了采集攻擊流量的局域網(wǎng)。該局域網(wǎng)由一個流量采集系統(tǒng)、5 臺計(jì)算機(jī)主機(jī)以及相應(yīng)的網(wǎng)絡(luò)連接設(shè)備組成,其中4 臺主機(jī)安裝Linux 系統(tǒng),一臺主機(jī)安裝Windows 系統(tǒng),其拓?fù)浣Y(jié)構(gòu)如圖3 所示。其中,一臺Linux 主機(jī)運(yùn)行OpenSwitch 作為OpenFlow 交換機(jī),運(yùn)行Pox controller 作為OpenFlow 控制器以創(chuàng)建SDN 環(huán)境;南向接口是帶寬為1 Gbit/s 的TCP 通道,OpenFlow v1.3 協(xié)議用于交換機(jī)和控制器之間的通信。一臺Linux 主機(jī)作為單獨(dú)的Web 服務(wù)器,是校園Web 服務(wù)器的鏡像網(wǎng)站。一臺Linux 主機(jī)作為普通客戶端,運(yùn)行良性程序?qū)eb 服務(wù)器進(jìn)行正常訪問。一臺Linux 主機(jī)提供運(yùn)行低速攻擊程序的Linux 環(huán)境、一臺 Windows 主機(jī)提供運(yùn)行低速攻擊程序的Windows 環(huán)境,它們按計(jì)劃運(yùn)行不同的攻擊程序?qū)eb 服務(wù)器進(jìn)行LDoS 攻擊??蛻舳撕头?wù)器通過千兆網(wǎng)卡與OpenFlow 交換機(jī)連接。
圖3 采集攻擊流量的局域網(wǎng)拓?fù)浣Y(jié)構(gòu)
攻擊流量由各攻擊主機(jī)上運(yùn)行的攻擊程序生成,攻擊流量種類包括各種TCP 同步序列編號(SYN,synchronize sequence number)低速率攻擊、HTTP 慢速讀取攻擊等。為了實(shí)現(xiàn)在短時間間隔內(nèi)的SYN 低速率攻擊,設(shè)計(jì)了每次攻擊50 s,然后休眠100 s,且攻擊只發(fā)生在每秒的前0.1 s 內(nèi)的攻擊模式。每類攻擊程序凈運(yùn)行時間為60 min(不含休眠時間)。圖4 為攻擊程序運(yùn)行周期示意。
圖4 攻擊程序運(yùn)行周期示意
需要說明的是,Slowhttptest 程序?yàn)槁僮x取攻擊,沒有使用脈沖成形攻擊。從采集的流量中剔除休眠時間的數(shù)據(jù),即可得到6 種不同的以正常流量為背景的攻擊流量,時長均為60 min 無背景的純攻擊流量,本文設(shè)計(jì)的攻擊流雖然復(fù)雜、檢測難度大,但更接近真實(shí)網(wǎng)絡(luò)環(huán)境中的流量模式。
使用CICFlowMeter 工具從采集到的流量文件中提取每個TCP 流或用戶數(shù)據(jù)報(bào)協(xié)議(UDP,user datagram protocol)流中數(shù)據(jù)包的特征信息,大約可提取80 個流量的統(tǒng)計(jì)特征,不同協(xié)議解析出的結(jié)果略有差異。利用sklearn 中的隨機(jī)森林回歸算法,計(jì)算每個特征在該流中的重要性,圖5 和圖6 分別顯示了正常流量和攻擊流量中6 個主要特征對其他特征的影響力指數(shù),數(shù)值越大,特征越重要。
圖5 正常流量主要特征影響力指數(shù)
圖6 攻擊流量主要特征影響力指數(shù)
從圖5 中可以發(fā)現(xiàn),前向數(shù)據(jù)包長度標(biāo)準(zhǔn)差和數(shù)據(jù)包長度標(biāo)準(zhǔn)差是正常流量最顯著的特征。不同于LDoS 攻擊流,正常流量是由正常的網(wǎng)絡(luò)用戶與服務(wù)器交互產(chǎn)生的,由于用戶需求的多樣性以及訪問的隨機(jī)性,生成的數(shù)據(jù)包大小是隨機(jī)的且差異性較大。攻擊流的數(shù)據(jù)包是由程序產(chǎn)生的,通常具有固定大小且小于正常數(shù)據(jù)包。從圖6 中可以看出,相鄰數(shù)據(jù)包時間間隔的信息,包括前向相鄰數(shù)據(jù)包時間間隔標(biāo)準(zhǔn)差和相鄰數(shù)據(jù)包最小時間間隔在攻擊流的特征中較重要,原因是LDoS 攻擊在向被攻擊者發(fā)送數(shù)據(jù)包時表現(xiàn)為突發(fā)行為,而正常流量通常不具備這種突發(fā)性;另外,這種突發(fā)行為會影響數(shù)據(jù)包的到達(dá)率和相鄰數(shù)據(jù)包的時間間隔相關(guān)特征。
因此,可以確定前向數(shù)據(jù)包長度標(biāo)準(zhǔn)差和前向相鄰數(shù)據(jù)包時間間隔標(biāo)準(zhǔn)差是區(qū)分正常流量和攻擊流量的2 個重要特征。然而,攻擊檢測除了關(guān)注檢測的準(zhǔn)確率外,檢測的及時性也是需要特別注重的。而前向數(shù)據(jù)包長度標(biāo)準(zhǔn)差和數(shù)據(jù)包長度標(biāo)準(zhǔn)差這類特征值需要檢測完整的TCP 流或UDP 流才能得出,前向相鄰數(shù)據(jù)包時間間隔標(biāo)準(zhǔn)差特征也存在相同情況。因此,要想實(shí)現(xiàn)早期檢測就不能直接用它們的標(biāo)準(zhǔn)差作為檢測的特征。根據(jù)文獻(xiàn)[8,29]的研究結(jié)果可以發(fā)現(xiàn),流內(nèi)前2 s 內(nèi)的數(shù)據(jù)包大小和到達(dá)的時間間隔對檢測DoS 攻擊非常重要。因此,本文嘗試?yán)昧髦星叭舾蓚€時間步內(nèi)到達(dá)的數(shù)據(jù)包大小和時間間隔作為特征,構(gòu)造出由2 個統(tǒng)計(jì)特征組成的檢測序列數(shù)據(jù)集,因此,數(shù)據(jù)集的單個樣本可表示為
其中,為第i個樣本中第j個數(shù)據(jù)包與第j-1 個數(shù)據(jù)包到達(dá)的時間間隔,為第j個數(shù)據(jù)包的大小。每個數(shù)據(jù)包到達(dá)都是一個時間步。
為減少運(yùn)算開支,將數(shù)據(jù)流按每10 s 切分出一個流片段,那么600 min 的正常流量數(shù)據(jù)可得到3 600 段正常流片段,利用CapAnalysis 網(wǎng)絡(luò)數(shù)據(jù)包分析工具提取本文所需要的特征數(shù)據(jù),并標(biāo)注為正常樣本。用同樣的方法處理各攻擊流,每種攻擊流量可切分出360 段流片段,標(biāo)注為異常樣本。另外,為了便于匯總最終的檢測結(jié)果,將正常樣本和異常樣本中的每個流片段添加唯一標(biāo)志符。使用正常流量數(shù)據(jù)進(jìn)行訓(xùn)練和驗(yàn)證,因此隨機(jī)抽取30%的正常流片段作為訓(xùn)練集,再抽取30%作為驗(yàn)證集,剩余的40%作為測試集。為構(gòu)造不同的測試數(shù)據(jù)集,每次取一種攻擊流片段隨機(jī)插入正常流片段中,得到6 種合成流量測試數(shù)據(jù)集,每種攻擊流量的檢測集包含時長為300 min 的1 800 段流片段,其中,正常流片段為1 440 段,攻擊流片段為360 段??紤]到現(xiàn)實(shí)網(wǎng)絡(luò)中攻擊流量的多樣性,需要包含多種攻擊流的測試數(shù)據(jù)檢驗(yàn)所提方法對復(fù)雜攻擊的檢測能力。因此,從6 種攻擊流量中各隨機(jī)抽取120 段攻擊流片段隨機(jī)插入正常流量中,即可生成一個包含6 種攻擊流量的“All-United”合成流量集,該流量集共包含時長為360 min 的2 160 段流片段,其中正常流片段為1 440 段,攻擊流片段為720 段。表1 展示了各合成流量測試數(shù)據(jù)集信息。
表1 各合成流量測試數(shù)據(jù)集信息
網(wǎng)絡(luò)流量作為時間序列數(shù)據(jù)記錄了網(wǎng)絡(luò)狀態(tài)的變化情況,循環(huán)神經(jīng)網(wǎng)絡(luò)適用于處理序列數(shù)據(jù),LSTM 網(wǎng)絡(luò)彌補(bǔ)了普通循環(huán)神經(jīng)網(wǎng)絡(luò)梯度消失、長期記憶不足等問題,能夠挖掘序列數(shù)據(jù)的時間相關(guān)性。GAN 是生成式模型,可以生成與輸入數(shù)據(jù)同分布的更多樣本,這一特性能緩解樣本數(shù)量不足的問題,同時GAN 對異構(gòu)數(shù)據(jù)有較強(qiáng)適應(yīng)性,能提升模型的泛化能力,但普通GAN 的生成器經(jīng)常會遇到因缺少編碼指導(dǎo)在初期難以訓(xùn)練的問題。因此,本文設(shè)計(jì)出以LSTM 為GAN 的生成器的流量數(shù)據(jù)重構(gòu)器(LSTM-GAN),由LSTM 作為生成器學(xué)習(xí)輸入樣本的空間分布并生成重構(gòu)樣本輸入判別器,判別器將重構(gòu)樣本與輸入樣本之間的差異反饋給生成器,指導(dǎo)生成器更新參數(shù)完成訓(xùn)練。
利用正常流量訓(xùn)練出LSTM-GAN 學(xué)習(xí)到正常流量的數(shù)據(jù)特征,能夠重構(gòu)出與輸入正常流量類似的流量模式。當(dāng)輸入的待檢測數(shù)據(jù)為攻擊流時,LSTM-GAN 則不能對其進(jìn)行有效的重構(gòu),生成的重構(gòu)樣本與輸入樣本間存在較大的誤差,該誤差可作為攻擊判定的依據(jù)。圖7 展示了基于LSTM-GAN重構(gòu)器的LDoS 攻擊檢測的整體功能架構(gòu),包括數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)重構(gòu)、攻擊判定3 個功能模塊。當(dāng)從現(xiàn)實(shí)網(wǎng)絡(luò)中采集網(wǎng)絡(luò)流量后,經(jīng)過預(yù)處理提取流量的簡單統(tǒng)計(jì)特征構(gòu)造為檢測數(shù)據(jù);待檢測數(shù)據(jù)樣本輸入訓(xùn)練好的LSTM-GAN 中,LSTM 自編碼器(生成器)對其進(jìn)行編碼和解碼后生成重構(gòu)樣本,判別器計(jì)算重構(gòu)樣本與檢測樣本之間的重構(gòu)誤差;攻擊判定模塊將此重構(gòu)誤差與判定閾值進(jìn)行比較,如果重構(gòu)誤差超過判定閾值,則判定檢測樣本對應(yīng)的網(wǎng)絡(luò)流量為LDoS 攻擊流。
圖7 基于LSTM-GAN 重構(gòu)器的LDoS 攻擊檢測的整體功能架構(gòu)
數(shù)據(jù)準(zhǔn)備模塊由流量獲取和數(shù)據(jù)預(yù)處理2 模塊組成,主要完成從網(wǎng)絡(luò)接口處抓取流量數(shù)據(jù),并按3.1 節(jié)中特征選取的方法進(jìn)行相應(yīng)格式轉(zhuǎn)換和特征提取等操作,生成下一步檢測所需的數(shù)據(jù)序列。通過實(shí)驗(yàn)發(fā)現(xiàn),16 個時間步足以跨越數(shù)據(jù)流的前2 s,因此只需研究網(wǎng)絡(luò)流片段中前16 個數(shù)據(jù)包的信息,即模型的輸入數(shù)據(jù)是一個包含16 個時間步的包大小和到達(dá)時間間隔信息的2 維數(shù)組。
數(shù)據(jù)重構(gòu)模塊主要是以LSTM自編碼器為生成器的GAN 構(gòu)成的LSTM-GAN 流量數(shù)據(jù)重構(gòu)器。LSTM 自編碼器(生成器)將輸入流量樣本映射到潛在特征空間并在該空間中完成樣本的重構(gòu),為充分學(xué)習(xí)流數(shù)據(jù)的特征信息,在編碼器與解碼器中間設(shè)置了信道增強(qiáng)層。判別器用來指導(dǎo)生成器進(jìn)行訓(xùn)練,計(jì)算出重構(gòu)器在穩(wěn)態(tài)下的重構(gòu)誤差并將其作為檢測攻擊的門限。
LSTM 自編碼器各層的功能如下。
1) 編碼器
第1 層,LSTM(32),讀取輸入數(shù)據(jù)并輸出32 個特征,每個特征有16 個時間步。
第2 層,LSTM(8),從第1 層獲取16×32 的輸入,并將特征大小減少到8,輸出一個大小為1×8的特征矩陣。
第3 層,信道增強(qiáng)層(16),將1×8 的特征矩陣復(fù)制15 次,形成16×8 的2 維矩陣作為解碼器層的輸入,可為解碼器提供更加豐富的特征表示,是編碼器和解碼器之間的橋梁。
2) 解碼器
解碼器按與編碼器相反的順序搭建第4 層LSTM(8)和第5 層LSTM(32),它們分別是第2 層和第1 層的鏡像。
第6 層是全連接層,對第5 層的輸出與其內(nèi)部向量進(jìn)行矩陣乘,最終生成16×2 的輸出向量。
其中,xi為輸入LSTM-GAN 的預(yù)處理后數(shù)據(jù),G(xi)為經(jīng)LSTM自編碼器編碼、解碼后輸出的重構(gòu)數(shù)據(jù)。LSTM-GAN 模型利用隨機(jī)梯度下降法訓(xùn)練,選用RMSProp 優(yōu)化算法,其訓(xùn)練算法如算法1 所示。
算法1LSTM-GAN 重構(gòu)器訓(xùn)練算法
輸入檢測數(shù)據(jù)X,完整訓(xùn)練次數(shù)epochs,批大小batch size,學(xué)習(xí)率α
輸出模型參數(shù)θ
重構(gòu)誤差會隨著訓(xùn)練次數(shù)的增多而減小,LSTMGAN 重構(gòu)器最終達(dá)到一種穩(wěn)定狀態(tài),額外的訓(xùn)練不會減少重構(gòu)誤差。利用驗(yàn)證集計(jì)算LSTM-GAN 重構(gòu)器在穩(wěn)定狀態(tài)下的重構(gòu)誤差,計(jì)算區(qū)分正常流量或攻擊流量的門限標(biāo)準(zhǔn),即異常判定的閾值。參照“3σ”準(zhǔn)則,將閾值設(shè)置為所有驗(yàn)證集樣本重構(gòu)誤差均值加3 個標(biāo)準(zhǔn)差,則異常檢測閾值可表示為
其中,μ為訓(xùn)練好的LSTM-GAN 計(jì)算出的驗(yàn)證集中所有樣本重構(gòu)誤差的平均值,σ為標(biāo)準(zhǔn)差。
由于使用正常流量數(shù)據(jù)建模,LSTM-GAN 重構(gòu)器可學(xué)習(xí)到正常流的特征分布,能夠很好地完成對正常流的重構(gòu)。當(dāng)輸入攻擊流時,因?yàn)楣袅髌x了正常TCP 流的特征,重構(gòu)器不能對其有效重構(gòu),生成的重構(gòu)序列與原始輸入存在較大的偏差,判別器計(jì)算出的重構(gòu)誤差將會偏大。攻擊判定模塊將每個輸入樣本的重構(gòu)誤差與閾值比較,如果重構(gòu)誤差大于閾值則判定為攻擊,反之則判定為正常流。
本文實(shí)驗(yàn)環(huán)境配置的使用的硬件為 Core i9-12900F、128 GB RAM(DDR5)、NVIDIA RTX3090,使用的軟件為 Ubuntu 18.04LTS、CUDA11.2、Pytorch1.8。
在進(jìn)行檢測之前,需要利用訓(xùn)練集中的樣本數(shù)據(jù)對LSTM-GAN 模型進(jìn)行充分訓(xùn)練,直到達(dá)到最大訓(xùn)練次數(shù)或設(shè)置的停止訓(xùn)練閾值。圖8 展示了LSTM-GAN 迭代訓(xùn)練損失函數(shù)值。從圖8 可以看出,在前30 次迭代訓(xùn)練時,損失函數(shù)值振蕩減小;當(dāng)?shù)?0 次后,損失函數(shù)值趨于穩(wěn)定。為保險(xiǎn)起見,在實(shí)驗(yàn)中將最大迭代次數(shù)設(shè)置為80。
圖8 LSTM-GAN 迭代訓(xùn)練損失函數(shù)值
模型的其他超參數(shù)根據(jù)經(jīng)驗(yàn)與實(shí)驗(yàn)調(diào)試設(shè)定,表2 為LSTM-GAN 模型超參數(shù)的取值。
表2 LSTM-GAN 模型超參數(shù)的取值
基于LSTM-GAN 重構(gòu)器的LDoS 攻擊檢測方法的目的是從待檢測流量中發(fā)現(xiàn)攻擊流量,并不關(guān)注攻擊發(fā)起的階段和類型,因此,檢測的最終目標(biāo)可轉(zhuǎn)換為二分類問題。將正常流量定義為負(fù)樣例,攻擊流量定義為正樣例,使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、誤警率(FPR,false positive rate)以及F1 值這5 項(xiàng)指標(biāo)作為評價(jià)模型檢測性能的主要依據(jù)。
5.4.1 本文數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
本文數(shù)據(jù)集上的檢測實(shí)驗(yàn)分為2 個階段,第一階段是單獨(dú)對各攻擊流量進(jìn)行檢測,得到LSTM-GAN模型對每種LDoS 攻擊的檢測能力;第二階段是對由多種攻擊流量組成的All-United 數(shù)據(jù)集進(jìn)行測試,測試模型對復(fù)雜攻擊的檢測性能。另外,為評估模型檢測能力,本文將其與經(jīng)典LDoS 攻擊檢測方法的檢測結(jié)果進(jìn)行比較。
1) 單一攻擊檢測實(shí)驗(yàn)
第一階段中,利用驗(yàn)證集數(shù)據(jù)求出訓(xùn)練好的模型在穩(wěn)態(tài)下所有樣本重構(gòu)誤差的均值,并加上3 個標(biāo)準(zhǔn)差作為誤差判定的閾值。由于隨機(jī)劃分的驗(yàn)證集可能出現(xiàn)類別失衡,從而導(dǎo)致計(jì)算出的閾值出現(xiàn)偏差,因此采用5 折交叉計(jì)算的方式,將驗(yàn)證集劃分為5 份,每次取其中4 份進(jìn)行計(jì)算,將5 次計(jì)算得到的閾值的平均值作為攻擊檢測的最終閾值。另外,為排除運(yùn)算時可能出現(xiàn)的偶然性因素,模型對每種LDoS 攻擊的測試集進(jìn)行5 次檢測,以評價(jià)指標(biāo)的平均值作為最終檢測結(jié)果。表 3 展示了LSTM-GAN 模型對單一攻擊的檢測性能。從表3可以看出,LSTM-GAN 對各攻擊流量檢測的召回率均達(dá)到93%以上。對Pwnloris 攻擊的檢測指標(biāo)最好,可能是由于Pwnloris 是Slowloris 的升級版,低速率攻擊的特征更加明顯。其次對Hping 攻擊的檢測性能也很好,原因是Hping 程序本來是用于泛洪式的DDoS 攻擊,在本文實(shí)驗(yàn)中,為了低速攻擊的效果,Hping 被設(shè)置為僅在每秒的前0.1 s 的時間間隔內(nèi)生成攻擊,且數(shù)據(jù)包大小為定值,這使Hping 攻擊流具有顯著的周期性和突發(fā)性特征,因此更加容易被檢測出。Slowhttptest 攻擊的檢測效果相對略差的原因是Slowhttptest 程序生成的是慢速讀取攻擊流量,時間跨度比較大,而本文選擇的數(shù)據(jù)為每10 s 流片段中前16 個時間步的特征,可能出現(xiàn)了選取的某些數(shù)據(jù)剛好處理Slowhttptest 攻擊流量的“靜默期”,從而沒有形成明顯的數(shù)據(jù)特征,對檢測造成不利影響。雖然最高誤警率達(dá)到4.86%,但平均誤警率為2.93%,這在以安全告警為目標(biāo)的檢測設(shè)計(jì)中是可以接受的。
表3 LSTM-GAN 模型對單一攻擊的檢測性能
2) 復(fù)雜攻擊檢測實(shí)驗(yàn)
第一階段的實(shí)驗(yàn)表明LSTM-GAN 模型對單一攻擊流量的檢測性能表現(xiàn)良好,為了測試模型應(yīng)對復(fù)雜攻擊的能力,第二階段將在包含多種復(fù)雜攻擊流量的All-United 數(shù)據(jù)集中進(jìn)行實(shí)驗(yàn)。因?yàn)檎w數(shù)據(jù)量不大,采用“留一法”進(jìn)行檢測,將測試集數(shù)據(jù)隨機(jī)分成10 份,每次選取9 份參與運(yùn)算,最終結(jié)果取10 次運(yùn)算結(jié)果的平均值,如圖9 所示,平均準(zhǔn)確率為0.949 9、平均召回率為0.942 8、平均精確率為0.910 3、平均誤警率為0.046 6、平均F1值為0.926 2。對比單獨(dú)攻擊流檢測的整體性能,準(zhǔn)確率和召回率略有下降,精確率提升明顯,F(xiàn)1 值有所提升,誤警率也有所上升。原因可能是All-United數(shù)據(jù)集中異常樣本比單一攻擊數(shù)據(jù)集中異常樣本的占比高,數(shù)據(jù)集中正負(fù)樣本數(shù)量更加趨于均衡,使檢測結(jié)果也更加合理平穩(wěn),這從F1 值的提升可以看出。
圖9 LSTM-GAN 對復(fù)雜攻擊的檢測指標(biāo)
在攻擊檢測任務(wù)中,研究人員更加關(guān)注攻擊的召回率,LSTM-GAN 對單一攻擊的召回率均超過了93%,對復(fù)雜攻擊的召回率也達(dá)到了94.28%,因此LSTM-GAN 模型無論是對單一種類的攻擊還是復(fù)雜攻擊的檢測都能取得較好的檢測效果。
由于檢測中只需用到流片段中的前16 個數(shù)據(jù)包的2 項(xiàng)統(tǒng)計(jì)特征,即每個檢測樣本只需經(jīng)過16 個時間步就能得到,而本文的設(shè)備每分鐘可以從原始的.pcap 文件中解析出數(shù)千條網(wǎng)絡(luò)流信息,即檢測所需的特征數(shù)據(jù)能夠?qū)崟r生成。另外,特征提取和攻擊檢測分屬2 個模塊,可以并行處理,因此相對于傳統(tǒng)需要分析流內(nèi)大量數(shù)據(jù)包信息的檢測方法,本文所提的檢測方法具有早期檢測的能力。
表4 為LSTM-GAN 完成每種攻擊檢測的時間消耗。從表4 可以看出,對每個數(shù)據(jù)集檢測一次的時間消耗約為1 s,對單樣本的檢測時間達(dá)到毫秒級,這樣的檢測速率可以滿足在線檢測的時間需求。
表4 LSTM-GAN 完成每種攻擊檢測的時間消耗
3) 與其他檢測方法的比較
本節(jié)將本文方法與幾種不同類型的典型檢測方法進(jìn)行了比較,包括基于聯(lián)合特征的檢測方法[10],PCA 與SVM 相結(jié)合的方法PCA-SVM[20],SDN框架下的多層感知器方法SDN-MLP[22],基于多特征自適應(yīng)增強(qiáng)方法MF-Adaboost[23],以及前饋卷積神經(jīng)網(wǎng)絡(luò)方法FF-CNN[24]共5 種檢測方法。表5展示了各檢測方法的實(shí)驗(yàn)數(shù)據(jù)、數(shù)據(jù)來源及檢測性能指標(biāo)等信息。
表5 各檢測方法的實(shí)驗(yàn)數(shù)據(jù)、數(shù)據(jù)來源及檢測性能指標(biāo)
由表5 可知,雖然LSTM-GAN 方法的召回率最低,但是本文設(shè)計(jì)的攻擊模式為每次攻擊持續(xù)50 s、休眠100 s,然后按此周期進(jìn)行攻擊和休眠,即每次攻擊流的持續(xù)時間為50 s。實(shí)驗(yàn)中以每10 s 劃分1 個流片段,每個攻擊流可劃分為5 個流片段,這5 個流片段中只要有1 個流片段被檢測出來,就可認(rèn)為這次的攻擊被檢測出,因此LSTM-GAN 對攻擊流的召回率是大于0.999 9 的。另外,LSTM-GAN 取得0.046 6 的誤報(bào)率。在攻擊檢測任務(wù)中,人們更加關(guān)注對攻擊的召回率,對誤報(bào)率會有一定的容忍度,因此,LSTM-GAN 的檢測性能總體上優(yōu)于其他幾種方法。
5.4.2 其他數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
為了驗(yàn)證本文所提方法對異構(gòu)網(wǎng)絡(luò)流量數(shù)據(jù)的泛化能力,分別在ISCX2016、CICIDS2018、CICDDoS2019、DARPA2000、UTSA2021 這5 個公開數(shù)據(jù)集上進(jìn)行檢驗(yàn)。
由于本文方法用于檢測傳輸層和應(yīng)用層的LDoS 攻擊,因此在進(jìn)行實(shí)驗(yàn)前,需要對各數(shù)據(jù)集進(jìn)行處理,提取DoS 攻擊流數(shù)據(jù),再用分析工具提取檢測所需的數(shù)據(jù)信息。需要說明的是,對于已經(jīng)被 CICFlowMeter 處理過的數(shù)據(jù)集,如CICDDoS2019 數(shù)據(jù)集的80 維特征屬性值是不能直接使用的,需要進(jìn)行一定的等價(jià)變換。用流的統(tǒng)計(jì)信息代替數(shù)據(jù)包的統(tǒng)計(jì)信息,即用流中前向數(shù)據(jù)包的平均值代替數(shù)據(jù)包大小,用前向數(shù)據(jù)包時間間隔的平均值代替數(shù)據(jù)包時間間隔,這樣將連續(xù)16 個流的特征數(shù)據(jù)構(gòu)造為一個數(shù)據(jù)樣本,正常流量集和攻擊流量集均按此方法構(gòu)造。例如,利用CICDDoS2019 數(shù)據(jù)集構(gòu)造的攻擊流量樣本和正常流量樣本形式分別為
由于各數(shù)據(jù)集網(wǎng)絡(luò)配置環(huán)境具有較大的差異性,因此在進(jìn)行檢測前,先使用各數(shù)據(jù)集中的部分正常樣本對模型LSTM-GAN 進(jìn)行訓(xùn)練。并計(jì)算出異常判定的閾值,再使用測試數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。LSTM-GAN 模型在各數(shù)據(jù)集中的檢測性能如圖10所示。
圖10 LSTM-GAN 模型在各數(shù)據(jù)集中的檢測性能
從圖10 可以看出,LSTM-GAN 方法在幾個數(shù)據(jù)集上的檢測召回率都大于90%,其中,在CICIDS2018、CICDDoS2019、DARPA2000 數(shù)據(jù)集上的召回率超過 95%,其原因可能是CICDDoS2019,DARPA2000 這2 個數(shù)據(jù)集中的攻擊流量為DoS 或者DDoS 攻擊,比LDoS 的包間隔和包大小具有更加明顯的統(tǒng)計(jì)特征,構(gòu)造出的檢測數(shù)據(jù)可以被輕松識別。而CICIDS2018 構(gòu)造出的攻擊樣本中包大小和時間間隔都幾乎完全相同,所以攻擊樣本更容易被檢測出。在UTSA2021 數(shù)據(jù)集中,本文選用的是攻擊峰值為50 rad/s 的子數(shù)據(jù)集Syn50,相比從更高攻擊速率的數(shù)據(jù)集中檢測攻擊特征更加具有挑戰(zhàn)性,然而93.27%的召回率也是個不錯的成績。在ISCX2016數(shù)據(jù)集的召回率相對較低(90.73%),這是由于攻擊樣本與正常樣本的生成網(wǎng)絡(luò)環(huán)境不同,因此在利用正常樣本訓(xùn)練出的LSTM-GAN 模型更加粗獷,難以發(fā)現(xiàn)統(tǒng)計(jì)特征中微小的變化。LSTM-GAN模型在ISCX2016、CICDDoS2019、DARPA2000數(shù)據(jù)集上的精確率沒有取得召回率那樣優(yōu)異的成績,原因是本文選用的特征向量相對較少,需要訓(xùn)練的參數(shù)相對于大型深度網(wǎng)絡(luò)模型要少得多,在訓(xùn)練樣本相對充足的情況下,模型出現(xiàn)了過擬合的問題。這使模型在判定正常流量時標(biāo)準(zhǔn)更加“苛刻”,以至于部分正常樣本被誤認(rèn)為攻擊樣本。但總體來說,LSTM-GAN 能夠在6 個數(shù)據(jù)集上表現(xiàn)出較強(qiáng)的泛化能力,即便是在ISCX2016 數(shù)據(jù)集上召回率也超過了 90%,說明本文設(shè)計(jì)的LSTM-GAN 方法可以很好地發(fā)現(xiàn)異構(gòu)網(wǎng)絡(luò)環(huán)境中的攻擊行為。
針對傳統(tǒng)的LDoS 攻擊流量檢測方法需要跟蹤提取網(wǎng)絡(luò)中大量數(shù)據(jù)包特征,消耗資源大,難以滿足實(shí)時在線檢測需求,以及實(shí)驗(yàn)環(huán)境與現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境差異過大的問題,本文提出以真實(shí)網(wǎng)絡(luò)流量為背景,基于網(wǎng)絡(luò)流量簡單統(tǒng)計(jì)特征的LDoS 攻擊檢測方法(LSTM-GAN),只選用網(wǎng)絡(luò)流量片段中前16 個數(shù)據(jù)包的大小及到達(dá)時間間隔作為特征數(shù)據(jù),利用正常流量特征數(shù)據(jù)對LSTM-GAN 模型建模,使LSTM-GAN 學(xué)習(xí)到正常流量特征的空間分布,根據(jù)重構(gòu)序列與輸入數(shù)據(jù)的重構(gòu)誤差進(jìn)行攻擊判定。
實(shí)驗(yàn)結(jié)果表明,所提方法能夠?qū)φ鎸?shí)網(wǎng)絡(luò)環(huán)境中獲取的流量數(shù)據(jù)進(jìn)行簡單統(tǒng)計(jì)特征提取,并準(zhǔn)確地檢測出流片段中包含的多種LDoS 攻擊行為產(chǎn)生的異常流;以流片段為檢測對象,比以整個數(shù)據(jù)流為目標(biāo)的檢測方法更加具備早期發(fā)現(xiàn)攻擊的優(yōu)勢。另外,實(shí)驗(yàn)環(huán)境雖然是以校園網(wǎng)的Web 服務(wù)器為背景,由于特征數(shù)據(jù)只需網(wǎng)絡(luò)流量中部分?jǐn)?shù)據(jù)包的大小和到達(dá)時間間隔的統(tǒng)計(jì)信息,不需要人工刻意設(shè)計(jì)復(fù)雜特征,更不用分析流量具體內(nèi)容,因此,本文方法原則上也可以用于其他針對HTTP 服務(wù)器或HTTPS 服務(wù)器的LDoS 攻擊的檢測。