如何應對偽造的 SSL 證書?

Swati Khandelwal發表於2016-04-15

在網際網路中,仍存在一個巨大的加密後門,可怕的是大部分人卻並不知道。我所指的是傳統的數字證書管理系統,它完全是基於信任的,但同時它又是十分脆弱的,其信任認證曾被多次打破。

數十億的網際網路使用者為了確保個人資料的機密性和完整性,盲目地依賴於全球的數百個證書頒發機構。

如何應對偽造的 SSL 證書?

在這篇文章中,我將解釋以下問題:

  • 當前數字證書管理系統中的結構性漏洞
  • 證書頒發機構為什麼失去了人們的信任?
  • 證書透明度是如何彌補 SSL 證書系統中存在的問題的?
  • 如何發現所有指向你域名的數字證書(合法或偽造)?

首先,你需要了解證書頒發機構及其作用:

證書頒發機構及其作用

如何應對偽造的 SSL 證書?

證書頒發機構(CA)是一個受信任的第三方組織,負責釋出和管理 SSL/TLS 證書。

全球有數百個受信任的證書頒發機構,他們中任何一個都有權利為你的域名頒發有效的 SSL 證書,儘管你可能已經從某個證書頒發機構購買了一個。

對,這就是 CA 系統中最大的漏洞。

SSL 的信任鏈破裂

去年,谷歌發現賽門鐵克(證書頒發機構之一)在 Google 不知情下為 Google 域名頒發了有效期一天的預簽證書。

這樣的事情已經不是第一次發生了,證書頒發機構的權利被濫用或者是錯誤地被用於釋出偽造的數字證書,這樣的舉動使數百萬網際網路使用者的隱私處於危險之中。

2011年3月,一名黑客入侵了 Comodo 公司(一個著名的證書頒發機構),偷走了七個 Web 域共9個數字證書,包括:mail.google.com、addons.mozilla.org 和 login.yahoo.com 等。在同一年,荷蘭的證書頒發機構 DigiNotar 同樣遭到了黑客入侵,頒發了大量的偽造證書。

由於信任鏈的破裂,數百萬的使用者遭到了中間人攻擊。

此外,愛德華·斯諾登洩露的檔案透露:美國國家安全域性擷取和破解了大量 HTTPS 加密的 Web 會話,這也表明,某些所謂受信任的證書頒發機構可能受到了政府的控制或者得到了政府的授權。

如果政府要求某些這樣的證書頒發機構頒發一些著名網站的偽造 SSL 證書,例如 Facebook、Google 或 Yahoo,那該如何是好?

這並不是一個推測,而是實實在在發生過的。政府機構和一些政府所資助的黑客通過濫用受信任的證書頒發機構來獲取偽造的一些知名網站的數字證書,並將其用於監視使用者。

涉及到政府的一些案例

1) 2011年,DigiNotar 證書頒發機構頒發的偽造數字證書被用於攻擊約300000個伊朗使用者的 Gmail 賬戶。

2) 2013年末,谷歌發現法國政府偽造了其域名的數字證書,並將其用於實施中間人攻擊。

如何應對偽造的 SSL 證書?

3) 2014年,谷歌證實了又一事件:印度國家資訊中心使用了其域名的未授權數字證書

到了這你就能明白,那些所謂的證書頒發機構給予 HTTPS 加密網站的安全性有多麼脆弱了吧。

你仍然盲目地信任證書頒發機構嗎?

DigiNotar 公司和 Comodo 公司的事件為我們敲響了警鐘,也結束了這盲目信任證書頒發機構的時代。

問題:你如何去檢查是否有指向你域名的偽造證書被髮行給他人,甚至是被攻擊者所利用?

答案:證書透明度(Certificate Transparency)專案,它的目標是提供一個開放的審計和監控系統,可以讓任何域名所有者或者證書頒發機構確定證書是否被錯誤簽發或者被惡意使用,從而提高 HTTPS 網站的安全性。

在2013年,谷歌發起了一個針對全行業的倡議,名為證書透明度(Certificate Transparency),這是一個開源專案,用於記錄,審計和監控證書頒發機構所頒發的數字證書。

什麼是證書透明度系統?

如何應對偽造的 SSL 證書?

證書透明度專案包括三部分:

  1. 證書日誌
  2. 證書監視
  3. 證書審計

證書透明度專案要求證書頒發機構公開地宣佈其頒發的每一個數字證書(將其記錄到證書日誌中)。證書日誌提供給使用者一個查詢某個給定域名頒發的所有數字證書的途徑。

值得注意的是,證書透明度模型並沒有替代傳統的以證書頒發機構為基礎的鑑定驗證程式,它只是提供給你一個途徑,讓你可以確保你的證書是獨一無二的。

證書日誌有3個優點:

  1. 僅允許附加:證書記錄只能被新增,而不能被刪除,修改,或者追溯地將資料插入日誌。
  2. 加密可靠:證書日誌使用知名的 “Merkle Tree Hashes” 加密機制來防止被篡改。
  3. 公開審計:任何人都可以查詢日誌,或者驗證頒發的數字證書是否已經被合理地記錄在了日誌之中。

在證書透明度專案中,每個數字證書都包含一個證書時間戳,它可以證明數字證書在被頒發之前已經被記錄到了日誌之中。

谷歌,DigiCert、賽門鐵克和一些證書頒發機構目前管理著這些公開日誌

如何應對偽造的 SSL 證書?

雖然證書透明度不能阻止證書頒發機構頒發偽造的數字證書,但是它可以讓我們更容易地發現它們。

證書透明度將讓人們可以快速地識別出被錯誤地或者惡意地頒發的數字證書,以此來緩解可能會出現的安全問題,例如中間人攻擊。

今年早些時候,證書透明度系統和監控服務幫助 facebook 安全團隊提前檢測到了多個 fb.com 子域的偽造證書。

在另一篇文章中,我詳細介紹了 facebook 所提供的證書透明度監控服務,它可以自動而快捷地發現 SSL 證書的問題。

Facebook 已經向 The Hacker News (THN) 證實,在未來幾個月會把試驗性的證書透明度監控服務免費提供給更多的社群。

證書透明度搜尋工具

聽起來很有趣?

Comodo 已經推出了一款證書透明度搜尋工具,它可以列出給定域名所有頒發的證書。或者,你也可以去試試谷歌的證書透明度查詢工具,它可以在目前公開的證書透明度日誌中查詢任意一個給定的域名的所有頒發證書。

如果你發現有指向你域名的偽造證書,請立即報告給相應的證書頒發機構解決。

相關文章