【第169期 October 5, 2011】
 

資安前哨站

憑證驗證可信嗎?

作者/顏美惠

[發表日期:2011/10/3]



前言

微軟於2011年09月07日發佈了一個等級為「重要」的更新程式KB2607712,相信大家應該都已經安裝完成了,雖然微軟在下載中心的說明輕描淡寫,但是進入Technet網站觀看相關說明後,就會發現當中大有玄機,此更新程式安裝之後,會移除以下五個DigiNotar發出的根憑證為不受信任的發行者:

1.DigiNotar Root CA
2.DigiNotar Root CA G2
3.DigiNotar PKIoverheid CA Overheid
4.DigiNotar PKIoverheid CA Organisatie - G2
5.DigiNotar PKIoverheid CA Overheid en Bedrijven

雖然更新憑證這件事聽起來稀鬆平常,以前也常常發現微軟會發出相關的更新程式用以更新憑證,但是一次就把一個Root CA所發出的根憑證整個移掉畢竟不是件尋常的事,微軟為什麼要這樣做呢?

憑證與公開金鑰基礎建設

首先,我們先來了解一下憑證與公開金鑰公開基礎建設(Public Key Infrastructure, PKI)是什麼吧?

憑證是由一個公正及可以信賴的憑證機構(Certification Authority, CA)針對使用者的個人身分資料及其選定的公鑰加以簽署後所作成的一個數位憑證,該憑證主要用來獲取使用者公鑰及證明此公鑰是否正確。憑證的內容應包含:版本及格式(X.509或ISO標準)、發行流水號、CA名稱、CA所用之簽章演算法、有效期限、使用者名稱及身分相關資料、使用者公鑰、公鑰用途與種類、 CA對上述資料的簽章等,提供身分鑑別、金鑰交換、金鑰管理(公鑰驗證)及其他相關之公開金鑰系統或協定的施行。憑證不是網路身分證,因此使用公鑰之前必須先驗證其有效性,驗證公鑰之前必須先驗證憑證的有效性。憑證可以由使用者自行保存或存在CA的一個資料庫中,欲進行身分識別時,需先擷取對方的憑證,再利用所得到的公鑰來輔助執行一個身分鑑別協定。一個使用者可以擁有多張憑證,取決於其所擁有的公鑰數目。

而金鑰基礎建設是一個發行與提供公鑰憑證之存取的憑證管理基礎建設,基本參與角色包括註冊機構(Organizational Registration Authority, ORA/RA)、憑證機構(Certificate Authorities, CAs)、政策認可機構(Policy Approval Authority, PAA)、目錄服務(Directory Service, DS),與電腦安全物件註冊機構(Computer Security Objects Register, CSOR)。註冊機構是執行使用者或CAs註冊程式的機構,實體及環境設施為安全考量之重點項目;憑證機構是整個PKI架構最底層部分,負責產生及發行憑證,並提供憑證之交互驗證;政策認可機構透過憑證架構進行CAs的管理;目錄服務負責維護憑證資料庫;電腦安全物件註冊機構則是指定物件識別符(Object Identifiers, OIDs)(包含安全信任等級),並經由主管單位授權之管理註冊機構分支。

在了解憑證與公開金鑰基礎建設的基本知識後,接著我們可以開始說明到底發生了什麼事?

DigiNotar遭入侵

我們先來認識一下DigiNotar這間公司,該公司為VASCO Data Security International旗下的憑證發放組織,同時被荷蘭政府允許發放用以提供政府服務相關之憑證,但在2011年07月10日,DigiNotar發出了一個授與Google的假造憑證,該憑證若被有心人士利用,將可對Gmail發動中間人攻擊(Man-in-the-Middle),相關假造憑證也於Pastebin網站上被公布,而根據VASCO所發出的新聞稿內容,DigiNotar於07月19日即已發現遭到攻擊,但並未說明駭客使用何種方法入侵成功。

事後清查,發現DigiNotar除發出了屬於*.google.com的假造憑證外,另外還發出了針對Mozilla、Yahoo及Skype等等的假造憑證,總共應有逾500個假造憑證被建立,各瀏覽器廠商也很快地進行了相對應的反應,除微軟於09月07日發佈更新程式進行憑證更新外,Google亦於09月03日升級了Chrome瀏覽器,而Mozilla則於09月06日發佈Firefox修補程式,停止信任DigiNotar發出的所有憑證。這當中受影響最大的應屬荷蘭政府了,原本所使用的 DigiNotar憑證一夕之間被視為不可信任,目前荷蘭政府已在考量使用其他憑證發放組織所發出之憑證以取代DigiNotar所發的憑證。

動機及影響

而入侵DigiNotar的駭客自稱為Comodohacker,透過Pastebin網站宣稱2011年03月憑證發放組織Comodo遭到駭客攻擊也是他所為,此外除了DigiNotar,他還入侵了其他憑證發放組織,如StarCom以及GlobalSign,其中StarCom的資料庫備份檔、客戶資料及所有的Email遭竊,GlobalSign則是資料庫備份及globalsign.com憑證的私鑰遭竊,GlobalSign也因此暫停新憑證之發放。

此次攻擊事件中,據ComodoHacker自稱是為了針對荷蘭政府於16年前以8000名回教徒交換30名荷蘭士兵回來,而賽爾維亞軍卻在同一天對這8000名回教徒進行了大屠殺的行為進行報復,但根據Google及驅勢科技的調查,發現使用假冒的DigiNotar憑證進行中間人攻擊的受害者主要都位於伊朗,因此專家及媒體大多都懷疑伊朗政府才是真正的幕後黑手,此外除假造網站憑證外,Comodohacker還假造了程式簽章用的憑證,這讓一般使用者自網路上下載程式要安裝時,無法正確判斷此程式是否為官方正式版本,可能會面臨安裝到木馬程式的風險,影響範圍不可不謂不大。

其中根據ComodoHacker於Pastebin上的述述「StartCom was lucky enough, I already connected to their HSM, got access to their HSM, sent my request, but lucky Eddy (CEO) was sitting behind HSM and was doing manual verification.」,我們發現StarCom除了發生備份檔案及客戶資料遭竊外,Comodohacker並沒有成功透過StarCom假造任何憑證出來,某種程度上來說,StarCom成功地抵抗了此次的駭客攻擊,憑藉的正是StarCom對於憑證的發放建立了正確的工作流程,會於在憑證發放前進行審核。

結語

公開金鑰基礎建設的安全性係以密碼學技術為基礎,基本上一般的駭客不會針對演算法直接進行分析及破解,但是整個憑證發放架構卻是一連串操作流程及系統運作所組成,當中只要有所疏漏,必定會出現駭客可以利用的弱點,臺灣在網路銀行服務及電子商務上廣泛地使用憑證作為加密及網站驗證使用,一旦發生類似DigiNotar一樣的資安事件,對於相關產業的發展將造成極為嚴重的影響及打擊,不可不慎重以對。

參考資料

http://www.microsoft.com/technet/security/advisory/2607712.mspx
http://en.wikipedia.org/wiki/DigiNotar
http://pastebin.com/u/ComodoHacker
http://www.informationweek.com/news/security/attacks/231601037
http://www.ithome.com.tw/itadm/article.php?c=69595
http://www.ithome.com.tw/itadm/article.php?c=69595