《邊界網(wǎng)關(guān)協(xié)議 一顆潛伏在互聯(lián)網(wǎng)中的定時炸彈》由會員分享,可在線閱讀,更多相關(guān)《邊界網(wǎng)關(guān)協(xié)議 一顆潛伏在互聯(lián)網(wǎng)中的定時炸彈(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、作為互聯(lián)網(wǎng)核心路由協(xié)議,邊界網(wǎng)關(guān)協(xié)議采用了信任機制,所以攻擊者被容許對互聯(lián)網(wǎng)流量進行攔截。這個問題已經(jīng)存在了很長的時間了,并且一直沒有被修復(fù)。本文將解釋相關(guān)的原因,并指出新問題出現(xiàn)的原因。
在今年的DefCon國際黑客大會上,安全研究員安東·卡佩拉山(5Nines數(shù)據(jù)的數(shù)據(jù)中心和網(wǎng)絡(luò)主管)和亞歷克斯·皮里蘇瓦(Pilosoft的首席執(zhí)行官)對經(jīng)過修改的新版本邊界網(wǎng)關(guān)協(xié)議(BGP)進行了說明。
邊界網(wǎng)關(guān)協(xié)議的工作原理
邊界網(wǎng)關(guān)協(xié)議運行在互聯(lián)網(wǎng)服務(wù)提供商的路由器上,屬于一種“幕后”協(xié)議。我們都知道互聯(lián)網(wǎng)是一個龐大的互聯(lián)網(wǎng)絡(luò),邊界網(wǎng)關(guān)協(xié)議的路由就是建立聯(lián)系的橋梁,它可以讓路由器知道如何以及向哪
2、里傳輸互聯(lián)網(wǎng)流量。相鄰的路由器在邊界網(wǎng)關(guān)協(xié)議被稱做鄰居。邊界網(wǎng)關(guān)協(xié)議的鄰居之間采用的是活躍連接,以便進行信息交換。一旦邊界網(wǎng)關(guān)協(xié)議的路由表發(fā)生了變換,路由器會將變動信息自動發(fā)送給所有的鄰居。在邊界網(wǎng)關(guān)協(xié)議中,由于互聯(lián)網(wǎng)是一個非常彈性的網(wǎng)狀網(wǎng),所以鄰居的概念是很大的一個部分。
由于互聯(lián)網(wǎng)是一個網(wǎng)狀網(wǎng)絡(luò),所以每條路線總是會有多種選擇。因此,對于路由器來說,它們是怎么挑選鄰居的呢?第一,邊界網(wǎng)關(guān)協(xié)議的每個條目都包含了幾個參數(shù),用來對不同性質(zhì)的路線進行分析。下一步,一個算法將利用這些參數(shù)里選擇出最佳路線。其中的一些參數(shù)是weight、local preference、origin和AS_path(請
3、記住這一個)。這些并不是全部,邊界網(wǎng)關(guān)協(xié)議會檢查更多的參數(shù),但這個是最重要的,并且也是最根本的設(shè)計缺陷所在,導(dǎo)致竊聽行為成為可能。
為了找到最佳路線,邊界網(wǎng)關(guān)協(xié)議會對每個網(wǎng)絡(luò)的間隔進行考慮。舉例來說,一個路由器正在尋找網(wǎng)絡(luò)地址10.10.10.25。從邊界網(wǎng)關(guān)協(xié)議的路由表中,它可以找到進入1o.xxx.xxx.xxx網(wǎng)絡(luò)的路線。不過,它還發(fā)現(xiàn)了另一條可以進入10.10.xxx.xxx網(wǎng)絡(luò)的路線。因為進入10.10.xxx.xxx網(wǎng)絡(luò)是一條比較好的路線,路由器將選擇它,將數(shù)據(jù)包發(fā)送到10.10.xxx.xxx網(wǎng)絡(luò)的路由器上。每個路由器都將重復(fù)上面的步驟,直至互聯(lián)網(wǎng)流量到達預(yù)定的目的地。
不用
4、說,邊界網(wǎng)關(guān)協(xié)議也可以變得非常復(fù)雜。在這個時間,最好的說明方法是通過例子來演示。以如果我想去為例子來看:
一、我在網(wǎng)絡(luò)瀏覽器的地址欄中輸入,然后單擊確定。
二、在域名系統(tǒng)魔力的幫助下,我的網(wǎng)絡(luò)瀏覽器知道了的網(wǎng)絡(luò)地址,并且發(fā)送了一個網(wǎng)頁查詢到我的互聯(lián)網(wǎng)服務(wù)提供商的網(wǎng)關(guān)路由器上。
三、網(wǎng)關(guān)路由器然后檢查它的邊界網(wǎng)關(guān)協(xié)議路由表中的信息,選擇最佳路線。
四、通過邊界網(wǎng)關(guān)協(xié)議進行的選擇,網(wǎng)關(guān)路由器按照最佳路線發(fā)送數(shù)據(jù)包到鄰居的路由器。在每個路由器中都要進行這樣的選擇,直到數(shù)據(jù)包到達。
邊界網(wǎng)關(guān)協(xié)議的設(shè)計缺陷
現(xiàn)在我們對邊界網(wǎng)關(guān)協(xié)議的工作模式有了清晰的了解,下面我就說明一下為什么邊界網(wǎng)關(guān)協(xié)議的
5、設(shè)計缺陷會導(dǎo)致攻擊者的重定向和竊聽成為可能?;旧?,由于邊界網(wǎng)關(guān)協(xié)議中的路由條目的鄰居的數(shù)量是非常多。因此,路由器只是假設(shè)邊界網(wǎng)關(guān)協(xié)議的路由條目是正確的,并通過這條路徑傳輸數(shù)據(jù)包。
但攻擊者會肆無忌憚地利用這種信任,以便進行邊界網(wǎng)關(guān)協(xié)議的重定向攻擊。竊聽者所有要做的僅僅是比邊界網(wǎng)關(guān)協(xié)議官方提供的鄰居細化的網(wǎng)絡(luò)地址(例如使用10.10.25.xxx之類更接近真實的網(wǎng)絡(luò)IP地址)。在偽裝的邊界網(wǎng)關(guān)協(xié)議數(shù)據(jù)包傳播后,攻擊者的網(wǎng)絡(luò)不用很長的時間就可以得到傳輸?shù)臄?shù)據(jù)流了。
的中斷事件
邊界網(wǎng)關(guān)協(xié)議的重定向攻擊并不是什么新出現(xiàn)的事件,實際上你們中許多人也許還記得發(fā)在過去兩個月的時間里,的中斷事件。這
6、起事件就是由于在巴基斯坦的一家互聯(lián)網(wǎng)服務(wù)提供商偶然誤操作的一次邊界網(wǎng)關(guān)協(xié)議重定向造成的。
自治系統(tǒng)的路由器
如果已經(jīng)訪問了RIPE的網(wǎng)站,你就可發(fā)現(xiàn)象AS17557之類的路由器命名符。自治系統(tǒng)號碼(ASN)被分配到每個自治系統(tǒng)(AS)以便來進行識別。簡單的說,每個自治系統(tǒng)是一個單獨實體,可以對路由信息控制進行處理。該實體負責(zé)維護控制范圍內(nèi)所有采用邊界網(wǎng)關(guān)協(xié)議的路由器提供的服務(wù)。
兩次重定向
當(dāng)邊界網(wǎng)關(guān)協(xié)議重定向發(fā)生的時間,即使不是惡意的,造成的后果也是非常明顯的。為了對這種行為的后果進行解釋,還以事件為例子,一旦巴基斯坦的互聯(lián)網(wǎng)服務(wù)提供商對邊界網(wǎng)關(guān)協(xié)議路由所作的改動開始生效,的網(wǎng)站就無
7、法進入,并且會影響到所有國家的訪問。
卡佩拉山和皮里蘇瓦已經(jīng)找到一種方法,可以讓互聯(lián)網(wǎng)用戶對重定向攻擊進行確認。他們創(chuàng)造性地增加了第二次調(diào)整,這樣就可以防止中間人類型(MitM)攻擊進行的竊聽。專家們知道,這是理論上是可行,但直到二○○八年的DefCon國際黑客大會之前,沒人能夠?qū)崿F(xiàn)這樣的效果。
通過增加第二次重定向,卡佩拉山和皮里蘇瓦給我留下了深刻的印象,因為這不是一個很直觀的過程。為了證明這一點,我對確切發(fā)生的過程進行一下概略的說明。首先,攻擊者的路由器作為到達原始目的地網(wǎng)絡(luò)的最佳途徑是通過欺騙自身實現(xiàn)的。由于邊界網(wǎng)關(guān)協(xié)議的工作原理,我們知道現(xiàn)在錯誤的路由信息已經(jīng)傳播到攻擊者的路由器所
8、有邊界網(wǎng)關(guān)協(xié)議的鄰居上。由于所有攻擊者的路由器的邊界網(wǎng)關(guān)協(xié)議的鄰居都認為它是最佳途徑,因此,攻擊者的路由器的所有傳輸都會通過(邊界網(wǎng)關(guān)協(xié)議的鄰居)送回鄰居?,F(xiàn)在,問題就出現(xiàn)了,不要著急,下面就是最酷的部分。
AS path prepending
卡佩拉山和皮里蘇瓦通過利用AS path prepending繞過了這個問題。在前面,我們說過路徑選擇采用了AS_path的屬性。在一次回旋操作中,將AS_path的屬性調(diào)整為自治系統(tǒng)的路由器拒絕來自攻擊者的路由器的欺騙性邊界網(wǎng)關(guān)協(xié)議條目。攻擊者將轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量到具體的邊界網(wǎng)關(guān)協(xié)議鄰居。這樣的話,在數(shù)據(jù)到達目的地之前,采用邊界網(wǎng)關(guān)協(xié)議路由進程的互聯(lián)網(wǎng)
9、傳輸將保持正常。
這樣意味著什么?
確認通過邊界網(wǎng)關(guān)協(xié)議進行的竊聽是很困難的事情。路由追蹤可以用來分析,但很難確定是否存在異常行為。為了安全起見,我們必須考慮這是一個中間人類型的攻擊并使用相同的優(yōu)化技術(shù),也就是現(xiàn)在經(jīng)常說的虛擬專用網(wǎng)。
幾種臨時的解決方案正在試圖消除設(shè)計中存在的缺陷。其中的一種解決方案是對邊界網(wǎng)關(guān)協(xié)議的鄰居進行驗證,但它將耗費大量資源,并且只要有一家互聯(lián)網(wǎng)服務(wù)提供商拒絕使用,整個網(wǎng)絡(luò)就將崩潰。另一種解決方案是使用簽名的證書,對邊界網(wǎng)關(guān)協(xié)議的鄰居進行驗證,但這只適用于傳輸過程的第一步。
一種解決方案被稱做安全邊界網(wǎng)關(guān)協(xié)議(S-BGP)。下面是他們的網(wǎng)站上對其工作方式的介紹
10、:
“采用安全邊界網(wǎng)關(guān)協(xié)議的網(wǎng)絡(luò)環(huán)境包含了三種安全機制:首先是采用了公鑰基礎(chǔ)設(shè)施(PKI)的網(wǎng)絡(luò)地址認證機制,并且擁有自治系統(tǒng)(AS)號碼,一個自治系統(tǒng)的身份,并且采用邊界網(wǎng)關(guān)協(xié)議的路由器的身份驗證和授權(quán)系統(tǒng)類似自治系統(tǒng)。
其次,一個新的、可選的傳遞路徑用的邊界網(wǎng)關(guān)協(xié)議屬性可以用來進行數(shù)字簽名以便進行邊界網(wǎng)關(guān)協(xié)議的路由信息更新。這些證書的簽名包含了地址的前綴和路徑等信息以便進行驗證。
第三, 互聯(lián)網(wǎng)協(xié)議安全性系列(IPSec)可以為數(shù)據(jù)和部分序列的完整性提供保障,并且保證采用邊界網(wǎng)關(guān)協(xié)議的路由器可以對來自其它部分的流量進行驗證。”
安全邊界網(wǎng)關(guān)協(xié)議聽起來非常強大,但問題是現(xiàn)有的大多數(shù)路由器沒有足夠的內(nèi)存或處理能力來處理額外的工作量。
最后的思考
由于時代的變化,原來的網(wǎng)絡(luò)開發(fā)者希望的信任機制變得不可靠,安全方面的漏洞凸顯出來。不論是卡明斯基的錯誤還是邊界網(wǎng)關(guān)協(xié)議導(dǎo)致的竊聽都是證明。我不能肯定未來會怎么變化,但將仍然保持樂觀態(tài)度。
除此之外,由于費用和開銷的問題邊界網(wǎng)關(guān)協(xié)議導(dǎo)致的竊聽是很難修復(fù)的。我敢肯定,互聯(lián)網(wǎng)服務(wù)供應(yīng)商是不會主動加入這個潮流,除非用戶不斷地推動。