BGP安全之爭

版權申明:此文轉載自appleleaf

 

路由是IETF鎮宅之寶,BGP又是其中的定海神針,其安全的重要性自然不在話下。IETF爲此專門成立了一個工作組 – RPSEC(Routing Protocol Security Requirements) 關注於路由協議的安全威脅的分析以及安全需求文檔的制定。但是折騰了幾年在08年concluded了。僅僅搞出來了一篇RFC-Generic Threats to Routing Protocols (RFC 4593)以及一篇無疾而終的draft-BGP Security Requirements

l Stephen T. Kent

其實在偉大的Y. Rekhter(路由界的不二大牛,Juniper的Fellow,70+ RFC的Author及Co-Author)和天才路由小子Tony Li制定BGP4協議不久,就有人關注了BGP的安全問題且提出瞭解決方案。

其一就是Stephen T. Kent,“BBN Technical”information security域的首席科學家。BBN 這個公司,在國內少有人知,專注於research,對外出售Idea, consulting,創新的產品等。因此大腦是該公司的最珍貴的資源,其僱傭的員工很多都是牛人。該公司的產品主要是一堆書,一堆paper,一堆專利,一堆軟件和prototype等等。這樣類型的公司不知道在國內是否存在。

大家看看BBN是怎麼賣東西的:

#1979 BBN sells Telenet to GTE for $10M

#1993 BBN sells SimNet to Loral for $6M

#1994 BBN participates in sale of Lightstream to Cisco for $120M

#1996 BBN sells majority interest in Domain Solutions for $36M

#1997 BBN sold to GTE for $616M

#2000 BBN sells Cybertrust to Baltimore Technologies for $150M

……

Steve應該只是其中一個子部門(information security)的首席(比陳首席還差一點)。

clip_image002

BBN似乎還有其他部門同軍方有關,做一些軍用產品研究。

Steve其主要作品有如下一票RFC:

[RFC 1108] U.S. Department of Defense Security Options for the Internet Protocol.

[RFC 1114] Privacy Enhancement for Internet Electronic Mail: Part II — Certificate-Based Key Management.

[RFC 1422] Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management.

[RFC 1430] A Strategic Plan for Deploying an Internet X.500 Directory Service.

[RFC 2401] Security Architecture for the Internet Protocol.

[RFC 2402] IP Authentication Header.

[RFC 2406] IP Encapsulating Security Payload (ESP).

[RFC 2410] The NULL Encryption Algorithm and Its Use With IPsec.

[RFC 3779] X.509 Extensions for IP Addresses and AS Identifiers.

[RFC 4301] Security Architecture for the Internet Protocol.

[RFC 4302] IP Authentication Header.

[RFC 4303] IP Encapsulating Security Payload (ESP).

[RFC 4304] Extended Sequence Number (ESN) Addendum to IPsec Domain of Interpretation (DOI) for Internet Security Association and Key Management Protocol (ISAKMP).

其中的IPSEC系列作品搞***的兄弟應該是不斷參考了吧,RFC2401是我這個外行耳朵都聽的起繭子的RFC了,這老兄是其唯一作者。這老兄還是VoIP安全專家。在寫Paper,RFC工作之餘,Steve還兼顧管理工作,是IETF安全域數個重要工作組(pem,pkix)的chair以及IRTF Privacy and Security研究組的chair。1983到1995 Steve是IAB(Internet Architecture Board)的成員,可以參照http://www.iab.org/about/history.html。IAB或許很多人不瞭解,其實就是Internet的架構委員會,是IETF/IRTF的首腦之地,全世界總計就10幾個人,只有無敵大牛才能入選,我們華人中有幸有Lixia Zhang教授(剛纔我的輸入法首先蹦出了“叫獸”二字,不過這次不敢造次了)入選。

Steve較早提出了BGP的安全解決方案 – Secure BGP Project (S-BGP) http://www.ir.bbn.com/sbgp/

l Russ White

Russ White是Cisco的路由協議設計架構組的Architect. 前面提到的IETF RPSEC (Routing Protocols Security) working group的co-chair,一堆圖書的作者。

主要作品有:

clip_image004

還有另外一票的圖書可以在亞馬遜找到,稱得上是著作等身。

Russ提出了SoBGP (Secure Origin BGP)–

http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_6-3/securing_bgp_sobgp.html

當然還有很多其他的解決方案。

 

 

參考前述的RPSEC工作組的成果我們來分析一下路由協議以及BGP之中的安全問題。

首先有一個前提,ugly的協議軟件實現會帶了很多安全漏洞,這個不值得我們討論,這裏討論的是協議設計上沒有cover的安全隱患。另外一些加密之類的簡單場景就不用討論了。

路由協議的基本組件如下:

1.傳輸子系統

對於OSPF就是IP,對於BGP就是TCP。傳輸層面的安全,我們掠過。其中包括一些問題,例如嗅探,會話劫持,信息篡改等等問題筆者認爲可以用常規的方法,例如TLS等解決。不過對於OSPF相關的組播安全好像尚未制定標準。

2.鄰居狀態維護

鄰居之間要有認證等等問題,如何確定一個路由器有權代表某AS(autonomous system) number通告路由是路由協議中的未決問題。

3.路由信息維護

路由信息的問題最大,尤其是路由與AS的關聯,即一個AS是否是其通告路由的真正擁有者是路由安全的基本問題。

我們以BGP爲例來說一下這一問題。

假定Appleleaf的AS屬於中國電信,首席的AS屬於AT&T。

由於misconfig或者被***或者whatever什麼問題,Appleleaf的AS向全世界通告:陳懷臨家的IP在我的AS中,且Appleleaf的AS Path看起來更舒服,於是首席家的流量都跑到Appleleaf這邊了(科學的說法是首席被從internet踢出去了),首席自然也就無法上彎曲發文了。

BGP協議並未cover這個問題,而現實世界中筆者記得也聽說過有這樣的Bad Guy AS,像黑洞一樣吸收和很多的internet流量,最後把自己噎死了,損人且不利己,因此安全問題不是聳人聽聞。對於ISP,Traffic就是金錢,斷開一天Revenue損失1/356,ISP對此問題最爲關注。

上述問題是IGP, EGP路由協議共有問題,但大家都不太關注IGP,原因在於IGP的東東都在一個AS內部,安全問題是家事,清官難斷家務事,自己搗鼓去吧。

 

 

前文提到的Stephen Kent在1997年開始研發的,由於Steve是IPSec的作者,PKI工作組的主席,因此其方案也深受正統安全思想的影響,高舉高打,對於端到端安全Steve建議採用IPSec(而後文介紹的SoBGP則建議使用TLS),對於認證則建議採用PKI。其研究成果含代碼可以在這裏找到。

SBGP對於BGP的安全問題歸納和分析的很詳細,很有意義,但在這裏不再重複。SBGP實現相對比較繁雜,引入了較多的名詞術語,爲了避免重複協議內容,搞亂了大家的頭腦,筆者對其協議基礎簡介如下:

首先區分了兩種實體,地址擁有者和AS號碼擁有者,這兩者可能不同(實際是相同的都是ICANN),因此建立了兩個PKI:

第一個PKI用於地址所有權的驗證,ICANN(Internet Corporation for Assigned Names and Numbers)是負責Internet中自上而下的分配IP地址的機構,其負責對外批發地址,對於我國來說從其亞太分支機構APNIC搞二次批發,國內再怎麼向下零售以及一個IP多少錢,我就不太清楚了。爲此自ICANN而下建立PKI信任體系。爲所有參與BGP 通告的地址所有者(AS)進行地址塊所有權認證。

第二個PKI,類似,用於AS Number所有權認證,其實也需要ICANN搞。

有了這兩個信任樹就可以爲所欲爲了,例如。

1.可以查詢AS Path的origin AS是否有權產生某一路由的通告,這可以由第一棵樹來進行驗證,就是SBGP之中所謂的AA(Address Attestation)。

2.可以驗證某個路由器是否被AS授權代表AS發言,這個由第二棵樹搞定。

3.最有趣的是AS Path的驗證,其問題就是如何確定整條AS Path是真的,沒有人插進去什麼東東。SBGP採用的方式是由途徑的AS不停包包子或千層餅的方式,每次路過一個AS,該AS就對前面的內容打包並且在外面蓋戳。***者無法進行修改。

其他驗證問題也可以推而廣之。

對於這類信任相關的問題,由於有公有的PKI機制,因此即使路由器被攻陷,可以自殺,但無法對外進行破壞從而波及整個Internet。

但SBGP有一些顯著的問題:

1.PKI系統的部署,要求從ICANN開始,誰出這個錢?

2.路由器的CPU做這麼多安全操作,performance如何是好?

3.分佈式數據庫如何維護同步?

SBGP自知理虧,也做了一些研究,提出了一些cache之類的方案。

下圖是SBGP組件總圖,夠酷吧。

image

 

 

SoBGP是前文提到的Cisco的Russ White提出的,與SBGP相比,SoBGP是輕量級方案,不需要建立專用PKI,相對易於部署。代價就是安全性相應的降低了,可以cover的安全威脅少。

SoBGP同SBGP的信任模型不同,SBGP是專用的PKI系統,採用單一的trust root。而SoBGP採用web of trust模型, 頂級信任授權者可以可以是商用的公司例如Verisign,也可以是top-level backbone service provider。即SoBGP可以有一組頂端的信任授權機構,這也是針對某些對於SBGP的開銷質疑的一種改進或tradeoff。

SoBGP的第一個目標是驗證:Are You Authorized? 看下圖:

image

上圖是如何驗證地址授權,右側的實體證書就是前面提到的,每個AS一個,綁定公鑰和AS Number,左側是相應AS簽名的地址塊信息,細心的讀者可以看到,其前綴空間的自上而下的包含關係。這個關係表明了自上而下的地址空間的分配授權。這個地方SBGP和SOBGP本質類似,只不過二者信任模型不同,前者只有一個trust anchor,後者使用了web of trust模型,這樣可以利用現實世界中已有的trust anchor。

第二個目標是“Do You Really Have a Path? ”

這個地方是SoBGP的創新,每個AS簽名並對外發布其直連的AS,並在BGP路由系統中傳播,原理同路由本身的傳播類似。系統穩定之後,最終每個BGP AS都可以建立全局的AS關聯信息,形成Inernet連接全圖如下:

image

對於收到的AS Path,AS可以在圖中檢查,看看是否真有此等路徑,從而防範AS Path的僞造。對於這個idea筆者非常佩服,beautiful architecture。但是仔細想想,如果***者改動了AS Path且使得AS Path在圖中存在則SoBGP就檢查不出來了,因此對於AS Path的真實性,SoBGP只是部分解決。

其他的BGP安全方案還有多套,筆者印象中至少看到4,5個(例如IRV-Internet Route Veri?cation 之類的),還有一些中外學生的論文提出瞭解決方案等等。另外目前SIDR正在制定BGP安全標準,已發佈了6篇工作組draft,其中Steve參與了大多數文稿的制定,看來薑還是老的辣,他老哥還是佔了上風。不過目前還沒有一篇正式的RFC公佈,任重而道遠。有感興趣的讀者可以補補筆者這個系列,例如目前的工作組draft內容,走向以及其它的BGP安全解決方案,估計至少還可以補出4篇來,這些都源於BGP協議本身的重要性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章