1. 程式人生 > >CNNIC CA:最最最嚴重安全警告!

CNNIC CA:最最最嚴重安全警告!

各位,雖然此事與 AutoProxy 無關,但它對所有(也包括 AutoProxy)使用者都是一個非常嚴重的安全威脅。我,WCM ,AutoProxy 作者,以個人名譽強烈建議您認真閱讀並採取措施。

背景知識

網上傳輸的任何資訊都有可能被惡意截獲。儘管如此,我們仍然在網上儲存著很多重要的資料,比如私人郵件、銀行交易。這是因為,有一個叫著 SSL/TLS/HTTPS 的東西在保障我們的資訊保安,它將我們和網站伺服器的通訊加密起來。

如果網站覺得它的使用者資料很敏感,打算使用 SSL/TLS/HTTPS 加密,必須先向有 CA (Certificate Authority) 許可權的公司/組織申請一個證書。有 CA 許可權的公司/組織都是經過全球稽核,值得信賴的。

發生了什麼事

最近,CNNIC——對,就是那個臭名昭著的利用系統漏洞釋出流氓軟體的、就是那個使勁忽悠 CN 域名又突然停止域名解析的 CNNIC (中國網際網路絡資訊中心),它——偷偷地獲得了 CA 許可權!在所有中文使用者被隱瞞的情況下!

意味著什麼

意味著 CNNIC 可以隨意造一個假的證書給任何網站,替換網站真正的證書,從而盜取我們的任何資料!

這就是傳說中的 SSL MITM 攻擊。以前這個攻擊不重要是因為攻擊的證書是假的,瀏覽器會告訴我們真相;現在,因為 CNNIC 有了 CA 許可權,瀏覽器對它的證書完全信任,不會給我們任何警告,即使是造假的證書!

你信任 CNNIC (中國網際網路絡資訊中心) 嗎?你相信它有了許可權,會安守本分,不會偷偷地幹壞事嗎?
我對此有3個疑問:

  1. 某 party 對 GMail 興趣濃厚,GFW 苦練 SSL 內功多年,無大進展。如今有了 CA,若 GFW 令下,CNNIC 敢不從否?
  2. CNNIC 當年利用所謂官方頭銜,制流氓軟體禍害網民。如今有了 CA,如何相信它不會故伎重演?
  3. 為了得到指定網站的合法證書,其它流氓公司丟擲錢權交易,面對誘惑,CNNIC 是否有足夠的職業操守?

影響範圍

基本上所有瀏覽器的所有使用者均受影響!

行動第一步:立即安全防禦

在此只介紹 Firefox 瀏覽器的防禦方法,其它瀏覽器的使用者請自行 Google,原理類似。

  • 選單欄:工具/編輯->首選項->高階->加密->檢視證書->證書機構(Authorites)
  • 這是一個很長的列表,按照字母順序,你應該能找到一個叫著 "CNNIC ROOT" 的記錄,就是這個東西,告訴 Firefox,我們不信任它!
  • 選中 CNNIC ROOT,點選下面的“編輯”按鈕,彈出一個框,應該有3個選項,把所有選項的勾都去掉!儲存。
  • 還沒有完,狡兔有三窟。
  • 接著往下找,有一個叫著 Entrust.net 的組,這個組裡應該有一個 "CNNIC SSL" (如果沒有,訪問一下 這個網站 就有了)
  • 別急著下手,這回情況不一樣,這個證書是 Entrust 簽名的。我們信任 Entrust,Entrust 說它信任 CNNIC,所以我們就被迫信任 CNNIC SSL 了。找到 "Entrust.net Secure Server Certification Authority" 這一條,同上面一樣,把3個選項的勾都去掉,儲存(提示:取消了對 Entrust 的信任以後,可能會沒法開啟它簽名的某些正常網站。至於哪個網站用了它的簽名,隨便試了一下,沒找到例子)。
  • 最後,讓我們驗證一下。重啟 Firefox,開啟 這個這個 網站,如果Firefox 對這兩個網站都給出了安全警告,而非正常瀏覽,恭喜,您已經擺脫了 CNNIC CA 的安全威脅!

行動第二步:治標還需治本

幾天前聽到這個訊息的時候,我簡單地、輕蔑地將 CNNIC 刪除了事。可是這個週末,我忽然覺得這樣很不好。因為只要它存在,始終會有大部分的使用者受到威脅。和寫 AutoProxy 時同樣的想法:如果大部分人都處於安全威脅當中,一個人苟且偷安又有什麼意義?如果不能將自由與安全的門檻降低一點點,所謂的技術又有什麼好僥倖的?

所以我呼籲大家,貢獻一點時間和知識,團結起來說服各瀏覽器取消 CNNIC 的 CA 許可權。這種事不可能有公司來推動,只有我們社群。

首先推薦的是 Firefox,作為一個公益組織 Mozilla 的決策過程更為開放、更願意聽取社群的聲音。Bug 476766 記錄了事件的全過程。Bug 542689Mozilla.dev.security.policy 進行著現在的討論(注意,你可以把自己新增到 Bugzilla 的 CC List 以表達你對此事的關切。但是不要隨便說一些不靠譜的話,免遭討厭。強調政治、GFW 的之類的不管用,必須就事論事。比如它在申請過程中採取欺騙、隱瞞的手段,或者申請成功後的某些行為違反了 Mozilla 的 CA 政策;比如它的屬性和過往行為表明它不會忠於自己的職責,而(幫助)做出 MITM 這種 CA 共憤的事情)。

其次是 Entrust,它說它信任,導致了我們也被迫信任 CNNIC SSL。不妨 告訴 Entrust 此事很嚴重 , 因為它錯誤地信任了 CNNIC,大量使用者不得不刪除它的 CA。如果能找到使用 Entrust 證書的網站更好。給這些網站寫信,因為此次事件我們不得不刪除了 Entrust 的 CA,請求他們另選別家認證。如果反響強烈,勢必給 Entrust 造成很大壓力。

除此之外,來投個票吧結果統計 )!

最後,強烈建議大家,發現證書警告的時候最好直接關掉,不要輕易新增例外。證書的信任體系是一級依賴一級的,一不小心你可能就會連帶信任一個不想信 任的 CA。上面用於驗證的兩個網站,不妨定期(每週/每月)測一測,如果哪天你發現其中的任何一個網站沒有證書警告,就要注意了!

各位:
DNS 劫持已然成為常態,不要讓 SSL 劫持再次普及!此事剛剛釋出,尚有評議空間。待時間流逝,你我皆成溫水中之青蛙!

原文地址:http://autoproxy.org/zh-CN/node/66