降低證書授權機構被入侵帶來的風險
前段時間,荷蘭的一家名為DigiNotar 的證書授權機構被黑客入侵,成為了轟動一時的大新聞。這個事件之所以轟動,是因為它成為了現實中引發嚴重安全問題的典型事件,CA機構被入侵,所有的網民都可能被波及。而在DigiNotar之前幾個月,另一家認證機構Comodo也遭到了入侵,生成了部分偽造的證書。在本文中,我會簡要的介紹一下整件事,以及證書是如何工作的,作為IT管理者你該如何做才能確保你的企業和客戶在類似情況下不受到波及。
首先你大概知道SSL連接過程是需要證書參與的。而這樣的證書不應該是自己頒發給自己的,否則沒人會相信這樣的證書。自己簽發的證書除了內部測試之類的用途外,基本沒有可供實際使用的價值。如果一個企業的IT管理員需要建立一個安全的網站,首先需要建立一個被稱為證書簽發請求(CSR)的文件,里面包含了網站運行的相關信息,負責人和相關企業的信息和聯系方式等內容。之后,管理員將這個請求發送給公共認可的證書頒發機構(CA)。
這個 CA機構,或者一般來說其下屬的分支機構,會根據企業提交的請求,使用自己的私有密鑰簽署一份證書,經過驗證后企業就有權擁有某個域名了。反過來,這些CA機構自己的證書則是由更高級的CA機構頒發的,這些證書都是被各大網站認可的。這就是所謂的證書等級。
由此問題就產生了。在我們每個人的瀏覽器中都儲存了上百個受信的CA,每個CA都可以給任意網站頒發證書。這意味著,如果其中某個CA被黑客入侵,并將該CA的私有密鑰公布,那么所有黑客都可以利用這個密鑰為任何網站制作許可證,瀏覽器會將這些網站認定為合法有效。更糟糕的是,黑客可以利用這個密鑰制作用于任何目的的證書,包括電子郵件簽名,加密的VPN連接等。
但是得到了證書后該怎么攻擊呢?黑客要想利用自己制作的證書,需要攔截網絡數據,并將他們自己的偽造證書嵌入其中,也就是進行Man-in-the-Middle (MitM)中間人攻擊。DigiNotar的案例中,黑客就是這樣做的。伊朗政府的所有境外網絡數據流都要通過代理服務器,而通過制造偽造的證書,黑客可以進入任何一個伊朗網民的Gmail賬戶,銀行賬戶,或任何一個加密連接,因為黑客擁有受信的密鑰,并可以為任何網站制作證書簽發請求CSR。
針對這種威脅的實際解決方案很復雜,比如廣泛使用在線安全認證協議(OSCP)或使用可信網絡,同時這些方案都需要對網絡設計進行較大的改動。目前為止,瀏覽器廠商的主要解決方案就是在事發后盡快推出針對某個CA的安全補丁。比如DigiNotar被攻擊后,所有主流瀏覽器都進行了升級,在瀏覽器中保存的CA列表被更新,具體來說就是將被攻擊的CA從受信的CA列表中去除。通過這個動作,那些由DigiNotar 簽發證書的網站將不再被瀏覽器認作是合法可靠的網站。但這并不是最佳的解決方案,因為從CA被攻陷到瀏覽器發布相應補丁,中間歷時可能有數個月。
減輕威脅
另一方面,我們有方法可以降低這種威脅對我們的影響。首先,假如你的公司所處的網絡使用環境相對封閉,也就是員工們訪問的網站都是比較特定的幾個網站,比如美國的普通公司員工很少會訪問位于中國或香港臺灣的網站,那么就不需要讓員工的瀏覽器信任來自中國或者香港臺灣的CA所頒發的證書。作為管理員,你可以通過以下界面手動刪除部分不常用的CA。
但是這種方法并不能完全避免此類攻擊事件。所以瀏覽器才會有所謂的不良網址警報功能這樣的擴展插件,確保網站的證書是正確的,并且網頁中不存在惡意代碼。比如FireFox的CertPatrol 擴展。當用戶訪問安全網站時,該擴展插件會記錄下該網站的證書指紋。當用戶下次再訪問該站點時,擴展插件會對比前后兩次的證書指紋。如果兩者不一致,用戶會看到警告信息。比如某個網站的證書還有六個月才過期,但是卻突然更換了證書,這就很可疑了。又比如,如果你以前訪問過的網站的證書是VeriSign簽名的,但是現在重新訪問時發現其證書是挪威某家不知名的CA簽發的,那么就更可疑了。
Chrome 開發人員也開發出了用于Chrome 瀏覽器的擴展插件。Google下屬的各個網站均采用某幾個受信CA的簽名證書,而Chrome也知道這些CA。比如某個偽裝成Gmail信箱的網站使用了某個CA證書,但該CA與Chrome中記錄的Gmail正常使用的CA不同,那么Chrome不允許用戶訪問該站點。因此,如果企業在辦公環境下經常使用Google Apps,那么最好換成Chrome瀏覽器比較安全。
最后需要強調的是,此類安全問題并不是普通的可以通過補丁完全修復的問題。而要實施攻擊,黑客也必須做出相當的努力,比如通過惡意軟件入侵用戶電腦,繞過防火墻保護,或者改變用戶使用的DNS。這些方式的攻擊都需要用戶提前做好防范措施,比如企業可以在DNS服務器中為業務常用的網站設置靜態IP地址,比如合作伙伴公司的網址,網絡支付系統的網址等,這樣做可以防止釣魚網站利用偽造的CA證書欺騙瀏覽器和用戶。
DigiNotar公司的案例在未來還會發生。因為全球有上百家CA,找一個安全防護措施比較薄弱的分支機構還是很容易的,而且黑客都有鍥而不舍的精神。而就算這樣的攻擊事件再次發生,也不意味著你或者你的企業就一定會受到波及。通過上面我提到的一些防范手段,可以盡可能降低此類攻擊對企業日常業務的影響。