為什麼守護BGP安全這麼困難?

邊界閘道通訊協定(Border Gateway Protocol, BGP)已在網際網路中運行30多年,這期間我們經歷各式各樣的路由洩漏和路由劫持事件,但是我們仍無法在這豐富的經驗中學到如何管理BGP,使其更安全、穩定和準確。為什麼保護該協定是這麼的困難?APNIC首席科學家Geoff Huston撰文提出10大原因,解釋這項不可能的任務,本篇專題文章僅摘錄其重點。

  1.         無人管地帶

網際網路上的域名和IP位址有各種機構來監督,但是在路由環境中沒有「單一」負責機構,其是一個去中心且分散的環境,這意味著有關路由路徑的對與錯沒有客觀的參考依據。當兩個網路建立了eBGP session時,沒有任何一方必須接受對方所宣告的路由,也沒有一個單位可行使權力要求任何人執行特定的路由行動。

  1.         路由靠謠言(Routing is by rumor

當前自治系統間的拓撲(topology)是透過自我學習而來,運作邏輯也很單純,各個網路告訴彼此所知資訊,並從中學習,而這樣的資訊傳播形式則是建立在每個人都是誠實且能正確操作BGP前提下。當網路接受鄰近網路的路由資訊後會加上local端的資訊後再傳遞給下一個網路,此傳遞方式和謠言傳遞方式幾乎無異,且協定中並無必須保留原始資訊之規定,也因此要確認「謠言」的正確性並不容易。

  1.         路由是相對的,而非絕對的

像是 BGP 的Distance Vector 協定會傳遞最佳路徑給鄰近的網路,而非最短路徑,這也代表,每個 BGP 發送者都只知道有關整個網路真實拓樸的部分,而每個 BGP 發送者還會加入與本身網路位置的相關資訊至路由資訊中。因此在BGP中,網路拓樸不存在絕對資訊,都是相對資訊。

  1.         路由是可反向的

路由是可以反向的。當某個網路向鄰近網路宣告與某個IP位址前綴的可達性資訊時,該鄰近網路也可使用該資訊傳送訊務回原來的網路。路由資訊流向與訊務流向會變成相反。

  1.         路由是協商出來的

當兩個網路使用BGP互連時,會進行策略協商。每個網路會優先輸出本地訊務,過濾向內的路由通告至選定的路由路徑,讓本地訊務輸出策略最大化,對於輸入訊務也是同樣的情形。這種策略被視為商業關係時,是完全合乎邏輯的。客戶路線優先於中轉(transit )和互連(peer)路線,客戶網路不應將供應商或peer路線重新宣告給其他供應商或peer。當有選擇時,網路喜歡使用成本最低和性能最高的供應商路徑,同時,網路也喜歡使用有最高收益潛力的客戶路線。BGP就是一種試圖在這組路由輸入和輸出限制中找出可用狀態的協定。

  1.         路由的不確定性

BGP會產生意外且不確定的結果,是由意外的策略交互作用所導致的,這些結果並不代表標準上的錯誤配置,因為所有策略在本地端看起來可能是完全合理的,但是它們在多個路由之間的交互會導致意想不到的結果。

  1.         沒有evil bit

在安全框架中,我們使用數位簽章等方式,讓其他人正確地識別好的或真實的資料。如果所有好的資料都帶有可驗證的憑證,那麼剩下的全都是壞的,或是充其量是不可信的資料,但是,如果我們知道只有一些資料具有憑證,則缺少此類憑證不會幫助我們識別什麼是可信賴的資料。

BGP代表整體路由系統,BGP speaker會評估所有前綴可達性的完整視圖,在部分部署的情況下,有些路由具有關聯性的憑證,有些則沒有,因此確認要使用哪些路由則變得很困難。

  1.         降低風險很困難

採取措施降低風險有點像買反向的樂透。在普通情況,每個人花錢買彩券,只會有一名中獎者,所有買彩券的人都知道有一名中獎者,這也合理化他們買彩券的行為。在反向樂透中,中獎者因為沒受到惡意攻擊而獲獎,因為攻擊已被轉向,中獎者完全不知道自己已獲獎,所以沒有人知道當初買彩卷的價值為何。在這樣降低共同風險的系統中,每個人都花錢,但沒有明確的贏家,這樣的系統很難去維持。

  1.         一切都與生意有關

每個網路的構成要素都是受一般商業經濟模式所驅動,試圖平衡企業中的風險和機會,在安全性上花費資源必須要能降低業務風險或是增加企業的競爭優勢。但是,網路企業常常低估風險,為了減輕風險所做的投資不一定在市場中轉化為明顯的差異,在競爭的環境下,結果是增加服務成本,卻沒有產生相關的服務差異。

  1.     其實我們不知道自己要什麼!

要識別「正確」的路由系統非常困難,但是,當異常出現並加以處理就相對容易。也就是說,我們在看到不良路由時,會知道那不是我們所要的,但這不代表,我們知道我們要甚麼。

BGP安全是一個非常棘手的問題,由於網路連結鬆散且分散的本質,加上hop-by-hop的路由協定,形成了一個與傳統安全有很大落差的空間,各種網路服務會遭到中斷,用戶和其應用程式受到欺騙卻全然未查覺;此外,BGP中意外的配置錯誤也是一個始終存在的問題,完全無法區別意外事件和故意在路由系統中置入錯誤訊息,30年來一直無法提出有效的對策,只要路由基礎建設被認為始終是不可靠且易遭受各種形式的濫用,我們就必須花費更多時間和精力來試圖支援應用程式和服務環境。 

參考資料:

Geoff Huston. Why is securing BGP just so damn hard? APNIC (2019, September 19)

Photo created by slidesgo

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *