Heartbleed

Heartbleed

心臟出血(英語:Heartbleed),也簡稱為心血漏洞,是一個出現在加密程式庫OpenSSL的安全漏洞,該程式庫廣泛用於實現網際網路的傳輸層安全(TLS)協定。它於2012年被引入了軟體中,2014年4月首次向公眾披露。只要使用的是存在缺陷的OpenSSL實例,無論是伺服器還是客戶端,都可能因此而受到攻擊。此問題的原因是在實現TLS的心跳擴展時沒有對輸入進行適當驗證(缺少邊界檢查),因此漏洞的名稱來源於“心跳”(heartbeat)。該程式錯誤屬於緩衝區過讀,即可以讀取的數據比應該允許讀取的還多。

漏洞描述

Heartbleed漏洞,這項嚴重缺陷(CVE-2014-0160)的產生是由於未能在memcpy()調用受害用戶輸入內容作為長度參數之前正確進行邊界檢查。攻擊者可以追蹤OpenSSL所分配的64KB快取、將超出必要範圍的位元組信息複製到快取當中再返回快取內容,這樣一來受害者的記憶體內容就會以每次64KB的速度進行泄露。  

發現歷程

Heartbleed漏洞是由安全公司Codenomicon和谷歌安全工程師發現的,並提交給相關管理機構,隨後官方很快發布了漏洞的修複方案。2014年4月7號,程式設計師Sean Cassidy則在自己的部落格上詳細描述了這個漏洞的機制。

技術原理

獲取密碼

2014年4月9日,Heartbleed(意為“心臟出血”)的重大安全漏洞被曝光,一位安全行業人士在知乎上透露,他在某著名電商網站上用這個漏洞嘗試讀取數據,在讀取200次後,獲得了40多個用戶名、7個密碼,用這些密碼,他成功地登錄了該網站。  

入侵技術

SSL(安全套接層)協定是使用最為普遍網站加密技術,而OpenSSL則是開源的 SSL 套件,為全球成千上萬的web伺服器所使用。Web伺服器正是通過它來將密鑰傳送給訪客然後在雙方的連線之間對信息進行加密。使用 https協定的連線採用了SSL加密技術。線上購物、網銀等活動均採用SSL技術來防止竊密及避免中間人攻擊。

Heartbleed漏洞之所以得名,是因為用於安全傳輸層協定(TLS)及數據包傳輸層安全協定(DTLS)的 Heartbeat擴展存在漏洞。Heartbeat擴展為TLS/DTLS提供了一種新的簡便的連線保持方式,但由於OpenSSL 1.0.2-beta與OpenSSL 1.0.1在處理TLS heartbeat擴展時的邊界錯誤,攻擊者可以利用漏洞披露連線的客戶端或伺服器的存儲器內容,導致攻擊者不僅可以讀取其中機密的加密數據,還能盜走用於加密的密鑰。

檢測工具

史上最嚴重的信息安全漏洞OpenSSL的Heartbleed漏洞,攻擊全球三分之二的網站,如何自保。

所幸網路上出現多種Heartbleed漏洞檢測服務,可以讓民眾檢查正在此用的網路服務是否安全,若是不安全的網站,就避免使用任何與帳號、密碼有關的交易功能。

網路服務提供者也應該利用這些工具,即刻檢查自己維護的伺服器,避免因Heartbleed漏洞而受到攻擊,導致用戶資料被竊。

Heartbleed test

義大利信息安全專家Filippo Valsorda (@FiloSottile)率先開發出來的Heartbleed檢測工具,以模擬OpenSSL Heartbleed漏洞的入侵方法,開發出來的檢測工具。只要輸入網站的網址,便可以測試網站是否受Heartbleed漏洞影響。例如輸入媽媽經網站,就發現媽媽經失血了。

ossible.lv Heartbleed test

由信息安全公司Possible.lv開發的Heartbleed檢測工具,只要輸入網址就可以測試網站是否受Heartbleed漏洞影響。

LastPass Heartbleed Checker

由密碼管理工具廠商LastPass開發的檢測工具,只要輸入網址便可以測試網站是否受Heartbleed漏洞影響。

Qualys SSL Labs Server Test

由Qualys SSL LABS提供的SSL測試,不僅可以測試伺服器是否受Heartbleed漏洞影響,還可以為伺服器的加密安全性評級等。

Chrombleed

Heartbleed來襲,但上網不用怕。Chromebleed是Google Chrome瀏覽器的擴展工具,安裝之後,每一次瀏覽網頁時,便會主動彈出網頁是否受Heartbleed漏洞影響的通知。

影響危害

漏洞影響

通過讀取網路伺服器記憶體,攻擊者可以訪問敏感數據,從而危及伺服器及用戶的安全。敏感的安全數據,如伺服器的專用主密鑰,可使攻擊者在伺服器和客戶端未使用完全正向保密時,通過被動中間人攻擊解密當前的或已存儲的傳輸數據,或在通信方使用完全正向保密的情況下,發動主動中間人攻擊。攻擊者無法控制伺服器返回的數據,因為伺服器會回響隨機的記憶體塊。

漏洞還可能暴露其他用戶的敏感請求和回響,包括用戶任何形式的POST請求數據,會話cookie和密碼,這能使攻擊者可以劫持其他用戶的服務身份。在其披露時,約有17%或五十萬通過認證機構認證的網際網路安全網路伺服器被認為容易受到攻擊。電子前哨基金會,Ars Technica,和布魯斯·施奈爾都認為心臟出血漏洞是“災難性的”。

漏洞讓特定版本的openSSL成為無需鑰匙即可開啟的“廢鎖”,入侵者每次可以翻檢戶主的64K信息,只要有足夠的耐心和時間,就可以翻檢足夠多的數據,拼湊出戶主的銀行密碼、私信等敏感數據。對此安全專家提醒,網友在網站完成修復升級後,仍需及時修改原來的密碼。

在公告發布之日,Tor項目在其部落格發布公告,並表示任何在網際網路上尋求“強健的匿名或隱私”的人應該“在事情解決之前,接下來的幾天裡完全遠離網際網路“。他們還建議,Tor中繼運行者和隱蔽服務運行者在修補OpenSSL後,應撤銷及生成新密鑰,但也指出,Tor中繼使用兩套密鑰和多跳設計最大限度地減少了竊取單一中繼的影響。

加拿大稅務局(CRA)因心臟出血安全漏洞,關閉了電子服務網站。

平台維護者,如維基媒體基金會,建議他們的用戶更改密碼。

GitHub上的一個統計數據分析了2014年4月8日前1000個訪問量最大的網站,發現受影響的網站包括Yahoo、Imgur、Stack Overflow、Slate和DuckDuckGo。安全的網站包括Google、Facebook、Wikipedia、Twitter及Amazon。

受影響的OpenSSL版本:

最後更新於2014年4月9日,據Heartbleed和OpenSSL網站上的信息。

受影響:

• OpenSSL 1.0.2-beta

• OpenSSL 1.0.1 - OpenSSL 1.0.1f

除非針對CVE-2014-0160的作業系統補丁已經安裝,而沒有更改庫版本,如Debian、Red Hat Enterprise Linux(及其派生版,如CentOS、Amazon Linux)或Ubuntu(及其派生版,如Linux Mint)。

不受影響:

• OpenSSL 1.0.2-beta2(將來版本)

• OpenSSL 1.0.1g

• OpenSSL 1.0.0(及1.0.0的分支版本)

• OpenSSL 0.9.8(及0.9.8的分支版本)

要解決此漏洞,建議伺服器管理員或使用1.0.1g版,或使用-DOPENSSL_NO_HEARTBEATS選項重新編譯OpenSSL,從而禁用易受攻擊的功能,直至可以更新伺服器軟體。

Metasploit最新版本:

針對CVE-2014-0160的測試和攻擊腳本(Python/Perl)已廣泛傳播。著名滲透測試框架Metasploit在最新版本中添加了對CVE-2014-0160的嗅探支持。

漏洞危害

Heartbleed能讓攻擊者從伺服器記憶體中讀取包括用戶名、密碼和信用卡號等隱私信息在內的數據,已經波及大量網際網路公司。

受影響的伺服器數量可能多達幾十萬。其中已被確認受影響的網站包括 Imgur、OKCupid、Eventbrite 以及 FBI 網站等,不過 Google 未受影響。

Github2014年4月9日發布了一個受影響網站的列表,在這個列表上發現了諸多知名網際網路企業,例如雅虎、Stackoverflow.com、Outbrain.com、OKCupid.com、Steamcommunity.com、 Slate.com和 Entrepreneur.com等。其中很多網站都表示他們已經解決了這個問題。

OpenSSL“心臟出血”漏洞的嚴重性遠比想像的嚴重,一些用戶沒有考慮到手機上大量套用也需要賬號登入,其登入服務也有很多是OpenSSL搭建的,因此用戶在這階段用手機登入過網銀或進行過網購,則需要在漏洞得到修補後,更改自己的密碼。

更改密碼:

下面的網站已經發布公告,因受漏洞影響,建議用戶更改密碼:

• Akamai Technologies。

• Amazon Web Services。

• Ars Technica。

• GitHub。

• LastPass- LastPass自身並沒有被影響,但建議用戶修改所有儲存在LastPass的受影響網站賬戶的密碼,特別是有GitHub、OkCupid或雅虎帳戶的“每個人”。 LastPass提供了一個頁面,公眾可以檢查網站是否受影響。2014年4月9日,LastPass開始向用戶報告已知受心臟出血影響的存儲了密碼的網站。

• Mojang。

• PeerJ。

• SoundCloud。

• SparkFun。

• Stripe (公司)。

• Tumblr。

• Wikimedia。

• Wunderlist。

受影響的軟體

• IPCop 2.1.4發布於2014年4月8日,修復了“每個人都在談論的OpenSSL庫”。

• LibreOffice 4.2.3發布於2014年4月10日,修復了CVE-2014-0160

• LogMeIn聲稱“更新了我們依賴於OpenSSL的許多產品及部分服務”。

涉及中國

ZoomEye系統的掃描:根據該系統掃描,中國全境有1601250台機器使用443連線埠,其中有33303個受本次OpenSSL漏洞影響。443連線埠僅僅是OpenSSL的一個常用連線埠,用以進行加密網頁訪問;其他還有郵件、即時通訊等服務所使用的連線埠,因時間關係,尚未來得及掃描。

ZoomEye是一套安全分析系統,其工作原理類似Google Spider,會持續抓取全球網際網路中的各種伺服器,並記錄伺服器的硬體配置、軟體環境等各類指標,生成指紋,定期對比,以此確定該伺服器是否存在漏洞或被入侵。在此次“心臟出血”漏洞檢測中,給該系統後面加上一個“體檢”系統,過濾出使用問題OpenSSL的伺服器,即可得出存在安全隱患的伺服器規模。

從該系統“體檢”結果看,比三萬台問題伺服器更令人驚心的,是這些伺服器的分布:它們有的在銀行網銀系統中,有的被部署在第三方支付里,有的在大型電商網站,還有的在信箱、即時通訊系統中。

自這個漏洞被爆出後,全球的黑客與安全專家們展開了競賽。前者在不停地試探各類伺服器,試圖從漏洞中抓取到儘量多的用戶敏感數據;後者則在爭分奪秒地升級系統、彌補漏洞,實在來不及實施的則暫時關閉某些服務。這是最危險的地方:黑客們已經紛紛出動,一些公司的負責人卻還在睡覺。而如果黑客入侵了伺服器,受損的遠不止公司一個個體,還包括存放於公司資料庫的大量用戶敏感資料。更為麻煩的是,這個漏洞實際上出現於2012年,誰也不知道是否已經有黑客利用漏洞獲取了用戶資料;而且由於該漏洞即使被入侵也不會在伺服器日誌中留下痕跡,所以還沒有辦法確認哪些伺服器被入侵,也就沒法定位損失、確認泄漏信息,從而通知用戶進行補救。

操作建議

1. 不要在受影響的網站上登錄帳號——除非確信該公司已經修補了這一漏洞。如果該公司沒有通告相關進展,可以詢問他們的客服團隊。

一些網站(包括雅虎和OKCupid)受了影響但表示他們已經解決了全部或部分問題,如果不放心,可以在Filippo網站上查看各個網站安全與否,如果被標為紅色就暫時不要登錄。

很多人的第一反應是趕快修改密碼,但是網路安全專家的建議是等到網站確認修復再說。

2. 一收到網站的安全修補確認,就立即修改銀行、電子郵件等敏感帳號的密碼。即便你採用了兩步認證(即在密碼之外多一重驗證信息),推薦修改密碼。

3. 不要不好意思聯繫掌握個人的數據的小企業以確保個人信息安全。雅虎和Imgur等知名公司當然知道這個問題,但是一些小企業可能還沒發現它,所以個人要積極主動地維護個人信息安全。

4. 密切關注未來數日內的財務報告。因為攻擊者可以獲取伺服器記憶體中的信用卡信息,所以要關注銀行報告中的陌生扣款。

但是,即便按照上述方法操作,網頁瀏覽活動也依然存在一定風險。Heartbleed甚至能影響追蹤網站用戶活動的瀏覽器Cookie,所以只訪問不登錄也有風險。

相關詞條

相關搜尋

熱門詞條

聯絡我們