摘 要:OSPF(Open Shortest Path First,開放最短路徑優先)是一種用于通信設備上基于SPF(Shortest Path First,最短路徑優先)算法的典型的鏈路狀態路由協議,著重介紹了OSPF協議的報文收發類型以及認證機制,并結合實際應用,分析認證的安全性以及如何進行攻擊的防御。
關鍵詞:路由協議;IGP;安全
中圖分類號:TP393.08文獻標識碼:A文章編號:1672-3198(2008)01-0266-01
OSPF(Open Shortest Path First,開放最短路徑優先)是一種用于通信設備上基于SPF(Shortest Path First,最短路徑優先)算法的典型的鏈路狀態路由協議,發送報文有如下五種類型分別是:第一,Hello數據包,運行OSPF協議的路由器每隔一定的時間發送一次Hello數據包,用以發現、保持鄰居(Neighbors)關系并可以選舉DR/BDR。第二,鏈路狀態數據庫描述數據包(DataBase Description,DBD)是在鏈路狀態數據庫交換期間產生,它的主要作用有三個:選舉交換鏈路狀態數據庫過程中的主/從關系、確定交換鏈路狀態數據庫過程中的初始序列號和交換所有的LSA數據包頭部。第三,鏈路狀態請求數據包(LSA-REQ)用于請求在DBD交換過程發現的本路由器中沒有的或已過時的LSA包細節。第四,鏈路狀態更新數據包(LSA-Update)用于將多個LSA泛洪,也用于對接收到的鏈路狀態更新進行應答。如果一個泛洪LSA沒有被確認,它將每隔一段時間(缺省是5秒)重傳一次。第五,鏈路狀態確認數據包(LSA-Acknowledgement)用于對接收到的LSA進行確認。該數據包會以組播的形式發送。
最新的RFC2328規定OSPF協議的五種報文都有相同OSPF報文頭格式,其中AuType字段定義了認證類型(目前提供的三種認證類型分別為無認證、簡單明文認證、MD5認證),并且在OSPF報文頭中包含8個字節的認證信息,OSPF的校驗和不計算這8個字節的認證信息。下面我們具體分析一下OSPF的兩種帶認證的工作模式。
簡單明文認證。認證類型為1,在所有OSPF報文采用8個字節的明文認證,不能超過該長度,在物理線路中傳輸時,該口令是可見的,只要監聽到該報文,口令即泄漏,防攻擊能力脆弱,這種認證方式的使用只有在條件限制,鄰居不支持加密認證時才用。
MD5認證。認證類型為2,OSPF采用的一種加密的身份認證機制。在OSPF報文頭中,用于身份驗證的域包括:key ID、MD5加密后認證信息長度(規定16字節)、加密序列號。實際16字節加密后的信息在整個IP報文的最后,CRC校驗碼之前。key ID標識了共享密鑰的散列函數,建立鄰居關系的兩個設備來說key ID必需相同。加密序列號是一個遞增整數,遞增的幅度不固定,只要后一個協議包的序列號肯定不能比前一個小就行了,一般以設備啟動時間秒數為序列號值。16字節的加密信息產生過程如下:
第一步、在OSPF分組報文的最后(IP報文CRC之前)寫入16字節的共享密鑰。
第二步、MD5散列函數的構造,將第一步生成的消息,將其規范為比512字節小8個字節的信息(如果不夠可以填充),然后添加八個字節(內容為填充前實際報文長度),這樣第二步構成的散列函數剛好是512字節的整數倍。
第三步、用MD5算法對第二步中的散列函數計算其散列值,產生16字節的消息摘要。
第四步、用第三步中產生的16字節散列值替換第一步已經寫入到OSPF分組報文中的公共密鑰,完成加密過程。
從第一步到第四步過程中沒有計算該16字節信息的OSPF校驗和。
分析完認證后,我們再分析一下認證的安全性問題。
無認證時,對通信設備的攻擊只要能“竊入”物理鏈路,即可以合法的身份進行攻擊,篡改路由表,造成嚴重后果。
簡單明文認證時,對通信設備的攻擊也只要能“竊入”物理鏈路,監聽物理鏈路上的OSPF路由協議報文,直接獲取明文口令后,即可使用該口令以合法的身份進行攻擊。
MD5認證時,對通信設備的攻擊即使“竊入”物理鏈路,監聽物理鏈路上的OSPF路由協議報文,比較難以進行攻擊。由于MD5算法為單向加密算法,即任意兩段明文數據,加密以后的密文不能是相同的,而且任意一段明文數據,經過加密以后,其結果必須永遠是不變的,而且MD5采用128位加密方法,破譯MD5的加密報文的手段包括“暴力搜尋”沖突的函數,“野蠻攻擊”用窮舉法從所有可能產生的結果中找到被MD5加密的原始明文,實行起來都相當困難(一臺機器每秒嘗試10億條明文,那么要破譯出原始明文大概需要10的22次方年)。所以入侵者很難獲取MD5認證口令或者說其獲取口令的代價值相當的高,一些重要通信節點上,即使入侵者愿意花高昂的代價獲取到密碼還是有預防措施將非受信的入侵者拒之門外。入侵者試圖攻擊通信設備,其有兩種方法,一種是以新加入的鄰居的方式,一種是以仿真合法鄰接通信設備的方式。下面我們著重研究一下這幾種攻擊方式的處理措施。
對于第一種以新鄰居方式的攻擊手段,現在多數通信設備都已經實現訪問控制,即該接口上僅允許接收源IP地址為合法鄰居的OSPF報文,來自入侵者企圖以該網段新鄰居的方式加入,沒有管理員配置,鄰居關系始終無法建立,無法入侵修改路由表。
對于第二種以仿真合法鄰接通信設備的方式攻擊,而且該入侵者還獲取了口令,這個入侵檢測和預防都復雜很多。不過我們可以根據鄰接OSPF配置特點,目的地址為保留組播地址,IP報文頭中TTL為1,入侵者發出來的報文必需向保留組播地址發送,所以被攻擊設備和被“仿真”的合法設備都能收到該報文,這時候被“仿真”設備能發現網絡上有人冒用自己名義,即可以采用告警更換密碼、檢查線路安全等方式杜絕攻擊。
其他常規的安全防護包括設備已經通信介質盡量保證物理安全,密碼設置一定的復雜度,定期更換密碼,密碼加密后保存到通信設備的存儲介質上等一系列措施必不可少,還需要保障通信設備不會被遠程入侵,簡單防御手段是關閉所有的遠程訪問通道,只能通過串口通過口令校驗進行訪問,即使允許遠程訪問,也可以多加限制,如只允許哪些主機地址,通過口令進行訪問,并且進行登陸攻擊監控,在指定的時間內,如果試圖登陸的最大次數超過所給定的次數的話,系統將拒絕所有的登陸嘗試。