新數據證實黑客能通過Heartbleed漏洞竊取私鑰
網絡服務公司Cloudflare周六報道稱,與之前的懷疑相反,黑客可以通過被稱為“Heartbleed”的重大漏洞從有漏洞的網站中獲取私鑰。
就在昨天,Cloudflare發布了初步的調查結果稱,通過Heartbleed獲得重要的密鑰以解密套接層即使可能也十分困難。為了肯定這一結論,Cloudflare發起了“Heartbleed挑戰賽”以查看其他人利用漏洞可能導致的后果。公司搭建了一個nginx服務器,服務器上運行著包含Heartbleed漏洞版本的OpenSSL,公司邀請網民竊取它的私鑰。
僅僅九個小時之后,芬蘭國家網絡安全中心(NCSC-FI)的軟件工程師Fedor Indutny和Ilkka Mattila獲得了服務器的私鑰,他們僅僅使用了Heartbleed漏洞。就在寫這篇文章之時,Cloudflare確認了四位贏家中的另兩位——劍橋大學安全小組的博士生Rubin Xu還有安全研究員Ben Murphy。
這一結果顯示出僅僅把服務器更新至不包含Heartbleed漏洞的版本的OpenSSL是不夠的。因為Heartbleed的攻擊默認不顯示在服務器日志中,有漏洞的網站無法排除私鑰被黑客從內存中獲取的可能性。任何擁有私鑰的人都可以用它搭建一個假冒的網站,這樣的網站事實上是無法被大多數最終用戶識別出來的。任何訪問這假冒網站的網民會看到與真正網站相同的https前綴和掛鎖圖標。
獲取私人SSL證書的可能意味著,出于謹慎起見,使用過有漏洞版本OpenSSL的網站管理員應該盡快撤銷舊證書并以新證書替換。基于受影響網站的數量之大,這樣的啟示可能會引發問題。
“壞消息是這個發現將我們的建議中的‘更換證書’變成了重要項”,Cloudflare公司CEO Matthew Prince在與Ars Technica的郵件中寫道,“我們已經加速了我們更換證書的進程。”
Cloudflare原本推測,起碼在其使用的基于Linux的平臺上,服務器證書和私鑰通常是儲存在剛開機后的內存中的,而由于服務器系統并非經常啟動,很少有可能在通過Heartbleed訪問的內存(通常是64KB)中會包含服務器私鑰。
大規模私鑰的竊取是最糟糕的情況,因為這使得網站向制作假冒網站者敞開并使得監聽者能夠破解表面上安全的通信。
最終,Indutny向Cloudflare的服務器發送了超過兩百五十萬的請求,Mattila在相同時間里發送了100,000個,他們都能夠竊取服務器私鑰。Cloudflare稱他們在挑戰賽開始后大約6小時重新啟動了服務器,公司認為那次重啟“可能導致密鑰出現在未被初始化的內存中。”
這樣敏感的信息可以被獲得,這非常麻煩,并且現在的解決方案不像讓用戶改改密碼這么簡單。“我們對于這項發現的建議是每個人都要以新私鑰替換舊私鑰并且廢除舊私鑰,”Cloudflare在今天的更新中寫道。“為了客戶的利益,Cloudflare已經為把SSL密鑰交由我們管理的客戶們加速執行這些工作。”
Heartbleed挑戰賽的首位贏家Fedor Indutny,在其推特中寫道,“我大約估計了下,TLS/SSL證書大概有650萬。”顯然,不是每個擁有這些證書的網站都使用了OpenSSL,但Heartbleed已經變成了大規模清理工程,這讓人非常震驚。
廢除和替換證書的進程非常不便且緩慢即使沒有一半的互聯網在試圖同時進行這個進程。“如果所有網站都廢除了證書,這會向互聯網施加巨大的負擔并帶來性能代價,”Cloudflare在周五的博文中寫道。“Cloudflare這樣規模的廢除和替換進程可能都會毀壞CA(證書授證)架構。”
公司稱對于那些網站運行于Cloudflare架構的客戶們,公司已經逐步開始了廢除和替換SSL證書的進程,預計會在下周的某個時候完成。
原文地址:http://arstechnica.com/security/2014/04/private-crypto-keys-are-accessible-to-heartbleed-hackers-new-data-shows/