孫莉莉,易 波,王興偉+,黃 敏
1.東北大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,沈陽 110169
2.東北大學(xué)信息科學(xué)與工程學(xué)院,沈陽 110819
隨著互聯(lián)網(wǎng)以及科學(xué)技術(shù)的發(fā)展,當(dāng)今已處于信息爆炸的時(shí)代[1]。各種新媒體技術(shù)更傾向于內(nèi)容交互,且其需求不斷增長[2],傳統(tǒng)網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)的對(duì)話方式已不能滿足該需求。為了更好地為內(nèi)容分發(fā)型應(yīng)用提供服務(wù),從根本上解決當(dāng)前網(wǎng)絡(luò)體系存在的問題[3],學(xué)術(shù)界提出了以內(nèi)容為中心[4]的信息中心網(wǎng)絡(luò)(information-centric networking,ICN)[5]。命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)被認(rèn)為是基于內(nèi)容傳輸?shù)馁Y助項(xiàng)目中最有前景的候選項(xiàng)目,不以請求用戶實(shí)體為中心,直接處理用戶請求內(nèi)容。絕大多數(shù)ICN 的相關(guān)研究都衍生于它,本文也是以NDN為背景對(duì)ICN 路由機(jī)制進(jìn)行研究。
ICN 將網(wǎng)絡(luò)傳輸數(shù)據(jù)與主機(jī)進(jìn)行解耦,并在路由器內(nèi)設(shè)置緩存機(jī)制用于緩存內(nèi)容信息。完成了網(wǎng)絡(luò)實(shí)體從主機(jī)到內(nèi)容的轉(zhuǎn)換,由傳統(tǒng)的基于IP 尋址方式轉(zhuǎn)換為基于內(nèi)容名稱路由的方式。ICN 易于對(duì)內(nèi)容分發(fā)進(jìn)行擴(kuò)展,提高了網(wǎng)絡(luò)性能,提供內(nèi)在的安全機(jī)制,可通過強(qiáng)制簽名來保證內(nèi)容的真實(shí)性和完整性[6]。雖然ICN 的內(nèi)在安全機(jī)制能屏蔽當(dāng)前網(wǎng)絡(luò)存在的拒絕服務(wù)攻擊(denial of service,DoS),但同時(shí)產(chǎn)生了特有的路由攻擊,如:資源耗盡、路由耗盡和發(fā)布服務(wù)器不可用等。其中影響最大且最易發(fā)起的攻擊即為興趣洪泛攻擊(interest flooding attack,IFA),攻擊者通過惡意發(fā)包,使路由進(jìn)行不必要的計(jì)算并占用路由器未決興趣表(pending interest table,PIT),導(dǎo)致路由資源耗盡。目前對(duì)于高效路由的研究已取得相應(yīng)成果[7],但在安全路由方面仍是一個(gè)挑戰(zhàn)。
仿生學(xué)自1960 年被提出后[8],已成功應(yīng)用于各個(gè)領(lǐng)域。仿生網(wǎng)絡(luò)、仿生計(jì)算和仿生系統(tǒng)已經(jīng)成為三大主要研究方向[9]。高復(fù)雜度、多層次的生物免疫系統(tǒng)[10],因其多樣性和健壯性也被研究學(xué)者廣泛關(guān)注。1986 年,人工免疫智能優(yōu)化算法被業(yè)界廣泛研究,也被成功用于解決網(wǎng)絡(luò)安全問題。
本文將在現(xiàn)有的ICN 路由機(jī)制中,基于人體兩層免疫防御機(jī)理添加安全控制策略,從而抵制ICN 的安全“克星”IFA,以減少網(wǎng)絡(luò)資源的惡意占用,實(shí)現(xiàn)ICN安全路由機(jī)制。
當(dāng)今互聯(lián)網(wǎng),網(wǎng)絡(luò)性能和功能被廣泛研究,而網(wǎng)絡(luò)安全也一直備受關(guān)注?,F(xiàn)有網(wǎng)絡(luò)攻擊手段主要分為四種:欺騙類攻擊、拒絕服務(wù)攻擊/分布式拒絕服務(wù)攻擊、信息收集攻擊和漏洞類攻擊。其中拒絕服務(wù)攻擊/分布式拒絕服務(wù)攻擊作為最常見的攻擊被要求在任何網(wǎng)絡(luò)架構(gòu)中都要對(duì)其進(jìn)行有效防御[11]。ICN網(wǎng)絡(luò)特性可抵御該類攻擊,但其路由過程使其面臨特有威脅[12]。文獻(xiàn)[13]聚焦IFA 攻擊,并對(duì)命名、路由、緩存等類型的攻擊按照其危害程度進(jìn)行了闡述,分別給出了解決方案。
文獻(xiàn)[14-16]是針對(duì)安全路由的一些研究。文獻(xiàn)[14]針對(duì)NDN 轉(zhuǎn)發(fā)平面的前綴劫持和PIT 溢出問題進(jìn)行研究。文獻(xiàn)[15]在每經(jīng)過一次路由后,都重新對(duì)內(nèi)容進(jìn)行分片組裝,以提高路由效率。該方法對(duì)每個(gè)路由都提出了安全要求,通過增量片段驗(yàn)證方法以保證組裝的內(nèi)容完整性和安全性。文獻(xiàn)[16]提出安全命名機(jī)制,對(duì)興趣包進(jìn)行空間映射。以使不同安全級(jí)別的興趣包按照不同策略轉(zhuǎn)發(fā)。
以上方法有效解決了ICN 的部分安全路由問題,但未對(duì)IFA 進(jìn)行深入的研究。IFA 可導(dǎo)致合法興趣包因PIT 被惡意占滿而丟棄,嚴(yán)重影響網(wǎng)絡(luò)服務(wù)。目前可通過限速緩解、網(wǎng)絡(luò)流量特征學(xué)習(xí)以及修改路由器策略三種方法解決該問題。
(1)限速緩解
文獻(xiàn)[17]給出三種緩解IFA 的方法。文獻(xiàn)[18]設(shè)計(jì)了兩階段的協(xié)作方法緩解洪泛機(jī)制。文獻(xiàn)[19]受IP 回溯啟發(fā),提出一種緩解IFA 的方法。
(2)網(wǎng)絡(luò)流量特征學(xué)習(xí)
文獻(xiàn)[20]結(jié)合接口限速特性,給出一種有效的IFA 檢測機(jī)制。文獻(xiàn)[21]給出一種檢測有效和惡意興趣包分布的方法,可有效防御快速易失性攻擊。但文獻(xiàn)[20-21]忽略了對(duì)IFA 起關(guān)鍵效應(yīng)的緩解機(jī)制,更側(cè)重于精確識(shí)別IFA。
(3)修改路由策略
文獻(xiàn)[22]提出一種攻擊緩解機(jī)制DPE(disabling PIT exhaustion),在興趣包中封裝入口地址作為轉(zhuǎn)發(fā)路徑表,從而將惡意數(shù)據(jù)包從PIT 中解耦,按轉(zhuǎn)發(fā)路徑表轉(zhuǎn)發(fā)惡意數(shù)據(jù)包,降低惡意數(shù)據(jù)包對(duì)PIT 資源的惡意占用。文獻(xiàn)[23]在此基礎(chǔ)上提出m-NACK(m-list negative acknowledgments)策略,可有效降低檢測時(shí)延,但弱化了PIT 的聚合作用。
雖然以上研究可有效緩解惡意興趣包對(duì)PIT 的資源占用,但采用的緩解機(jī)制并沒有阻斷惡意興趣包在網(wǎng)內(nèi)的傳輸,且PIT 的聚合功能被減弱,網(wǎng)絡(luò)計(jì)算及資源開銷變大。
此外,近年來隨著業(yè)界對(duì)ICN 問題研究的深入,新的解決方案也被提出。文獻(xiàn)[24]設(shè)置興趣圍欄,使內(nèi)容服務(wù)器可高效地檢測與過濾惡意興趣包。仿生網(wǎng)絡(luò)也被大量應(yīng)用以解決該問題。文獻(xiàn)[25]基于進(jìn)化論設(shè)計(jì)網(wǎng)絡(luò)配置機(jī)制,以應(yīng)對(duì)網(wǎng)絡(luò)安全問題。文獻(xiàn)[26]基于人體免疫學(xué)理論建立檢疫區(qū),對(duì)已產(chǎn)生的攻擊進(jìn)行免疫記憶。
以上研究大多從路由有效性及精確檢測IFA 出發(fā),未考慮如何針對(duì)IFA 攻擊進(jìn)行安全路由,保證網(wǎng)絡(luò)性能。
傳統(tǒng)網(wǎng)絡(luò)中,路由協(xié)議根據(jù)拓?fù)渥兓闆r動(dòng)態(tài)生成路由表,IP 數(shù)據(jù)包根據(jù)路由表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),以保證最佳傳輸路徑。轉(zhuǎn)發(fā)機(jī)制僅受路由協(xié)議影響,其路由平面有狀態(tài),但轉(zhuǎn)發(fā)平面無狀態(tài)[14]。而ICN 轉(zhuǎn)發(fā)平面有狀態(tài),即包交付由路由和轉(zhuǎn)發(fā)功能共同協(xié)作完成。
網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都需要維護(hù)三張表:用于緩存通過該節(jié)點(diǎn)數(shù)據(jù)包副本的內(nèi)容存儲(chǔ)(content store,CS),為興趣包維護(hù)條目的未決興趣表(PIT),維護(hù)下一跳信息的轉(zhuǎn)發(fā)信息表(forwarding information base,F(xiàn)IB)。興趣包和數(shù)據(jù)包的轉(zhuǎn)發(fā)過程如圖1 所示。
消費(fèi)者向網(wǎng)內(nèi)發(fā)送興趣包,到達(dá)網(wǎng)內(nèi)路由器R 后首先在CS 中進(jìn)行內(nèi)容名稱匹配,若成功匹配則證明當(dāng)前路由緩存中已存儲(chǔ)該請求內(nèi)容,直接由該節(jié)點(diǎn)生成數(shù)據(jù)包轉(zhuǎn)發(fā)回消費(fèi)者。否則,查找PIT 表,成功匹配則先進(jìn)行PIT 聚合,然后根據(jù)FIB 轉(zhuǎn)發(fā)至下一跳;若未成功匹配則直接根據(jù)FIB 表進(jìn)行轉(zhuǎn)發(fā),并在PIT 中添加該興趣包的入口地址;若FIB 不含有該興趣包的轉(zhuǎn)發(fā)信息,則丟棄興趣包。
若轉(zhuǎn)發(fā)過程中,鏈路中某個(gè)路由含有請求內(nèi)容信息,則由該路由封裝數(shù)據(jù)包回傳;否則,一直按照FIB進(jìn)行轉(zhuǎn)發(fā),最終傳遞至生產(chǎn)者,由生產(chǎn)者封裝數(shù)據(jù)包回傳。路由器接收到數(shù)據(jù)包后,首先遍歷PIT,若成功匹配則轉(zhuǎn)發(fā)至該條目所有接口,刪除相應(yīng)PIT 條目,并將該數(shù)據(jù)包緩存至CS 中。否則,丟棄該數(shù)據(jù)包。
Fig.1 Forwarding process of ICN routing圖1 ICN 路由轉(zhuǎn)發(fā)過程
ICN 一改TCP/IP 認(rèn)證機(jī)制,應(yīng)用程序成為其信任管理委托方。其內(nèi)容的真實(shí)性和完整性可通過強(qiáng)制所有內(nèi)容的公鑰簽名來保證。該內(nèi)在的安全機(jī)制可有效抵制DoS 攻擊,無論何時(shí)何地都可對(duì)原始身份進(jìn)行驗(yàn)證。但其特有的CS 和PIT 架構(gòu),使興趣包在網(wǎng)絡(luò)層直接根據(jù)內(nèi)容名稱進(jìn)行轉(zhuǎn)發(fā),又可造成路由攻擊和緩存攻擊等新的特有攻擊。
IFA 是路由攻擊中最容易發(fā)起,影響最強(qiáng)的攻擊方式。根據(jù)攻擊者發(fā)送的請求內(nèi)容不同,可將IFA 分為三類:(1)靜態(tài)攻擊;(2)動(dòng)態(tài)攻擊;(3)網(wǎng)內(nèi)內(nèi)容缺失攻擊。靜態(tài)攻擊指攻擊者請求的內(nèi)容存在并且不發(fā)生變化,此類攻擊請求雖會(huì)造成一定程度的網(wǎng)絡(luò)擁塞,但其請求內(nèi)容在后期會(huì)得到滿足,對(duì)網(wǎng)絡(luò)整體性能影響較小。動(dòng)態(tài)攻擊是指攻擊者的請求內(nèi)容是存在的且動(dòng)態(tài)生成,導(dǎo)致網(wǎng)內(nèi)PIT 緩存大量無用內(nèi)容,其對(duì)網(wǎng)絡(luò)性能影響較大,但其實(shí)現(xiàn)不易,難以形成大規(guī)模的攻擊。缺失性攻擊是本文主要研究的攻擊類型,其對(duì)網(wǎng)絡(luò)性能影響最大且最易發(fā)起。其攻擊過程如圖2 所示,在該類攻擊下,攻擊者生成大量前綴合法、請求內(nèi)容不存在且動(dòng)態(tài)變化的興趣包。該惡意興趣包入網(wǎng)后,網(wǎng)內(nèi)路由緩存不能提供相應(yīng)內(nèi)容請求,將前綴等信息存入路由PIT 表后根據(jù)FIB進(jìn)行轉(zhuǎn)發(fā)。因網(wǎng)內(nèi)不存在該內(nèi)容,所有緩存均不能滿足其請求內(nèi)容,惡意興趣包將不斷根據(jù)FIB 表被轉(zhuǎn)發(fā),最終這些惡意興趣包都會(huì)被轉(zhuǎn)發(fā)至生產(chǎn)者,而其內(nèi)容并不存在,因此生產(chǎn)者也無法滿足興趣包請求,丟棄惡意興趣包。
Fig.2 IFA attack principle圖2 IFA 攻擊原理
在大規(guī)模的攻擊下,請求內(nèi)容得不到滿足,網(wǎng)內(nèi)路由PIT 中存儲(chǔ)大量接收和轉(zhuǎn)發(fā)請求,直到請求數(shù)據(jù)包到達(dá)該路由或PIT 條目超時(shí)被刪除。而PIT 被惡意占用速率遠(yuǎn)遠(yuǎn)高于其超時(shí)被刪除或被滿足的速率。因此,惡意興趣包的信息會(huì)耗盡PIT 存儲(chǔ)空間,導(dǎo)致合法用戶興趣包被丟棄。影響有狀態(tài)轉(zhuǎn)發(fā),增加網(wǎng)絡(luò)時(shí)延,降低網(wǎng)絡(luò)請求滿足率,影響網(wǎng)絡(luò)性能。
現(xiàn)有研究表明,可通過速率限制來緩解IFA 攻擊對(duì)PIT 的惡意占用。但究其本質(zhì),邊緣路由無法區(qū)分合法興趣包與惡意興趣包,為保證合法用戶請求被滿足因此不能直接丟棄興趣包,從而采取速率限制的方法,限制進(jìn)入網(wǎng)內(nèi)的興趣包的總數(shù)量。但若惡意用戶攻擊速率較快,惡意興趣包相對(duì)于合法興趣包占比更高,即便采取速率限制也會(huì)有大量惡意興趣包被傳入網(wǎng)內(nèi),其緩解作用被削弱。因此是否對(duì)路由器采取速率限制較精準(zhǔn)識(shí)別惡意興趣包就顯得并不那么重要[27]。
惡意興趣包由合法的前綴和無意義的后綴組成。其無意義的后綴是動(dòng)態(tài)生成且不存在于生產(chǎn)者當(dāng)中的內(nèi)容。想要對(duì)其進(jìn)行精確的檢測從而過濾惡意興趣包,必須含有關(guān)于內(nèi)容和名稱的可讀安全信息。而ICN興趣包中不含該類安全信息,使其難以精確檢測。
綜上,IFA 攻擊規(guī)模大毀滅性強(qiáng),且難以緩解,成為IFA 的安全“克星”。本文將對(duì)其安全路由機(jī)制進(jìn)行研究。
將ICN 網(wǎng)絡(luò)與人體免疫防御機(jī)理進(jìn)行對(duì)比。網(wǎng)絡(luò)中路由器節(jié)點(diǎn)視為人體免疫細(xì)胞,將惡意興趣包及其攻擊者(惡意消費(fèi)者)視為病原體。非特異性免疫不具針對(duì)性,由單細(xì)胞完成,只能進(jìn)行初步緩解。該機(jī)制對(duì)應(yīng)網(wǎng)絡(luò)中單個(gè)路由器,不能識(shí)別惡意興趣包與合法興趣包,僅進(jìn)行初步的攻擊緩解,防止PIT 被惡意占用。特異性免疫針對(duì)不同病原體產(chǎn)生抗原,消滅異體,通過多細(xì)胞協(xié)作完成。該機(jī)制對(duì)應(yīng)于網(wǎng)絡(luò)中的生產(chǎn)者與網(wǎng)內(nèi)路由協(xié)作過程,生產(chǎn)者對(duì)惡意消費(fèi)者產(chǎn)生的惡意興趣包進(jìn)行識(shí)別,通過路由回溯,抵御消費(fèi)者產(chǎn)生的惡意攻擊。其映射圖如圖3 所示。
受人體免疫防御機(jī)理啟發(fā),設(shè)計(jì)兩階段ICN 安全路由機(jī)制抵制IFA 攻擊。其系統(tǒng)架構(gòu)圖如圖4 所示。非特異性免疫階段,設(shè)置免疫反饋機(jī)制和隔離策略。免疫反饋機(jī)制形成免疫疑似隔離表,免疫隔離策略根據(jù)免疫隔離表對(duì)疑似惡意興趣包進(jìn)行隔離,但不阻斷其在網(wǎng)內(nèi)傳播,以保護(hù)PIT 不被惡意占用,一定程度保證合法興趣包的正常傳輸。在免疫時(shí)間到達(dá)后,將免疫標(biāo)記后的興趣包遞交至特異性免疫進(jìn)行處理。
Fig.3 Human immune mechanism and ICN network map圖3 人體免疫防御機(jī)理與ICN 網(wǎng)絡(luò)映射圖
Fig.4 System architecture diagram圖4 系統(tǒng)架構(gòu)圖
特異性免疫識(shí)別惡意興趣包并對(duì)其進(jìn)行阻絕。若隔離后的興趣包觸發(fā)特異性免疫則進(jìn)行免疫回溯,從而形成免疫記憶,防止網(wǎng)絡(luò)資源被惡意占用,降低網(wǎng)絡(luò)性能,通過免疫記憶消滅同源IFA。
將網(wǎng)絡(luò)模型抽象為連通無向圖G()
N,E,N為網(wǎng)絡(luò)中的免疫功能節(jié)點(diǎn),具有處理、存儲(chǔ)和轉(zhuǎn)發(fā)功能。E代表網(wǎng)絡(luò)中的免疫神經(jīng)鏈路,可傳遞回溯數(shù)據(jù)包以形成免疫記憶。
免疫節(jié)點(diǎn)除原有的CS、PIT、FIB 表外,添加疑似隔離表(suspected insulate table,SIT)、免疫記憶表(immune memory table,IMT)。
疑似隔離表表示為三元組(prefix,interface,isolation time),包含名稱前綴、入口和隔離時(shí)間。隔離時(shí)間控制該條目存在時(shí)間,以防止其長期存在削弱PIT 的聚合功能,導(dǎo)致網(wǎng)絡(luò)性能下降。在隔離時(shí)間內(nèi),若興趣包被疑似隔離表標(biāo)記為可疑興趣包,根據(jù)興趣包中的隔離路徑進(jìn)行轉(zhuǎn)發(fā),不占用PIT存儲(chǔ)資源。
免疫記憶表表示為三元組(interface,prefix,memory_time),包含阻隔接口、名稱前綴、記憶時(shí)間。在記憶時(shí)間內(nèi),含有IMT 的路由器對(duì)表項(xiàng)進(jìn)行檢測,若興趣包名稱前綴存在于IMT 表項(xiàng)中則進(jìn)行免疫,禁止該惡意興趣包傳入網(wǎng)絡(luò)。
ICN 網(wǎng)絡(luò)中存在興趣包和數(shù)據(jù)包,為完成免疫記憶功能,添加回溯包。生產(chǎn)者通過該包向受到攻擊的節(jié)點(diǎn)傳送免疫抗體,將回溯包中的接口和內(nèi)容前綴存入被攻擊節(jié)點(diǎn)的IMT 表中,阻斷IFA。
消費(fèi)者通過興趣包發(fā)送內(nèi)容請求,合法興趣包不觸發(fā)任何免疫。惡意興趣包為“異體”,當(dāng)惡意興趣包被非特異性免疫的反饋策略檢測到后,觸發(fā)非特異性免疫,將該興趣包進(jìn)行隔離處理。根據(jù)該原理,在原有數(shù)據(jù)包中添加隔離路徑字段,根據(jù)該字段轉(zhuǎn)發(fā)疑似惡意興趣包,而不占用PIT 表資源。更改后,興趣包字段可表示為(內(nèi)容名稱(前綴,后綴,隔離路徑…),選擇器,生存時(shí)間,隨機(jī)數(shù))。
興趣包在網(wǎng)絡(luò)中某節(jié)點(diǎn)CS 中找到數(shù)據(jù)則將請求內(nèi)容生成數(shù)據(jù)包返回。若到達(dá)生產(chǎn)者,則封裝內(nèi)容數(shù)據(jù)并對(duì)該數(shù)據(jù)包進(jìn)行簽名以保證數(shù)據(jù)真實(shí)性。若為可疑興趣包,則數(shù)據(jù)包返回路徑為興趣包隔離路徑的逆序。數(shù)據(jù)包字段可表示為(內(nèi)容名稱(前綴,后綴,隔離路徑…),元信息(內(nèi)容類型,新鮮值…),內(nèi)容數(shù)據(jù),簽名)。
當(dāng)生產(chǎn)者檢測到有大量前綴相同且無匹配內(nèi)容的興趣包時(shí),則觸發(fā)特異性免疫,生產(chǎn)者產(chǎn)生抗體——回溯包。根據(jù)隔離路徑回溯至消費(fèi)者所連路由器,并將相應(yīng)信息記錄在IMT 中。以消滅“異己”,抵御IFA?;厮莅侄慰杀硎緸椋▋?nèi)容名稱(前綴,后綴,免疫列表…),元信息(內(nèi)容類型,新鮮值),簽名,回溯標(biāo)記)。
基于人體免疫防御機(jī)理的ICN 安全路由機(jī)制轉(zhuǎn)發(fā)過程如圖5 所示,可分為興趣包轉(zhuǎn)發(fā)過程、數(shù)據(jù)包轉(zhuǎn)發(fā)過程和回溯包轉(zhuǎn)發(fā)過程:
(1)興趣包轉(zhuǎn)發(fā)過程
①興趣包進(jìn)入路由器,進(jìn)行IMT 匹配,若成功匹配,則該數(shù)據(jù)包為惡意數(shù)據(jù)包直接丟棄。否則,執(zhí)行②。
②匹配CS 表,若興趣包請求的內(nèi)容存在于當(dāng)前路由器的CS 表中,則將內(nèi)容封裝,返回?cái)?shù)據(jù)包。否則,執(zhí)行③。
③檢測該興趣包的隔離路徑,若該表非空,則將該路由信息記錄到隔離路徑中,執(zhí)行④。否則,將興趣包前綴與疑似隔離表進(jìn)行匹配,若匹配成功,則表示該興趣包為疑似興趣包,則執(zhí)行基于疑似隔離表的免疫隔離策略,然后執(zhí)行④。若不匹配,則匹配PIT 表,未匹配成功則添加該前綴信息等,若匹配成功,則進(jìn)行前綴聚合,然后執(zhí)行④。
④查找FIB 表,成功匹配則根據(jù)轉(zhuǎn)發(fā)信息轉(zhuǎn)發(fā),否則丟棄該數(shù)據(jù)包。
(2)數(shù)據(jù)包轉(zhuǎn)發(fā)過程
①興趣包到達(dá)生產(chǎn)者,先判斷疑似隔離表是否為空,若為空執(zhí)行②,不為空執(zhí)行③。
②查詢節(jié)點(diǎn)PIT,成功匹配,則將請求內(nèi)容緩存至CS 表中,并根據(jù)PIT 條目進(jìn)行轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)后清除PIT 中相應(yīng)條目。
Fig.5 Secure routing forwarding mechanism for ICN圖5 ICN 安全路由轉(zhuǎn)發(fā)機(jī)制
③根據(jù)隔離路徑進(jìn)行轉(zhuǎn)發(fā),同時(shí)緩存請求內(nèi)容至CS 表。
(3)回溯包轉(zhuǎn)發(fā)過程
若興趣包觸發(fā)特異性免疫,則生產(chǎn)者根據(jù)興趣包中的隔離路徑進(jìn)行回溯,直到該包的消費(fèi)者。將相應(yīng)前綴信息添加至路由表的IMT 中,進(jìn)行IFA 免疫,抵制IFA。
非特異性免疫與生俱來,僅對(duì)病原體進(jìn)行初步抵御,維持人體穩(wěn)態(tài)。ICN 的特殊架構(gòu)使其可通過CS 緩存、PIT 超時(shí)、PIT 聚合等一定程度抵御IFA 攻擊。但其免疫效果微弱,因此設(shè)計(jì)免疫反饋策略和隔離策略來增強(qiáng)ICN 對(duì)IFA 的免疫作用。反饋策略完成對(duì)IFA 的識(shí)別,填充SIT 表。隔離策略根據(jù)反饋結(jié)果,完成疑似興趣包與PIT 的“隔離”,使其不占用路由器PIT 存儲(chǔ)資源。
4.2.1 免疫反饋策略
在無攻擊發(fā)生時(shí),合法興趣包可在中間路由CS表或者生產(chǎn)者處獲得請求內(nèi)容,返回?cái)?shù)據(jù)包。此時(shí)PIT 中的內(nèi)容會(huì)不斷地動(dòng)態(tài)更新,定期刪除未滿足條目和已成功返回?cái)?shù)據(jù)包的條目,其占用率低。若受到惡意攻擊,沿途節(jié)點(diǎn)無法提供請求內(nèi)容,興趣包必然傳送至生產(chǎn)者,而生產(chǎn)者也無法提供相應(yīng)內(nèi)容,傳入的惡意興趣包占用PIT 表至該條目到超時(shí)被刪除,沿途節(jié)點(diǎn)的PIT 被飽和。而惡意攻擊頻繁,PIT 將永遠(yuǎn)處于飽和狀態(tài),從而合法性興趣包無法存入PIT中,被大量丟棄,影響網(wǎng)絡(luò)性能。
因此,本文通過在固定時(shí)間內(nèi)檢測路由器興趣包的進(jìn)入數(shù)量和從該路由器轉(zhuǎn)發(fā)的數(shù)據(jù)包之比,來判斷是否可能發(fā)生IFA。若比值超過正常值,則對(duì)其進(jìn)行疑似標(biāo)記,將該疑似惡意興趣包傳遞至生產(chǎn)者進(jìn)一步判斷是否發(fā)生IFA。計(jì)算方式如式(1)所示:
未發(fā)生攻擊時(shí)λ=1。若λ>1 表明諸多興趣包未得到滿足,可能發(fā)生惡意攻擊。當(dāng)該比值超過閾值α后,立即統(tǒng)計(jì)相同<前綴,接口>超時(shí)PIT 條目的累計(jì)次數(shù),當(dāng)累計(jì)次數(shù)超過閾值β,則判斷可能出現(xiàn)惡意興趣包,從而更新疑似隔離表SIT 內(nèi)容。
算法1免疫反饋策略算法
輸入:包packet。
輸出:更新后的SIT。
首先初始化節(jié)點(diǎn),記錄到達(dá)路由器的包的數(shù)量,定期統(tǒng)計(jì)興趣包滿足率。若滿足率超過閾值,則更新PIT超時(shí)條目信息,若超時(shí)次數(shù)大于β,則更新SIT表。
4.2.2 基于疑似隔離表的隔離策略
興趣包進(jìn)入網(wǎng)絡(luò)后進(jìn)行SIT 表匹配,因合法性興趣包也可能有相同的前綴和接口從而匹配上SIT 表,因此若匹配成功則視為疑似惡意興趣包。此時(shí)若直接丟棄數(shù)據(jù)包,則可能導(dǎo)致合法興趣包也被丟棄,因此此時(shí)僅進(jìn)行初步處理,將疑似興趣包與PIT 進(jìn)行隔離,減緩惡意攻擊對(duì)PIT 的占用。其隔離策略如下:
(1)若成功匹配SIT 表,則將該興趣包原應(yīng)存入PIT 中的信息存入興趣包自身的隔離路徑中,然后通過FIB 將興趣包進(jìn)行轉(zhuǎn)發(fā)。
(2)若該興趣包在中途路由器CS 表或者生產(chǎn)者處成功獲得請求內(nèi)容,則將該興趣包由疑似轉(zhuǎn)為陰性。將請求內(nèi)容封裝到數(shù)據(jù)包中,并將興趣包的隔離路徑逆序存入數(shù)據(jù)包中。每次取隔離路徑第一條信息按其接口號(hào)根據(jù)FIB 中路由信息進(jìn)行轉(zhuǎn)發(fā),完成后擦除隔離路徑表中相應(yīng)條目信息。
(3)若到達(dá)生產(chǎn)者仍無法找到請求內(nèi)容,則在生產(chǎn)者處進(jìn)行登記,丟棄興趣包。
免疫反饋與隔離策略在路由器添加了隔離表,在興趣包、數(shù)據(jù)包中添加了隔離路徑,一定程度增加了路由器、興趣包、數(shù)據(jù)包的存儲(chǔ)開銷;并且惡意興趣包不受抑制在網(wǎng)內(nèi)傳輸,一定程度地消耗了網(wǎng)絡(luò)帶寬,降低了網(wǎng)絡(luò)性能。隔離路徑與PIT 表進(jìn)行隔離,也會(huì)削弱PIT 的聚合作用。綜上,若長期采用非特異性免疫,雖然避免了惡意興趣包對(duì)PIT 的惡意占用,但一定程度降低了網(wǎng)絡(luò)性能。針對(duì)上述問題,非特異性免疫僅在免疫時(shí)間內(nèi)進(jìn)行隔離策略,該時(shí)間很短,對(duì)網(wǎng)絡(luò)性能影響較小。并根據(jù)隔離策略的反饋進(jìn)一步設(shè)計(jì)特異性免疫模塊,隔離策略觸發(fā)特異性免疫,對(duì)惡意興趣包進(jìn)行阻斷。
當(dāng)經(jīng)過非特異性免疫抵御后,網(wǎng)絡(luò)仍無法維持穩(wěn)態(tài),則觸發(fā)特異性免疫,對(duì)惡意興趣包進(jìn)行識(shí)別和清除。當(dāng)非特異性免疫遞交至生產(chǎn)者的惡意興趣包積累超過閾值后,觸發(fā)特異性免疫。生產(chǎn)者發(fā)送回溯包,消費(fèi)者將回溯包中相應(yīng)信息存入MIT,形成免疫記憶。
4.3.1 免疫回溯策略
網(wǎng)絡(luò)中路由器無法判斷當(dāng)前請求是否合法,而當(dāng)興趣包到達(dá)生產(chǎn)者,則可以判斷其請求內(nèi)容是否存在,從而判定該興趣包是否是合法興趣包。生產(chǎn)者周期性地對(duì)免疫列表非空的興趣包進(jìn)行統(tǒng)計(jì),若相同前綴下的丟棄次數(shù)超過閾值,生產(chǎn)者根據(jù)免疫列表的隔離路徑,判斷惡意興趣包是否來自同一攻擊源,進(jìn)而觸發(fā)回溯策略。
算法2免疫回溯策略算法
輸入:興趣包Interest_p。
輸出:數(shù)據(jù)包Data_p,回溯包Traceback_p。
若生產(chǎn)者可以提供隔離興趣包中請求的內(nèi)容,則將該興趣包中隔離路徑逆序存入數(shù)據(jù)包中,封裝數(shù)據(jù)后按照隔離路徑和FIB 表進(jìn)行轉(zhuǎn)發(fā)。若生產(chǎn)者無法提供隔離興趣包所請求的內(nèi)容,則分析該興趣包后將其丟棄,并按照<隔離路徑、內(nèi)容名稱前綴、丟棄次數(shù)>進(jìn)行統(tǒng)計(jì),當(dāng)同一攻擊源發(fā)送的興趣包丟棄次數(shù)超過閾值χ則觸發(fā)免疫回溯策略。將隔離路徑逆序封裝后生成回溯包,回溯包到達(dá)消費(fèi)者后,在路由器IMT 表中生成記錄。
4.3.2 免疫阻斷策略
網(wǎng)絡(luò)中路由器節(jié)點(diǎn)收到回溯包后,判斷隔離路徑是否為空,若不為空則繼續(xù)根據(jù)隔離路徑和FIB 進(jìn)行回溯,同時(shí)擦除首條隔離路徑。
當(dāng)消費(fèi)者收到回溯包,可分析回溯包中內(nèi)容得到攻擊入口,并將回溯包攜帶的相應(yīng)內(nèi)容存入IMT表中。此后,路由器將對(duì)該接口傳入的興趣包進(jìn)行IMT 匹配,若匹配成功則在記憶時(shí)間內(nèi)將來自攻擊者的惡意興趣包拋棄,從而徹底阻斷惡意興趣包入網(wǎng)。
本文提出的算法實(shí)現(xiàn)環(huán)境均為Intel?Core?i7-1065G7 CPU@1.50 GHz,16.00 GB。算法利用Java語言在Eclipse 工具下實(shí)現(xiàn),運(yùn)行于Windows 10(64位)操作系統(tǒng)。
實(shí)驗(yàn)采用對(duì)比機(jī)制中的線性拓?fù)鋄28]和攻擊后性能下降嚴(yán)重的樹型拓?fù)溥M(jìn)行仿真實(shí)現(xiàn)以評(píng)價(jià)算法性能。其拓?fù)浣Y(jié)構(gòu)如圖6 和圖7 所示,深灰色代表攻擊節(jié)點(diǎn),淺灰色為合法用戶。
Fig.6 Linear topology圖6 線性拓?fù)?/p>
Fig.7 Tree topology圖7 樹型拓?fù)?/p>
針對(duì)人體免疫防御機(jī)理的ICN 安全路由機(jī)制(ICN security routing of human immune defense mechanism,HIDMSR),選取對(duì)IFA 進(jìn)行緩解的DPE[22]和最小代價(jià)轉(zhuǎn)發(fā)的NDN 作為對(duì)比機(jī)制,來驗(yàn)證該機(jī)制對(duì)IFA 的抵制作用。DPE 通過在興趣包中存入入口地址,使興趣包按照其存入逆序回傳。該機(jī)制不占用PIT 表,以減輕IFA 攻擊時(shí)對(duì)PIT 的占用。NDN 機(jī)制通過BestRoute 實(shí)現(xiàn)最小代價(jià)接口轉(zhuǎn)發(fā),執(zhí)行基本節(jié)點(diǎn)處理、轉(zhuǎn)發(fā)操作。
本文選取攻擊抵御能力、興趣包滿足率及PIT 占有率作為評(píng)價(jià)指標(biāo)。具體計(jì)算方式如下:
(1)攻擊抵御能力
該指標(biāo)的含義為被丟棄未進(jìn)入網(wǎng)絡(luò)的惡意興趣包與攻擊者發(fā)出的惡意興趣包的比。攻擊抵御能力越強(qiáng),進(jìn)入網(wǎng)絡(luò)的惡意數(shù)據(jù)包越少,在惡意興趣包上浪費(fèi)的資源就越少,對(duì)網(wǎng)絡(luò)性能影響越小。其計(jì)算方式如式(2)所示。
式中,Attack_resistance表示攻擊抵御能力;InterestPackettotal表示攻擊者發(fā)出的興趣包總數(shù),InterestPacketdropped表示被丟棄未進(jìn)入網(wǎng)絡(luò)的興趣包數(shù)目。
(2)興趣包滿足率
該指標(biāo)代表網(wǎng)絡(luò)中傳輸?shù)目杀粷M足的興趣包與所有興趣包之比。在未受攻擊時(shí),該指標(biāo)為1;當(dāng)受到攻擊時(shí),一方面,惡意興趣包占用PIT 資源,合法興趣包被大量丟棄;另一方面,生產(chǎn)者收到惡意興趣包不會(huì)返回?cái)?shù)據(jù)包,因此成功返回的興趣包小于網(wǎng)絡(luò)中傳輸?shù)目倲?shù)據(jù)包,該指標(biāo)小于1。該指標(biāo)的大小反映了網(wǎng)絡(luò)被攻擊情況以及網(wǎng)絡(luò)資源占用率情況。其計(jì)算方式如式(3)所示。
式中,SatisfactionRate表示網(wǎng)絡(luò)中興趣包滿足率;Int_Pacsatisfaction表示被滿足成功傳回?cái)?shù)據(jù)包的興趣包數(shù)目;Int_Pactotal表示網(wǎng)絡(luò)中傳輸?shù)呐d趣包總數(shù)。
(3)PIT 占用率
該指標(biāo)的含義為PIT 當(dāng)前緩存條目數(shù)量與PIT緩存容量之比。未受攻擊時(shí),PIT 條目在收到數(shù)據(jù)包后或到達(dá)緩存時(shí)間后刪除,其占有率低。而IFA 主要攻擊PIT,使PIT 存入大量無用條目,若PIT 被惡意占用,則合法興趣包被大量丟棄,嚴(yán)重影響網(wǎng)絡(luò)性能。其計(jì)算方式如式(4)所示。
式中,PIT_OptRate表示PIT 占用率;CacheNumcurrent表示節(jié)點(diǎn)PIT 緩存條目數(shù)量;Cache_capacity表示節(jié)點(diǎn)PIT 緩存容量。
(1)攻擊抵御能力
圖8 給出兩種拓?fù)湓谌N不同機(jī)制下對(duì)IFA 的抵御能力。由圖可知,在同樣攻擊強(qiáng)度下,本文提出的HIDMSR 抵御能力大于NDN、DPE,HIDMSR 相對(duì)于DPE 抵御能力提升94.8%,相對(duì)于NDN 機(jī)制抵御能力提升22.3%。
DPE 機(jī)制通過緩解機(jī)制隔離惡意興趣包與PIT,降低PIT 的占用率,但并未阻隔惡意興趣包進(jìn)入網(wǎng)絡(luò),其對(duì)網(wǎng)絡(luò)資源的占用仍然很大,因此其抵御能力差。NDN 無緩解機(jī)制,但其攻擊抵御能力較高是因?yàn)镻IT 被惡意興趣包占滿,導(dǎo)致大量惡意興趣包被丟棄。雖其對(duì)惡意興趣包抵御能力較強(qiáng),但是對(duì)網(wǎng)絡(luò)性能影響極大。而HIDMSR 可通過回溯包形成MIT,徹底抵制惡意興趣包傳入網(wǎng)絡(luò),減少了網(wǎng)絡(luò)中傳輸?shù)膼阂馀d趣包數(shù)量,減少對(duì)路由資源的惡意占用,保證網(wǎng)絡(luò)性能。
Fig.8 Attack resistance under two topologies圖8 兩種拓?fù)湎碌墓舻钟芰?/p>
(2)興趣包滿足率
圖9 給出在兩種拓?fù)湎拢琋DN 受攻擊,DPE、HIDMSR 和NDN 不受攻擊時(shí)的興趣包滿足率。從圖中可看出,在兩種拓?fù)湎?,興趣包滿足率由高到低均為:NDN 不受攻擊,HIDMSR、DPE、NDN 受攻擊。在線性拓?fù)湎?,HIDMSR 興趣包滿足率相對(duì)于NDN 受攻擊情況下提升91.3%,相對(duì)于DPE 機(jī)制興趣包滿足率提升65.9%。在樹狀拓?fù)湎拢琀IDMSR 興趣包滿足率相對(duì)于NDN 受攻擊情況下提升70.9%,相對(duì)于DPE 機(jī)制興趣包滿足率提升35.5%。
Fig.9 Interest request satisfaction rates under two topologies圖9 兩種拓?fù)湎碌呐d趣請求滿足率
NDN 機(jī)制在受到攻擊后,PIT 迅速飽和,合法興趣包被丟棄,請求內(nèi)容無法被滿足;DPE 機(jī)制觸發(fā)緩解策略后,興趣包不通過PIT 轉(zhuǎn)發(fā),用戶收到數(shù)據(jù)包增多,但網(wǎng)內(nèi)傳遞的惡意興趣包的數(shù)量并未減少,占用網(wǎng)絡(luò)資源,對(duì)網(wǎng)絡(luò)性能產(chǎn)生一定影響;HIDMSR 機(jī)制觸發(fā)特異性免疫,從源頭阻斷攻擊,從根本上減少進(jìn)入網(wǎng)內(nèi)的惡意數(shù)據(jù)包數(shù)量。
(3)PIT 占用率
圖10 與圖11 給出線性拓?fù)湎翿0 和R2 路由在三種機(jī)制下不同時(shí)間段的PIT 占有率。在0~30 s 無攻擊發(fā)生,兩路由器可正常更新PIT,占有率均小于5%。而R2 更靠近生產(chǎn)者,其從生產(chǎn)者收到數(shù)據(jù)包速度更快,因此刪除相應(yīng)PIT 條目的速度更快,其占有率更低。30 s 時(shí)開始發(fā)起攻擊,NDN 機(jī)制無內(nèi)置安全機(jī)制,PIT 迅速被占滿,PIT 條目只有在超時(shí)后才會(huì)被刪除,刪除后占有率有所波動(dòng),但很快又被占滿。此時(shí),合法興趣包被拋棄,嚴(yán)重影響網(wǎng)絡(luò)性能。HIDMSR 機(jī)制與DPE 機(jī)制在攻擊時(shí)PIT 被迅速占滿,緩解機(jī)制起作用后其占有率開始下降,并保持在5%以下。但HIDMSR 在整個(gè)過程中占有率高于DPE,因?yàn)镠IDMSR 機(jī)制通過前綴、接口號(hào)進(jìn)行隔離,保證了與惡意興趣包有相同前綴的合法興趣包可通過PIT 傳遞,而DPE 僅通過前綴標(biāo)記惡意興趣包,導(dǎo)致與惡意興趣包前綴相同的合法興趣包不通過PIT 傳播,弱化了PIT 的聚合作用。雖然HIDMSR 的PIT 占有率高于DPE 機(jī)制,但可保證PIT 的聚合作用;而相對(duì)于NDN 機(jī)制,HIDMSR 機(jī)制可有效減少惡意興趣包對(duì)PIT 的占用。
Fig.10 PIT occupancy for R0 in linear topology圖10 線性拓?fù)湎翿0 的PIT 占用率
Fig.11 PIT occupancy for R2 in linear topology圖11 線性拓?fù)湎?R2 的PIT 占用率
圖12 與圖13 給出樹型拓?fù)湎翿3 和R5 路由器在三種機(jī)制下不同時(shí)間段的PIT 占有率。受到攻擊后,雖然R3 不在攻擊鏈路上,但由于網(wǎng)絡(luò)中所有興趣包都通過R0 轉(zhuǎn)發(fā),而R5 的攻擊導(dǎo)致R0 中的PIT 也被迅速占滿,因此R3 的請求遲遲得不到滿足,故其占用率高于攻擊前。但仍有部分興趣包可被滿足,因此其占用率低于攻擊鏈路的路由器。HIDMSR 機(jī)制下,R3 條目超時(shí)次數(shù)過多,則觸發(fā)特異性免疫,在該機(jī)制下抵御了惡意興趣包的傳遞,使PIT 占有率下降至正常水平。而DPE 機(jī)制觸發(fā)緩解機(jī)制后,會(huì)將合法興趣包轉(zhuǎn)發(fā)與PIT 分離,降低PIT 的聚合作用,一定程度增加網(wǎng)絡(luò)流量。R5 路由器的變化過程與線性拓?fù)溱呌谝恢???芍?,在樹型拓?fù)湎?,該機(jī)制也能對(duì)IFA起到很好的抵制作用。
Fig.12 PIT occupancy for binary tree topology R3圖12 二叉樹拓?fù)銻3 的PIT 占用率
Fig.13 PIT occupancy for binary tree topology R5圖13 二叉樹拓?fù)銻5 的PIT 占用率
本文基于人體免疫防御機(jī)理設(shè)置了ICN 的安全路由機(jī)制,通過非特異性免疫的反饋與隔離策略以及特異性免疫的回溯和阻斷策略,成功降低了IFA 對(duì)ICN 網(wǎng)絡(luò)性能的影響。本文是在模擬環(huán)境下對(duì)線性和小型樹型拓?fù)溥M(jìn)行算法驗(yàn)證,下一步需要考慮在復(fù)雜的拓?fù)?、真?shí)的網(wǎng)絡(luò)環(huán)境下驗(yàn)證算法的有效性。該算法不具有自適應(yīng)性,下一步可考慮深入研究仿生理論,實(shí)現(xiàn)動(dòng)態(tài)自適應(yīng)算法。