劉向舉,路小寶,方賢進(jìn),尚林松
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽淮南 232001)
L
,R
,T
)來表示,如圖1 所示。L
是脈沖寬度,它表示攻擊脈沖的持續(xù)時(shí)間;R
是脈沖強(qiáng)度,它顯示攻擊流的最大值;T
是攻擊周期,它表示連續(xù)攻擊脈沖的時(shí)間間隔。這種攻擊方式與正常數(shù)據(jù)流混合難以區(qū)別,可操控性強(qiáng)且攻擊效率高。因此,現(xiàn)有的針對(duì)傳統(tǒng)DoS 攻擊檢測(cè)方法運(yùn)用到LDoS 攻擊不能有效檢測(cè)到攻擊。圖1 LDoS攻擊模型Fig.1 Model of LDoS attack
TCP 是現(xiàn)在網(wǎng)絡(luò)中普遍使用的傳輸協(xié)議。目前研究的各類LDoS 攻擊大部分是基于TCP 的自適應(yīng)機(jī)制。LDoS 攻擊正是利用了TCP 自適應(yīng)機(jī)制中的兩種擁塞控制機(jī)制。第一種是超時(shí)重傳機(jī)制(Retransmission Time Out,RTO):當(dāng)TCP 報(bào)文在網(wǎng)絡(luò)傳輸過程中超時(shí)丟失,TCP 發(fā)送方將擁塞窗口減少到一個(gè)數(shù)據(jù)包,并重新傳輸丟失的TCP 報(bào)文;第二種是加增減乘機(jī)制(Additive Increase Multiplicative Decrease,AIMD):發(fā)送方收到三次重復(fù)的確認(rèn)(ACKnowledgement,ACK)消息,TCP 發(fā)送方將擁塞窗口減半,以重傳丟失的TCP報(bào)文。RFC2988建議最小超時(shí)重傳時(shí)間為1 s。理論上,當(dāng)LDoS 攻擊周期為1 s 時(shí),它可以連續(xù)觸發(fā)超時(shí)重傳,并周期性丟棄正常TCP 數(shù)據(jù)包,迫使發(fā)送方減小擁塞窗口以限制傳輸速率,從而降低網(wǎng)絡(luò)服務(wù)質(zhì)量。
軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)作為一種新型的網(wǎng)絡(luò)創(chuàng)新體系架構(gòu),相較于傳統(tǒng)網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)了控制平面與數(shù)據(jù)平面的分離。這種新型網(wǎng)絡(luò)的架構(gòu)優(yōu)勢(shì)很明顯,簡(jiǎn)化網(wǎng)絡(luò)設(shè)備的管理和配置,形成統(tǒng)一高效的管理和維護(hù),提高網(wǎng)絡(luò)的運(yùn)行效率,降低設(shè)備的維護(hù)成本。但由于通過控制器對(duì)網(wǎng)絡(luò)集中控制和管理,更容易遭受LDoS 攻擊,被攻擊后造成的后果更加嚴(yán)重。因此,在SDN 環(huán)境下研究LDoS 攻擊檢測(cè),對(duì)改善網(wǎng)絡(luò)安全具有重要意義。
ζ
是在一定范圍內(nèi)選擇的。何炎祥等提出了一種基于小波特征提取的LDoS 檢測(cè)方法,該方法通過小波多尺度分析提取LDoS 攻擊特征,采用反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)模型來檢測(cè)攻擊。吳志軍等提出一種基于時(shí)間窗統(tǒng)計(jì)的LDoS 攻擊檢測(cè)方法,該方法利用LDoS 攻擊在單位時(shí)間內(nèi)產(chǎn)生正常流量下降同時(shí)攻擊流量出現(xiàn)高脈沖的這種突變現(xiàn)象,用時(shí)間窗統(tǒng)計(jì)來進(jìn)行LDoS 攻擊檢測(cè)。該方法網(wǎng)絡(luò)環(huán)境簡(jiǎn)單,得到實(shí)驗(yàn)數(shù)據(jù)理想。茍峰等提出一種基于CUSUM算法的LDoS 攻擊檢測(cè)方法,該方法對(duì)流量利用基于累計(jì)和(CUmulative SUM,CUSUM)算法累積異常,累積值超過閾值即觸發(fā)報(bào)警,實(shí)現(xiàn)異常檢測(cè)。此方法在檢測(cè)初期會(huì)有誤報(bào)現(xiàn)象。吳志軍等提出一種基于ACK 序號(hào)步長(zhǎng)的LDoS 攻擊檢測(cè)方法,此方法通過LDoS 攻擊的瞬間ACK 序號(hào)步長(zhǎng)存在波動(dòng)行為,運(yùn)用排列熵算法設(shè)置閾值來檢測(cè)攻擊。以上方法都是利用LDoS 攻擊流量的單個(gè)異常特征進(jìn)行攻擊檢測(cè),可能導(dǎo)致檢測(cè)性能不穩(wěn)定。Yue 等提出基于小波能量譜和組合神經(jīng)網(wǎng)絡(luò)的LDoS 攻擊流量識(shí)別方法,根據(jù)網(wǎng)絡(luò)流量多重分形特征,識(shí)別LDoS 攻擊流量。吳志軍等提出一種基于聯(lián)合特征的LDoS 攻擊檢測(cè)方法,提取了可用帶寬比、小分組比例和分組丟失率3 種LDoS 攻擊流量的內(nèi)在特征,通過BP 神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)攻擊檢測(cè);但是由于網(wǎng)絡(luò)流量是動(dòng)態(tài)變化的,攻擊強(qiáng)度變?nèi)鯐r(shí)可用帶寬比和分組丟失率并不會(huì)明顯變化。Tang 等對(duì)LDoS 攻擊檢測(cè)有一定研究,提出基于多特征融合和CNN 的LDoS 攻擊檢測(cè)方法,該方法將網(wǎng)絡(luò)流量多特征融合生成網(wǎng)絡(luò)狀態(tài)映射圖,將其作為CNN 模型的輸入來訓(xùn)練模型對(duì)網(wǎng)絡(luò)流量進(jìn)行分類,該方法檢測(cè)率高且穩(wěn)定性好。Tang 等提出一種用于LDoS 攻擊檢測(cè)的改進(jìn)Mean-Shift聚類算法,根據(jù)不同屬性重要程度不同對(duì)均值漂移聚類歐氏距離進(jìn)行加權(quán),通過對(duì)簇的預(yù)設(shè)閾值和判決特征比較來識(shí)別攻擊流量,此方法有較好的檢測(cè)性能。以上檢測(cè)方法都是提取了網(wǎng)絡(luò)流量多特征,通過機(jī)器學(xué)習(xí)算法來實(shí)現(xiàn)攻擊檢測(cè)。相較于單一特性,多特征聯(lián)合檢測(cè)方法的性能更優(yōu)。與此同時(shí),在SDN 新型網(wǎng)絡(luò)架構(gòu)下,陳興蜀等提出云環(huán)境下SDNLDoS 攻擊的研究,該方法提取了10 維特征,基于貝葉斯網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)LDoS 攻擊的檢測(cè),此方法僅在數(shù)據(jù)平面得到驗(yàn)證。顏通等提出了一種SDN 環(huán)境下的LDoS 攻擊檢測(cè)與防御技術(shù),該方法對(duì)每條OpenFlow 數(shù)據(jù)流的速率單獨(dú)進(jìn)行統(tǒng)計(jì),并利用信號(hào)檢測(cè)中的雙滑動(dòng)窗口法實(shí)現(xiàn)對(duì)攻擊流量的檢測(cè)。王文濤等提出一種SDN 環(huán)境下基于Renyi 熵的LDoS 攻擊的檢測(cè),該方法通過收集packet_in 數(shù)據(jù)包,然后基于目的IP 來計(jì)算Renyi 熵,最后通過設(shè)定一定的閾值來檢測(cè)異常流量。這種方法只考慮到packet_in 消息,可能因獲取信息不足導(dǎo)致檢測(cè)結(jié)果又有誤差。
上述檢測(cè)方法多集中在傳統(tǒng)網(wǎng)絡(luò),目前針對(duì)SDN 環(huán)境下的LDoS 攻擊檢測(cè)的研究成果相對(duì)較少?;谠赟DN 環(huán)境下檢測(cè)LDoS攻擊的特征單一性和過分依賴packet_in消息,本文提出一種在SDN 環(huán)境下的LDoS 攻擊檢測(cè)新方法,首先分析SDN 環(huán)境下LDoS攻擊流量特征并提取出六元組特征,然后利用WMS-K
means算法進(jìn)行聚類,以區(qū)分正常流量和異常流量。在軟件定義網(wǎng)絡(luò)的環(huán)境下,傳統(tǒng)單一的K
-Means 算法并不適合LDoS攻擊檢測(cè)。K
-Means算法輸入的初始聚類中心是隨機(jī)的,必須給定生成簇的數(shù)量k
,最后的聚類結(jié)果往往受初始聚類中心的影響較大。Mean-Shift是基于密度的聚類算法,不需要預(yù)先知道簇個(gè)數(shù),也不限定簇的形狀,但聚類的最終結(jié)果不一定是最優(yōu)的,Mean-Shift 算法對(duì)噪聲的魯棒性更強(qiáng),因此將Mean-Shift算法聚類后的簇心,作為K
-Means 算法的初始聚類中心進(jìn)行算法的融合。由此本文提出一種加權(quán)均值漂移-K
均值(Weighted Mean-ShiftK
-Means,WMS-K
means)算法。在全部的攻擊類型中,資源消耗型攻擊最為典型。SDN技術(shù)因其特殊的網(wǎng)絡(luò)系統(tǒng)架構(gòu),攻擊者可以限制控制器決策能力、消耗OpenFlow 交換機(jī)流表資源、消耗控制器與交換機(jī)通信的控制通道資源等。目前SDN 研究大部分是基于OpenFlow 協(xié)議的,因此本文所研究的主要是針對(duì)OpenFlow協(xié)議的SDN 資源消耗型攻擊。在真實(shí)網(wǎng)絡(luò)中,LDoS 攻擊流量隱藏在正常網(wǎng)絡(luò)流量之中,并沒有完全消耗網(wǎng)絡(luò)可用資源。但其攻擊速率低且?guī)в兄芷谛裕L(zhǎng)時(shí)間發(fā)送攻擊流量,依然可以給網(wǎng)絡(luò)安全帶來威脅。詳細(xì)的網(wǎng)絡(luò)流量分析如下:
1)在正常的網(wǎng)絡(luò)流量時(shí)間尺度上,網(wǎng)絡(luò)流量具有自相似性,因此短時(shí)間內(nèi)不會(huì)出現(xiàn)網(wǎng)絡(luò)流量明顯的波動(dòng)。在SDN架構(gòu)下,當(dāng)存在LDoS 攻擊時(shí),攻擊端會(huì)周期性產(chǎn)生偽造虛假數(shù)據(jù)包,造成網(wǎng)絡(luò)中packet_in 消息增加,所以packet_in 數(shù)據(jù)包變化可以作為檢測(cè)依據(jù)。同時(shí),在維持攻擊速率穩(wěn)定的情況下,LDoS 攻擊流量分組越小,攻擊效果越好。此時(shí)攻擊流量數(shù)據(jù)包長(zhǎng)度小于正常流量數(shù)據(jù)包長(zhǎng)度,在攻擊期間的表現(xiàn)為一段時(shí)間間隔Δt
內(nèi)平均數(shù)據(jù)包長(zhǎng)度被拉低。如圖2 所示,可以看出在第14 秒攻擊開始后,網(wǎng)絡(luò)流量中packet_in 數(shù)據(jù)包個(gè)數(shù)增加以及攻擊期間平均數(shù)據(jù)包長(zhǎng)度低于正常流量平均數(shù)據(jù)包長(zhǎng)度。圖2 packet_in數(shù)據(jù)包數(shù)和平均數(shù)據(jù)包長(zhǎng)度的關(guān)系Fig.2 Relationship of packet_in packet number and average packet length
2)標(biāo)準(zhǔn)差反映的是數(shù)據(jù)集中數(shù)據(jù)分布的離散程度。在正常網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)流量的自相似性,TCP 流量的標(biāo)準(zhǔn)差接近平均值。在SDN 架構(gòu)下,當(dāng)發(fā)生LDoS 攻擊時(shí),同樣存在TCP 的擁塞控制機(jī)制,使得TCP 報(bào)文周期性持續(xù)丟失。在攻擊期間表現(xiàn)為TCP 報(bào)文數(shù)下降且呈現(xiàn)周期性。如圖3 所示,可以看出在14~126 s 攻擊期間,TCP 標(biāo)準(zhǔn)差離散程度較大,相比于正常流量有明顯變化。
圖3 TCP標(biāo)準(zhǔn)差變化Fig.3 TCP standard deviation change
3)在正常網(wǎng)絡(luò)流量中,數(shù)據(jù)包中的源IP 地址絕大部分是已存在的網(wǎng)絡(luò)地址,當(dāng)遭受LDoS 攻擊時(shí),網(wǎng)絡(luò)中會(huì)涌現(xiàn)大量偽造源IP 地址的數(shù)據(jù)包,此時(shí)控制器會(huì)收到大量packet_in 消息,并且攻擊流量經(jīng)過OpenFlow 協(xié)議封裝產(chǎn)生TCP 的數(shù)據(jù)包,使得TCP 熵值偏低。如圖4 所示,在14~126 s攻擊期間,packet_in 源IP 地址熵值普遍接近于1,TCP 數(shù)據(jù)包熵值普遍靠近0.5,這是因?yàn)楣粼吹刂肥莻卧烨译S機(jī)產(chǎn)生增加了不確定性。
圖4 熵值的變化Fig.4 Change of entropy
通過以上分析,LDoS 攻擊流量特征選取的是packet_in數(shù)據(jù)包數(shù)、UDP 數(shù)據(jù)包個(gè)數(shù)、平均數(shù)據(jù)包長(zhǎng)度、TCP 數(shù)據(jù)包標(biāo)準(zhǔn)差、packet_in 源IP 地址熵值和TCP 數(shù)據(jù)包熵值。在信息論中,信息熵是用來衡量隨機(jī)變量不確定性和隨機(jī)性的指標(biāo),對(duì)于時(shí)間序列,信息熵表示序列的無序程度。信息熵值越大,序列越無序;信息熵值越小,序列越穩(wěn)定。信息熵的定義如下:
H
(X
)表示信息熵;x
表示出現(xiàn)的隨機(jī)事件;n
表示隨機(jī)事件的個(gè)數(shù);p
(x
)表示隨機(jī)事件發(fā)生的概率。具體流量特征表示如下:
1)packet_in 數(shù)據(jù)包個(gè)數(shù):packet_in_sum
(Δt
),Δt
表示收集流表的時(shí)間間隔。2)UDP 數(shù)據(jù)包個(gè)數(shù):udp_sum
(Δt
)。
3)平均數(shù)據(jù)包長(zhǎng)度:
n
表示Δt
時(shí)間內(nèi)的數(shù)據(jù)包總數(shù);packet
_len
表示每個(gè)數(shù)據(jù)包的長(zhǎng)度。4)TCP 數(shù)據(jù)包標(biāo)準(zhǔn)差:
n
表示Δt
時(shí)間內(nèi)TCP 數(shù)據(jù)包取的份數(shù);X
ˉ表示Δt
時(shí)間內(nèi)TCP 數(shù)據(jù)包平均值;X
表示Δt
時(shí)間內(nèi)每份TCP 數(shù)據(jù)包個(gè)數(shù)。5)packet_in 數(shù)據(jù)包源IP 地址熵值:
6)TCP 數(shù)據(jù)包熵值:
2.2.1 初始聚類中心生成過程
通常,聚類是根據(jù)數(shù)據(jù)集的樣本點(diǎn)相似程度對(duì)其進(jìn)行分類。因?yàn)閿?shù)據(jù)點(diǎn)的屬性有差別,相應(yīng)的重要程度也會(huì)有所不同,所以數(shù)據(jù)點(diǎn)之間的距離不僅取決于相似程度,還取決于數(shù)據(jù)間的屬性。Mean-Shift 算法一般采用歐幾里得距離,同等對(duì)待數(shù)據(jù)的每個(gè)屬性,不能反映不同屬性間的重要性。針對(duì)這一問題,使用加權(quán)歐氏距離代替?zhèn)鹘y(tǒng)的歐氏距離。具體的改進(jìn)方法如下:
在d
維歐氏空間上的n
個(gè)數(shù)據(jù)點(diǎn)x
(i
=1,2,…,n
)的核密度估計(jì)值如下:h
為帶寬;K
(x
)為徑向?qū)ΨQ函數(shù),K
(x
)=C
k
(‖x
‖),C
是單位密度的歸一化常數(shù),k
為k
(x
)的簡(jiǎn)寫。式(6)中的梯度如下:
x
(i
=1,2,…,n
)在d
維歐氏距離下一個(gè)更新中心點(diǎn)為:x=
(x
,x
,…,x
)和x=
(x
,x
,…,x
)間加權(quán)歐氏距離可表示為:w
(v
=1,2,…,d
)表示第v
個(gè)屬性權(quán)重。因此,Mean-Shift 算法在d
維歐氏距離下一個(gè)更新中心點(diǎn)由式(9)改為:w
為第v
個(gè)屬性的權(quán)重系數(shù);g
(x
)為核函數(shù)。當(dāng)發(fā)生LDoS 攻擊時(shí),網(wǎng)絡(luò)流量的離散程度比正常網(wǎng)絡(luò)流量離散程度更大,相應(yīng)的加權(quán)系數(shù)的值越大,說明此屬性有很強(qiáng)的重要性。本文選取平均絕對(duì)百分比誤差作為歐氏距離加權(quán)系數(shù),一定程度上反映網(wǎng)絡(luò)數(shù)據(jù)流量的波動(dòng)情況,具體表示為:
具體的初始聚類中心生成過程如下。
算法1 改進(jìn)Mean-Shift 初始聚類中心選擇過程。
輸入 樣本集Z
={z
,z
,…,z
},聚類帶寬h
。輸出 初始聚類中心{G
,G
,…,G
}。K
means算法改進(jìn)后的Mean-Shift 算法也是基于密度的算法,只是根據(jù)具體數(shù)據(jù)集使得均值偏移向量向概率密度最大的方向偏移得更加精準(zhǔn)。通常情況下,好的聚類中心應(yīng)該是數(shù)據(jù)分布密度最大的中心點(diǎn),改進(jìn)的Mean-Shift 算法生成的初始聚類中心更貼合實(shí)際數(shù)據(jù)的分布。算法具體過程如下:
選定初始聚類中心{G
,G
,…,G
}以及簇的個(gè)數(shù)k
,將數(shù)據(jù)集每個(gè)數(shù)據(jù)點(diǎn)根據(jù)歐氏距離劃分到最近的簇,數(shù)據(jù)集樣本點(diǎn)之間的歐氏距離越小,樣本間相似程度越高。通過計(jì)算簇中所有數(shù)據(jù)點(diǎn)到中心點(diǎn)的均值重新選定簇心,WMS-K
means算法經(jīng)過k
次迭代,直到簇心不再更新。最終得到k
個(gè)最佳聚類質(zhì)心,使得簇內(nèi)樣本點(diǎn)相似度最高,簇間樣本點(diǎn)相似度最低。具體算法描述如下。算法2 WMS-K
means 算法。輸入 樣本集Z
={z
,z
,…,z
};聚類個(gè)數(shù)k
。輸出 簇劃分C
={C
,C
,…,C
}。K
means 算法通過聚類區(qū)分有無攻擊。本文WMS-K
means 算法部署在SDN控制器中,SDN 控制器相當(dāng)于人類大腦,具有足夠的算力和儲(chǔ)存空間。由于網(wǎng)絡(luò)流量分析、特征選取和檢測(cè)方法涉及流量都是SDN 控制器和OpenFlow 交換機(jī)之間的通信流量,所以檢測(cè)方法和網(wǎng)絡(luò)拓?fù)錈o關(guān)。具體的攻擊檢測(cè)過程如下:1)數(shù)據(jù)收集。此部分通過Wireshark 周期性地采集交換機(jī)中流表流量,保存完整的流表信息,將流表信息利用Python 導(dǎo)入數(shù)據(jù)庫(kù),為特征提取做準(zhǔn)備。
2)特征提取。此部分通過2.1 節(jié)中的特征分析,提取出SDN 環(huán)境下LDoS 攻擊流量六元組特征。使用Python 工具統(tǒng)計(jì)每秒內(nèi)六元組特征值,并保存到數(shù)據(jù)庫(kù)中。
3)攻擊檢測(cè)。此部分利用2.2 節(jié)中提出的WMS-K
means算法,對(duì)攻擊流量六元組特征進(jìn)行分類。具體檢測(cè)過程如下:G
,G
,…,G
}。將中心點(diǎn){G
,G
,G
…,G
}作為K
-Means 聚類初始聚類中心,計(jì)算所有樣本點(diǎn)到初始聚類中心的距離:d
,將每個(gè)樣本點(diǎn)標(biāo)記劃分到最近的簇中。在每個(gè)簇中所有樣本點(diǎn)重新計(jì)算新的聚類中心:
如果新計(jì)算出的簇心與原簇心距離變化較大,則重新迭代上述步驟,計(jì)算距離劃分新的簇;如果重新計(jì)算出的簇心位置趨于穩(wěn)定,可以認(rèn)為聚類已達(dá)期望效果,輸出本次分類結(jié)果。
為了能充分展現(xiàn)LDoS 攻擊檢測(cè)的準(zhǔn)確性,本文實(shí)驗(yàn)使用Mininet 和開源控制器ONOS 搭建仿真環(huán)境。虛擬交換機(jī)采用Switcher 2.9.2,OpenFlow 協(xié)議使用OpenFlow1.3 版本。虛擬機(jī)操作系統(tǒng)為Ubantu18.04 系統(tǒng),內(nèi)存為5 GB,處理器內(nèi)核總數(shù)為2,在i5CPU 和8 GB RAM 的計(jì)算機(jī)上完成。實(shí)驗(yàn)拓?fù)淙鐖D5 所示,用Mininet 搭建由9 臺(tái)主機(jī)和6 臺(tái)OpenFlow交換機(jī)的網(wǎng)絡(luò)并連接到Internet 上。主機(jī)h2~h9 為正常用戶,h1 為攻擊者。OpenFlow 交換機(jī)s1~s6 之間的鏈路帶寬為10 Mb/s,各主機(jī)與交換機(jī)之間鏈路帶寬為100 Mb/s,所有鏈路時(shí)延為10 ms。
圖5 實(shí)驗(yàn)拓?fù)銯ig.5 Experimental topology
h1 向h9 發(fā)送UDP 攻擊流量,攻擊工具使用Hping3。h4、h7 分別向h8、h9 發(fā)送由D-ITG 產(chǎn)生的TCP 流量建立正常連接,使得在S4、S5 鏈路上匯集的正常流量速率接近于10 Mb/s,讓UDP 流量產(chǎn)生更好的攻擊效果。
實(shí)驗(yàn)分為三組,每組實(shí)驗(yàn)包含不同攻擊參數(shù)的LDoS 攻擊,具體參數(shù)如表1 所示。在搭建的網(wǎng)絡(luò)拓?fù)渲惺占鞅硇畔?,每組實(shí)驗(yàn)攻擊周期循環(huán)90 次,三組平均收集流表數(shù)983 202 個(gè)。
表1 LDoS攻擊的參數(shù)Tab 1 Parameters of LDoS attack
本文通過真正例(True Positive,TP)、真反例(True Negative,TN)、假正例(False Positive,F(xiàn)P)和假反例(False Negative,F(xiàn)N)計(jì)算檢測(cè)率、誤警率和漏警率來評(píng)價(jià)檢測(cè)的性能。三個(gè)評(píng)價(jià)指標(biāo)表示如下:
1)檢測(cè)率I
(Detection Rate):表示正確預(yù)測(cè)攻擊流量數(shù)量除以實(shí)際總的攻擊流量數(shù)量的值。值越大說明檢測(cè)LDoS攻擊效果越好。I
(False Alarm Rate):表示正常流量被預(yù)測(cè)為攻擊流量數(shù)量除以實(shí)際總的正常流量數(shù)量的值。值越小說明正常流量成功預(yù)測(cè)率高。I
(Missing Alarm Rate):表示未正確預(yù)測(cè)攻擊流量數(shù)量除以實(shí)際總攻擊流量數(shù)量的值。值越小說明檢測(cè)LDoS 攻擊效果越好。K
means算法的LDoS攻擊檢測(cè)方法計(jì)算出I
、I
和I
三種攻擊檢測(cè)算法評(píng)定指標(biāo)值。比較I
、I
和I
隨著h
值的變化而產(chǎn)生的變化。由于h
值為核函數(shù)帶寬,隨著核函數(shù)帶寬h
的減小,核函數(shù)值增加,數(shù)據(jù)集的概率密度增加,直接影響著最終聚類的檢測(cè)結(jié)果。因此本文選取h
為0.2到0.7的值進(jìn)行多次測(cè)試。實(shí)驗(yàn)測(cè)試結(jié)果如表2所示,計(jì)算六組不同h
值的平均檢測(cè)率I
分別為99.29%、98.06%、97.01%、96.72%、94.30%、93.95%。表2 三種評(píng)價(jià)指標(biāo)隨不同h值的變化 單位:%Tab 2 Changes of three evaluation indexes with different h values unit:%
從六組平均檢測(cè)率中可以看出,平均檢測(cè)率I
隨著帶寬h
值的增加不斷減小。當(dāng)帶寬h
值大到一定程度,平均檢測(cè)率會(huì)明顯下降。當(dāng)h
=0.2 時(shí),此時(shí)平均檢測(cè)率最高為99.29%,平均I
為1.97%,平均I
為0.69%。為了檢驗(yàn)本文WMS-K
means 算法對(duì)LDoS 攻擊檢測(cè)的有效性,將本文方法與K
-Means 算法進(jìn)行比較。用K
-Means 算法同樣對(duì)上述三組LDoS 攻擊數(shù)據(jù)進(jìn)行檢測(cè),由于K
-Means 算法需要指定聚類個(gè)數(shù),通過多次實(shí)驗(yàn),取三組實(shí)驗(yàn)數(shù)據(jù)結(jié)果的最好檢測(cè)值,即聚類個(gè)數(shù)k
為5 時(shí)的檢測(cè)結(jié)果,記錄如表3 所示。通過計(jì)算得出K
-Means 算法的平均檢測(cè)率為97.71%,平均誤警率為2.01%,平均漏警率FNR 為2.27%,如表4 所示,本文WMS-K
means 算法平均檢測(cè)率為99.29%高于K
-Means 算法的97.71%,平均誤警率和平均漏警率均低于K
-Means 算法,可以看出本文方法優(yōu)于單一的K
-Means 算法。表3 K-Means算法評(píng)價(jià)指標(biāo)(k=5) 單位:%Tab 3 K-Means algorithm evaluation index(k=5)unit:%
表4 本文方法與K-Means算法的對(duì)比 單位:%Tab 4 Comparative in proposed method and K-Means algorithm unit:%
表5 是本文方法與基于累加和(CUmulative SUM,CUSUM)算法、多特征自適應(yīng)增強(qiáng)(Multiple Features-Adaptive boosting,MF-Adaboost)算法、HSMM(Hidden Semi-Markov Model)和雙滑動(dòng)窗口法的四種檢測(cè)方法進(jìn)行比較,并且使用I
、I
和I
三個(gè)指標(biāo)評(píng)價(jià)算法性能。表5 不同檢測(cè)方法的對(duì)比 單位:%Tab 5 Different detection methods comparison unit:%
表5 展示了五種檢測(cè)方法的檢測(cè)率,本文方法的檢測(cè)率最優(yōu)為99.29%,CUSUM 算法、MF-Adaboost 算法、HSMM 模型和雙滑動(dòng)窗口法四種檢測(cè)方法的檢測(cè)率分別為96%、97.32%、98%和98.3%。在誤警率的比較中,本文所提方法的平均誤警率I
為1.97%,CUSUM 算法、MF-Adaboost 算法和HSMM 模型檢測(cè)方法的誤警率I
分別為8%、5.87%和4%,均高于本文方法。與雙滑動(dòng)窗口法的1.2%相比,本文方法平均誤警率略高于雙滑動(dòng)窗口法,但是本文方法的總體計(jì)算復(fù)雜度更低,檢測(cè)率更高。在漏警率比較中,標(biāo)記處雙滑動(dòng)窗口法無此參數(shù),相較于其他方法,本文方法的平均漏警率I
同樣最低為0.69%,CUSUM 算法、MF-Adaboost 算法和HSMM 模型檢測(cè)方法的漏警率分別為4%、2.68%和2%。K
means 算法的LDoS 攻擊檢測(cè)方法,提取出LDoS 攻擊流量六元組特征,用平均絕對(duì)百分比誤差作為Mean-Shift 歐氏距離加權(quán)系數(shù),將六元組特征作為改進(jìn)Mean-Shift 算法的輸入生成初始聚類中心,再利用K
-Means 算法進(jìn)行分類,最后通過分組實(shí)驗(yàn),得到本文方法評(píng)價(jià)指標(biāo)值。本文方法的特色如下:1)在SDN 中利用控制器部署算法實(shí)現(xiàn)了LDoS 攻擊的檢測(cè);2)在SDN 環(huán)境下分析LDoS 攻擊流量特征,并提取出LDoS 攻擊流量六個(gè)內(nèi)在特性;3)根據(jù)LDoS 攻擊流量特征,提出了WMS-K
means算法。最后在仿真環(huán)境下對(duì)本文方法進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,本文方法與其他檢測(cè)方法相比檢測(cè)率有所提升,并且誤警率和漏警率相對(duì)較低,有良好的檢測(cè)性能;但是經(jīng)過多次迭代執(zhí)行時(shí)間相對(duì)較長(zhǎng)。下一步的工作是優(yōu)化算法,降低算法的時(shí)間復(fù)雜度。