李鵬飛,陳 鳴,錢紅燕
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
路由選擇協(xié)議對(duì)于因特網(wǎng)至關(guān)重要,決定著數(shù)據(jù)分組的轉(zhuǎn)發(fā)路徑,保證了分組能夠跨越網(wǎng)絡(luò)正確、高效地到達(dá)目的地。開(kāi)放式最短路徑優(yōu)先(open shortest path first,OSPF)路由協(xié)議[1-2]是因特網(wǎng)自治系統(tǒng)中最常用的內(nèi)部網(wǎng)關(guān)協(xié)議之一,盡管有一定的安全保護(hù)措施,OSPF仍受到許多攻擊者的覬覦[3-4]。
OSPF是一種典型的鏈路狀態(tài)路由選擇協(xié)議,每當(dāng)鏈路的狀態(tài)發(fā)生變化(如開(kāi)銷的變化或連接/中斷狀態(tài)的變化)或經(jīng)過(guò)一定時(shí)間,路由器就會(huì)利用鏈路狀態(tài)通告(link state advertisement,LSA)廣播鏈路狀態(tài)信息。LSA是描述網(wǎng)絡(luò)拓?fù)涞姆纸M,記錄相鄰路由器信息,在相鄰路由器中交換[5-6],所有有效的LSA會(huì)被存放在鏈路狀態(tài)數(shù)據(jù)庫(kù)中,路由器根據(jù)鏈路狀態(tài)數(shù)據(jù)庫(kù)計(jì)算得到路由表。因此,LSA上的路由信息的真實(shí)性和準(zhǔn)確性至關(guān)重要,一旦被篡改,虛假的路由將會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)陷于混亂。路由欺騙[7-11]是一種利用協(xié)議漏洞偽造LSA篡改路由信息的攻擊方法。一旦攻擊者實(shí)施路由欺騙攻擊,會(huì)嚴(yán)重影響網(wǎng)絡(luò)的安全,造成分組無(wú)法到達(dá)目的地、路由環(huán)路、流量黑洞、網(wǎng)絡(luò)癱瘓等嚴(yán)重后果。而路由選擇中的洪泛機(jī)制會(huì)進(jìn)一步增強(qiáng)路由欺騙攻擊的破壞力[12]。此機(jī)制雖然在功能上是必要的,但同時(shí)會(huì)在整個(gè)網(wǎng)絡(luò)中洪泛虛假的LSA,導(dǎo)致大面積的路由污染[13]。
文中通過(guò)對(duì)目前已存在的多種OSPF路由欺騙攻擊進(jìn)行分析和分類,提出了有針對(duì)性的檢測(cè)算法;設(shè)計(jì)了一種通用的檢測(cè)和防御系統(tǒng),基于網(wǎng)絡(luò)功能虛擬化(NFV)實(shí)現(xiàn)了原型系統(tǒng),并通過(guò)實(shí)驗(yàn)證明了該系統(tǒng)和相關(guān)技術(shù)的有效性。
目前為止,針對(duì)攻擊方法的研究,主要在于新型路由欺騙攻擊的發(fā)現(xiàn)。文獻(xiàn)[7]提出了一種新型的路由欺騙攻擊,利用協(xié)議處理LSA頭部時(shí),不檢查鏈路狀態(tài)ID和路由器標(biāo)識(shí)的一致性,成功躲過(guò)反擊機(jī)制,同時(shí)該文獻(xiàn)還提出了三種預(yù)防的方法。文獻(xiàn)[8]發(fā)現(xiàn)了兩種逃避反擊機(jī)制的新攻擊,分別為鄰接欺騙攻擊和單路徑攻擊。文獻(xiàn)[9-10]發(fā)現(xiàn)了兩種危害性很大的路由欺騙攻擊,分別為雙LSA注入攻擊和遠(yuǎn)程鄰接攻擊。文獻(xiàn)[11]在雙LSA注入攻擊的基礎(chǔ)上提出了雙LSA遠(yuǎn)程多注入攻擊。這些文獻(xiàn)提出的路由欺騙攻擊都是利用了協(xié)議缺陷或者漏洞,逃避反擊機(jī)制對(duì)路由器進(jìn)行攻擊。
關(guān)于OSPF協(xié)議安全性的研究主要集中在攻擊分析、消耗資源類攻擊的檢測(cè)以及防范。文獻(xiàn)[14]提出一種冗余的網(wǎng)絡(luò)系統(tǒng)架構(gòu),降低LSA偽造攻擊對(duì)網(wǎng)絡(luò)的影響,提高OSPF網(wǎng)絡(luò)系統(tǒng)的生存能力。文獻(xiàn)[15]設(shè)計(jì)一種模型來(lái)分析驗(yàn)證OSPF協(xié)議中關(guān)鍵漏洞的存在,并通過(guò)此方法提出并驗(yàn)證了一個(gè)新漏洞。文獻(xiàn)[16]引入了一種滲透工具來(lái)檢查OSPF口令強(qiáng)度,增加網(wǎng)絡(luò)的安全性,但該工具受到了路由器硬件和操作系統(tǒng)版本的限制。文獻(xiàn)[17]對(duì)OSPF協(xié)議進(jìn)行安全性分析,并建議將基于軟件包分析的入侵檢測(cè)功能加入規(guī)范。文獻(xiàn)[18]利用路由器嵌入的TPM模塊和內(nèi)部的動(dòng)態(tài)度量模塊防止遭受操作系統(tǒng)層面的入侵,利用系統(tǒng)處理攻擊報(bào)文的流程來(lái)判斷是否受到最大年齡攻擊等三種攻擊。該方法將整個(gè)系統(tǒng)存在于路由器內(nèi)部,能夠經(jīng)濟(jì)有效地檢測(cè)這三種攻擊。文獻(xiàn)[19]設(shè)計(jì)了一個(gè)通用、多模式的OSPF協(xié)議脆弱性檢測(cè)系統(tǒng),利用網(wǎng)絡(luò)受到資源消耗攻擊時(shí),CPU滿載無(wú)法處理SNMP(simple network management protocol )請(qǐng)求的特點(diǎn),采用SNMP和旁路監(jiān)聽(tīng)相結(jié)合的方法實(shí)現(xiàn)檢測(cè)結(jié)果的實(shí)時(shí)監(jiān)控,有效地檢測(cè)出消耗資源類的攻擊。
網(wǎng)絡(luò)功能虛擬化(network functions virtualization,NFV)[20]是一種利用通用硬件以及虛擬化技術(shù),承載多種功能的軟件來(lái)代替?zhèn)鹘y(tǒng)硬件,實(shí)現(xiàn)各種網(wǎng)絡(luò)功能或網(wǎng)絡(luò)設(shè)備的技術(shù)。通過(guò)NFV技術(shù),使網(wǎng)絡(luò)功能不再依賴專用硬件,減少了網(wǎng)絡(luò)設(shè)備的成本,實(shí)現(xiàn)網(wǎng)絡(luò)新業(yè)務(wù)的快速開(kāi)發(fā)與部署,為網(wǎng)絡(luò)發(fā)展注入新的動(dòng)力。
表1列出了目前主要欺騙方法的特點(diǎn)。通過(guò)進(jìn)一步分析發(fā)現(xiàn),當(dāng)欺騙攻擊不引起反擊機(jī)制時(shí),盡管欺騙攻擊的原理不同,但有著以下的共同特性,且與網(wǎng)絡(luò)拓?fù)錈o(wú)關(guān):
(1)攻擊者發(fā)送一個(gè)惡意的路由器LSA?!皭阂狻敝杆腖SA 部分與鏈路狀態(tài)數(shù)據(jù)庫(kù)中真實(shí)的LSA不同;
(2)攻擊者會(huì)收到一個(gè)LSAck 包,表明惡意LSA 通過(guò)了協(xié)議的校驗(yàn)和檢查;
(3)由于協(xié)議的缺陷等原因,惡意的LSA 并不會(huì)引起反擊機(jī)制,使其篡改了真實(shí)的LSA 達(dá)到欺騙的效果。
表1 攻擊特點(diǎn)
當(dāng)某種欺騙攻擊引起反擊機(jī)制時(shí),盡管具體方式有所不同,但它們欺騙原理相似[9], 且實(shí)現(xiàn)的攻擊均具有以下特性:
(1)攻擊者按序向路由器發(fā)送觸發(fā)LSA 和抗反擊LSA,且抗反擊LSA與鏈路狀態(tài)數(shù)據(jù)庫(kù)中真實(shí)的LSA 不同;
(2)這兩條報(bào)文的時(shí)間間隔在1~5 s,并且攻擊者都收到兩個(gè)報(bào)文的LSAck包;
(3)觸發(fā)LSA 引起了反擊機(jī)制,然而由于抗反擊LSA 和反擊LSA 的校驗(yàn)和、序列號(hào)相同,且時(shí)間差在15 min以內(nèi),這兩種報(bào)文先到的被保存,后到的被丟棄。
由此,將這六種路由欺騙攻擊分為兩大類:第一類為引起反擊類攻擊,第二類為不引起反擊類攻擊。
對(duì)于引起反擊和不引起反擊的兩類路由欺騙攻擊,分別設(shè)計(jì)了相應(yīng)的檢測(cè)算法。
2.2.1 算法I:不引起反擊類攻擊的檢測(cè)算法
鄰接欺騙、遠(yuǎn)程鄰接欺騙、單路徑注入、LSA覆蓋等不會(huì)引起OSPF協(xié)議反擊機(jī)制,根據(jù)它們的特性設(shè)計(jì)算法I。
算法I:檢測(cè)不引起反擊類攻擊的算法。
Input:路由器的OSPF報(bào)文流
Output:OSPF欺騙存在與否
1:for position←next_begin+1 to trace_num do //position為檢測(cè)的當(dāng)前報(bào)文位置
2:for index←position to window_size do//window_size為滑動(dòng)窗口大小
3:if 此條報(bào)文是router LSA do
4:if LSAs∈{LS Database}then
5:記錄時(shí)間戳、鏈路號(hào)等參數(shù)
6:if 存在LSAck包 then
7:if 存在合法的反擊LSA then
8:break
9:else if 未告警 then
10:告警
11:end for
12:滑動(dòng)窗口+1
13:end for
算法I先解析流中的每條路由器LSA,記錄下捕獲報(bào)文的時(shí)間戳、報(bào)文所在網(wǎng)橋號(hào)、序列號(hào)等參數(shù),與鏈路狀態(tài)數(shù)據(jù)庫(kù)的鏈路信息對(duì)比,判斷其是否為惡意;若不是,跳出流程,反之,繼續(xù)執(zhí)行,判斷其是否合法、是否引起反擊機(jī)制。合法指該LSA通過(guò)了協(xié)議的過(guò)程化檢查與約束,之后進(jìn)程會(huì)回復(fù)一個(gè)LSAck報(bào)文。由反擊機(jī)制特點(diǎn)可知:反擊LSA的序列號(hào)比惡意LSA的序列號(hào)大1,鏈路狀態(tài)ID和惡意LSA的相同,鏈路狀態(tài)信息和真實(shí)的鏈路狀態(tài)數(shù)據(jù)庫(kù)中的相同。據(jù)此判斷惡意LSA是否引起反擊機(jī)制。若出現(xiàn),跳出流程,從下一條報(bào)文重新執(zhí)行流程。反之,由于所有洪泛的惡意LSA 之間的鏈路狀態(tài)ID和序列號(hào)都相同,比較兩次告警惡意LSA 的鏈路狀態(tài)ID和序列號(hào)可判斷告警是否重復(fù),找出最先發(fā)送惡意LSA 報(bào)文的路由器或主機(jī)。
2.2.2 算法II:引起反擊類攻擊檢測(cè)算法
目前引起反擊類攻擊僅有雙LSA注入攻擊和雙LSA遠(yuǎn)程多注入攻擊兩種。根據(jù)特性設(shè)計(jì)算法II。
算法II:檢測(cè)引起反擊類攻擊的算法。
Input:路由器的OSPF報(bào)文流
Output:OSPF欺騙存在與否
1:for position←next_begin+1 to trace_num do
2:for index←position to window_size do
3:if 此條報(bào)文是router LSA do //觸發(fā)LSA
4:保存時(shí)間戳、鏈路號(hào)等參數(shù)
5:if 存在LSAck then
6:if 存在抗反擊LSA then
7:if 存在抗反擊LSA的LSAck then
8:if LSAs∈{LS Database}then
9:break
10:else if 未告警 then
11:告警
12:end for
13:滑動(dòng)窗口+1
14:end for
與算法I相同的是解析路由器LSA時(shí)都會(huì)記錄下捕獲的時(shí)間戳、報(bào)文所在網(wǎng)橋號(hào)等參數(shù)。但是它們算法流程并不相同,后者將采集到的路由器LSA作為觸發(fā)LSA執(zhí)行算法流程,依次判斷其是否合法、是否出現(xiàn)抗反擊LSA以及抗反擊LSA是否合法是否惡意、告警是否重復(fù)。
盡管兩類路由欺騙攻擊篡改某些路由器的路由表,但不會(huì)影響受害路由器的反擊LSA到達(dá)所有路由器。所以檢測(cè)到欺騙攻擊后,向路由器發(fā)送一條序列號(hào)更大的LSA,刻意引起它的反擊機(jī)制,將使攻擊失去效果?;谠撛恚竟?jié)提出了OSPF路由欺騙攻擊的防御機(jī)制,能夠有效地防御大部分OSPF路由欺騙攻擊。但鄰接欺騙攻擊和遠(yuǎn)程鄰接欺騙攻擊,因它們通過(guò)偽裝成路由器,發(fā)送關(guān)于自身的虛假LSA,即使再次引起反擊機(jī)制,洪泛的依舊是虛假路由,所以不能通過(guò)激發(fā)協(xié)議的反擊機(jī)制進(jìn)行防御。這兩種攻擊需要通知管理員處置。
文中基于NFV提出了通用的系統(tǒng)架構(gòu),如圖1所示,該架構(gòu)主要分為采集層和分析層。
采集層主要包含若干中間盒,以及采集、通信和防御實(shí)施三大模塊。采集模塊功能主要包括:捕獲流經(jīng)路由器各端口的OSPF分組;過(guò)濾掉與欺騙攻擊無(wú)關(guān)的OSPF Hello報(bào)文;解析協(xié)議報(bào)文。通信模塊將解析完的報(bào)文發(fā)送給分析服務(wù)器以及接收分析服務(wù)器的防御指令。防御實(shí)施模塊接收分析服務(wù)器的防御指令后,構(gòu)造新的路由器LSA后發(fā)送給路由器。
圖1 ARSAO的系統(tǒng)架構(gòu)
分析層包含一個(gè)分析服務(wù)器,由通信、防御分析兩大模塊組成。通信模塊接收來(lái)自中間盒的協(xié)議報(bào)文和發(fā)送防御指令。防御分析模塊將協(xié)議報(bào)文加上鏈路號(hào)和時(shí)間戳形成trace記錄流;獲取每條協(xié)議報(bào)文的核心參數(shù);調(diào)用兩類檢測(cè)算法多線程檢測(cè)trace記錄流;檢測(cè)到攻擊后告警并構(gòu)造防御指令。
考慮到開(kāi)銷、效率、實(shí)時(shí)性等因素,分析服務(wù)器和中間盒之間采用UDP協(xié)議進(jìn)行通信。
中間盒是指在Linux容器(LXC)中運(yùn)行具有特定檢測(cè)與防御功能的虛擬網(wǎng)絡(luò)功能(VNF)。它通過(guò)網(wǎng)橋連接到路由器之間,用軟件實(shí)現(xiàn)中間盒是文中的研究點(diǎn)之一。它的程序設(shè)計(jì)基于socket編程,利用了libpcap、tcpdump、libnet技術(shù)。中間盒各個(gè)模塊的工作流程如圖2所示。
圖2 中間盒工作流程
通信模塊在初始化階段,打開(kāi)一個(gè)UDP socket,利用send to函數(shù)向分析服務(wù)器發(fā)送數(shù)據(jù)包,recvfrom函數(shù)接收分析服務(wù)器的防御指令。
采集模塊在監(jiān)測(cè)接口的數(shù)據(jù)鏈路層增加一個(gè)旁路處理,基于libpcap利用原始套接字從鏈路層驅(qū)動(dòng)程序中獲取數(shù)據(jù)包的拷貝,通過(guò)Tap函數(shù)將數(shù)據(jù)包發(fā)送給BSD Packet Filter(BPF)過(guò)濾器。定義過(guò)濾規(guī)則對(duì)數(shù)據(jù)包進(jìn)行逐一匹配,符合條件的使用tcpdump中的對(duì)應(yīng)函數(shù)對(duì)報(bào)文進(jìn)行解析,之后存放入內(nèi)核緩沖區(qū),并傳遞給用戶緩沖區(qū)。
防御實(shí)施模塊每當(dāng)其接收到分析服務(wù)器的防御指令后,調(diào)用libnet函數(shù)庫(kù)自底層向上層構(gòu)造新的觸發(fā)LSA。
分析服務(wù)器是指在LXC中具有特定分析功能的VNF,它通過(guò)一個(gè)網(wǎng)橋橋接所有的中間盒,確保及時(shí)地接收中間盒發(fā)送來(lái)的協(xié)議報(bào)文。它的工作過(guò)程如下:程序初始化階段打開(kāi)UDP socket,監(jiān)聽(tīng)端口,等待連接請(qǐng)求,利用recvfrom函數(shù)接收協(xié)議報(bào)文。接收?qǐng)?bào)文后,對(duì)每條報(bào)文添加網(wǎng)橋ID和時(shí)間戳,存入接收緩沖區(qū),利用正則表達(dá)式過(guò)濾讀取參數(shù),存入trace記錄中,然后使用pthread_create函數(shù)開(kāi)啟兩個(gè)線程,分別調(diào)用兩類檢測(cè)算法對(duì)流檢測(cè),判斷是否存在攻擊。若存在,生成告警信息,存入日志文件,并且生成防御指令。最后利用sendto函數(shù)發(fā)送防御指令。
trace記錄的結(jié)構(gòu)如圖3所示。時(shí)間戳占2個(gè)字節(jié),表示協(xié)議報(bào)文被捕獲的時(shí)間;網(wǎng)橋ID占2個(gè)字節(jié),標(biāo)識(shí)報(bào)文所在的網(wǎng)橋;LSA類型占1個(gè)字節(jié),表示LSA類型,當(dāng)OSPF分組類型不為L(zhǎng)SU時(shí),自動(dòng)填充0;鏈路數(shù)占2個(gè)字節(jié),表示路由器接口活動(dòng)的數(shù)量;鏈路ID占4個(gè)字節(jié),表示路由器接口所連接的對(duì)象;鏈路數(shù)據(jù)占4個(gè)字節(jié),為IP地址掩碼或接口的IP地址。時(shí)間戳取自宿主服務(wù)器的時(shí)鐘,解決各個(gè)路由器、中間盒時(shí)鐘不同步問(wèn)題,保證檢測(cè)邏輯的正確性。
圖3 trace記錄結(jié)構(gòu)
防御指令中包含:惡意LSA序列號(hào)、鏈路狀態(tài)ID、區(qū)域ID、中間盒IP地址、目標(biāo)路由器IP地址。這些參數(shù)用于中間盒構(gòu)造LSA。
為了驗(yàn)證ARSAO系統(tǒng)的功能和性能,對(duì)該系統(tǒng)進(jìn)行實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)設(shè)備和環(huán)境配置如下:宿主服務(wù)器為ThinkServer RD550(內(nèi)存32 GB、Xeon(R) CPU4核、x5647 @2.93 GHz);服務(wù)器的操作系統(tǒng)為Ubuntu 16.04,以LXC作為虛擬機(jī)構(gòu)建NFV網(wǎng)絡(luò)作為測(cè)試原型系統(tǒng)的環(huán)境[21-22]。
原型系統(tǒng)的NFV網(wǎng)絡(luò)如圖4所示。該網(wǎng)絡(luò)是由17臺(tái)配置OSPF協(xié)議的路由器R1-R17組成,它分為5個(gè)區(qū)域Aera0-Aera4。包含虛擬主機(jī)6臺(tái)H1-H6。網(wǎng)段的掩碼皆為255.255.255.0。此外原型系統(tǒng)設(shè)置了5個(gè)檢測(cè)中間盒和1個(gè)分析服務(wù)器。
圖4 測(cè)試原型系統(tǒng)的NFV網(wǎng)絡(luò)
由于雙LSA遠(yuǎn)程多注入攻擊與雙LSA注入攻擊類似以及鄰接欺騙攻擊與遠(yuǎn)程鄰接欺騙攻擊類似,實(shí)驗(yàn)選擇對(duì)鄰接欺騙攻擊、雙LSA注入攻擊、LSA攻擊覆蓋攻擊、單路徑注入攻擊這四種路由欺騙攻擊行為進(jìn)行驗(yàn)證,測(cè)試系統(tǒng)的檢測(cè)功能和防御功能。分別在Area1、Area2、Area3、Area4依次進(jìn)行這四種攻擊(時(shí)間間隔1 s)。
Area1內(nèi),攻擊者H2發(fā)送所構(gòu)造的Hello報(bào)文,與R2建立鄰接關(guān)系,之后注入惡意的攻擊報(bào)文。Area2內(nèi),攻擊者從R17向R14注入觸發(fā)LSA和抗反擊LSA報(bào)文;Area3內(nèi),攻擊者從R7向R15發(fā)送覆蓋攻擊的LSA報(bào)文,Area4內(nèi),攻擊者從R11向R13注入關(guān)于R12的惡意LSA報(bào)文。攻擊前,記錄R2、R14、R15、R13的路由表。攻擊后,再次查看受害路由器的路由表,對(duì)比可得路由表項(xiàng)被篡改。表2為R2被攻擊后的路由表項(xiàng)列表,最后一行為多出的惡意的路由信息。
表2 路由器R2被攻擊后的路由表項(xiàng)
圖5中的日志文件顯示了ARSAO系統(tǒng)對(duì)攻擊特征的報(bào)文進(jìn)行了告警,并且準(zhǔn)確找出了攻擊源。檢測(cè)到攻擊的5 s后,再次查看受害路由器的路由表,大部分路由器的路由表已經(jīng)恢復(fù),未恢復(fù)的R2則由管理員進(jìn)行處置。
實(shí)驗(yàn)表明:ARSAO系統(tǒng)能夠檢測(cè)出這兩大類路由欺騙攻擊、準(zhǔn)確找到攻擊源、防御其中的大部分攻擊。(鄰接欺騙攻擊、遠(yuǎn)程鄰接欺騙攻擊除外)
圖5 日志文件
為了測(cè)試系統(tǒng)的性能,選擇雙LSA注入攻擊和單路徑攻擊進(jìn)行實(shí)驗(yàn),選取檢測(cè)時(shí)間、防御時(shí)間、誤報(bào)率和漏報(bào)率作為指標(biāo)。公式如下:
t檢測(cè)時(shí)間=t檢測(cè)到攻擊的時(shí)刻-t攻擊的時(shí)刻
(1)
t防御時(shí)間=t檢測(cè)到構(gòu)造的觸發(fā)LSA報(bào)文時(shí)刻-t檢測(cè)到攻擊的時(shí)刻
(2)
p誤報(bào)率=n誤報(bào)/n攻擊
(3)
p漏報(bào)率=n漏報(bào)/n攻擊
(4)
為了更好地模擬真實(shí)的網(wǎng)絡(luò)環(huán)境,利用流量發(fā)生軟件Iperf設(shè)置背景流量,流量控制軟件Netem設(shè)置丟包率和時(shí)延。在不同的丟包率和時(shí)延下,在Area1、Area2、Area3、Area4內(nèi)分別間隔1 s進(jìn)行雙LSA注入攻擊和單路徑注入攻擊。一共進(jìn)行10輪實(shí)驗(yàn),每輪一類欺騙攻擊100次,檢測(cè)時(shí)間、防御時(shí)間是1 000次實(shí)驗(yàn)的平均值,誤報(bào)率和漏報(bào)率為10輪實(shí)驗(yàn)的平均值。實(shí)驗(yàn)結(jié)果見(jiàn)圖6~圖9。
圖6 時(shí)延對(duì)檢測(cè)時(shí)間和防御時(shí)間的影響
由圖6可知,兩類攻擊的檢測(cè)需都要一定的時(shí)間。200 ms時(shí)延下,引起反擊類的檢測(cè)時(shí)間與防御時(shí)間分別為3.72 s和2.49 s,不引起反擊類的檢測(cè)時(shí)間與防御時(shí)間分別為5.85 s和2.66 s。不引起反擊類攻擊的檢測(cè)時(shí)間明顯大于引起反擊類攻擊的檢測(cè)時(shí)間,防御時(shí)間兩類攻擊相差不多,兩類攻擊的檢測(cè)時(shí)間和防御時(shí)間隨著網(wǎng)絡(luò)時(shí)延基本呈線性增加。
圖7顯示的是丟包率對(duì)檢測(cè)時(shí)間和防御時(shí)間的影響。這兩類攻擊的檢測(cè)時(shí)間與防御時(shí)間隨著丟包率的增大有一定的波動(dòng),但并沒(méi)有明顯影響。
圖8給出了不同時(shí)延下兩類攻擊的漏報(bào)率和誤報(bào)率。從圖8可知,當(dāng)時(shí)延較小時(shí),時(shí)延的增加不會(huì)使系統(tǒng)產(chǎn)生誤報(bào),而當(dāng)時(shí)延高于一定的值α(1~1.5 s)時(shí),系統(tǒng)開(kāi)始出現(xiàn)漏報(bào),且漏報(bào)率隨著時(shí)延的增大逐漸增大。
圖7 丟包率對(duì)檢測(cè)時(shí)間和防御時(shí)間的影響
圖8 時(shí)延對(duì)漏報(bào)率和誤報(bào)率的影響
圖9 丟包對(duì)漏報(bào)率和誤報(bào)率的影響
圖9給出了不同丟包率下兩類攻擊的漏報(bào)率和誤報(bào)率,兩者皆隨著丟包率的增加急劇升高。一旦網(wǎng)絡(luò)出現(xiàn)丟包,網(wǎng)絡(luò)出現(xiàn)的情況有很多,可能是因出現(xiàn)惡意LSA的確認(rèn)報(bào)文丟失導(dǎo)致系統(tǒng)出現(xiàn)攻擊的漏報(bào);也有可能引起反擊類攻擊的反擊LSA報(bào)文丟失,導(dǎo)致系統(tǒng)將把這類攻擊誤判成另一類攻擊。同一丟包率下,引起自反擊類攻擊的誤判率低于另一類,漏判率高于另一類。因?yàn)榉磽纛惞魴z測(cè)算法步驟較多,其中任何一個(gè)步驟的報(bào)文不正確,都會(huì)導(dǎo)致漏判,所有步驟都滿足,才會(huì)誤判。
上述實(shí)驗(yàn)結(jié)果表明,網(wǎng)絡(luò)時(shí)延和丟包對(duì)ARSAO系統(tǒng)的性能產(chǎn)生了一定的影響,但在非極端的網(wǎng)絡(luò)時(shí)延和丟包的情況下,該系統(tǒng)能夠用統(tǒng)一的通用設(shè)施快速有效地檢測(cè)出各種OSPF欺騙攻擊并能夠進(jìn)行及時(shí)防御,檢測(cè)具有低誤報(bào)率和低漏報(bào)率,提升了NFV網(wǎng)絡(luò)的安全性和健壯性。由于采用通用基礎(chǔ)設(shè)施,系統(tǒng)也具有經(jīng)濟(jì)性。
目前對(duì)于出現(xiàn)的多種OSPF路由欺騙攻擊仍缺乏有效的檢測(cè)和防御方法。文中在深入研究OSPF路由欺騙攻擊的基礎(chǔ)上,將它們分為兩類,提出了兩類OSPF路由欺騙攻擊的ARSAO機(jī)制?;贜FV技術(shù),提出并實(shí)現(xiàn)了一種通用的支持檢測(cè)與防御的系統(tǒng)。原型系統(tǒng)實(shí)驗(yàn)表明,ARSAO具有經(jīng)濟(jì)性、靈活、易于部署等特點(diǎn),能夠準(zhǔn)確快速地檢測(cè)出除鄰接欺騙攻擊和遠(yuǎn)程鄰接欺騙攻擊外的OSPF的路由欺騙攻擊,并能迅速地進(jìn)行故障恢復(fù)達(dá)到防御的效果,提高NFV網(wǎng)絡(luò)的安全性。下一步,將該研究擴(kuò)展到檢測(cè)與防御其他類型網(wǎng)絡(luò)攻擊的工作中。