三年前,一個名為“心臟滴血”的 OpenSSL 漏洞讓整個互聯(lián)網為之一顫,三年后的今天,依然有接近 200,000 個服務器和設備依然籠罩在心臟滴血的恐怖之中。
這一數(shù)據來自于搜索引擎 Shodan 發(fā)布的一份心臟滴血漏洞報告,記錄了心臟滴血漏洞從 2014年4月被發(fā)現(xiàn)以來至 2017 年 1 月,依然受影響的設備的數(shù)量及分布等情況。
其中,199,594 個樣本數(shù)據中,數(shù)量排前三的國家分別是美國(42,032)、韓國(15,380)、中國(14,116)、德國(14,072)和法國(8,702)
【數(shù)據按國家分布,中國排第三】
回顧 | 心臟為何滴血?
2014 年 4 月 8日,谷歌研究員 Neel Mehta 發(fā)現(xiàn)一個可以從特定服務器上隨機獲取 64K 數(shù)據的漏洞,并將其命名為“heartbleed"(心臟滴血)——代表著最致命的內傷。
之所以叫“心臟滴血”,和該漏洞的原理有關。
據雷鋒網了解,最初人們?yōu)榱司W絡通信安全,就開始使用安全協(xié)議進行加密通信,SSL(Secure Socket Layer)就是一種安全協(xié)議。隨著開源軟件的流行,有人寫了一款叫 OpenSSL 的開源程序供大家方便地對通信進行SSL加密,后來這款軟件便在互聯(lián)網中被廣泛應用。我們在瀏覽器地址欄常見的 https 前綴的網址以及那把小鎖圖標,通常就是指該網站經過 SSL 證書加密。
OpenSSL 有一個叫 Heartbeat (心跳檢測)的拓展,問題就出在這個拓展上,這也是漏洞被命名為“心臟滴血”的直接原因。
所謂心跳檢測,就是建立一個 Client Hello 問詢來檢測對方服務器是不是正常在線 ,服務器發(fā)回 Server hello,表明正常樹立SSL通訊。就像我們打電話時會問對方 “喂聽得到嗎?”一樣。
每次問詢都會附加一個問詢的字符長度 pad length,bug 來了,如果這個 pad length 大于實際的長度,服務器仍是會回來相同規(guī)模的字符信息,于是形成了內存里信息的越界訪問。
如果你還聽不懂,看完這個漫畫應該就懂了。
【漫畫來自 XKCD Comic】
就這樣,每發(fā)起一個心跳,服務器就能泄露一點點數(shù)據(理論上最多泄露 64K),這些數(shù)據里可能包括用戶的登錄賬號密碼、電子郵件甚至是加密秘鑰等信息,也可能并沒有包含這些信息,但攻擊者可以不斷利用 "心跳”來獲取更多的信息。就這樣,服務器一點一點泄露越來越多的信息,就像是心臟慢慢在滴血,心臟滴血漏洞的名字由此而來。
由于互聯(lián)網應用最廣泛的安全傳輸方法就是 SSL,而 Open SSL 又是多數(shù) SSL 加密網站使用的開源軟件包,所以漏洞影響范圍廣大,一時間席卷全球各個互聯(lián)網相關領域,網銀、在線支付、電商網站、門戶網站、電子郵件等無一幸免。
當時有研究人員利用漏洞掃描工具 Zmap 搜索存在心臟滴血漏洞的網站,結果發(fā)現(xiàn)在 Alexa 網站流量排名前百萬的網站中,有 40.9% 的網站中招。而全球第一個被攻擊通告的案例讓所有人籠罩在心臟滴血的恐怖氛圍之中:加拿大稅務局因心臟滴血漏洞導致 900 個納稅人的社會保障號被盜,900 個人的社保號在系統(tǒng)中完全被刪除了。
當時中國又發(fā)生了什么呢?漏洞爆發(fā)當天整個中國互聯(lián)網兵荒馬亂,幾乎所有安全團隊陷入瘋狂,甲方的安全部門十萬火急升級 OpenSSL,乙方安全公司全力為客戶數(shù)據應急方案和參考信息;地下黑客同樣徹夜未眠,他們瘋狂地收集各種網站數(shù)據,各種刷,雙方真正陷入爭分奪秒的數(shù)據之爭,當天的漏洞平臺是這樣的。
即使是修復速度最快的淘寶,也是在當天下午5點左右才修復完畢,這期間的數(shù)小時可能已有數(shù)據被抓走,雖然至 4月12 日大部分網站已經修復完畢,但這一期間已經不知多少數(shù)據泄露。所以 OpenSSL 心臟出血漏洞也堪稱中國網絡安全的一個災難事件。
更令人不寒而栗的是,「心跳檢測」機制在 Open SLL 發(fā)布1.0.1版本的時候就開始存在,該漏洞應該已經存在兩年之久后才被人發(fā)現(xiàn)并且做出修正。沒人知道在這兩年期間有多少黑客已經發(fā)現(xiàn)并利用這個漏洞進行大范圍的網絡攻擊活動,因為這種攻擊方式很難被察覺到。如果做好最壞的估計,也許所有大網站的用戶數(shù)據都已經泄露。
近二十萬設備心臟依然滴血?
就是這樣一個致命的漏洞,在發(fā)生將近三年后,全球居然仍有接近20多萬臺設備存該問題,中國就有超過1萬臺,讓人匪夷所思。
Shodan 創(chuàng)始人 John Matherly 說,
雖然該漏洞當時在媒體宣傳下迅速被廣泛關注,成千上萬受影響的設備被及時修復(數(shù)量從600,000左右 迅速降至 200,000左右)然而在風浪漸息之后,這個數(shù)量就下降得非常緩慢。
如今,攻擊者依然不需要太多技術水平就可以輕易實現(xiàn)對存在心臟滴血漏洞的服務器。如果企業(yè)沒有及時修補該漏洞,依然存在和三年前相同的風險。
安全人員分析,這些未修補漏洞的企業(yè)還不知道自己使用的 OpenSSL 中存在著高危的心臟滴血漏洞。但在雷鋒網看來,也許他們很快就知道了。