基于 LSU 的數(shù)字簽名 OSPF 的分析
(作者未知) 2011/6/23
摘要:OSPF是一種基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)路由協(xié)議。本文分析了 OSPF 路由協(xié)議存在的漏洞以及防范措施,重點(diǎn)探討了基于 LSU 的數(shù)字簽名技術(shù)。
關(guān)鍵詞:OSPF;漏洞;數(shù)字簽名
一 OSPF 協(xié)議概述
OSPF(Open Shortest Path First)作為目前互聯(lián)網(wǎng)絡(luò)應(yīng)用最為廣泛的內(nèi)部網(wǎng)關(guān)路由協(xié)議,主要提供自治系統(tǒng)(Autonomous System,AS)內(nèi)的動(dòng)態(tài)選擇路由。它是一種典型的鏈路狀態(tài)協(xié)議,不同于距離向量協(xié)議(如 RIP 等)。OSPF 主要有以下特性:
適應(yīng)范圍廣——支持各種規(guī)模的網(wǎng)絡(luò),最大可支持?jǐn)?shù)百臺(tái)路由器。
快速收斂——網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化后立刻發(fā)送更新報(bào)文,使這一變化在自治系統(tǒng)中同步。
無(wú)自環(huán)——由于 OSPF 根據(jù)收集到的鏈路狀態(tài)用 SPF 算法計(jì)算路由,從算法本身保證了不會(huì)生成自環(huán)路由。
區(qū)域劃分——允許將自治系統(tǒng)劃分成區(qū)域,區(qū)域間傳送的路由信息被進(jìn)一步抽象,從而減少了占用的網(wǎng)絡(luò)帶寬。
等價(jià)路由——支持到同一目的地的多條等價(jià)路由。
二OSPF 的漏洞分析
2.1 存在的漏洞
OSPF 路由協(xié)議雖然采取了多種安全機(jī)制來(lái)保護(hù)其不受侵犯,但是這些安全機(jī)制并非能讓 OSPF 路由協(xié)議成為一個(gè)絕對(duì)安全的協(xié)議,它還存在相當(dāng)多的漏洞。
1、空驗(yàn)證和簡(jiǎn)單口令驗(yàn)證的安全漏洞分析
當(dāng)驗(yàn)證類型字段置為 0 時(shí),即表示該報(bào)文為空驗(yàn)證。空驗(yàn)證時(shí)驗(yàn)證字段的值可為任意值,路由器在發(fā)送和接收該報(bào)文時(shí)不做任何額外的身份驗(yàn)證處理,接收方只要校驗(yàn)和無(wú)誤便接收該 OSPF 報(bào)文并將其中的 LSA 加入到鏈路狀態(tài)數(shù)據(jù)庫(kù)中。這一驗(yàn)證類型可以認(rèn)為是沒(méi)有任何的安全性的。當(dāng)使用簡(jiǎn)單口令驗(yàn)證時(shí),驗(yàn)證類型字段置為 1,64 位的驗(yàn)證字段中存放的是簡(jiǎn)單口令驗(yàn)證用的口令。簡(jiǎn)單口令驗(yàn)證的報(bào)文是以明文的形式傳輸?shù)?這其中也包括口令。接收方只要確定校驗(yàn)和正確且驗(yàn)證字段的口令等于預(yù)先約定的值即可接收。這一方案對(duì)于在傳輸過(guò)程中的竊聽者,沒(méi)有任何的安全性可言。竊聽者可以很輕松地監(jiān)聽到口令,然后偽造 OSPF 報(bào)文并發(fā)送出去,擾亂正常的路由秩序。
2、加密驗(yàn)證的漏洞
加密驗(yàn)證可預(yù)防外部竊聽、重播、修改路由消息及阻塞協(xié)議報(bào)文傳輸?shù)裙。但是外部的攻擊者還可以通過(guò)發(fā)送惡意報(bào)文來(lái)耗盡路由器的資源,使得路由器由于一直應(yīng)付這樣的惡意攻擊而陷入一種更加脆弱的境界。
3、協(xié)議中的其它威脅
(1)最大年齡攻擊:
在 OSPF 路由協(xié)議中,由于 LSA 的 Age 字段在經(jīng)過(guò)任何一個(gè)路由器的時(shí)候都需要修改其值,因此它一般不被驗(yàn)證字段的 MD5 摘要所覆蓋。攻擊者可輕松利用該漏洞在LSA 的傳播過(guò)程中將其截獲并修改 LSA 的 Age 為 MaxAge。一旦一個(gè) LSA 的 Age 字段被修改為 MaxAge,就可引起路由器鏈路狀態(tài)數(shù)據(jù)庫(kù)中 LSA 的早熟,LSDB 過(guò)早的將LSA 剔除導(dǎo)致 LSDB 中路由信息的缺失。
(2)針對(duì)序列號(hào)的攻擊:
由于 OSPF 的 LSA 是采用泛洪的方式傳播的,因此在泛洪途中區(qū)域中的入侵者或錯(cuò)誤路由器都可以對(duì) LSA 信息發(fā)起攻擊,篡改其內(nèi)容。針對(duì)序列號(hào)的攻擊有兩種,序列號(hào)加一攻擊和最大序列號(hào)攻擊。
(3)分塊網(wǎng)絡(luò)攻擊:
如果使虛假 LSA 不被泛洪給該 LSA 的合法生成者,則該 LSA 的合法生成者就不會(huì)啟動(dòng)其自反擊機(jī)制來(lái)糾正該 LSA。假設(shè)有一個(gè)被入侵的路由器所處的位置可以將區(qū)域分為兩個(gè)子區(qū)域,則攻擊者就可以只向其中的一個(gè)子區(qū)域以另一個(gè)子區(qū)域中的某路由器的身份注入虛假 LSA,而不向另一個(gè)子區(qū)域注入 LSA,這顯然就可以達(dá)到欺騙的效果。
2.2漏洞防范策略
1、針對(duì)空驗(yàn)證和簡(jiǎn)單口令驗(yàn)證漏洞的防范策略
采用密碼驗(yàn)證類型來(lái)解決對(duì) OSPF 報(bào)文任意修改、甚至生成新報(bào)文的漏洞,并且驗(yàn)證類型時(shí),每個(gè) OSPF 路由器發(fā)出的報(bào)文都包含 32 位無(wú)符號(hào)非遞減加密序列號(hào),在所有鄰居路由器中都存放著當(dāng)前該路由器的最新加密序列號(hào),并要求接收到的 OSPF 報(bào)文的加密序列號(hào)必須大于或等于存儲(chǔ)在路由器中的加密序列號(hào)。
2、針對(duì)密碼驗(yàn)證漏洞的防范策略
密碼驗(yàn)證雖然是三種驗(yàn)證方案中最為安全的一種方案,但是它還遠(yuǎn)沒(méi)有達(dá)到牢不可破的程度。密碼驗(yàn)證方案中,LSU 報(bào)文的頭部仍然是以明文的形式在網(wǎng)絡(luò)中傳播,這給惡意攻擊者以很大的機(jī)會(huì)篡改 LSU 報(bào)文。另外,采用 MD5 算法并非絕對(duì)安全,中國(guó)山(未完,下一頁(yè))
|