吳平,常朝穩(wěn),左志斌,馬瑩瑩
(1.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450004;2.河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,河南 鄭州 450001)
軟件定義網(wǎng)絡(luò)[1](SDN,software defined network)通過解耦數(shù)據(jù)平面與控制平面,重塑了傳統(tǒng)網(wǎng)絡(luò)僵化的體系結(jié)構(gòu)。SDN 以其靈活性、可編程性為管理配置網(wǎng)絡(luò)和快速部署新的協(xié)議帶來了便利,也不可避免地產(chǎn)生了許多安全問題,如缺乏隔離的應(yīng)用層程序、因遭受分布式拒絕服務(wù)(DDoS,distributed denial of service)攻擊使控制器單點(diǎn)失效、數(shù)據(jù)平面基礎(chǔ)設(shè)施資源的消耗以及開放的API 隱患等,這些安全問題既包括傳統(tǒng)網(wǎng)絡(luò)的安全問題,也包括SDN 專有的網(wǎng)絡(luò)安全問題[2-3]。
不僅在傳統(tǒng)的IP 網(wǎng)絡(luò)中,而且在新興的SDN中,針對分組轉(zhuǎn)發(fā)的攻擊依然是嚴(yán)峻的問題[4-5],攻擊者可對一臺(tái)受控的交換機(jī)節(jié)點(diǎn)中轉(zhuǎn)發(fā)規(guī)則惡意的錯(cuò)誤配置實(shí)施插入、刪除、延遲、修改、重放、丟棄數(shù)據(jù)分組。因此,準(zhǔn)確、高效的分組轉(zhuǎn)發(fā)驗(yàn)證一直是面對惡意攻擊時(shí)確保轉(zhuǎn)發(fā)正確性的關(guān)鍵課題。
SDN中,雖然控制器可以通過交換機(jī)流表轉(zhuǎn)發(fā)狀態(tài)獲取分組轉(zhuǎn)發(fā)統(tǒng)計(jì)信息,但分組傳輸時(shí)延使流分組統(tǒng)計(jì)依賴于交換機(jī)之間的時(shí)間同步,且惡意節(jié)點(diǎn)可以通過篡改分組的方式規(guī)避此類基于分組轉(zhuǎn)發(fā)狀態(tài)統(tǒng)計(jì)的檢測方法,攻擊者也可通過丟棄一定數(shù)量的分組并偽造相同數(shù)量分組的方式實(shí)施攻擊,控制器難以檢測此類攻擊?,F(xiàn)有SDN 轉(zhuǎn)發(fā)驗(yàn)證機(jī)制通過為數(shù)據(jù)平面開發(fā)新的安全通信協(xié)議實(shí)現(xiàn)分組逐跳驗(yàn)證轉(zhuǎn)發(fā),但這類機(jī)制因插入額外的分組驗(yàn)證字段引入了不小的計(jì)算與通信開銷[6]。
為解決控制器難以捕獲上述惡意節(jié)點(diǎn)針對分組攻擊的問題,同時(shí)避免嵌入額外的密碼標(biāo)簽字段引入的計(jì)算與通信開銷,通過引入有限的計(jì)算與通信開銷實(shí)現(xiàn)高效分組轉(zhuǎn)發(fā),并有效檢測分組傳輸過程中惡意的分組注入/篡改、丟棄/劫持攻擊,本文提出一種基于地址重載的SDN 分組轉(zhuǎn)發(fā)驗(yàn)證AO-PFV(address overloading-based packet forwarding verification)機(jī)制,該機(jī)制利用SDN 集中控制、可編程的特點(diǎn),克服了現(xiàn)有機(jī)制通過為數(shù)據(jù)平面開發(fā)新的安全通信協(xié)議并實(shí)現(xiàn)分組逐跳轉(zhuǎn)發(fā)的缺點(diǎn),通過地址重載,AO-PFV 實(shí)現(xiàn)了高效的分組轉(zhuǎn)發(fā),基于采樣,控制器能有效檢測分組轉(zhuǎn)發(fā)的異常行為。
基于加密或簽名的方法在傳統(tǒng)IP網(wǎng)絡(luò)的分組轉(zhuǎn)發(fā)驗(yàn)證中已被廣泛應(yīng)用,這類方法通常需要部署密碼基礎(chǔ)設(shè)施,通過為交換機(jī)或路由設(shè)備開發(fā)新的安全通信協(xié)議,在分組頭中嵌入密碼標(biāo)簽實(shí)現(xiàn)逐跳的轉(zhuǎn)發(fā)驗(yàn)證[7-8],分組傳輸中的驗(yàn)證引入了較大的運(yùn)算開銷、嵌入固定或可變長度的密碼標(biāo)簽也極大地增加了網(wǎng)絡(luò)通信開銷?,F(xiàn)有的SDN 分組轉(zhuǎn)發(fā)驗(yàn)證大多是通過引入傳統(tǒng)IP 網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)驗(yàn)證機(jī)制來實(shí)現(xiàn)的,如為數(shù)據(jù)平面交換機(jī)開發(fā)新的安全通信協(xié)議,向轉(zhuǎn)發(fā)的分組頭中嵌入可變或固定長度的密碼標(biāo)簽,通過校驗(yàn)分組頭的密碼標(biāo)簽驗(yàn)證分組的有效性。文獻(xiàn)[9]提出了SDN 路徑一致性規(guī)則驗(yàn)證機(jī)制REV(rule enforcement verification),通過向轉(zhuǎn)發(fā)的分組頭中嵌入分組摘要信息保證其完整性,同時(shí),路徑中各交換機(jī)更新基于壓縮消息認(rèn)證碼的標(biāo)簽信息,防止惡意分組重定向,控制器基于嵌入的分組字段信息驗(yàn)證其是否通過了控制器授權(quán)的完整路徑,REV 引入了不小的通信開銷。文獻(xiàn)[10]提出基于屬性簽名標(biāo)識(shí)的SDN 分組轉(zhuǎn)發(fā)驗(yàn)證機(jī)制,根據(jù)用戶的身份屬性,采用屬性密碼算法生成屬性簽名標(biāo)識(shí),可有效驗(yàn)證分組篡改、偽造等異常行為,但采用基于屬性簽名的密碼學(xué)算法使復(fù)雜的驗(yàn)證過程引入了較大的計(jì)算開銷和網(wǎng)絡(luò)傳輸時(shí)延,且該機(jī)制未能有效應(yīng)對惡意的丟棄與劫持攻擊。LPV(lightweight packet forwarding verification)[11]中控制器向交換機(jī)下發(fā)校驗(yàn)表LPV-table,各交換機(jī)節(jié)點(diǎn)基于LPV-table 驗(yàn)證分組的完整性,利用SDN 的消息機(jī)制以及組表讀取轉(zhuǎn)發(fā)節(jié)點(diǎn)的流轉(zhuǎn)發(fā)統(tǒng)計(jì)信息實(shí)現(xiàn)定位異常,LPV中交換機(jī)節(jié)點(diǎn)基于控制器下發(fā)的摘要信息驗(yàn)證分組完整性,其本質(zhì)依然是采用逐跳驗(yàn)證的方式實(shí)現(xiàn)分組轉(zhuǎn)發(fā)。文獻(xiàn)[12]提出一種基于數(shù)據(jù)平面可編程的軟件定義網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)驗(yàn)證機(jī)制,通過為數(shù)據(jù)分組添加自定義的密碼標(biāo)識(shí),將協(xié)議獨(dú)立數(shù)據(jù)分組處理編程語言P4 轉(zhuǎn)發(fā)設(shè)備[13]加入基于OpenFlow 的軟件定義網(wǎng)絡(luò),對網(wǎng)絡(luò)流采樣,適用于小型網(wǎng)絡(luò)的分組轉(zhuǎn)發(fā)驗(yàn)證,機(jī)制在用戶源端IP 頭中的選項(xiàng)字段嵌入自定義密碼標(biāo)識(shí)增加了網(wǎng)絡(luò)通信開銷,同樣,該機(jī)制僅能檢測惡意篡改/注入攻擊。文獻(xiàn)[14]基于流圖抽象的概念,通過自定義算法處理網(wǎng)絡(luò)更新和增量驗(yàn)證,檢測網(wǎng)絡(luò)拓?fù)浜蛿?shù)據(jù)平面中已知或未知的安全威脅,對異常產(chǎn)生警報(bào),該機(jī)制未能有效檢測分組的篡改、延遲等惡意攻擊。文獻(xiàn)[15]提出了基于端址重載的轉(zhuǎn)發(fā)驗(yàn)證機(jī)制,該機(jī)制通過重載分組端口和地址信息使分組傳輸中無任何額外的通信開銷,可以有效檢測傳輸中的篡改、丟棄等攻擊,但機(jī)制引入的安全通信協(xié)議仍然采用了逐跳驗(yàn)證的方式,帶來了一定的驗(yàn)證開銷。表1 對比分析了現(xiàn)有典型方案解決的問題、主要技術(shù)和各自的優(yōu)缺點(diǎn)。
基于表1 對比分析可以看出,傳統(tǒng)網(wǎng)絡(luò)或SDN現(xiàn)有轉(zhuǎn)發(fā)驗(yàn)證機(jī)制為數(shù)據(jù)平面交換機(jī)開發(fā)新的安全通信協(xié)議,通過嵌入密碼標(biāo)簽/標(biāo)簽實(shí)現(xiàn)分組的逐跳轉(zhuǎn)發(fā)驗(yàn)證,或結(jié)合密碼標(biāo)簽與分組抽樣方式檢測轉(zhuǎn)發(fā)異常,需要額外分組頭開銷,引入了一定的計(jì)算和通信開銷[7-12],且未能有效檢測惡意的丟棄/劫持攻擊[7,10,12];而通過統(tǒng)計(jì)路徑中節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)分組計(jì)數(shù)值并檢測異常僅僅可以檢測網(wǎng)絡(luò)中惡意節(jié)點(diǎn)針對分組的注入與丟棄攻擊[14],但不能有效應(yīng)對惡意節(jié)點(diǎn)的篡改攻擊。
表1 典型方案分析
SDN 邏輯集中的控制器下發(fā)轉(zhuǎn)發(fā)策略,數(shù)據(jù)平面交換機(jī)遵循控制器授權(quán)策略轉(zhuǎn)發(fā)數(shù)據(jù)。通常,存在非誠實(shí)的交換機(jī)或敵手控制某一交換機(jī)時(shí),可以構(gòu)造以下攻擊來破壞數(shù)據(jù)分組轉(zhuǎn)發(fā),以中斷主機(jī)或網(wǎng)絡(luò)之間的通信。1)注入分組,即攻擊者注入虛假分組數(shù)據(jù);2)篡改分組,即攻擊者篡改數(shù)據(jù)分組,如負(fù)載數(shù)據(jù);3)丟棄分組,即攻擊者丟棄傳輸中的任意分組;4)劫持分組,即攻擊者將分組重定向至非控制器授權(quán)的路徑節(jié)點(diǎn);5)重放分組,即攻擊者重放以前的分組。攻擊者可以實(shí)施上述某單一的攻擊方式或若干攻擊方式結(jié)合的組合攻擊。
針對上述的攻擊類型,本文目標(biāo)是以較小的開銷實(shí)現(xiàn)高效的分組轉(zhuǎn)發(fā),以較低的誤報(bào)率(FPR,false positive rate)與漏報(bào)率(FNR,false negative rate),實(shí)時(shí)、準(zhǔn)確檢測數(shù)據(jù)流傳輸中存在的異常。
本文假定邏輯集中的控制器是安全的,任一數(shù)據(jù)流入口與出口交換機(jī)為誠實(shí)交換機(jī)節(jié)點(diǎn),控制器與數(shù)據(jù)平面的通信信道是安全的,數(shù)據(jù)的機(jī)密性由終端用戶保證。
本節(jié)詳細(xì)闡述基于地址重載的SDN 分組轉(zhuǎn)發(fā)驗(yàn)證機(jī)制AO-PFV 如何實(shí)現(xiàn)高效轉(zhuǎn)發(fā)、實(shí)時(shí)檢測異常的目標(biāo)。
與現(xiàn)有機(jī)制通過開發(fā)新的安全通信協(xié)議并嵌入密碼標(biāo)簽實(shí)現(xiàn)逐跳驗(yàn)證的方式相比,AO-PFV通過地址重載與哈希采樣實(shí)現(xiàn)分組轉(zhuǎn)發(fā)驗(yàn)證、檢測異常。AO-PFV 機(jī)制的控制器運(yùn)行基本流程如圖1 所示。
圖1 AO-PFV 控制器運(yùn)行流程
具體來說,AO-PFV 是一種抽樣檢測機(jī)制,針對每條流的每個(gè)分組實(shí)施采樣檢測,但由于網(wǎng)絡(luò)分組傳輸時(shí)延,流分組統(tǒng)計(jì)嚴(yán)重依賴于轉(zhuǎn)發(fā)設(shè)備之間嚴(yán)格的時(shí)間同步[6],為此,AO-PFV 借鑒移動(dòng)目標(biāo)防御[16](MTD,moving target defense)中地址跳變思想,設(shè)計(jì)一種地址重載技術(shù),通過將分組頭地址字段重載為不同的流表匹配標(biāo)識(shí),使控制器可將流FlowSN 運(yùn)行時(shí)間t分割為一系列連續(xù)的時(shí)間間隔ti,即t=t1+t2+…+tn,ti依賴于入口交換機(jī)接收的分組數(shù)滿足某一預(yù)設(shè)值N(也稱為檢測時(shí)延),由于各時(shí)間間隔ti采用的地址重載匹配字段不同,因而達(dá)到了時(shí)間分割的作用,解決了分組統(tǒng)計(jì)依賴交換機(jī)時(shí)間同步問題。
流在任一間隔ti開始,控制器向入口交換機(jī)發(fā)送地址重載流表指令,向路徑中各后繼交換機(jī)發(fā)送地址重載后的流表,并向出口交換機(jī)發(fā)送地址恢復(fù)的流表指令;間隔ti內(nèi),入口交換機(jī)基于該指令重載數(shù)據(jù)分組的地址信息,流路徑中的各后繼交換機(jī)基于重載后的流表轉(zhuǎn)發(fā)數(shù)據(jù)分組,同時(shí),控制器接收入/出口交換機(jī)采樣的分組驗(yàn)證數(shù)據(jù)分組的完整性。若驗(yàn)證錯(cuò)誤,則表明存在惡意注入/篡改攻擊;若間隔ti結(jié)束之后、下一間隔ti+1開始之前,采樣的入口交換機(jī)分組摘要未被驗(yàn)證的計(jì)數(shù)值超出了預(yù)設(shè)的閾值,表明存在丟棄/劫持攻擊;若上述檢測未發(fā)生驗(yàn)證錯(cuò)誤,并且采樣的入口交換機(jī)分組摘要未被驗(yàn)證的計(jì)數(shù)值低于預(yù)設(shè)的閾值(考慮由于網(wǎng)絡(luò)傳輸中存在的自然分組丟失率),則表明在ti內(nèi)無惡意攻擊,可減小下一間隔ti+1采樣概率,以此提高網(wǎng)絡(luò)傳輸效率。以下將詳細(xì)闡述AO-PFV中基于地址重載的分組轉(zhuǎn)發(fā)和基于哈希采樣異常檢測機(jī)制。
當(dāng)數(shù)據(jù)流進(jìn)入第一跳入口交換機(jī),入口交換機(jī)查詢流表,若失配,表明是新的數(shù)據(jù)流或是該流下一個(gè)時(shí)間間隔ti開始,此時(shí),交換機(jī)將向控制器發(fā)送Packet-In 消息請求流表,控制器根據(jù)網(wǎng)絡(luò)拓?fù)湫畔⒂?jì)算或已保存的該流傳輸路徑,向路徑中的各交換機(jī)下發(fā)流表。控制器提取并保存入口交換機(jī)Packet-In 消息中分組頭中的協(xié)議號(hào)、源/目的地址、源/目的端口號(hào)五元組信息,按式(1)計(jì)算間隔ti流標(biāo)識(shí)號(hào)。
控制器生成間隔ti標(biāo)識(shí)TMi=Hash (ti)32,i=1,2,…,n,向路徑中的各后繼交換機(jī)發(fā)送Flow-Mod 消息,安裝以FlowSNi及時(shí)間間隔標(biāo)識(shí)TMi為匹配域的流表項(xiàng),在入口交換機(jī)安裝的流表項(xiàng)中通過指令(如OpenFlow中SET_FIELD 標(biāo)準(zhǔn)命令)將分組頭中的地址信息分別設(shè)置為FlowSNi和TMi,實(shí)現(xiàn)分組地址信息重載,并設(shè)定分組的出端口,重載后的IP 分組頭地址字段如圖2 灰色部分所示,其中FlowSN 為流標(biāo)識(shí)符,TM 為時(shí)間間隔標(biāo)識(shí),每個(gè)間隔ti重載的地址字段信息FlowSNi和TMi不同,用于流時(shí)間的分割及分組采樣統(tǒng)計(jì)的時(shí)間同步。
圖2 重載后的IP 分組頭地址字段
控制器獲取入口交換機(jī)接收的分組數(shù)N且滿足某一條件后,向入口交換機(jī)發(fā)送Flow-Mod 消息修改并更新下一間隔ti+1流表項(xiàng),同時(shí)向路徑中各后繼交換機(jī)安裝ti+1間隔的流表項(xiàng),并在一個(gè)往返時(shí)延后刪除各后繼交換機(jī)在間隔ti內(nèi)的流表項(xiàng),使分組可以無損、可靠地傳輸[17]。通過地址重載,控制器將流運(yùn)行時(shí)間分割為一系列連續(xù)的間隔ti,保證控制器對流路徑中入口/出口交換機(jī)采樣分組的時(shí)間同步,各后繼交換機(jī)將根據(jù)控制器安裝的流表轉(zhuǎn)發(fā)數(shù)據(jù)??刂破鞅4鏀?shù)據(jù)流的原始地址信息,并在出口交換機(jī)安裝的流表項(xiàng)中指定恢復(fù)分組原始地址信息指令,當(dāng)流分組到達(dá)出口交換機(jī)時(shí),出口交換機(jī)基于該流表指令恢復(fù)分組地址,并轉(zhuǎn)發(fā)分組至終端。AO-PFV中入口和出口交換機(jī)的分組處理流程分別如圖3和圖4 所示。入口交換機(jī)接收流的原始分組,基于控制器下發(fā)的流表規(guī)則,重載分組地址字段,通過哈希采樣,向控制器發(fā)送被采樣的分組并轉(zhuǎn)發(fā)分組至下一節(jié)點(diǎn);中間交換機(jī)基于控制器下發(fā)的、地址重載后的流表規(guī)則轉(zhuǎn)發(fā)分組;分組到達(dá)出口交換機(jī)時(shí),出口交換機(jī)匹配分組并通過哈希采樣向控制器發(fā)送被采樣的分組,基于控制器流表指令恢復(fù)分組原始地址,轉(zhuǎn)發(fā)分組至終端。
圖3 入口交換機(jī)分組處理流程
圖4 出口交換機(jī)分組處理流程
對某一流FlowSN,通過交換機(jī)逐跳驗(yàn)證所有的數(shù)據(jù)分組,增加了數(shù)據(jù)平面的計(jì)算與通信開銷。AO-PFV中控制器通過地址信息重載將流運(yùn)行時(shí)間分割為連續(xù)的時(shí)間間隔ti,解決分組計(jì)數(shù)依賴交換機(jī)時(shí)間同步問題,控制器獲取在間隔ti內(nèi)入口與出口交換機(jī)基于哈希采樣[18-19]的轉(zhuǎn)發(fā)分組并驗(yàn)證其完整性,檢測流路徑中存在的異常轉(zhuǎn)發(fā)行為。第2 節(jié)問題描述中分組的重放可等價(jià)于重復(fù)的分組注入攻擊,分組的篡改等同于丟棄原分組并注入偽造的分組,分組的劫持攻擊可等價(jià)于丟棄原路徑上正常轉(zhuǎn)發(fā)的分組;因此,本文主要考慮惡意節(jié)點(diǎn)實(shí)施的篡改以及丟棄這兩類攻擊。
控制器獲取入口/出口交換機(jī)通過哈希采樣的分組,基于如下的簡單統(tǒng)計(jì)算法檢測異常:設(shè)入口交換機(jī)在間隔ti內(nèi)接收的轉(zhuǎn)發(fā)分組計(jì)數(shù)為N(N為一足夠大的值),基于相同的哈希采樣算法,控制器獲取入口與出口交換機(jī)以相同概率λ采樣的轉(zhuǎn)發(fā)分組,對比出口交換機(jī)采樣分組與入口交換機(jī)采樣分組的消息摘要,驗(yàn)證其完整性,檢測網(wǎng)絡(luò)異常。對于惡意的篡改攻擊,若被篡改的分組在出口交換機(jī)被采樣,則其摘要值必定不能與入口交換機(jī)所采樣的分組摘要值相匹配,控制器可判定存在篡改攻擊行為;對于惡意丟棄分組攻擊,被丟棄的分組必定不能被出口交換機(jī)所采樣,令間隔ti內(nèi)入口交換機(jī)采樣的分組摘要中未被匹配的計(jì)數(shù)值為ΔS,在無惡意攻擊且鏈路無因擁塞等原因產(chǎn)生自然分組丟失的條件下,未被匹配的摘要計(jì)數(shù)值必定為ΔS=0,或者分組傳輸中存在一定概率的自然分組丟失率條件下,若計(jì)數(shù)值ΔS> 0,但在某一可接受的閾值范圍內(nèi),可認(rèn)為分組未被惡意丟棄,分組轉(zhuǎn)發(fā)正常,若未被匹配的摘要計(jì)數(shù)值ΔS大于某一閾值,表明數(shù)據(jù)流傳輸中存在惡意的丟棄行為。
AO-PFV中入口/出口交換機(jī)按式(2)計(jì)算分組摘要值,并按式(3)采樣時(shí)間間隔ti內(nèi)的分組。
式(2)通過單向哈希函數(shù)H(如SHA-1)計(jì)算傳輸分組 IP 頭中不變的字段IPINVAR、分組負(fù)載Payload 及重載后地址信息字段(流標(biāo)識(shí)FlowSN 及間隔標(biāo)識(shí)TM)的摘要。其中,為間隔ti的臨時(shí)密鑰,在ti結(jié)束前,僅控制器與入口、出口交換機(jī)持有該密鑰,=H(K||TMi),這里K為數(shù)據(jù)流FlowSN 入網(wǎng)時(shí),控制器與入口及出口交換機(jī)的共享密鑰,因此路徑中的各交換機(jī)節(jié)點(diǎn)無法預(yù)知入口/出口交換機(jī)所采樣的分組;Φ為分組摘要值與摩爾加。入口/出口交換機(jī)按式(3)實(shí)現(xiàn)分組哈希采樣,n=lbn,η為Φ位長度,λi為哈希采樣概率,0<λi< 1。AO-PFV中入口、出口交換機(jī)以概率λi采樣轉(zhuǎn)發(fā)分組P,控制器維護(hù)一個(gè)流入口交換機(jī)數(shù)據(jù)分組的消息摘要表Tablemac,基于哈希采樣的異常檢測算法如算法1 所示。
算法1基于哈希采樣異常檢測算法
輸入間隔ti采樣概率λi,采樣分組Pi和Po
輸出間隔ti+1采樣概率λi+1或異常告警
算法1中采樣的分組來自入口交換機(jī)時(shí),計(jì)算并存儲(chǔ)該分組的消息摘要,=H(IPINVAR||FlowSN||TM||Payload),更新采樣分組計(jì)數(shù)值size;采樣的分組Po來自出口交換機(jī)的轉(zhuǎn)發(fā)分組時(shí),計(jì)算該分組的消息摘要,并在Tablemac中查找是否存在與此匹配的摘要值,若成功匹配,表明該分組同時(shí)被入口與出口交換機(jī)采樣且被正確傳輸,此時(shí)將更新成功匹配成功計(jì)數(shù)值S(第1)~9)行),間隔ti內(nèi),Tablemac中已被匹配成功的摘要值將不再參與下一次匹配(第10)行);若所采樣的出口交換機(jī)分組摘要未能與表Tablemac中某一MACPi匹配,表明流分組傳輸路徑中必存在虛假分組的注入或分組篡改攻擊行為(第11)~13)行)。當(dāng)FlowSN 入口交換機(jī)接收的分組數(shù)N滿足檢測時(shí)延條件時(shí)(第16)~25)行),控制器將根據(jù)在ti內(nèi)所采樣的入口交換機(jī)摘要計(jì)數(shù)值size、成功匹配的摘要計(jì)數(shù)值S,計(jì)算在Tablemac中未被匹配的計(jì)數(shù)值ΔS=size-S,檢測分組傳輸中的丟棄或劫持攻擊,根據(jù)檢測結(jié)果調(diào)整下一間隔ti+1采樣概率λi+1或異常告警(第18)~24)行)。設(shè)入口交換機(jī)在ti內(nèi)接收并轉(zhuǎn)發(fā)的分組數(shù)為N,若未被匹配的摘要計(jì)數(shù)值ΔS> 0,且其值ΔS大于某一閾值λiN(θ+Δθ)(第18)行),θ為無惡意攻擊時(shí)路徑中的自然分組丟失率,Δθ為可調(diào)節(jié)參數(shù),0<Δθ<θ,表明路徑中存在惡意的丟棄或劫持的攻擊;否則,表明ti間隔內(nèi)路徑中無惡意轉(zhuǎn)發(fā)行為,刪除保存的該間隔內(nèi)采樣分組的摘要表,并減小下一時(shí)間間隔ti+1的采樣概率λi+1,即λi+1=ωλi,其中0<ω< 1。
定理1算法1 在任意時(shí)間間隔ti內(nèi),哈希采樣概率為λ,自然分組丟失率為θ的流分組傳輸路徑上,使在無惡意丟棄攻擊時(shí)的誤報(bào)率FPR 以及當(dāng)存在以大于概率θ對分組實(shí)施丟棄時(shí)的漏報(bào)率FNR 皆低于設(shè)定值ε(0<ε<1),入口交換機(jī)接收的分組數(shù)N必須滿足N≥max在此檢測時(shí)延條件下,給定漏報(bào)率ε,當(dāng)惡意節(jié)點(diǎn)注入/篡改分組數(shù)x>時(shí),控制器可以1-ε的概率檢測到該類攻擊。
證明以下分別考慮惡意節(jié)點(diǎn)的篡改以及丟棄攻擊檢測。
1)惡意節(jié)點(diǎn)的篡改攻擊。在間隔ti內(nèi),節(jié)點(diǎn)篡改單個(gè)分組且不被出口交換機(jī)所采樣的概率為1-λ,若節(jié)點(diǎn)注入或篡改x個(gè)分組,且皆未被采樣,此時(shí)惡意節(jié)點(diǎn)可有效規(guī)避控制器檢測,檢測算法將發(fā)生漏報(bào)(控制器檢測節(jié)點(diǎn)的注入或篡改不會(huì)發(fā)生誤報(bào)),F(xiàn)NR 滿足
因此,在給定的漏報(bào)率ε的條件下,惡意節(jié)點(diǎn)最多可注入/篡改的分組數(shù)為
所以,當(dāng)節(jié)點(diǎn)注入/篡改x>個(gè)分組時(shí),控制器可以1-ε的概率檢測到惡意篡改攻擊。
2)惡意節(jié)點(diǎn)的丟棄攻擊。當(dāng)流FlowSN 路徑中無惡意節(jié)點(diǎn)的丟棄攻擊且無自然分組丟失時(shí),控制器按式(3)獲取入口與出口交換機(jī)以概率λ哈希采樣的數(shù)據(jù)分組,驗(yàn)證成功的計(jì)數(shù)值應(yīng)為S=λN,未能匹配的計(jì)數(shù)值則為ΔS=0(N為入口交換機(jī)在ti內(nèi)接收并轉(zhuǎn)發(fā)的分組數(shù))??紤]網(wǎng)絡(luò)中存在的自然分組丟失率,假定數(shù)據(jù)傳輸路徑中因網(wǎng)絡(luò)擁塞等原因使分組在傳輸中以最大概率θ被自然丟棄。
當(dāng)無惡意攻擊時(shí),基于哈希采樣,控制器獲取的出口交換機(jī)的采樣分組摘要未能與入口交換機(jī)采樣的分組摘要匹配的計(jì)數(shù)值為ΔS,ΔS=size -S,其期望值應(yīng)滿足E(ΔS)≤λ Nθ,若ΔS>thr,這里取閾值thr=λ N(θ+Δθ)=λ Nθ+λ NΔθ> E(ΔS),其中Δθ為可調(diào)節(jié)參數(shù),0<Δθ<θ,此時(shí)必將引發(fā)誤報(bào)(FP,false positives)。異常檢測算法使在無惡意丟棄攻擊時(shí)的FPR 滿足
基于切諾夫界[20]可得
其中,0<Δθ<θ。
使在無惡意丟棄攻擊時(shí)誤報(bào)率低于某一定值ε,需要滿足
同理,當(dāng)路徑中存在惡意攻擊者以大于θ的概率對分組實(shí)施攻擊時(shí),考慮存在的最大自然分組丟失率θ,則Tablemac中未被匹配計(jì)數(shù)值ΔS=size-S,其期望值滿足E(ΔS)>2λ Nθ,若此時(shí)ΔS<thr,thr=λ N(θ+Δθ)<2λ Nθ< E(ΔS),則必將引發(fā)漏報(bào)(FN,false negatives),控制器異常檢測算法使當(dāng)存在以概率θ實(shí)施惡意丟棄攻擊時(shí)的漏報(bào)率FNR 滿足
基于切諾夫界可得
使存在攻擊者以大于θ的概率對分組實(shí)施丟棄攻擊時(shí)漏報(bào)率低于某一定值ε,需要滿足
若使在無惡意丟棄攻擊時(shí)檢測誤報(bào)率FPR 以及存在以大于θ的概率對分組實(shí)施丟棄攻擊時(shí)檢測算法漏報(bào)率皆低于某一定值ε,聯(lián)立式(8)及式(11)可得
其中,0<Δθ<θ,0<ε< 1。
綜上可知,在任意間隔ti內(nèi),對于丟棄攻擊檢測,若流分組傳輸路徑中最大自然分組丟失率為θ,在入口交換機(jī)接收的數(shù)據(jù)分組N在滿足式(12)條件下,無惡意丟棄時(shí)的FPR 以及存在以大于θ的概率惡意丟棄分組時(shí)的FNR 低于設(shè)定值ε;而對于惡意注入/篡改檢測,在式(12)檢測時(shí)延下,當(dāng)節(jié)點(diǎn)注入/篡改的分組數(shù)x>時(shí),控制器可以1-ε的概率檢測到惡意攻擊。因此,算法1 基于哈希采樣檢測算法可以有效檢測分組傳輸中的惡意攻擊行為,證畢。
本節(jié)構(gòu)建一個(gè)簡單的仿真網(wǎng)絡(luò)環(huán)境,通過擴(kuò)展交換機(jī)行為模型(BMV2,behavioral-model version 2)中ExternType 類實(shí)現(xiàn)基于哈希采樣的P4 可編程交換機(jī),評(píng)估AO-PFV 機(jī)制的有效性,內(nèi)容包括異常檢測準(zhǔn)確度以及機(jī)制網(wǎng)絡(luò)性能,最后簡要分析AO-PFV 與現(xiàn)有類似機(jī)制的優(yōu)缺點(diǎn)。
實(shí)驗(yàn)采用聯(lián)想Lenovo E580 作為運(yùn)行平臺(tái),操作系統(tǒng)運(yùn)行64 位Ubuntu 14.06,配置為Inter(R)Core(TM)i7-8550 CPU、8 GB 內(nèi)存、1.8 GHz,使用Mininet 模擬網(wǎng)絡(luò)環(huán)境,可編程P4 軟件交換機(jī)、基于P4Runtime 接口實(shí)現(xiàn)的控制器相關(guān)組件,本文擴(kuò)展了交換機(jī)行為模型BMV2 使其支持?jǐn)?shù)據(jù)分組哈希采樣,通過p4c 編譯器編譯P4 程序生成JSON 格式描述文件并導(dǎo)入BMV2 交換機(jī)行為模型,模擬網(wǎng)絡(luò)采用分布式拓?fù)?,?0 個(gè)虛擬P4 交換機(jī)及若干虛擬主機(jī)終端組成。
實(shí)驗(yàn)分別選擇路徑長度L=8和L=10 的兩條簡單路徑PATH1=(R0,R1,…,R8)、PATH2=(R0,R1,…,R10)。惡意節(jié)點(diǎn)R5實(shí)施數(shù)據(jù)篡改、丟棄兩類攻擊,本節(jié)實(shí)驗(yàn)用于檢驗(yàn)定理1 在理論設(shè)定的誤報(bào)與漏報(bào)率ε條件下,基于哈希采樣分組的異常檢測算法的有效性。以下將主要評(píng)估針對惡意的篡改、丟棄這兩類攻擊實(shí)施檢測的有效性,驗(yàn)證其在惡意節(jié)點(diǎn)實(shí)施篡改攻擊時(shí)檢測算法的準(zhǔn)確性、在無惡意丟棄攻擊時(shí)的FPR 以及存在惡意丟棄攻擊時(shí)的FNR。
仿真網(wǎng)絡(luò)傳輸路徑PATH1最大自然分組丟失率θ1=0.008,調(diào)節(jié)參數(shù);傳輸路徑PATH2最大自然分組丟失率θ2=0.010,調(diào)節(jié)參數(shù)
4.2.1 惡意篡改FNR
實(shí)驗(yàn)驗(yàn)證在預(yù)設(shè)漏報(bào)率ε=0.03下,惡意節(jié)點(diǎn)實(shí)施篡改攻擊時(shí)檢測算法的實(shí)際漏報(bào)率。通過網(wǎng)絡(luò)性能測試工具iperf 持續(xù)向入口交換機(jī)節(jié)點(diǎn)R0發(fā)送分組數(shù)據(jù)。路徑長度L=8和L=10,采樣概率λ=0.10和λ=0.20,攻擊者R5以概率α=0.02%~ 0.08%對分組實(shí)施篡改攻擊時(shí)實(shí)際漏報(bào)率分別如圖5和圖6所示。
圖5 L=8 時(shí)不同篡改率下的漏報(bào)率
圖6 L=10 時(shí)不同篡改率下的漏報(bào)率
由圖5和圖6 可以看出,在節(jié)點(diǎn)以α=0.02%~0.03%的極小概率實(shí)施篡改攻擊時(shí),檢測算法存在8%~22%的漏報(bào),隨著節(jié)點(diǎn)攻擊概率的提高,在以α=0.05%~ 0.06%實(shí)施篡改攻擊時(shí),存在約4%的漏報(bào)率,在以α=0.08%實(shí)施攻擊時(shí),檢測算法準(zhǔn)確率達(dá)到99%以上,漏報(bào)率低于1%。此外,圖5 與圖6是在相同的檢測時(shí)延N下所得到的檢測結(jié)果,可以看出,在保持N恒定的條件下,通過提高采樣概率λ,可以減小篡改攻擊的漏報(bào)率。
4.2.2 無惡意丟棄攻擊時(shí)的誤報(bào)率FPR
路徑長度L=8和L=10,采樣概率λ=0.10~ 0.55,設(shè)定在無惡意丟棄攻擊時(shí)理論誤報(bào)率分別為ε=0.05和ε=0.03。實(shí)驗(yàn)結(jié)果如圖7 所示。從圖7 可以看出,由于檢測閾值的影響,在無惡意丟棄攻擊時(shí),檢測算法存在一定概率的誤報(bào),實(shí)際誤報(bào)率低于1.0%,均低于預(yù)設(shè)值ε。
圖7 無惡意丟棄攻擊時(shí)的誤報(bào)率
4.2.3 惡意丟棄攻擊時(shí)的漏報(bào)率
實(shí)驗(yàn)驗(yàn)證在預(yù)設(shè)惡意丟棄攻擊理論漏報(bào)率分別為ε=0.05、ε=0.03,采樣概率為λ=0.10,λ=0.15,λ=0.20及λ=0.25時(shí)的實(shí)際漏報(bào)率。攻擊者R5分別以概率α=0.1%~ 1.0%對分組實(shí)施丟棄,路徑長度L=8和L=10 的實(shí)驗(yàn)結(jié)果分別如圖8和圖9 所示。
圖8 L=8,ε=0.03 時(shí)丟棄攻擊漏報(bào)率
圖9 L=10,ε=0.05 時(shí)丟棄攻擊漏報(bào)率
從圖8和圖9 可以看出,在惡意節(jié)點(diǎn)在以極小概率α?θ、α=0.1%~ 0.2%對分組實(shí)施丟棄攻擊時(shí),檢測算法漏報(bào)率達(dá)到90%左右;隨著攻擊概率的增大,檢測算法漏報(bào)率隨之降低,當(dāng)攻擊概率α<θ、α=0.5%~ 0.7%時(shí),漏報(bào)率減小為5%~20%;當(dāng)攻擊者丟棄概率α≥θ(L=8 時(shí),α≥0.8%;L=10 時(shí),α≥1% ),漏報(bào)率為0.1%~0.5%。
由上述分析可知,在理論設(shè)定的誤報(bào)與漏報(bào)率ε(ε=0.03,ε=0.05)條件下,當(dāng)攻擊者以極小概率(α?θ)實(shí)施丟棄攻擊時(shí),受檢測閾值影響,檢測算法漏報(bào)率較高;當(dāng)路徑中無惡意丟棄攻擊時(shí),受網(wǎng)絡(luò)自然分組丟失率影響,檢測算法依然存在低于1%平均誤報(bào)率;而攻擊者以α≥θ的概率對分組實(shí)施丟棄攻擊時(shí),存在低于約0.5%的漏報(bào)率。因此,在無惡意丟棄時(shí)的誤報(bào)率以及存在以α≥θ的概率實(shí)施丟棄時(shí)的漏報(bào)率皆低于理論預(yù)設(shè)值ε,這一實(shí)驗(yàn)結(jié)果與定理1 相吻合。
由于檢測閾值和網(wǎng)絡(luò)自然分組丟失的影響,當(dāng)閾值設(shè)定過低時(shí)(減小調(diào)節(jié)參數(shù)Δθ),會(huì)增加無惡意丟棄攻擊時(shí)的檢測誤報(bào)率,減小存在丟棄攻擊時(shí)的漏報(bào)率;相反,當(dāng)閾值設(shè)定過高時(shí)(增大調(diào)節(jié)參數(shù)Δθ),則會(huì)減小在無惡意丟棄攻擊時(shí)的誤報(bào)率,而增加存在攻擊時(shí)的漏報(bào)率,因此,檢測算法可以減小但無法也不可能同時(shí)避免針對丟棄攻擊檢測的這兩類誤差。而對于惡意的篡改攻擊,在保持檢測時(shí)延N一定的情況下,可以通過增加采樣概率,以此減小篡改攻擊漏報(bào)率。
4.2.4 檢測時(shí)延
基于哈希采樣分組異常檢測算法根據(jù)上一間隔ti的檢測結(jié)果,調(diào)節(jié)下一間隔ti+1的采樣概率λ。圖10 為不同采樣概率下,哈希采樣分組檢測算法的檢測時(shí)延(即分組數(shù))。
圖10 不同采樣概率下的檢測時(shí)延
從圖 10 可看出,當(dāng)L=10、采樣概率λ=0.50、ε=0.05以及ε=0.03時(shí),N=10 000~12 000。N為一個(gè)時(shí)間間隔內(nèi),流入口交換機(jī)所接收的分組數(shù),由式(12)及圖10 可知,檢測時(shí)延受采樣概率及預(yù)設(shè)ε值影響,采樣概率越小,檢測時(shí)延越大,采樣概率越大,則檢測時(shí)延越?。沪胖翟酱?,檢測時(shí)延越小。
本節(jié)主要評(píng)估機(jī)制AO-PFV 網(wǎng)絡(luò)性能,包括計(jì)算開銷、分組轉(zhuǎn)發(fā)時(shí)延以及網(wǎng)絡(luò)吞吐率等。
計(jì)算開銷。數(shù)據(jù)平面交換機(jī)計(jì)算開銷是影響轉(zhuǎn)發(fā)時(shí)延的主要因素,與本文相似方案單次分組傳輸數(shù)據(jù)平面節(jié)點(diǎn)計(jì)算復(fù)雜度如表2 所示。
表2 相似方案計(jì)算復(fù)雜度
在長度為L的路徑上,文獻(xiàn)[7,9]方案中路徑各節(jié)點(diǎn)需兩次消息認(rèn)證碼計(jì)算(用H 表示),其總的計(jì)算開銷為分別為4LH和2LH;文獻(xiàn)[10]方案中的任一分組的傳輸,源端需要嵌入基于身份屬性密碼的標(biāo)簽消息,其總開銷至少為2KP(K為屬性元個(gè)數(shù),P 為雙線性對運(yùn)算);文獻(xiàn)[11]方案中各節(jié)點(diǎn)需一次摘要計(jì)算(用M 表示),總計(jì)算開銷為LM;文獻(xiàn)[12]方案中一次分組傳輸,用戶終端及P4 交換機(jī)各需一次消息認(rèn)證碼計(jì)算,總的開銷為3H;文獻(xiàn)[15]方案中入口交換機(jī)需LH次運(yùn)算,各后繼交換機(jī)各需一次認(rèn)證碼驗(yàn)證計(jì)算,總的開銷為2LH,而AO-PFV 的一次分組傳輸,入口/出口交換機(jī)各需要一次摘要運(yùn)算,總的運(yùn)算開銷為2M。AO-PFV 一次分組傳輸節(jié)點(diǎn)計(jì)算開銷低于現(xiàn)有相似機(jī)制。
4.3.1 轉(zhuǎn)發(fā)時(shí)延
本節(jié)實(shí)驗(yàn)對比測試了運(yùn)行AO-PFV 協(xié)議及未運(yùn)行AO-PFV 協(xié)議即標(biāo)準(zhǔn)協(xié)議的網(wǎng)絡(luò)性能,測試其在不同路徑長度下的轉(zhuǎn)發(fā)驗(yàn)證往返時(shí)延(RTT,round trip time),同時(shí)測試了在相同網(wǎng)絡(luò)仿真環(huán)境中表2中節(jié)點(diǎn)計(jì)算開銷較小的機(jī)制[12]和開銷最大的機(jī)制[10]的往返時(shí)延,測試結(jié)果如圖11 所示。
圖11 不同路徑長度下的轉(zhuǎn)發(fā)時(shí)延
圖11中L=10 時(shí),運(yùn)算標(biāo)準(zhǔn)協(xié)議平均往返時(shí)延約為26 ms,AO-PFV 的平均往返時(shí)延低于28 ms,AO-PFV 平均引入了7%~8%的單向網(wǎng)絡(luò)轉(zhuǎn)發(fā)時(shí)延,文獻(xiàn)[12]機(jī)制略高于AO-PFV,其引入了9%左右轉(zhuǎn)發(fā)時(shí)延,AO-PFV 遠(yuǎn)低于文獻(xiàn)[10]機(jī)制,L=10 時(shí),其時(shí)延約為32 ms,平均引入了19%~20%的時(shí)延。
4.3.2 網(wǎng)絡(luò)吞吐率
本節(jié)實(shí)驗(yàn)對比測試了運(yùn)行AO-PFV 協(xié)議及未運(yùn)行AO-PFV 協(xié)議也即標(biāo)準(zhǔn)協(xié)議、計(jì)算開銷較小的文獻(xiàn)[12]機(jī)制和開銷最大的文獻(xiàn)[10]機(jī)制在分組負(fù)載為300~1 200 B 下的網(wǎng)絡(luò)吞吐率,L=8和L=10 的實(shí)驗(yàn)結(jié)果分別如圖12和圖13 所示。在同一負(fù)載條件下,文獻(xiàn)[12]機(jī)制和文獻(xiàn)[10]機(jī)制吞吐率損失分別約為16%和8%,而AO-PFV 損失6%~7%的吞吐率。
圖12 L=8 時(shí)不同負(fù)載下的網(wǎng)絡(luò)吞吐率
圖13 L=10 時(shí)不同負(fù)載下的網(wǎng)絡(luò)吞吐率
本節(jié)分別從定性與定量分析兩方面對比分析AO-PFV 與現(xiàn)有典型的機(jī)制之間的差異。
現(xiàn)有機(jī)制旨在解決SDN中數(shù)據(jù)平面分組轉(zhuǎn)發(fā)驗(yàn)證,如表3 所示,將AO-PFV 與這幾類機(jī)制相比較,從所提供的安全檢測功能、有無分組頭開銷及以及數(shù)據(jù)平面是否需要額外的安全通信協(xié)議幾方面定性比較分析其各自的優(yōu)缺點(diǎn)。
表3 相似機(jī)制定性對比分析
文獻(xiàn)[7]中節(jié)點(diǎn)執(zhí)行兩次驗(yàn)證碼操作實(shí)現(xiàn)分組驗(yàn)證與路徑驗(yàn)證域哈希鏈更新,文獻(xiàn)[9]通過壓縮的消息認(rèn)證碼實(shí)現(xiàn)分組路徑一致性驗(yàn)證,文獻(xiàn)[10]機(jī)制嵌入了基于屬性密碼的身份屬性標(biāo)簽實(shí)現(xiàn)驗(yàn)證,文獻(xiàn)[7,9-10]引入了新的安全通信協(xié)議以支持?jǐn)?shù)據(jù)平面分組轉(zhuǎn)發(fā)驗(yàn)證,可以有效檢測分組的惡意的篡改、注入攻擊,但無法應(yīng)對惡意的丟棄攻擊;LPV[11]為數(shù)據(jù)分組插入了一系列用于混淆攻擊者的隨機(jī)標(biāo)簽并采樣某一類特定隨機(jī)標(biāo)簽的分組,驗(yàn)證其完整性以此檢測網(wǎng)絡(luò)異常,該機(jī)制通過控制器下發(fā)分組摘要至交換機(jī)節(jié)點(diǎn),采用的依然是逐跳驗(yàn)證的方式,可以檢測分組的篡改與丟棄攻擊,但插入的隨機(jī)標(biāo)簽同樣引入了一定的通信開銷;文獻(xiàn)[12]通過用戶終端在IP 頭選項(xiàng)字段嵌入36 B 的自定義密碼標(biāo)識(shí),能有效檢測惡意的篡改攻擊,無法檢測丟棄攻擊。文獻(xiàn)[15]可以有效檢測針對分組的各類攻擊,不需要額外的分組通信開銷,但采用了逐跳驗(yàn)證的轉(zhuǎn)發(fā)方式,增加了計(jì)算開銷。
IP 分組負(fù)載為800 B,L=8 時(shí),各機(jī)制在分組頭通信開銷、數(shù)據(jù)平面分組單向傳輸計(jì)算時(shí)間、惡意分組篡改漏報(bào)率、丟棄檢測時(shí)的漏報(bào)率與無丟棄攻擊時(shí)的誤報(bào)率定量分析對比如表4 所示。在本文實(shí)驗(yàn)平臺(tái)環(huán)境中一次消息摘要運(yùn)算約為6 μs,一次消息認(rèn)證碼計(jì)算約為10~12 μs,一次雙線性對計(jì)算約為0.50~0.60 ms。
表4 相似機(jī)制通信開銷、計(jì)算時(shí)間、漏報(bào)率與誤報(bào)率分析(L=8,θ=0.008)
文獻(xiàn)[7,9]中嵌入的分組頭開銷隨著路徑長度的增加而線性增加,分組頭開銷長度分別為52+16L、32+L,單位為B;文獻(xiàn)[10]機(jī)制嵌入了基于身份屬性密碼的驗(yàn)證標(biāo)簽,其分組頭開銷至少為144 B,這三類機(jī)制采用消息驗(yàn)證碼或簽名驗(yàn)證的方式轉(zhuǎn)發(fā)分組,篡改攻擊檢測漏報(bào)率為0,但無有效的丟棄攻擊檢測機(jī)制。LPV[11]同樣插入了一系列用于混淆攻擊者的隨機(jī)標(biāo)簽,并采樣某一類特定標(biāo)簽的分組,該機(jī)制隨采樣因子的不同,其篡改漏報(bào)率低于10%,丟棄檢測誤報(bào)與漏報(bào)率低于4%。文獻(xiàn)[12]在IP 選項(xiàng)字段插入了固定長度為36 B 的密碼驗(yàn)證標(biāo)識(shí),在攻擊者以10%的概率實(shí)施篡改攻擊時(shí),漏報(bào)率低于10%,但該機(jī)制不能檢測惡意的丟棄攻擊。文獻(xiàn)[15]不需要額外分組頭通信開銷,在攻擊者以1%~4%的概率實(shí)施篡改時(shí),其漏報(bào)率低于1%,在攻擊者以小于0.5%的概率實(shí)施丟棄攻擊時(shí),漏報(bào)率大于10%,在攻擊者以1%~4%的概率丟棄分組時(shí),其漏報(bào)率低于2%,誤報(bào)率低于2%。AO-PFV 在攻擊者大于0.08%的概率實(shí)施篡改時(shí)的漏報(bào)率低于0.5%,而以大于路徑自然分組丟失率θ的概率實(shí)施丟棄攻擊時(shí),漏報(bào)率低于1%,在無惡意丟棄攻擊時(shí)的誤報(bào)率低于1%。
基于以上分析可知,通過入口交換機(jī)實(shí)現(xiàn)地址信息重載,AO-PFV 不需要額外的數(shù)據(jù)平面安全通信協(xié)議及額外的分組頭開銷,其分組通信開銷與計(jì)算開銷小于現(xiàn)有機(jī)制,基于哈希采樣,控制器可以有效檢測惡意節(jié)點(diǎn)的注入、丟棄、篡改等攻擊。AO-PFV 機(jī)制與逐跳驗(yàn)證機(jī)制相比,在惡意節(jié)點(diǎn)實(shí)施篡改/丟棄攻擊時(shí),存在一定概率的漏報(bào)或誤報(bào),但在同等攻擊概率條件下,AO-PFV 檢測準(zhǔn)確性優(yōu)于現(xiàn)有機(jī)制。
針對現(xiàn)有SDN 轉(zhuǎn)發(fā)驗(yàn)證機(jī)制通過開發(fā)新的安全通信協(xié)議并嵌入密碼標(biāo)簽實(shí)現(xiàn)逐跳驗(yàn)證引入較大的計(jì)算與通信開銷的缺點(diǎn),本文提出一種基于地址重載的分組轉(zhuǎn)發(fā)驗(yàn)證機(jī)制AO-PFV,AO-PFV中入口交換機(jī)重載IP 分組頭中的地址信息將流運(yùn)行時(shí)間劃分為連續(xù)隨機(jī)的時(shí)間間隔,后繼節(jié)點(diǎn)基于重載的地址信息轉(zhuǎn)發(fā)分組,控制器獲取間隔內(nèi)流入口及出口交換機(jī)基于哈希采樣的轉(zhuǎn)發(fā)分組并驗(yàn)證其完整性,檢測路徑中存在的異常轉(zhuǎn)發(fā)行為;最后,構(gòu)建仿真網(wǎng)絡(luò)實(shí)現(xiàn)了所提機(jī)制并對其有效性進(jìn)行了評(píng)估。與現(xiàn)有機(jī)制相比,AO-PFV 計(jì)算開銷小,不需要額外安全通信協(xié)議和分組頭開銷,以引入不超過8%的轉(zhuǎn)發(fā)時(shí)延和約7%的吞吐率損失,可有效檢測分組轉(zhuǎn)發(fā)中惡意注入、篡改、丟棄等異常轉(zhuǎn)發(fā)行為。