張 飛,雒江濤,何 宸,王俊霞,江佐琦,王孟楠
(1.重慶郵電大學(xué) 通信與信息工程學(xué)院, 重慶 400065; 2. 重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)工程研究院, 重慶 400065)
最初的互聯(lián)網(wǎng)設(shè)計(jì)目的是解決主機(jī)之間通信,但由于其協(xié)議強(qiáng)大的兼容性,承載起了無(wú)數(shù)的應(yīng)用,并取得巨大的成功。不過(guò),隨著大規(guī)模的內(nèi)容共享和物聯(lián)網(wǎng)應(yīng)用日益普及,基于主機(jī)地址的路由和面向連接的安全機(jī)制逐漸暴露出更多的不足。為了克服IP網(wǎng)絡(luò)所面臨的挑戰(zhàn),以命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking, NDN)[1]為代表的未來(lái)互聯(lián)網(wǎng)革命性設(shè)計(jì)被提出,旨在建立以基于內(nèi)容的尋址和有狀態(tài)轉(zhuǎn)發(fā)為核心的全新網(wǎng)絡(luò)架構(gòu)[2]。
在NDN的設(shè)計(jì)中,網(wǎng)絡(luò)中傳輸?shù)陌譃?種:興趣(interest)包和數(shù)據(jù)(data)包。每個(gè)路由器包括3種重要的數(shù)據(jù)結(jié)構(gòu):內(nèi)容緩存(content store , CS)、未決興趣表(pending interest table, PIT)和轉(zhuǎn)發(fā)信息庫(kù)(forwarding informationbase, FIB)。其中,CS緩存流經(jīng)的數(shù)據(jù)包,用于響應(yīng)后續(xù)興趣包的請(qǐng)求;FIB存儲(chǔ)興趣包的轉(zhuǎn)發(fā)策略,包含名字前綴、輸出接口等字段。路由器收到興趣包后,首先檢查CS是否存在與興趣包名字匹配的數(shù)據(jù),若存在,則將匹配的數(shù)據(jù)包沿興趣包到達(dá)的相反路徑,原路返回到請(qǐng)求節(jié)點(diǎn),并且丟棄該已被滿足的興趣包;若不存在,路由器查詢PIT中是否包含該興趣包名字的條目,若PIT中存在匹配的條目,則在該條目中追加該興趣包的來(lái)源接口,并丟棄該興趣包;若不存在,則根據(jù)名字最長(zhǎng)前綴匹配原則查詢FIB,將該興趣包沿查詢得到的輸出接口轉(zhuǎn)發(fā)至下一跳路由器,并在PIT中增加條目。
NDN中基于內(nèi)容的路由機(jī)制使得IP網(wǎng)絡(luò)中針對(duì)特定主機(jī)的分布式拒絕服務(wù)(distributed denial of service, DDoS)失效;然而,由于路由器中記錄轉(zhuǎn)發(fā)信息的PIT成為易受攻擊的對(duì)象,因此形成NDN中新的DDoS攻擊形式——興趣洪泛攻擊(interest flooding attack, IFA)。比如,攻擊者通過(guò)發(fā)送大量惡意興趣包請(qǐng)求不存在的內(nèi)容[3],這些惡意請(qǐng)求被緩存在中間路由器的PIT中直至超時(shí)才被清除,從而使PIT資源耗盡,正常的請(qǐng)求因無(wú)法創(chuàng)建PIT條目而被丟棄,嚴(yán)重危害了NDN的安全。因此,針對(duì)IFA防御的研究極為必要。
單純的IFA檢測(cè)與緩解方案被廣泛研究。最直接的檢測(cè)方法基于PIT的統(tǒng)計(jì)閾值,比如PIT興趣滿足度、PIT占用空間或占用率[4]等。較復(fù)雜的檢測(cè)方法有基于信息熵[5]、模糊邏輯[6]、博弈論[7]以及基尼不純度[8]的方法。常見(jiàn)的緩解方案通過(guò)降低可疑流量來(lái)源端口的興趣包輸入速率?;诮y(tǒng)計(jì)特征的檢測(cè)方法的優(yōu)點(diǎn)是檢測(cè)速度較快,缺點(diǎn)是對(duì)于高速率突發(fā)流量,誤檢率較高。而且基于窗口的檢測(cè)方案,只能檢測(cè)出攻擊發(fā)生時(shí)刻,而對(duì)于連續(xù)的攻擊檢測(cè)效率不高。
部分學(xué)者提出基于機(jī)器學(xué)習(xí)算法的防御方案,如基于SVM(support vector machine)[9]及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)[10]的方案,但是仍然無(wú)法區(qū)別正常用戶的合法請(qǐng)求。此外,有學(xué)者提出通過(guò)修改路由器PIT或CS功能的防御方案,如文獻(xiàn)[11]摒棄PIT,提出了一種無(wú)狀態(tài)轉(zhuǎn)發(fā)的ICN(information-centric networking )網(wǎng)絡(luò)架構(gòu),但這類方法需要在興趣包中加入字段進(jìn)行路由,使得計(jì)算開銷大,兼容性差,較難實(shí)現(xiàn)大規(guī)模部署。
綜合已有的研究,至今缺乏較為系統(tǒng)的防御方案,不僅能及時(shí)準(zhǔn)確地檢測(cè)IFA攻擊,而且能采取有效措施降低攻擊對(duì)網(wǎng)絡(luò)產(chǎn)生的危害,保證正常用戶的請(qǐng)求不被影響。本文提出一種基于粒子群優(yōu)化的后向傳播神經(jīng)網(wǎng)絡(luò)算法的IFA檢測(cè)方法,并結(jié)合基于基尼不純度的惡意前綴識(shí)別方法[8],以及興趣包回溯方案[12]緩解攻擊危害,旨在探索一種較為系統(tǒng)的防御方案。
BP(back propagation, BP)神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)[13],是一種有效的多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,其主要特點(diǎn)是前向傳遞信號(hào),后向傳播誤差,通過(guò)不斷調(diào)節(jié)網(wǎng)絡(luò)權(quán)重值以及偏置值,使得網(wǎng)絡(luò)的最終輸出與期望輸出盡可能接近,直至達(dá)到最大迭代次數(shù)M,或者誤差小于設(shè)定的最小誤差ε。
BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括輸入層、隱含層和輸出層。本文要解決的問(wèn)題是二分類問(wèn)題,選取了4個(gè)特征:PIT條目數(shù),滿足興趣包數(shù)目,收到興趣包數(shù)目以及收到的Data包數(shù)與發(fā)出的興趣包數(shù)的比值。隱含層個(gè)數(shù)根據(jù)實(shí)際需求進(jìn)行調(diào)整。本文的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)采用4-10-2,如圖1。
粒子群優(yōu)化算法是受人工生命研究結(jié)果的啟發(fā)、通過(guò)模擬鳥群覓食過(guò)程中的遷徙和群聚行為而提出的一種基于群體智能的全局隨機(jī)搜索算法[14]。由于粒子群優(yōu)化算法(particle swarm optimization, PSO)操作簡(jiǎn)單、收斂速度快,因此在函數(shù)優(yōu)化、圖像處理、大地測(cè)量等眾多領(lǐng)域都得到了廣泛的應(yīng)用。
BP神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值是隨機(jī)初始化的,導(dǎo)致其收斂速度較慢,容易陷入局部極小值,所以本文引入粒子群優(yōu)化算法來(lái)優(yōu)化BP網(wǎng)絡(luò),加快其收斂速度。首先,將BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行編碼,然后初始化粒子群的位置和速度,接著使用粒子群算法進(jìn)行迭代獲得全局最佳值,最后再將得到的編碼解碼用于初始化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值及閾值。算法的流程如圖2。
BP神經(jīng)網(wǎng)絡(luò)具有高度的并行結(jié)構(gòu)和并行處理能力,可以逼近任何非線性函數(shù),能夠很好地解決非線性問(wèn)題。此外,BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的容錯(cuò)性、魯棒性,以及強(qiáng)大的學(xué)習(xí)分類能力,被廣泛地應(yīng)用于分類問(wèn)題。同時(shí),本文選取的幾個(gè)特征值關(guān)聯(lián)性較強(qiáng),使得其他的分類算法效果不佳,所以將BP神經(jīng)網(wǎng)絡(luò)用于網(wǎng)絡(luò)攻擊的檢測(cè),使用網(wǎng)絡(luò)中海量的訓(xùn)練數(shù)據(jù),對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,能夠得到一個(gè)準(zhǔn)確的分類模型。
本文引入PSO對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,通過(guò)PSO算法來(lái)初始化網(wǎng)絡(luò)的閾值和權(quán)值,降低網(wǎng)絡(luò)誤差。優(yōu)化后的算法有更高的準(zhǔn)確性,且收斂速度得到明顯提升。但是,由于PSO算法的復(fù)雜度較高,引入PSO優(yōu)化之后計(jì)算開銷增加,所需的訓(xùn)練時(shí)間增加。但本文是將訓(xùn)練好的網(wǎng)絡(luò)用于網(wǎng)絡(luò)攻擊檢測(cè),對(duì)訓(xùn)練的實(shí)時(shí)性要求不高,所以本文使用PSO-BP神經(jīng)網(wǎng)絡(luò)是可行的。
在特征值選取上,本文通過(guò)對(duì)比網(wǎng)絡(luò)中發(fā)生IFA攻擊、突發(fā)流量時(shí)以及正常時(shí)期的各個(gè)數(shù)據(jù)的變化,選取在網(wǎng)絡(luò)狀態(tài)改變時(shí)發(fā)生明顯變化的數(shù)值作為特征值。通過(guò)分析選取以下4個(gè)數(shù)據(jù)作為特征。
1)PIT條目數(shù):在時(shí)間間隔Δt內(nèi)的路由器中PIT條目數(shù);
2)滿足興趣包數(shù)目:在時(shí)間間隔Δt內(nèi),路由器中被滿足的興趣包總數(shù);
3)收到興趣包數(shù)目:在時(shí)間間隔Δt內(nèi),路由器中收到的興趣包總數(shù);
4)λdi:在時(shí)間間隔Δt內(nèi),路由器收到的Data包數(shù)與發(fā)出的興趣包數(shù)的比值。
這4個(gè)特征變量具有代表性,當(dāng)網(wǎng)絡(luò)中發(fā)生IFA攻擊時(shí),PIT條目數(shù)和收到興趣包數(shù)會(huì)急劇增加,但是滿足興趣包數(shù)以及λdi會(huì)減小。當(dāng)網(wǎng)絡(luò)中發(fā)生突發(fā)流量時(shí),網(wǎng)絡(luò)中的PIT條目數(shù)和收到興趣包數(shù)有所上升,λdi會(huì)下降,但是滿足興趣包數(shù)會(huì)上升。選取的這4個(gè)特征,包括了PIT的狀態(tài)以及CS狀態(tài)的變化,可以很有效地區(qū)分網(wǎng)絡(luò)中的狀態(tài)。
在網(wǎng)絡(luò)中收集數(shù)據(jù)用于分類模型的訓(xùn)練,其中,訓(xùn)練數(shù)據(jù)的格式表示為{(x1,y1),(x2,y2),…,(xn,yn)},訓(xùn)練數(shù)據(jù)集中包含n條已分類的訓(xùn)練數(shù)據(jù),其中,xi=(xi(1),xi(2),…,xi(N))是選取的N維特征向量,yi∈{c1,c2,…,cK}屬于K類中的一類。每個(gè)x包含了本文選取的特征,每個(gè)y有2種取值分別代表2個(gè)類別:‘0’代表該時(shí)間段沒(méi)有發(fā)生IFA攻擊,‘1’代表該時(shí)間段發(fā)生IFA攻擊。
本文通過(guò)在ndnSIM仿真平臺(tái)上模擬正常流量、突發(fā)流量以及攻擊流量,對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行標(biāo)記,構(gòu)建訓(xùn)練數(shù)據(jù)集。然后,用訓(xùn)練數(shù)據(jù)集對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到一個(gè)分類模型,用于檢測(cè)網(wǎng)絡(luò)中的IFA攻擊。當(dāng)網(wǎng)絡(luò)中檢測(cè)到發(fā)生IFA攻擊后,啟動(dòng)惡意前綴識(shí)別程序。
本文采用基于基尼不純度(Gini impurity)的可疑前綴識(shí)別方案[8]。在NDN網(wǎng)絡(luò)中,路由器可以記錄每個(gè)時(shí)間段的興趣包前綴。受IFA影響,興趣包前綴分布的改變會(huì)導(dǎo)致基尼不純度發(fā)生變化,以此作為識(shí)別可疑前綴的依據(jù)。攻擊前時(shí)間段的興趣包前綴集合記為S1,IFA攻擊時(shí)的興趣包前綴集合記為S2,S1和S2集合中的前綴基本一致。
S為一個(gè)集合,Pj是集合S中j類出現(xiàn)的概率,該集合的基尼不純度表示為
(1)
對(duì)于前綴i,將P1(i)記為i在集合S1中的概率,P2(i)記為i在集合S2中的概率。對(duì)集合S2中興趣包前綴i,用集合S1中的P1(i)替換集合S2中的P2(i),得到一個(gè)新的集合S'2,用 (2) 式計(jì)算由興趣包前綴i帶來(lái)的基尼不純度的差異。
ΔGinii=Gini(S′2)-Gini(S2)
(2)
對(duì)集合S2中的每個(gè)興趣包前綴i,計(jì)算它的ΔGinii,并將ΔGinii<0的興趣包前綴標(biāo)記為可疑前綴。
當(dāng)確定攻擊前綴之后,立即采取緩解措施,采用興趣包回溯方案[12]對(duì)惡意興趣包進(jìn)行限制。檢測(cè)到攻擊的路由器生成一個(gè)虛假的數(shù)據(jù)包用于滿足惡意請(qǐng)求,在原始數(shù)據(jù)包格式的基礎(chǔ)上增加一個(gè)標(biāo)志位,用于區(qū)分是否是虛假數(shù)據(jù)包。虛假數(shù)據(jù)包的內(nèi)容是可疑前綴。
虛假數(shù)據(jù)包沿著請(qǐng)求興趣包的路徑返回到連接攻擊者的邊緣路由器,邊緣路由器收到虛假數(shù)據(jù)包后,首先提取出興趣包中的攻擊興趣包前綴,然后限制該前綴的請(qǐng)求興趣包,從而達(dá)到IFA的防御效果。
本文使用開源ndnSIM[15]仿真平臺(tái)對(duì)本文提出的方案進(jìn)行驗(yàn)證。本文將基于PSO-BP算法的IFA檢測(cè)機(jī)制的檢測(cè)結(jié)果和基于基尼不純度的IFA檢測(cè)方案結(jié)果進(jìn)行對(duì)比;并且以PIT使用率為指標(biāo)對(duì)所提方案的防御效果進(jìn)行了分析評(píng)估。
本文使用small-scale tree topology拓?fù)鋱D如圖3。實(shí)驗(yàn)的參數(shù)設(shè)計(jì)如表1,正常用戶Cx發(fā)送的請(qǐng)求符合Zipf-Mandelbrot分布,每秒發(fā)送20~100個(gè)興趣包;攻擊用戶A1發(fā)送的惡意請(qǐng)求符合Uniform分布,每秒發(fā)送300~1 100個(gè)興趣包。正常用戶B1發(fā)送的突發(fā)流量請(qǐng)求符合Zipf-Mandelbrot分布,每秒發(fā)送300~1 100個(gè)興趣包。鏈路時(shí)延均為10 ms,數(shù)據(jù)帶寬均為100 Mbit/s。其余的參數(shù)為默認(rèn)值。
分別在5~15 s生成300 packets/s的網(wǎng)絡(luò)突發(fā)流量,在55~65 s生成600 packets/s的IFA攻擊。突發(fā)流量是指高于網(wǎng)絡(luò)中平均流量的突發(fā)正常請(qǐng)求,攻擊流量是指IFA用戶發(fā)起的攻擊請(qǐng)求。圖4為網(wǎng)絡(luò)狀態(tài)發(fā)生改變時(shí),所選特征值的變化。從圖4中可以看出,在網(wǎng)絡(luò)中出現(xiàn)突發(fā)流量時(shí),PIT條目數(shù)、收到的興趣包數(shù)及滿足的興趣包數(shù)會(huì)上升,突發(fā)流量會(huì)使得路由器收到的Data包數(shù)與發(fā)出的興趣包數(shù)的比值有所下降。當(dāng)網(wǎng)絡(luò)中出現(xiàn)IFA攻擊時(shí),PIT條目數(shù)急劇上升為原來(lái)的約30倍,收到興趣包數(shù)會(huì)急劇上升到原來(lái)的4倍,滿足興趣包數(shù)下降為原來(lái)的50%左右,收到的Data包數(shù)與發(fā)出的興趣包數(shù)的比值急劇下降為原來(lái)的10%。
表1 實(shí)驗(yàn)參數(shù)Tab.1 Experimental parameters
在實(shí)驗(yàn)階段,獲取網(wǎng)絡(luò)中各種網(wǎng)絡(luò)狀態(tài)下的特征數(shù)據(jù),構(gòu)建訓(xùn)練數(shù)據(jù)集用于BP神經(jīng)網(wǎng)絡(luò)分類模型的訓(xùn)練。實(shí)驗(yàn)中,部分參數(shù)設(shè)置如表2,節(jié)點(diǎn)Cx為正常用戶請(qǐng)求,速率為20~100 packets/s,并且有內(nèi)容提供者P1回應(yīng)該請(qǐng)求;節(jié)點(diǎn)A1為網(wǎng)絡(luò)中的IFA攻擊用戶,請(qǐng)求不存在的內(nèi)容,模擬IFA攻擊,請(qǐng)求速率為300~1 100 packets/s;節(jié)點(diǎn)B1請(qǐng)求存在的內(nèi)容,模擬網(wǎng)絡(luò)中的突發(fā)流量,速率為300~1 100 packets/s,時(shí)間為0~1 000 min。
表2 訓(xùn)練數(shù)據(jù)獲取的實(shí)驗(yàn)參數(shù)Tab.2 Experimental parameters of training data acquisition
3.2.1 檢測(cè)方案的準(zhǔn)確性
PSO-BP神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)設(shè)置為:BP網(wǎng)絡(luò)中,采用3層神經(jīng)網(wǎng)絡(luò)(一個(gè)輸入層,一個(gè)輸出層,一個(gè)單隱層),輸入層神經(jīng)元數(shù)為4,隱含層神經(jīng)元數(shù)為10,輸出層的神經(jīng)元數(shù)為2。激活函數(shù)為sigmoid函數(shù),最大訓(xùn)練次數(shù)M為2 000,最大的允許誤差ε為0.005,學(xué)習(xí)速率為0.015。PSO算法中,粒子群規(guī)模為50,最大迭代次數(shù)設(shè)置為200,加速度常數(shù)c1,c2均設(shè)置為2,粒子維度d由(3)式確定為72,速度為[-1,1],位置為[-1.1]。
d=m·n1+n·n1+n1+n
(3)
(3)式中:m為輸入節(jié)點(diǎn)數(shù);n1為隱層節(jié)點(diǎn)數(shù);n為輸出節(jié)點(diǎn)數(shù)。
本文的時(shí)間間隔Δt設(shè)置為1 s。為了評(píng)測(cè)PSO-BP分類器的分類效果,采用的指標(biāo)為:真陽(yáng)性率(true positive rate, TPR),即正確檢測(cè)時(shí)間窗口發(fā)生攻擊;假陽(yáng)性率(false positive rate, FPR),即誤檢測(cè)出窗口發(fā)生攻擊。使用60 000條數(shù)據(jù)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對(duì)網(wǎng)絡(luò)中的攻擊進(jìn)行檢測(cè)。在檢測(cè)期間,隨機(jī)地加入了突發(fā)網(wǎng)絡(luò)流量,突發(fā)流量有對(duì)應(yīng)的內(nèi)容提供者回應(yīng)請(qǐng)求。
每個(gè)正常用戶的請(qǐng)求速率在20~100 packets/s變化,在仿真階段隨機(jī)加入了速率為300~1 100 packets/s突發(fā)流量,攻擊用戶的請(qǐng)求速率在300~1 100 packets/s的實(shí)驗(yàn)條件下,仿真時(shí)間為300 s。2種檢測(cè)方案的檢測(cè)結(jié)果如圖5。實(shí)驗(yàn)結(jié)果表明,本文提出的基于PSO-BP的檢測(cè)方案的檢測(cè)效果優(yōu)于基于基尼不純度的檢測(cè)方案:真陽(yáng)率要高,假陽(yáng)率要低。從圖5中曲線可以看出,即使在攻擊速率較低的情況下,本方案的真陽(yáng)率超過(guò)了0.912 5,假陽(yáng)率低于0.063 9,達(dá)到了較好的檢測(cè)效果。隨著攻擊速率的提高,本方案的真陽(yáng)率逐漸提高,假陽(yáng)率一直維持在較低的水平。
表3是基于PSO-BP方案、基于基尼不純度方案以及BP算法的檢測(cè)準(zhǔn)確率Acc,計(jì)算公式為
(4)
(4)式中:TP為正例被檢測(cè)為正例的數(shù)目;TN為負(fù)例被檢測(cè)為負(fù)例的數(shù)目;P為正例數(shù)目;N為負(fù)例數(shù)目。
從表3中可以看出,本方案的檢測(cè)準(zhǔn)確率超過(guò)93%,高于基于基尼不純度的檢測(cè)方案;并且,引入PSO優(yōu)化后,檢測(cè)的準(zhǔn)確率與傳統(tǒng)BP算法相比準(zhǔn)確率提高了至少0.3%,BP算法的檢測(cè)準(zhǔn)確率在0.924~0.957,而PSO-BP算法的檢測(cè)準(zhǔn)確率在0.930~0.960。
表3 3種檢測(cè)方案的檢測(cè)準(zhǔn)確率Tab.3 Detection accuracy of threedetection schemes
另外,本文用實(shí)驗(yàn)驗(yàn)證了2種方案檢測(cè)連續(xù)攻擊的準(zhǔn)確性。在檢測(cè)期間,節(jié)點(diǎn)B1分別在1~5 s, 11~15 s向網(wǎng)絡(luò)發(fā)送了300 packets/s的突發(fā)流量,節(jié)點(diǎn)A1分別在6~10 s, 16~20 s發(fā)起了600 packets/s的IFA攻擊,在離散時(shí)間22 s, 24 s, 27 s, 29 s,網(wǎng)絡(luò)中發(fā)生了600 packets/s的IFA攻擊。
實(shí)驗(yàn)結(jié)果如圖6。由圖6可知,使用基于PSO-BP算法的檢測(cè)方法能夠準(zhǔn)確檢測(cè)出6~10 s, 16~20 s以及22 s, 24 s, 27 s, 29 s發(fā)生的IFA攻擊,沒(méi)有將突發(fā)流量誤檢測(cè)成IFA攻擊,并且可以在發(fā)生攻擊之后很快檢測(cè)出攻擊的發(fā)生。而基于基尼不純度的檢測(cè)方案,只能檢測(cè)到連續(xù)攻擊的開始時(shí)刻6 s,16 s,以及離散的22 s, 24 s, 27 s, 29 s, 對(duì)于連續(xù)攻擊和攻擊發(fā)生期間無(wú)法檢測(cè)。
基于窗口的檢測(cè)方案在發(fā)生連續(xù)攻擊時(shí)的檢測(cè)效果不佳,如果攻擊是由不同的惡意前綴發(fā)起的,那么將會(huì)影響后續(xù)的緩解,無(wú)法有效地防御IFA。而本文提出的基于PSO-BP算法在連續(xù)和離散的攻擊情況下,其檢測(cè)效果都較好。
本檢測(cè)方案存在一些不足,如果選取的時(shí)間間隔小于網(wǎng)絡(luò)的往返時(shí)延(round-trip time, RTT)時(shí),無(wú)論是正常的興趣請(qǐng)求還是攻擊流量,都無(wú)法獲取對(duì)應(yīng)的數(shù)據(jù)響應(yīng),使得滿足興趣包特征值失效。但是,PIT條目數(shù)、收到興趣包數(shù)以及數(shù)據(jù)包與興趣包的比值仍然有效。此時(shí),可以使用更多的樣本數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,得到一個(gè)較好的模型。
3.2.2 緩解方案的有效性
通過(guò)實(shí)驗(yàn)驗(yàn)證所提IFA防御機(jī)制的效果,圖7是加入本文提出的IFA防御機(jī)制和沒(méi)有加入防御時(shí),發(fā)生IFA攻擊時(shí)的PIT條目數(shù)曲線圖,虛線是沒(méi)有加入防御的結(jié)果,實(shí)線是加入防御機(jī)制的PIT條目數(shù)。在時(shí)間為15~25 s 時(shí)B1向網(wǎng)絡(luò)中發(fā)送了300 packets/s的突發(fā)流量,在時(shí)間為40~60 s之間,A1向網(wǎng)絡(luò)中發(fā)送了450 packets/s的IFA攻擊。結(jié)果顯示沒(méi)有加入防御的PIT條目數(shù)明顯急劇上升并且一直保持在較高的水平,而加入了防御之后,在攻擊開始時(shí)刻PIT條目數(shù)急劇上升,但隨即便下降并且保持在較低的水平??梢?jiàn)本文提出的IFA防御機(jī)制能夠有效地防御IFA。
NDN網(wǎng)絡(luò)中的安全問(wèn)題一直備受關(guān)注,解決安全問(wèn)題有助于推動(dòng)NDN網(wǎng)絡(luò)走向?qū)嵱?。而興趣洪泛攻擊又是NDN中最大安全威脅,一直缺乏綜合的防御機(jī)制。本文提出一種基于PSO-BP神經(jīng)網(wǎng)絡(luò)的IFA檢測(cè)與防御的系統(tǒng)解決方案,解決了基于窗口檢測(cè)方法無(wú)法檢測(cè)連續(xù)攻擊的問(wèn)題。實(shí)驗(yàn)結(jié)果顯示檢測(cè)效果可以達(dá)到93%,并且通過(guò)緩解方案可以有效減輕對(duì)網(wǎng)絡(luò)的影響。