Michael Cobb是認證信息系統安全架構專家(CISSP-ISSAP),知名的安全作家,具有十多年豐富的IT行業經驗,并且還從事過十六年的金融行業。他是 Cobweb Applications公司的創始人兼常務董事,該公司主要提供IT培訓,以及數據安全和分析的支持。Michael還合著過IIS Security一書,并為領先的IT出版物撰寫過無數科技文章。此外,Michael還是微軟認證數據庫系統管理員和微軟認證專家。
最近未經授權的HTTPS證書成為熱門新聞話題,其中有些證書還是來自已熟知/理應可信的供應商的根存儲。那么,企業應該如何防范這些偽造證書?
Michael Cobb:互聯網的安全性在很大程度上依賴于對證書頒發機構(CA)的信任,CA頒發數字證書以供Web服務器用于識別自己和加密服務器及用戶之間的流量。這些證書可以防止攻擊者偽造網站或者竊聽發送到和發送自網站的通信。
不幸的是,這種信任正在被破壞,因為一系列針對CA(例如DigiNotar和Comodo)的攻擊以及ANSSI情況中的糟糕做法—這導致頒發欺詐性或未經授權數字證書。偽造證書允許攻擊者窺視Web服務器和瀏覽器之間發送的信息,即使這種連接似乎很安全。他們還可以用來欺騙內容以及執行網絡釣魚或中間人攻擊。在最近的事件中,在CA印度國家信息中心(NIC)的證書發布過程受到攻擊后,對很多谷歌的域名發出了未經授權數字證書。
NIC持有幾個中間CA證書受印度政府的核準控制局(India CCA)信任。這些India CCA證書包含在微軟Root Store中,因此Windows中運行的很多應用程序都信任該證書,包括IE瀏覽器和谷歌的Chrome瀏覽器。Mac OS X、iOS和Android操作系統中的根存儲并不包含印度CCA的證書,所以并沒有受到影響。Firefox也沒有受到影響,因為它使用的是自己的根存 儲,其中不包含這些證書。
谷歌通過發布CRLSet迅速阻止了Chrome中的未經授權的證書。印度CCA隨后撤銷了所有NIC中間證書,并且進行了又一次CRLSet更新 來包含這個撤銷。同時,由于谷歌網站利用公共密鑰pinning機制,Windows中的Chrome不會讓谷歌網站接受這些偽造證書。pinning是 一種HTTP協議,允許Web管理員指示瀏覽器在給定的時間內記住或者“pin”到Web服務器的數字證書,從而減少了在這個pin時間內可以驗證該域名 的機構數量。
目前有幾個舉措正試圖改進對CA及其頒發證書的信任。這些包括谷歌的Certificate Transparency計劃和DNS-based Authentication of Named Entities(DANE)。然而,到目前為止這些項目并沒有廣泛的部署。
瀏覽器的信任決策是基于根存儲中信任根,因此企業保護其用戶免受惡意證書的危害的最好辦法是,確保瀏覽器保持更新了最新的證書信任列表。打開瀏覽器 中的證書吊銷檢查并不能夠很有效地確定證書是否仍然有效,并會顯著減慢頁面加載時間。更好的選擇是使用防火墻來深層掃描SSL加密流量,以嗅出假證書或惡 意代碼。安全團隊還應該監控安全新聞feeds,并且在還沒有可用更新而對網絡的風險被認為不可接受時,應該從根存儲手動刪除不受信任證書。在整個企業網 絡撤銷根和清除本地緩存CTL的指令可以通過組策略來發布。