999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

擬態防御體系OSPF協議研究及分析*

2023-02-20 02:48:28朱緒全江逸茗馬海龍包婉寧
計算機工程與科學 2023年2期

朱緒全,江逸茗,馬海龍,包婉寧,張 進

(1.紫金山實驗室,江蘇 南京 210000;2.國家數字交換系統工程技術研究中心,河南 鄭州 450000)

1 引言

互聯網的高速發展帶來了網絡規模的持續增長以及網絡應用的廣泛普及,同時給網絡安全帶來了巨大的挑戰,網絡空間中充斥著各種未知漏洞和后門等安全隱患,現實世界中,潛在的漏洞和后門無法避免,也無法窮盡,導致當今網絡空間存在易攻難守的非對稱局面,漏洞和后門問題是網絡空間安全中最嚴重的問題之一[1]。傳統網絡防御技術如入侵檢測系統IDS(Intrusion Detection System)[2]、入侵防御系統IPS(Intrusion Prevention System)[3]、防火墻[4]、漏洞挖掘、特征提取、蜜罐技術[5]、沙箱技術[6]或通過查漏補缺,或通過攻擊行為特征等手段來應對網絡中頻繁出現的各種攻擊。一些新型的網絡防御手段,如移動目標防御[7,8]采用有效地址突變[9]、IP 地址隨機化[10]、端口隨機化[11]和加密隨機化[12]等多樣性技術增強系統脆弱攻擊面的不確定性和動態性,有效限制系統脆弱性暴露及被攻擊的機會,增加攻擊者掃描攻擊難度,但是缺乏一定的效能評估機制,存在系統開銷過高、影響服務性能等問題。

近年來,鄔江興院士提出的擬態防御理論得到了相關研究人員的關注,通過向系統引入動態(Dynamical)、異構(Heterogeneous)和冗余(Redundant)等特性增強系統廣義魯棒性和安全性,提升系統應對未知威脅的能力。目前擬態防御技術已成功應用于路由器[13]、交換機[14]、域名服務器、軟件定義網絡SDN(Software Defined Network)控制器[15]和文件存儲服務器等。

路由協議安全是網絡安全的重要組成部分,路由器等網絡通信設備在網絡中的位置和路由轉發功能決定了其是最佳的攻擊實施點。傳統的路由設備一般沒有防火墻、防病毒等對惡意攻擊相關的安全防護手段,并且其潛在的漏洞和后門眾多,一旦攻擊者控制了路由設備,通過注入惡意網絡路由和虛假DNS路由實現網絡欺騙、郵箱密碼嗅探、中間人攻擊及DNS欺騙,進行敏感數據竊取或篡改,甚至導致網絡大規模癱瘓。針對主機的攻擊,只是攻擊了一個點,而對于路由器的攻擊則會危及整個網絡。

開放式最短路徑優先OSPF(Open Shortest Path First)作為一種典型的鏈路狀態協議,具有收斂速度快、無路由環路、支持變長子網掩碼和匯總、層次區域劃分等優點,目前已經成為網絡部署中使用最為廣泛的路由協議。

擬態防御體系結構通過引入多個異構冗余的執行體,增強廣義魯棒性,通過不同執行體的策略或者周期性調度,對外呈現特征的不確定性變化,增強安全性。如何實現各異構執行體OSPF協議功能的等價,是支持擬態防御的網絡設備亟需解決的問題。本文將聚焦支持擬態防御技術的路由器(以下簡稱擬態路由器),詳細論述OSPF路由協議在擬態防御體系結構中的處理方法,引入依據報文類型進行相應處理的OSPF協議代理組件,保證OSPF路由數據的多元化,便于網絡防御中擬態防御方案的有效實施。并在擬態路由器原型樣機實現中驗證了該方法的可行性和有效性。最后,結合幾種經典的OSPF路由攻擊產生的路由器安全風險進行了具體說明及實驗驗證,實驗證明擬態路由器通過OSPF協議代理能夠實現各個執行體的等價輸入,并通過裁決機制發現某個執行體存在的安全漏洞,做出正確的路由選擇,有效提高了其應對OSPF網絡攻擊的能力。

2 擬態防御體系相關研究

2.1 擬態防御核心思想

擬態防御使用系統架構技術解決了擬態防御界內基于未知漏洞、后門或病毒木馬等不確定威脅,提供了“改變游戲規則”的新途徑[16],其核心思想是動態、異構、冗余及負載反饋機制。

(1)動態性:通過不定時地改變對外呈現的執行體,降低單位時間內特定部件的暴露時間,減小漏洞被發現的風險,在感知到威脅發生時,動態替換并隔離被感染執行體,可有效阻斷攻擊者對目標系統的持續控制。

(2)異構性:基于相異性設計理念,構建多個具備相同功能,但構成原理不同的軟硬件執行體環境。理論上這些異構體存在共生漏洞和相同后門的幾率微乎其微,確保同樣的攻擊不會導致2個執行體同時失效。

(3)冗余性:采用多模裁決機制對多個在線的異構執行體的輸出結果進行一致性裁決,檢測是否發生攻擊行為。

擬態防御技術通過引入裁決和負反饋機制,使得系統在具有內在攻擊面不確定性的同時,還可根據裁決信息有針對性地調整系統內部結構,對外呈現動態性和廣義不確定性,極大地增加了攻擊者的攻擊難度。

2.2 基于擬態防御的路由器設計思路

路由器是體系結構和協議族最復雜的網絡設備之一,它支持多種管理配置協議、路由控制協議以及各種數據轉發業務。

擬態路由器通過在傳統路由器架構中引入多個異構冗余的路由執行體,實現平臺異構、系統異構及應用異構[17,18]。由于不同執行體之間存在共性漏洞或后門的概率極低,攻擊者難以通過一種攻擊方法控制所有執行體,從而極大地提高了路由器的安全性。擬態路由器異構執行體如圖1所示。

Figure 1 Mimic router heterogeneous executive actor圖1 擬態路由器異構執行體示意圖

圖2展示了擬態路由器架構,擬態模塊將管理終端的遠程配置命令通過配置代理處理后分發給各個執行體;將鄰居路由器的路由協議報文通過路由協議代理處理后分發給各個執行體;對各個執行體管理平面下發的配置指令進行比較裁決,發現并阻斷下發惡意配置攻擊;通過對各個執行體的路由更新行為進行比較裁決,發現并阻斷篡改路由攻擊;通過對各個執行體按照裁決模塊和系統監測模塊的反饋信息實施調度,對外呈現特征的動態變化。

Figure 2 Architecture of mimic router圖2 擬態路由器架構圖

路由協議是運行在路由器上的協議,主要用來進行路徑選擇。由于很多路由協議如:OSPF、中間系統到中間系統IS-IS(Intermediate System to Intermediate System)、邊界網關協議BGP(Border Gateway Protocol)需要進行會話狀態維持,因此協議代理復雜度大幅增加,而且輸入輸出在系統異側,多鏈并行處理交織輸出,需要在多個部位設置分發器與裁決點。本文以OSPF協議為例,詳細論述了OSPF協議在擬態防御體系結構中的處理方法。

3 OSPF協議相關研究

OSPF作為內部網關協議IGP(Interior Gateway Protocol)的典型代表,將自治系統AS(Autonomous System)劃分成邏輯意義上的一個或多個區域,通過鏈路狀態通告LSA(Link State Advertisement)的形式發布路由,依靠在OSPF區域內各設備間交互OSPF報文達到路由信息的統一。

OSPF協議通過Hello報文建立與維持鄰居關系,在廣播網絡或者非廣播多路訪問網絡中選舉指定路由器DR(Designated Router)和備份指定路由器BDR(Backup Designated Router),未被選中的路由器統稱為DR other;通過DD(Database Description)描述網絡拓撲;通過LSR(Link State Request)請求在數據庫同步交換過程中發現本路由器中沒有或已過時的LSA包內容;通過LSU(Link State Update)存儲和傳遞路徑信息;通過LSAck(Link State Acknowledge)對收到的LSU進行應答確認[19 - 21]。

OSPF作為一種典型的鏈路狀態協議,包含常用的7種狀態,沒有收到Hello時為Down狀態;收到Hello時進入Init狀態;相互間周期發送Hello的狀態為2way鄰居狀態;交換DD信息初始為Exstart狀態;交換DD信息時為Exchange狀態;在Loading時發送LSR、LSU和LSAck消息并學習對端的LSA的詳細信息;學習完成后進入Full鄰接狀態。

OSPF協議報文的認證分為3種:空認證、簡單密碼認證(Simple Password Authentication)和密碼學認證(Cryptographic Authentication)。對于簡單密碼認證的OSPF協議報文,僅針對OSPF協議報文進行認證。對于密碼學認證的OSPF協議報文,在對OSPF協議報文進行認證的同時,還需要考慮OSPF協議報文的密碼學序列號(Cryptographic Sequence Number),以確保收到的密碼學序列號符合標準規定的原則。

4 基于擬態防御體系的OSPF協議報文處理方法

根據第2節的描述,OSPF協議維護多種狀態,OSPF協議進程在各狀態存續期間對于接收到的OSPF報文的處理方法不同,如DD報文只能在Exstart、Exchange狀態時處理;LSU報文在Loading、Full狀態下處理,在其他狀態時直接丟棄。擬態路由器往往包含多個執行相同功能的異構軟件(或硬件)結構,在非攻擊條件下,簡單的復制分發并不能使得各個執行體的OSPF協議狀態保持一致。

本文引入依據報文類型進行相應處理的OSPF協議代理組件,實現各異構執行體中OSPF協議功能的等價輸入,確保OSPF路由數據的多元化,便于網絡防御中擬態防御方案的有效實施。

4.1 OSPF協議代理組件

OSPF協議代理組件(以下簡稱OSPF代理)是用于協調外部設備與內部各個執行體之間OSPF協議報文的交互而新增的一個功能模塊,能夠有針對性地依據OSPF協議報文類型進行轉發處理,隱藏內部多個執行體,對外部呈現出一個單一的路由設備,以保證外部設備以及擬態設備內部各個執行體對OSPF報文的交互及認證的正確性。

擬態路由器在啟動時會指定一個執行體為主執行體,用于外部設備與擬態路由器之間的交互。如圖3所示,其中N為執行體數量,OSPF代理將透傳主執行體與外界交互的OSPF報文,內部其他執行體的OSPF報文只能與路由協議代理交互,并不發送給外部設備,外部設備不會感知到內部多個執行體的存在。OSPF協議代理能夠實現其他執行體的OSPF狀態、OSPF鏈路狀態數據庫與主執行體一致, 在廣播網絡或者非廣播多路訪問網絡中選舉的DR和BDR與主執行體一致,支持新執行體上線后,OSPF狀態及OSPF 鏈路狀態數據庫與主執行體達到一致。

Figure 3 OSPF protocol processing in mimic routers圖3 擬態路由器OSPF協議處理示意圖

結合報文發送的方向,OSPF協議代理將對來自外部設備的OSPF報文以及來自擬態設備內各執行體的OSPF報文分別進行相應的處理。OSPF代理已經成功應用于擬態路由器、擬態交換機等網絡設備中。

4.1.1 OSPF代理處理外部設備發送的OSPF報文

(1)OSPF代理處理DD報文。

OSPF代理收到第1條DD報文,說明外部設備與主執行體已經通過Hello消息建立鄰居關系,OSPF代理開始執行鄰居信息緩存的初始化建立流程,具體處理如下:

①將鄰居設備的MAC地址、IP地址、路由器標識Router ID、區域標識Area ID、擬態設備的MAC地址和IP地址添加到緩存列表,這6個字段唯一標識一個鄰居設備。

②緩存LSA。根據OSPF標準規定,外部設備與主執行體到達鄰接狀態后,僅會周期性地發送更新報文或者網絡有變化時發送增量更新報文。擬態設備的各個執行體啟動時間不同,可能會出現啟動時間延遲或執行體被調度后重新上線等情形,導致其鏈路狀態數據庫為空。因此,緩存列表需要緩存鄰居設備發送的LSA,用于后啟動的執行體在與OSPF代理建立鄰接關系時,構造報文將LSA通告給執行體,使得各執行體鏈路狀態數據庫保持同步,實現各個執行體的OSPF LSU報文的等價輸入。

③緩存密碼學序列號。根據OSPF標準規定,如果配置MD5檢驗,設備在接收OSPF報文時,需要保證本次收到的OSPF報文中的密碼學序列號大于或等于上次接收到的值,因此需要緩存當前收到的OSPF報文的密碼學序列號,用于與從執行體之間的所有OSPF消息交互。

④將報文發送給主執行體。若OSPF代理收到剩余的DD報文,根據OSPF報文攜帶的源IP、路由器標識Router ID、區域標識Area ID、目的IP查詢之前建立的緩存。如果命中,說明外部設備與主執行體已經建立鄰居關系,更新鄰居緩存中的密碼學序列號為報文攜帶的密碼學序列號,并將報文發送給主執行體。

(2)OSPF代理處理Hello報文。

根據OSPF報文攜帶的源IP、路由器標識Router ID、區域標識Area ID查詢緩存是否有該設備的信息。如果命中,說明外部設備與主執行體已經建立鄰居關系,更新鄰居緩存中的密碼學序列號為報文攜帶的密碼學序列號,用于密碼學認證時與從執行體交互,將報文發送給各個執行體,用于維持鄰居關系。

(3)OSPF協議代理處理LSU報文。

根據OSPF報文攜帶的源IP、路由器標識Router ID、區域標識Area ID、目的IP查詢緩存是否有該設備的信息。如果命中,說明外部設備與主執行體已經建立鄰居關系。

①更新鄰居緩存中的密碼學序列號為報文攜帶的密碼學序列號。

②將報文攜帶的LSA添加或者更新到緩存的LSA列表中。根據標準規定,更高鏈路狀態序列號、更大校驗和、最大年齡條件(缺省為1 h)、老化時間超過Max-Age-Diff(缺省為15 min)且老化時間越小的LSA信息包為最新的LSA。

③將報文發送給各個執行體,用于路由信息的實時更新。

(4)OSPF代理處理LSR和LSAck報文。

根據OSPF報文攜帶的源IP、路由器標識Router ID、區域標識Area ID查詢緩存是否有該設備的信息。如果命中,說明外部設備與主執行體已經建立鄰居關系,更新鄰居緩存中的密碼學序列號為報文攜帶的密碼學序列號,并將報文發送給主執行體。

算法1展示了OSPF處理外部設備發送的OSPF報文的過程,該算法的時間復雜度為O(J*M*K),空間復雜度為O(N*M*K),其中,N為執行體數量,J為擬態路由器的網絡接口數,M為一個網絡接口下與之建立鄰接關系的鄰居數,K為該鄰居的LSA數量,即路由數量。

算法1OSPF代理處理外部設備發送的報文

輸入:外部設備發送的報文。

輸出:緩存外部設備信息的列表CCList。

Step1讀入外部設備發送的OSPF報文II。

Step2依據報文類型進行相應的處理。

Step3OSPF代理處理DD報文:

Step3.1如果收到的是首條DD,提取報文中關于鄰居設備的關鍵信息到緩存CC中;如果配置了MD5校驗,則更新密碼學序列號到緩存中;轉發DD報文給主執行體。

CC.srcMac=II.srcMac;

CC.dstMac=II.dstMac;

CC.srcIP=II.srcIP;

CC.dstIP=II.dstIP;

CC.routerID=II.routerID;

CC.AreaID=II.AreaID;

CC.lsaList={};

ifII.auth==MD5then

CC.cryptoSeqNum=II.cryptoSeqNum;

endif

CCList.append(CC);

sendToMainActor(II);

Step3.2如果收到后續DD報文,說明之前已經建立過緩存,查詢到該緩存CC,如果配置MD5校驗,則更新密碼學序列號到緩存中,并轉發DD報文給主執行體。

forCCinCCListdo

ifCC.srcMac==II.srcMacand

CC.srcIP==II.srcIPand

CC.routerID==II.routerIDand

CC.AreaID==II.AreaIDthen

ifII.auth==MD5then

CC.cryptoSeqNum=II.cryptoSeqNum;

endif

endif

endfor

sendToMainActor(II);

Step4OSPF代理處理LSU報文,查詢緩存列表CCList,若命中緩存CC,則將外部設備發送的LSA添加或者更新到緩存的lsaList;如果配置MD5校驗,則更新密碼學序列號到緩存中;轉發LSU報文給所有執行體。

forlsainII.lsalistdo

iflsainCC.lsaListthen

CC.lsaList.update(lsa);

else

CC.lsaList.append(lsa);

endif

ifII.auth==MD5then

CC.cryptoSeqNum=II.cryptoSeqNum;

endif

endfor

sendToAllActor(II);

Step5OSPF代理處理Hello、LSR、LSAck報文:

Step5.1查詢緩存列表CCList,若命中緩存CC,如果配置MD5校驗,則更新密碼學序列號到緩存中。

Step5.2將Hello轉發給所有執行體。

Step5.3將LSR、LSAck發送給主執行體。

4.1.2 OSPF代理處理內部執行體發送的OSPF報文

根據4.1.1節描述,外部設備的Hello消息周期性發送,并直接透傳給各個從執行體,因此內部各個從執行體與外部設備之間通過Hello消息交互建立鄰居關系。

(1)OSPF代理處理主執行體發送的OSPF報文。

將所有類型的OSPF報文直接發送給外部設備。

(2)OSPF代理處理從執行體發送的DD報文。

OSPF代理模擬外部設備與多個從執行體進行消息交互,根據輸入報文的源IP、目的IP、區域ID查詢4.1.1節生成的緩存列表。如果命中,說明外部設備與主執行體已經建立鄰居關系,構造DD報文回復給該執行體。

根據OSPF標準規定,Router ID值較大的設備為主動發起后續DD交互的一方,DD報文的序列號字段以主動發起的一方為準。OSPF代理將接收DD報文的Router ID與查詢命中的緩存信息中的鄰居設備Router ID進行比較,確定主從關系以及后續的DD序列號的值,分為如下2種情況:

①如果鄰居設備為主,OSPF代理模擬鄰居設備,內生構造DD報文發送給從執行體,序列號字段從1開始累加。若是第1條DD報文,則填寫DB Description中的Init字段為1;否則,填寫內生DD報文中DB Description中的Init字段為0,并填寫DB Description中的More字段為0。DD報文不攜帶任何關于LSA Header的相關信息,執行體使用該序列號作為確認序列號與OSPF代理進行交互,主從雙方利用序列號來保證DD報文傳輸的可靠性和完整性。

②如果執行體為主,執行體主動發起DD報文。OSPF代理模擬內生構造DD報文進行回復,并使用執行體發送的序列號作為確認序列號與執行體進行交互,若是第1條DD報文,則填寫DB Description中的Init字段為1;否則,填寫DB Description中的Init字段為0,并將DB Description中的More字段設置為0,不攜帶任何關于LSA Header的相關信息。

若收到最后一條執行體發送的DD,將命中緩存的LSA構造成LSU報文發送給該執行體。對于以上構造的DD和LSU報文,如果配置了MD5校驗,根據配置的鍵值等信息重新計算生成新的消息摘要,添加到報文后面,并將命中緩存的密碼學序列號填入到構造報文中的密碼學序列號字段。

(3)OSPF代理處理從執行體發送的LSR報文。

根據輸入報文的源IP、目的IP、區域ID查詢生成的緩存列表,如果命中,說明外部設備與主執行體已經建立鄰居關系,協議代理構造LSAck報文進行答復。

對于以上構造的LSAck報文,如果配置了MD5校驗,根據配置的鍵值等信息重新計算生成新的消息摘要,添加到報文后面,并將命中緩存的密碼學序列號填入到構造報文中的密碼學序列號字段。

(4)OSPF代理不處理從執行體發送的Hello和LSAck報文。

算法2是OSPF代理對內部執行體發送報文的核心偽代碼。該算法的時間復雜度為O(N*J*M*K),空間復雜度為O(N*M*K),其中,N為執行體數量,J為擬態路由器的網絡接口數,M為一個網絡接口下與之建立鄰接關系的鄰居數,K為該鄰居的LSA數量,即路由數量。

算法2OSPF代理處理內部執行體發送的報文

輸入:執行體發送的報文II,緩存列表CCList。

輸出:模擬外部設備構造報文DD、LSU和LSAck。

Step1讀入內部執行體發送的OSPF報文II。

Step2若報文來自主執行體,則轉發到外部設備。

Step3若報文來自從執行體,OSPF代理依據報文類型進行相應的處理。

Step4OSPF代理處理從執行體發送的DD報文:

Step4.1查詢緩存列表CCList,若命中緩存CC,說明外部設備與主執行體已經建立鄰居關系,模擬構造DD報文與執行體進行交互。

Step4.2根據緩存信息填寫DD報文的關鍵字段。

Step4.3如果配置了MD5校驗,則將緩存中的密碼學序列號填充到DD。

Step4.4發送DD報文到執行體:

DD.srcMac=II.dstMac;

DD.dstMac=II.srcMac;

DD.srcIP=II.dstIP;

DD.dstIP=II.srcIP;

DD.AreaID=II.AreaID;

DD.RouterID=CC.RouterID;

DD.moreFlag=0;

DD.lsaHeads={};

ifII.auth==MD5then

獲取配置Key ID,計算消息摘要,并填入DD;

DD.crypSeqNum=CC.crypSeqNum;

endif

ifII.DD.InitFlag==1then

ifII.RouterID

DD.seqNum=1;

else

DD.seqNum=II.seqNum;

endif

DD.InitFlag=1;

elseifII.DD.moreFlag==1then

DD.InitFlag=0;

endif

DD.seqNum=II.seqNum+1;

elseifII.DD.moreFlag==0then

ifII.RouterID>CC.key.RouterIDthen

DD.InitFlag=0;

endif

DD.seqNum=II.seqNum+1;

endif

replyToActor(DD);

Step4.5在DD報文結束后,將緩存信息鄰居設備的所有LSA 填充在LSU報文中,并發送給執行體:

LSU.srcMac=CC.srcMac;

LSU.dstMac=CC.dstMac;

LSU.srcIP=CC.srcIP;

LSU.dstIP=CC.dstIP;

LSU.AreaID=CC.AreaID;

LSU.RouterID=CC.RouterID;

ifII.auth==MD5then

獲取配置Key ID,計算消息摘要,并填入LSU;

LSU.cryptoSeqNum=CC.cryptoSeqNum;

endif

forlsainCCList.lsaListdo

LSU.append(lsa);

endfor

sendToActor(LSU);

Step5OSPF代理處理從執行體發送的LSU報文:

Step5.1查詢緩存列表CCList,若命中緩存CC,模擬構造LSAck報文與執行體進行交互;

Step5.2根據緩存信息填寫LSAck報文的關鍵字段;

Step5.3如果配置了MD5校驗,則將緩存中的密碼學序列號填充到LSAck中;

Step5.4對于LSU報文中每一個LSA,構造對應的LSA Header填充到LSAck中:

LSAck.srcMac=CC.srcMac;

LSAck.dstMac=CC.dstMac;

LSAck.srcIP=CC.srcIP;

LSAck.dstIP=CC.dstIP;

LSAck.AreaID=CC.AreaID;

LSAck.RouterID=CC.RouterID;

ifII.auth==MD5then

獲取配置Key ID,計算消息摘要,并填入LSAck;

LSAck.crypSeqNum=CC.crypSeqNum;

endif

forlsainII.lsaListdo

LSAck.lsaHeaders.append(lsa.header);

endfor

sendToActor(LSAck);

Step6OSPF代理丟棄從執行體發送的Hello、LSAck和LSR報文。

5 擬態路由器OSPF協議功能和性能驗證與分析

擬態路由器原型樣機采用分布式架構,由業務單元、主控單元、執行體單元和交換單元構成。

5.1 OSPF協議功能驗證與分析

本文實驗1在擬態路由器原型樣機部署OSPF協議代理模塊,與思科路由器對接,對OSPF協議代理模塊功能進行測試驗證。測試網絡拓撲如圖4所示。

Figure 4 Test network topology圖4 測試網絡拓撲

圖4中,R4作為擬態路由器原型樣機,部署OSPF協議代理模塊。R1、R2、R3、R5和R6使用了Cisco 3700系列路由器的IOS軟件,版本號為12.4(25d)。分別在R1~R6對應接口上配置OSPF,默認Hello發送的間隔時間是10 s,并通告對應的loopback口的IP地址。

圖5展示了擬態路由器R4主執行體上的OSPF鄰居表和路由信息表,可以看到,R4已經與R3建立鄰接關系,并且R4作為DR,R3作為BDR。R4與R5,R6分別建立鄰接關系,R5作為BDR,R6作為DR,R4作為DR other。通過查看R4 OSPF生成的路由表可以看出,R4的 OSPF進程已經計算出其他路由器接口的路由。

Figure 5 Neighbor table and routing table of master actor圖5 主執行體鄰居表和路由信息表

按照算法2流程,OSPF代理模擬外部設備與執行體報文交互流程,其中源IP為3.3.3.1的DB Description、LSU、LSAck報文均由OSPF代理根據算法1進行內生構造后發送給從執行體,如圖6所示。

Figure 6 Packets between OSPF agent and slave actor圖6 OSPF代理與從執行體報文交互消息

圖7顯示了在擬態路由器R4中一個內部執行體上觀察到的鄰居表及路由信息表,可以看出,擬態路由器各執行體的鄰接狀態和路由表在未收到攻擊或者觸發后門的前提下,與主執行體的報文的鄰居狀態和路由表是一致的,從而證實了OSPF代理模塊功能的可行性和有效性。

Figure 7 Neighbor table and routing table of slave actor圖7 從執行體鄰居表和路由信息表

5.2 OSPF協議性能驗證與分析

實驗2與測試儀表對接,對OSPF代理模塊性能進行測試驗證,測試儀表使用思博倫公司提供的TC(Test Center)。

TC直連擬態路由器原型樣機,分別發送10,100,500,1 000,3 000,5 000條路由,通過計算各執行體同步時間來研究OSPF協議代理性能。圖8顯示了各執行體在同步不同數量路由時,成功建立鄰接關系(Full狀態)的時間。其中,執行體2、執行體3、執行體4均為從執行體。通過實驗可以看出,主執行體由于與TC直接交互,在20 s以內基本完成鄰接關系的建立,狀態到達Full狀態。而各從執行體與代理建立鄰接關系達到Full狀態的時間在35 s以內。由此可見,通過OSPF協議代理,各執行體與主執行體建立鄰接關系的時間能夠控制在不到15 s的范圍內,并且不受路由數量的影響。

Figure 8 Completion time of full state per actor圖8 各執行體的鄰居建立完成時間

圖9表示了各執行體在同步不同數量路由時的路由同步完成時間。通過實驗可以看出,各執行體所有路由同步完成的時間幾乎相同,并且與主執行體完成的時間相差在10 s以內。這充分說明OSPF協議代理能夠處理的路由容量滿足內部網關協議測試要求,并且能夠保持各執行體的高效同步。

Figure 9 Route sync completion time of each actor圖9 各執行體的路由同步完成時間

以上2個實驗說明,通過引入OSPF協議代理,能夠使得擬態路由器各執行體達到相同的狀態,并正確計算出路由表,這充分表明了OSPF協議代理功能的可行性和有效性。通過路由更新數量的增長,各執行體依然能夠在可接受的時間內同步完成,充分驗證了OSPF協議代理的高性能。

6 擬態路由器OSPF協議安全性驗證與分析

OSPF路由協議的正確運行依賴于鄰居路由器信息的正確性。現實世界中,網絡空間存在著大量虛假的OSPF路由信息,如果未加防范,可能導致路由信息被篡改、惡意路由信息插入等后果,嚴重危及網絡。OSPF協議自身的安全機制具有一定的保護作用,但這些安全機制并非無懈可擊,仍具有一定的脆弱性。攻擊者通過分析OSPF協議內在的交互機制,研究基于OSPF協議脆弱性的攻擊技術,挖掘協議的設計缺陷,突破協議自帶的保護機制,擾亂正常協議交互達到攻擊目的。在正常狀態下,借助OSPF代理能夠實現擬態路由器內部各個執行體狀態和路由信息的一致性,如果攻擊觸發了某個執行體的后門或者漏洞,將導致該執行體處于異常狀態,擬態路由器能夠有效阻斷和防范此類攻擊。以下將介紹2種經典的OSPF攻擊,并對擬態路由器的安全性進行實驗驗證與分析。

(1)最大序列號攻擊:攻擊者向OSPF網絡發送攜帶序列號為0x7FFFFFFF(最大序列號)的LSA信息包,成功將惡意LSA安裝到網絡設備中,由于很多路由設備的OSPF協議實現存在缺陷,導致正確的LSA會被當作過期的LSA而丟棄,導致網絡失效。

(2)單LSA攻擊:文獻[22]中描述了單LSA攻擊并驗證了攻擊的真實性。路由器在處理接收的LSU報文時,沒有對鏈路狀態標識與通告路由器(Advertise Router)的一致性進行檢查,攻擊者利用該缺陷,成功將惡意LSA安裝到所有路由器中,從而生成惡意路由信息,該LSA到達目標路由器時,協議進程發現通告路由器不是自己,所以不會觸發協議保護機制。

實驗網絡拓撲如圖10所示,左側設備為攻擊者所在主機,R2~R4是思科路由器,R1為擬態路由器原型樣機,其中1個執行體采用思科IOS軟件,版本號為12.4(25d),其他3個執行體分別安裝不同的FRRouting發布的穩定版本。分別在R1~R4、攻擊主機上配置OSPF,網絡互相連通。

Figure 10 Security test network topology圖10 安全性測試網絡拓撲

6.1 最大序列號攻擊安全驗證

攻擊主機發起最大序列號攻擊,攻擊目標為R1,構造并發送一條惡意Router LSA,設置SequenceNumber為0x7FFFFFFF(最大序列號)。

根據上文描述,OSPF協議代理實現了LSA報文在各個執行體上的等價輸入。登錄到R1可知,思科執行體由于未對此類攻擊進行防范,導致LSA被篡改,如圖11所示,可以看出鏈路狀態序列號被修改成0x7FFFFFFF,年齡字段也不正常(年齡默認最大為3 600 s)。

Figure 11 LSA of Cisco actor圖11 思科執行體的LSA

而其他3個執行體不存在該漏洞,因此該攻擊并不會對其造成影響,如圖12所示,LSA各字段正常。

Figure 12 LSA of other actors圖12 其他執行體的LSA

擬態路由器通過裁決機制,遵循少數服從多數的原則,實際生效的OSPF配置及路由表仍以多數執行體為準,也不會將該攻擊LSA擴散給網絡中的其他設備,所以能夠有效防范此類攻擊帶來的網絡失效問題。

表1展示了發起最大序列號攻擊時,將攻擊目標R1分別替換成擬態路由器和思科路由器后,網絡的中其他設備的路由信息。以R4為例,可以看出,如果攻擊思科路由器,將使得網絡的路由器中與受害者相關的路由表項被惡意刪除,導致網絡中斷。實驗結果表明,擬態路由器能夠識別出最大序列號攻擊,有效提高網絡防護能力。

Table 1 Route table of R4 in max sequence number attack表1 最大序列號攻擊中R4路由表對比

6.2 單LSA攻擊安全驗證

該攻擊能夠導致網絡的路由器中與受害者相關的路由表項被惡意修改,攻擊者通過此類組合攻擊實現任意路由的修改、添加和刪除,嚴重危及網絡安全。

在攻擊主機構造并發送一條惡意Router LSA,發起單LSA攻擊,攻擊目標為R1,設置Advertising Router為與link state ID 不一致的值118.192.11.139,并增加一條目的地為99.99.99.99的惡意路由。

由于該漏洞在思科路由器中被發現,思科執行體的路由表受此攻擊影響,鏈路狀態數據庫中相應的LSA被篡改,而其他執行體則正常。表2展示了分別將擬態路由器和思科路由器放在攻擊目標R1所在位置時,R4的路由表信息。可以看出,單LSA攻擊導致R4中與R1相關路由表項已經被攻擊者成功修改。實驗結果表明,擬態路由器能夠識別單LSA攻擊,通過裁決機制,發現并阻斷篡改路由攻擊,有效保護了網絡中路由信息的正確性。

Table 2 Route table of R4 in single LSA attack表2 單LSA攻擊中R4 路由表對比

以上2個實驗表明,擬態路由器能夠通過OSPF協議代理實現各個執行體的等價輸入,通過部署多個異構冗余的執行體使得執行體存在共性漏洞的可能性極低,通過裁決機制識別出OSPF攻擊在執行體上觸發的安全漏洞后門,做出正確的路由選擇,有效提高了其應對OSPF網絡攻擊的能力。

7 結束語

本文詳細描述了擬態防御體系結構以及擬態路由器的設計原理,論述了OSPF協議報文在擬態防御體系結構中的處理方法,通過引入OSPF協議代理實現在非攻擊條件下各異構執行體OSPF協議等價的功能,詳細闡述了OSPF協議代理模塊的處理過程。最后,在擬態路由器原型樣機實現中驗證了該方法的可行性和有效性,并針對2種經典的OSPF路由攻擊條件下產生的路由器安全風險進行了具體說明及實驗驗證。通過實驗結果分析可知,OSPF協議代理模塊的引入能夠提升擬態路由器內部各個執行體的安全性以及功能的一致性,能夠保證OSPF路由數據的多元化,提升通信系統中數據交互的正常有效性,結合裁決機制能夠發現并識別執行體存在的安全漏洞,做出正確的路由選擇,有效提高了其應對OSPF網絡攻擊的能力,便于網絡防御中擬態方案的有效實施,能夠為其他路由協議代理(如IS-IS、BGP等)提供解決問題的思路。

主站蜘蛛池模板: 欧美爱爱网| 四虎影视永久在线精品| 456亚洲人成高清在线| 国产亚洲精品资源在线26u| 国产日韩丝袜一二三区| 手机成人午夜在线视频| 免费一级毛片完整版在线看| 欧美成人A视频| 日本精品视频| 国产打屁股免费区网站| 国产超薄肉色丝袜网站| 小蝌蚪亚洲精品国产| 丰满的少妇人妻无码区| 欧洲欧美人成免费全部视频| 国产一级毛片yw| 54pao国产成人免费视频| 黄片在线永久| 日韩无码黄色网站| 青青青伊人色综合久久| 凹凸精品免费精品视频| 久久黄色免费电影| 在线不卡免费视频| 99re在线免费视频| 亚洲色图欧美视频| 国内精品手机在线观看视频| 尤物特级无码毛片免费| 婷婷激情亚洲| 毛片基地视频| 一区二区三区在线不卡免费 | 伊人色婷婷| 呦女亚洲一区精品| 国产香蕉在线| 亚洲国产系列| 国产91视频观看| 国产99免费视频| 中文成人在线| 综合人妻久久一区二区精品 | 狠狠五月天中文字幕| 久久久久青草大香线综合精品| 亚洲精品在线影院| 五月婷婷综合在线视频| 亚洲男人的天堂在线| 国产Av无码精品色午夜| 亚洲高清中文字幕在线看不卡| 欧美亚洲综合免费精品高清在线观看 | 成人在线第一页| 2019年国产精品自拍不卡| 一级成人欧美一区在线观看| www精品久久| 亚洲色图欧美| 免费看av在线网站网址| 国产欧美成人不卡视频| 亚洲人成色77777在线观看| 白浆免费视频国产精品视频| 久久久久青草线综合超碰| 视频二区亚洲精品| 98精品全国免费观看视频| 日韩精品久久无码中文字幕色欲| 啪啪国产视频| 欧美午夜在线视频| 美女国内精品自产拍在线播放| 色综合天天综合中文网| 98精品全国免费观看视频| 一级一级一片免费| 少妇高潮惨叫久久久久久| 视频国产精品丝袜第一页| 中国黄色一级视频| 成人另类稀缺在线观看| 国产门事件在线| 香蕉99国内自产自拍视频| 亚洲欧洲日本在线| 亚洲国产精品日韩av专区| 亚洲精品免费网站| 精品国产网| 免费人成视网站在线不卡| 国产精品第5页| 伊人久久综在合线亚洲2019| 狼友av永久网站免费观看| 欧美综合成人| 992tv国产人成在线观看| 1769国产精品视频免费观看| 亚洲小视频网站|