压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

NSC2014清華大學網絡與信息安全實驗室主任段海新博士

互聯網基礎設施的信任權威相關問題思考

社會的基礎設施我們可以說是電力、水、交通,甚至現在包括空氣,是一個社會賴以生存的基礎,離開了它可能整個社會就無法進行了,現在互聯網已經成為了這個社會的基礎設施。但是互聯網自身的基礎設施又是什么呢?什么東西在互聯網里面,如果離開了它互聯網就不轉了呢?我覺得有這么幾個方面。

20141023110846942

首先就是路由系統BGP,除了物理光纖以外,其他的就不應該再依賴了。其次是DNS,我們沒有辦法記住所有的IP地址,如果DNS癱了,所有的應用也就沒有辦法正常訪問了。然后是PKI,比如現在的CA這套系統,我們現在所有的電子商務,網上購物這些應用幾乎都是建立在這個PKI的基礎上,如果沒有了PKI,或者PKI如果出了問題,我們的互聯網就只能退回到也許是二三十年以前,大家只能在網上去聊聊天,玩玩游戲,聊天的時候你還不知道對方是個人還是一只狗,這是以前的一個漫畫。再往上,我們的應用基本上就依賴于DNS、PKI以及最底層的BGP,來完成可靠的安全傳輸和通信。

我們逐一看一下,比如BGP路由系統。IISP之間的網間的路由系統是用的BGP的協議。目前的BGP第四個版本的協議對于鄰居,對于跟它互聯的IISP發來的路由的公告是沒有一個密碼機制的驗證手段。告訴我去往某一個路由是從我這兒最近,一般我就只能去接受。而且也就是說,這種現任是建立在相互的信任基礎之上的,我們并沒有密碼的保障,我相信你是個好人,你說的話我就相信。但是他的話有可能是從別的朋友那里聽來的,你可以相信你的朋友,你的朋友的朋友你可不可以相信呢?比如在這個圖(PPT)里面,比如AS4收到了一條來自于AS2的公告,AS2又是從AS1過來的?AS4相信AS2,但是它能相信AS1嗎?在這個當中沒有任何的信任權威,我們可以看到這方面的一些問題。

DNS看上去是一個樹型層次的授權模型,父節點把子空間授權給了子節點,對子節點所有的域名,實際上它的權限,子節點的優先機要比父節點高,實際上在我們的研究當中也發現了這一設計的問題,導致了有些域名是沒有辦法被刪除。一旦授權給了你,就是你來負責所有子域名的解析。看似是一個集中的權威,但是因為沒有任何的密碼機制的保護,而且DNS是基于UDP的協議,所以DNS解析的信息是非常容易偽造的。

盡管PKI最初的設計是希望有一個集中的信任權威。但是在目前,特別是Web在90年代異軍突起以后,現在我們用的Web PKI不是一個樹型的結構,而是一個森林狀的信任結構。在我們的瀏覽器當中已經預置了一兩百個可信的Root CA,它們之間是相互獨立的,比如VeriSign、CNNIC,Google和Apple他們也有了可信的CA。每個CA都可以簽發自己的二級CA證書,形成了這么一個樹,合起來我們看作是一個森林狀的結構。而且很大的問題,是每個CA都可以為其他任何的網站簽發一個證書。比如VeriSign可以簽發一個證書,Google還可以給Apple簽發一個Google的證書。

現在的這種信任模型給互聯網的基礎設施帶來了很大的隱患,我們先看一下BGP。最大的問題就是路由前綴的劫持,事件發生了不止一起,從1997年到現在2014年。最為著名的幾起,一個是YouTube被巴基斯坦電信所劫持了,YouTube本來在這兒,巴基斯坦電信發了一條公告,說通過YouTube的地址到我這兒最近,結果世界上所有的運營商都把路由指向了香港,最后到達了巴基斯坦。這個事件在中國也發生過,在2012年一個互聯網的監測公司Renesys監測到有15%的地址空間被UISP劫持了,長達18分鐘,這個事件被寫入了中美經濟安全調查委員會的報告。當然這個報告里面提到,這是一次隨即性的錯誤,而不是有意的攻擊。但是有一些攻擊看似就非常像是故意的,是中間人的攻擊。還有這個公司,本來墨西哥到美國的訪問應該走綠色的這條線,但是在去年2013年的時候,這個路由被劫持到了倫敦,然后到莫斯科,到白俄羅斯、法蘭克福,然后再回到美國。這種事件的根源在于所發布的路由公告沒有辦法證明它是真的,而且每一個運營商并不知道這一段IP地址究竟是屬于哪一個ISP的。

為了解決這個問題,互聯網標準阻止經過了多年的努力,現在這個標準已經成熟了,就是RPKI,是所謂的資源PKI。R是負責IP地址分配的,現在是IANA的一個部門,他把地址要分給每一個地區信息中心的時候,同時又給他一個簽名,你如果有了IANA的根證書,你就可以通過這個簽名驗證這段地址的確是分配給了APNIC,APNIC又用同樣的方式簽名授權,把這個地址比如給了中國的某一個ISP。然后在網上ISP之間的路由器之間進行路由、信息交換的時候,他們就可以通過一個簽名的路由原發認證這么一個簽名的信息,可以知道這段地址的確是屬于你這個ISP,你發布的這個路由公告是真的。

現在BGP的信任模型就從原來的Peer-Peer的信任,變成了一個依賴于中央權威的認證。很多人可能對此表示擔憂,這個現在有了絕對的權威,如果他把這個簽名去掉,那么路由就從網上徹底去掉了,這是一個擔憂。

我們看看DNS,我們剛才看到,DNS是一個樹型的結構,因為沒有密碼機制,實際上這個根的信息是很容易被劫持的,要偽造一個Root實際上是非常容易的。我們看看關于DNS劫持的事件也發生了很多起,從1990年就有人提出這種攻擊方法,一直到今年,中國的差不多有2/3的網絡癱瘓,這中間有好多非常典型的事件,比如暴風影音引起的大規模斷網,以及百度DNS被劫持。

我們看看國外的一個例子,這是在巴西,2011年的時候電信的用戶發現訪問Google的時候彈出了一個窗口,說你要訪問Google,必須安裝一個Google的病毒防護軟件。并不是Google造成的攻擊,而是電信的DNS解析服務器緩存被污染了。這種污染在2008年的時候,這是美國的一個人,叫Kaminsky,他發現了一種新的攻擊方法,以前大家認為是需要猜很長時間,因為這里面有一個類似序列號的東西,16BT。但是他這個攻擊方法可以很快的,比如在幾個小時就可以把這個解析服務器,比如電信服務器里面的DNS污染了,就可以構成剛才說的對于Google那種攻擊。也就是說你訪問的所有網站,把它的地址都指到我這兒來。

Kaminsky發明的攻擊不需要控制鏈路,但是如果是我們可以控制這個鏈路的話,比如運營商或者是攻擊者監聽監控運營商的數據鏈路的話,我們看一下DNS解析的過程。每一個鏈路,在任何其中一個鏈路上安裝了一個監聽和注入的工具,那么這個DNS都可能會被劫持。比如在解析tsinghua.edu.cn時候,如果你能把根劫持了,這個域名我可以給它一個假的地址,指到我這兒來。或者cn.edu,任何一條都可以。我們現在可以看到,依賴于根、edu和Tsinhua這三個域名。比如CERNET,假如說這個DNS解析服務器的緩存是空的,那么完整的解析這一個域名,可能依賴的域名大概有20多個。更復雜的情況,對于全球100萬最熱門的域名進行了一個分析。我們發現,最多的可能依賴于117個,也就是說,我完成一個域名的解析,要查詢其他的117個。在去往這117個域名的查詢過程當中,這個路徑上如果有一個攻擊者做了一個監聽和注入,那么你這個域名都可能會被劫持。

這是AnyCast,最典型的就是這個根,一共有13個獨立的IP地址,并不是說有13臺根域名服務其,13個獨立DIP機制實際上對應了300多臺根域名服務器,光在中國就有12臺,這是去年的結果,這還只是官方公布的,還不包括山寨的根,山寨的根我們DNS的測量其實發現了不止一個,光在中國就有好多個。因為現在沒有任何的密碼機制,你要做一個三代根,其實是非常容易的。我的學生一個作業,如果對DNS比較熟悉的話,半個小時或者一個小時,就可以做成。

DNS服務器相當于一個客戶端,去解析這個域名過程當中,他給你的信息你并沒有辦法驗證的確就是原始的,而不是被中間人偽造的,或者是劫持的。解決的辦法就是增加了一個數字簽名,這個就是DNSSEC,在DNS里面,加上密碼機制。它的工作原理就是,從根對頂級域名.net做一個簽名,然后告訴你他的IP地址是什么,同時又加上了一個簽名。這樣的話,解析服務器就可以根據這個簽名,假設它有這個根的公鑰的話,一個公鑰就可以驗證頂級域名。頂級域名再把子域名簽名以后,授權給底下。這樣的話,解析服務器就可以驗證這個簽名,來知道我受到的這個響應是正確的還是別人偽造的。

現在這個實現的情況應該說是走過了非常漫長的過程。從15年前大家已經意識到DNS劫持的威脅,一直在討論這個解決方案。中間經過了幾次的反復,包括制定了標準,最后又推倒重來。在2010年的時候,在VeriSign的推動下,他是最重要的維護者,現在DNSSEC在全球的部署還是比較樂觀的。中國在這一點上因為政策的限制,中國在這方面走得并不是很快,但是在去年的時候,已經對.cn進行簽名了,Server這一端比較樂觀,但是Client那一端并不是那么樂觀。加州大學做的研究,部署率低于5%,在中國的DNSSEC的驗證我不知道,現在還沒有做過測量,但是我沒有聽說哪里真正的去做。

現在的問題就是,以前我們沒有任何的權威,我們沒有任何的安全機制。現在有了安全保證了,我們就需要依賴于那個根的簽名。那個根的簽名如果拿不到,或者是根不給你簽名,那么你這個消息就沒有辦法驗證。怎么樣防止這樣一個有絕對權利的根去干壞事呢?如果它拿到了一個Root的私鑰以后,那么它可以簽任何東西。有可能是這個根它故意做壞事,或者是有可能這個根無意,比如私鑰丟失了,它被攻擊了。這種情況怎么辦呢?我們說絕對的權利導致絕對的腐敗,怎么樣把這種絕對的權利分散開?這就是對于根的一個恢復密鑰,并不是掌握在一個人手里。它是分布在7個人手里,這是在2010年的一個結果。不是分布在這些國家的政要手里,比如美國,我們想到奧巴馬掌握的Key,就像它掌握了核彈的鑰匙一樣,這幾個人到達以后,同時啟動一個鑰匙。但是這7個人當中,有中國的Yaojiankang,我們剛才說的Kaminsky,他是美國的發現KaminskyDNS攻擊的那個人,就是一個黑客,他自己有一個公司,包括英國、捷克的,這些人掌握著互聯網最基礎的信任鑰匙。這種模式其實也是被互聯網共同體所接受的,有一個詞是互聯網治理,里面有一個很關鍵的詞就是“多利益相關方”共同參與,而不是說有一家說了算。而且“多利益相關方”并不是政府,而是民間團體。真正的DNS的從業者來掌管DNS,而不是政府。

PKI的問題其實比那兩個問題還要嚴重,剛才說PKI現在的CA是一個森林狀的信任結構,沒有一個集中的信任權威,我們在瀏覽器里面預置了上百個CA的根證書,每一個CA都可以為所有的網站簽發證書,而且都可能被認為是合法的。這樣的話,一個CA被攻破,幾乎所有的全球的電子商務都可能被顛覆。比如在這個例子當中,比如Google的G-Mail是由Google簽發的,但是如果VeriSing也簽發了一個證書,如果你通過DNS訪問指到這個服務器的時候,用戶在訪問這個假的G-Mail的時候,沒有任何的告誡,他認為也是合法的。怎么樣攻擊VeriSign這個系統給自己簽發這樣的證書呢?你攻擊VeriSing可能非常困難,這是一個老牌的安全公司,賽門鐵克也是它的,這是真正的攻擊場景。如果你獲得了這樣的證書,比如一個中間人拿到了一個合法的證書,客戶瀏覽器就認為這個網站是合法的。

攻擊VeriSign可能是非常困難的,但是任何一個CA被攻破,都有可能有這種效果。Comodo在2011年的時候被入侵了,有9個證書是偽造的。另外一個公司是荷蘭跟政府有關的,叫DigiNotar,這個公司的COO在2011年的時候說,我相信我們是非常安全的,但是不到一個月,他們就被攻破了。特別是伊朗,他們發現假冒的Google的證書被用在伊朗的很多ISP上。他們沒有匯報這件事情,他們選擇了隱瞞這個事件,結果廠商把他從根瀏覽器里面刪掉了,于是這個公司是靠賣信任為生的公司,失去了信任,它也就徹底破產了。

怎么解決這個問題?也就是說一個弱的CA被攻破以后,它可以簽發任何合法的證書,怎么解決呢?這些年來DNS的技術標準組織提出來DANE,是基于域名的服務,另外一個名字叫TLSA,TLS是安全協議,A是Association,通過DNA把CA和域名捆在一起,比如Google在DNS里面告訴用戶,Google的G-Mail就是應該由Google簽發的,不應該是VeriSign。你訪問的時候首先會查詢DNS,DNS給你一條記錄,相當于這里面有一個證明,只有這個證書是合法的。當然這個DNS再被攻破怎么辦?DNS的標準就是基于DNSSEC,你要相信DNS,你就相信我這個關聯關系,證書和域名的關聯是合法的。現在就可以把那種森林狀的信任體系又增加了一層約束,變成了我們現在看到的DNS。有兩級的信任權威,一個是PKI,一個是DNSSEC。但是有人說了,DNSSEC又是一個集中式的,它有太大的權利。

現在看這三個信任的模型發展,三個基礎設施,BGP到目前的BGPSEC這個標準化過程已經完成了,廠商的支持也已經完成了,Cisco、Juniper都支持這個開源軟件,在美國的少數ISP也開始部署這方面的實驗。DNS我們剛才說,經過了長期漫長、曲折的發展,現在已經開始大規模部署了,但是客戶端的驗證部署率還是非常低。CA現在這個標準剛剛形成,現在剛剛提出,我們要做這方面的研究,只能在瀏覽器里面開發一個插件。

另外一個趨勢就是,幾乎所有的應用現在能加密的都加密了,這件事情主要是因為從斯諾登這件事情引發的,IETF去年上半年開會的時候,那個時候看到了中國APT1的報告,也就是中國部隊如何攻擊美國的那個報告。當時IETF里面的技術人員對這件事情一點都不感興趣,因為國家與國家的情報戰據的司空見慣,沒有什么好奇怪的。但是斯諾登這件事情爆發以后,IETF的工程師坐不住了,大家非常關注這個問題,大規模的對于民眾的監控是不可接受的,于是IETF在今年通過了一個RFC說大規模的監控是一種攻擊。為了對付這種攻擊,以后能加密的就加密,以前有很多的IETF里面搞網絡的專家都認為,網絡盡可能的簡單,能不加密的就不加密,現在的措施是能加密的就加密。一旦使用密碼機制,就不可避免的要依賴于一個PKI,一旦依賴于PKI,那么少數集中的信任權威也就不可避免。我們說現在的這種權威,比如以美國為首的,我們不可信任。但是我們能不能自己再建立一個新的信任權威呢?美國現在確實是臭名昭著,但是我們要建立一個信任權威,是不是比美國有更好的權威和聲譽呢?

怎么解決這個問題?對于一個集中權威的信任和依賴似乎是不可避免的。比如像PKI,我們一會兒還會說,我們不相信國際的PKI,我們自成一套,其實給我們的用戶帶來了很大的困難和潛在的風險。互聯網的安全機制,比如DNSSEC經過了一點一滴的演進發展到今天,你再想重新設計一套,你說他不可接受,那我要重新設計一套,你還要走過同樣的路程。DNSSEC就失敗過,被推倒重來,你有沒有信心接受同樣的東西?你首先要建立一個IETF這樣的國際化組織,讓別人接受你,才有可能你的標準被別人去實驗。我們不能因為對絕對權威的這么一個疑惑而把自己隔離在互聯網之外,我覺得我們比較理智的做法是接受這樣的權威,并且時刻保持懷疑。通過大規模的監測和監督的手段,及時發現這種權威被濫用的情況,進而主動的防止這種權威被壞人所利用。

我們在這方面對于互聯網的基礎設施做了長期的監測。有一個前提的假設,就是你可以在一段時間,在某些地方欺騙一部分用戶,但是你不可能在所有的時間、所有的地點欺騙所有的用戶。這是我們對于DNS的監測,就發現父節點對子結點的信任,導致了有一些子域名不可以被刪除。比如說在這個里面,.Com把這個刪除了,但是可以通過域名解析,持續的存活。我們這項研究成果被美國的國家漏洞庫收錄,而且被美國的聯邦通信局2012年的一個機構收錄。

我們對全球的DNS的解析行為做了一些測量。我們發現我們DNS的解析性能沒有達到理想的情況,有40%的沒有到達離中國最近的那個根。這是2014年1月21日DNS的劫持,有多少在座的同仁們那天經受了這個攻擊?去往國外的任何一個網站,包括國內的網站地址都被劫持到了某一個IP上,這個數據我們是有的,具體結果不解釋了,我想大家應該懂得。全世界的域名服務器看似分布在世界上這些地方,但是受害者只有中國,為什么?另外我們對于PKI,對于公鑰證書有一個全球的監測,比如在HeartBleed爆發的時候,我們可以看到,包括現在還有一些有漏洞的。另外還有一些我們對全球的Web Server使用的公鑰證書進行了解析,來自美國的合法證書、有效證書比例是比較高的,是50%,但是中國只有9%。

我們對銀行方面,我們覺得銀行應該是使用這種有效證書,否則的話沒有辦法抵御中間人攻擊。我們對中國的300多個銀行和美國的100家銀行做了一個對比測量,發現使用可信證書的美國是100%,但是中國有78%,也就是說,中國還有32%的銀行網站用戶訪問的時候會彈出一個不合法證書。這種現象會導致,用戶在訪問一個中間人攻擊的假冒網站的時候沒有辦法知道的。

我們發現HTTPS在CDN部署當中有一些問題,比如用戶是通過HTTP訪問這個網站,比如蘋果,但是實際上他訪問的是蘋果的一個節點。前段用戶是使用的HTTPS,但是后端使用的是HTTP明文傳輸的。實際上我們也發現了這樣的攻擊,就是蘋果的用戶在中國的一些學校里面的用戶訪問蘋果頁面的時候,發現給出的頁面是一個自由門軟件的使用手冊。我們把這個事件報告給他們,他們承認在中國的節點被污染了,就是因為后端使用的HTTP。

在中國一個非常典型的問題,就是CDN要求網站共享他的私有證書,包括中國一個很大規模的網站,賣火車票的那個網站,也是把自己的一個私鑰簽名的證書以及私鑰和CDN是共享的。這是幫助CloudFlare,一些國際知名的CDN廠商,解決了他們的問題,提高了安全性。CloudFlare在自己的網站上,有了這個策略,他們可以防止大規模的監聽。

我們還有其他的一些研究,如果大家在會后感興趣的話可以跟我聯系,謝謝大家!

上一篇:NSC2014中國金融CIO聯盟理事長陳天晴

下一篇:沈逸:沉著應對美國網絡安全新攻勢