作者:瞌睡龍
來(lái)源:知乎
一、前言
不知這個(gè)漏洞為什么會(huì)被命名為“ Heartbleed”(直譯:心臟出血),也許是漏洞因心跳包缺陷而命名,也許是代表最致命的傷害。但不管怎樣,見(jiàn)到OpenSSL爆出這樣的安全漏洞后,感覺(jué)心真的在滴血。。。談到這個(gè)漏洞危害就要先來(lái)了解下SSL與OpenSSL到底是個(gè)啥,對(duì)現(xiàn)如今的網(wǎng)絡(luò)安全有怎樣的意義,對(duì)我們的日常網(wǎng)上生活有什么影響。
二、SSL是個(gè)啥
我們平時(shí)打開(kāi)網(wǎng)頁(yè)地址前面顯示的http,代表該網(wǎng)頁(yè)是明文傳輸內(nèi)容的,包括我們的密碼與用戶認(rèn)證信息等,這樣就有了一個(gè)很?chē)?yán)重的安全隱患,如果有人在我的電腦與網(wǎng)站中間的通信進(jìn)行監(jiān)聽(tīng),就可以輕松獲取密碼,至篡改我們的敏感數(shù)據(jù),所以明文傳輸數(shù)據(jù)是極不安全的!
SSL就這樣誕生了?非也,其實(shí)最開(kāi)始SSL的目的并不是對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,而是早期的電子商務(wù)階段,商家擔(dān)心用戶拍下商品后不付款,或者使用虛假甚至過(guò)期的信用卡,為了讓銀行給予認(rèn)證以及信任,SSL就在這種背景下誕生了。有點(diǎn)扯遠(yuǎn)了,只是想讓大家知道,除了后面我們提到的通信加密,SSL還承擔(dān)著信任認(rèn)證的功能。
SSL安全套接層(Secure Sockets Layer,SSL)是一種安全協(xié)議,在網(wǎng)景公司(Netscape)推出首版Web瀏覽器的同時(shí)提出,目的是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性保障,SSL在傳輸層中對(duì)網(wǎng)絡(luò)通信進(jìn)行加密。如網(wǎng)址前面顯示的是https,就代表是開(kāi)啟了SSL安全支持的站點(diǎn)。
經(jīng)過(guò)漫長(zhǎng)的改進(jìn),SSL最終變成了現(xiàn)在我們看到的樣子,它提供的幾大安全保障:
1.加密用戶與服務(wù)器間傳輸?shù)臄?shù)據(jù)
2.用戶和服務(wù)器的合法認(rèn)證,確保數(shù)據(jù)發(fā)送到正確的服務(wù)器或用戶
3.保證數(shù)據(jù)的完整性,防止中間被非法篡改
一些對(duì)安全性要求很高的如:網(wǎng)絡(luò)銀行、電商支付、帳號(hào)登錄、郵件系統(tǒng)甚至VPN等等服務(wù),在開(kāi)啟了SSL支持后,用戶與企業(yè)即可放心數(shù)據(jù)傳輸?shù)陌踩裕矡o(wú)需擔(dān)心信息被他人截獲篡改,進(jìn)而成了信息安全保障最根本的基礎(chǔ),成了安全“標(biāo)配”。
題外話:SSL是標(biāo)配,是最起碼的信息安全保障,但并不代表開(kāi)啟了SSL網(wǎng)站安全就上了幾個(gè)檔次,SSL并不會(huì)解決安全漏洞問(wèn)題(具體是那些問(wèn)題可以看下烏云上的案例)!以后在見(jiàn)到一些拿著SSL做安全噱頭的企業(yè),就明白這其實(shí)說(shuō)明不了他的安全性有多好。
三、OpenSSL是個(gè)啥
OpenSSL簡(jiǎn)單來(lái)講就是套開(kāi)放源代碼的SSL套件,提供了一套基礎(chǔ)的函數(shù)庫(kù),實(shí)現(xiàn)了基本的傳輸層資料加密功能。集成在一些開(kāi)源的軟件項(xiàng)目與操作系統(tǒng)中,用做SSL功能的調(diào)用。注意了,這次的“心臟出血”漏洞就是出現(xiàn)在OpenSSL上。
四、那這個(gè)漏洞有什么影響呢?
科普了一些基礎(chǔ)知識(shí),現(xiàn)在開(kāi)始談?wù)劼┒匆约捌溆绊懓?。之前有提到SSL已經(jīng)是當(dāng)今信息安全的基礎(chǔ)標(biāo)配了,可以說(shuō)所有的產(chǎn)品都信任OpenSSL帶來(lái)的SSL基礎(chǔ)支持,將信息傳輸與數(shù)據(jù)加密的安全性完全依賴OpenSSL,這樣帶來(lái)的隱患就是地基安全一旦動(dòng)搖,整棟大廈都面臨坍塌風(fēng)險(xiǎn),而這種風(fēng)險(xiǎn)不再僅存于想象,他真的就發(fā)生了。。。
“心臟出血”漏洞技術(shù)性細(xì)節(jié)可以參考國(guó)內(nèi)首發(fā)的烏云知識(shí)庫(kù)(關(guān)于OpenSSL“心臟出血”漏洞的分析),漏洞可以隨機(jī)泄漏內(nèi)存中的64k數(shù)據(jù),而且可通過(guò)重復(fù)讀取來(lái)獲取大量?jī)?nèi)存數(shù)據(jù),OpenSSL內(nèi)存區(qū)域又是存儲(chǔ)用戶請(qǐng)求中的明文數(shù)據(jù),其中可能包含源碼、登錄時(shí)提交的明文帳號(hào)密碼、登錄后服務(wù)器返回的合法認(rèn)證因素(cookies)、軟件序列號(hào)、機(jī)密郵件,甚至是可以突破一些系統(tǒng)保護(hù)機(jī)制的關(guān)鍵數(shù)據(jù)。
問(wèn):手機(jī)上網(wǎng)或使用APP受到到影響么?
答:只要數(shù)據(jù)通信走了SSL,服務(wù)器存在漏洞的話是會(huì)受到影響的
問(wèn):64K能存下多少敏感數(shù)據(jù)?
答:不清楚,但 64K 起碼能存下 32768 個(gè)漢字
問(wèn):即使這樣,那泄漏的數(shù)據(jù)會(huì)對(duì)我們?cè)斐墒裁从绊懀?/p>
答:其實(shí)在我們平時(shí)上網(wǎng)購(gòu)物、登錄網(wǎng)站、與好友聊天的時(shí)候,為了保證用戶體驗(yàn)與安全性,咱們機(jī)密數(shù)據(jù)的交換與驗(yàn)證等操作都悄悄的或全部走了SSL安全通道,受到“心臟出血”漏洞的影響,咱們的機(jī)密數(shù)據(jù)就有很大幾率被黑客主動(dòng)獲取。來(lái)看幾個(gè)實(shí)際案例(影響對(duì)象以及敏感數(shù)據(jù)掩蓋處理)
可見(jiàn)雖然很多網(wǎng)站的賬戶登錄系統(tǒng)采用了SSL(HTTPS)的保護(hù),但真正的登錄行為仍是密碼明文傳輸,過(guò)度信任了SSL。有些產(chǎn)品會(huì)提到自己有雙因素令牌驗(yàn)證功能,不受到影響,但不管是雙因素、三因素還是五因素,他只是個(gè)身份驗(yàn)證過(guò)程,成功后系統(tǒng)還是會(huì)給用戶返回認(rèn)證憑據(jù),直接截獲這種認(rèn)證憑據(jù)即可繞過(guò)密碼限制,直接控制用戶帳號(hào)。
給人安全感的SSL現(xiàn)在成了泄漏敏感數(shù)據(jù)的元兇,用戶在企業(yè)修復(fù)漏洞前產(chǎn)生的SSL請(qǐng)求有很大幾率泄漏。一些網(wǎng)站與微博開(kāi)始曝光因漏洞泄漏的用戶帳號(hào)密碼,以及成功登錄與訂單信息的截圖。
五、我勒個(gè)去我該咋辦?
一般情況下SSL都被用于關(guān)鍵的登錄認(rèn)證、交易系統(tǒng)、信息存儲(chǔ)等位置,所以對(duì)于用戶來(lái)說(shuō)最重要的(也是黑客最關(guān)注的)數(shù)據(jù)就是密碼,這里建議4月7日后有登錄過(guò)各種網(wǎng)站的用戶,退出當(dāng)前帳號(hào)注銷會(huì)話并盡量修改密碼,也建議存在該漏洞的廠商對(duì)移動(dòng)類APP用戶強(qiáng)制重新授權(quán)。
不知各位是否在“拖庫(kù)”橫行的今天開(kāi)始嘗試使用一些“安全”的密碼管理軟件?比如K**Pass、L**Pass等,這些軟件會(huì)已安全之名將用戶的密碼存儲(chǔ)在云上,號(hào)稱各種加密處理,但訪問(wèn)這些保存的密碼,無(wú)非還只需要個(gè)帳號(hào)而已,而廠商肯定又為登錄開(kāi)啟了SSL。。。提醒大家警惕余震影響。
漏洞爆發(fā)后有安全團(tuán)隊(duì)隱晦的提出看法:“漏洞不僅存在443(SSL默認(rèn)端口)上,一些已OpenSSL為基礎(chǔ)的服務(wù)軟件都可能受到該漏洞影響”,“可能不僅僅OpenSSL庫(kù)存在此類安全隱患”等,烏云最新的一起漏洞報(bào)告已經(jīng)出現(xiàn)電子郵件系統(tǒng)的泄密案例(WooYun-2014-56344)。
企業(yè)除了用戶系統(tǒng)的OpenSSL升級(jí)外,還要注意使用的各種VPN、防火墻、負(fù)載均衡與郵件等設(shè)備,因?yàn)楹芏嘣O(shè)備封裝的操作系統(tǒng)默認(rèn)OpenSSL庫(kù)為存在漏洞的版本,所以均躺中,下面給出一些工具測(cè)試可能收到影響的版本號(hào):
OpenSSL 1.0.1 到 1.0.1f (包括該版本) 存在漏洞
OpenSSL 1.0.1g 不存在漏洞
OpenSSL 1.0.0 以及分支版本不存在漏洞
OpenSSL 0.9.8 以及分支版本不存在漏洞
發(fā)行版Linux內(nèi)置的OpenSSL安全情況如何?烏云君已知的如centos6.4存在該OpenSSL漏洞,目前官方源已經(jīng)對(duì)1.0.1e分支版本進(jìn)行安全更新(1.0.1e-16.el6_5.7 測(cè)試不存在漏洞),其他白帽子提供的消息,debian(1.0.1e-2+deb7u5 測(cè)試不存在漏洞),烏云君繼續(xù)幫大家整理中。
有一個(gè)小插曲,烏云上某報(bào)告證實(shí)某些軟件的正版授權(quán)服務(wù)器存在OpenSSL內(nèi)存泄漏漏洞,導(dǎo)致大量正版合法序列號(hào)泄漏,可能會(huì)對(duì)購(gòu)買(mǎi)正版軟件的用戶與軟件企業(yè)造成一定經(jīng)濟(jì)損失,請(qǐng)注意!
六、后記
漏洞爆發(fā)后,以烏云漏洞報(bào)告平臺(tái)的報(bào)告情況來(lái)看,這幾乎是整個(gè)互聯(lián)網(wǎng)的浩劫。關(guān)于漏洞已經(jīng)存在好幾個(gè)月之類的八卦新聞就不要在意了,踏踏實(shí)實(shí)的處理好眼下的事情才最重要。烏云君仍在通知企業(yè)修復(fù)漏洞,該問(wèn)題也是烏云今后會(huì)重點(diǎn)關(guān)注的一個(gè)漏洞趨勢(shì)。
目前國(guó)內(nèi)大部分企業(yè)已迅速響應(yīng)修復(fù)漏洞,但不排除已經(jīng)有大量用戶數(shù)據(jù)泄漏,漏洞修復(fù)后還需注意信息泄漏帶來(lái)的“余震”影響!