◆李維峰
(中國(guó)飛行試驗(yàn)研究院 陜西 710089)
SSL是Secure Sockets Layer(安全套接字層)的縮寫(xiě),是一系列加密技術(shù),可讓W(xué)eb用戶(hù)保護(hù)其在Internet上傳輸?shù)男畔⒌碾[私。
當(dāng)用戶(hù)訪問(wèn)安全網(wǎng)站(例如mail.aliyun.com)時(shí),URL旁會(huì)顯示一個(gè)鎖,表明用戶(hù)與該站點(diǎn)的通信已加密。這是Safari瀏覽器中的外觀:
圖1 SSL在網(wǎng)站中的應(yīng)用
該鎖應(yīng)該表明第三方將無(wú)法讀取您發(fā)送或接收的任何信息。在后臺(tái),SSL通過(guò)將您的數(shù)據(jù)轉(zhuǎn)換為只有收件人知道如何解密的編碼消息來(lái)實(shí)現(xiàn)此目的。如果惡意方正在聽(tīng)對(duì)話(huà),它將僅看到看似隨機(jī)的字符串,而不是電子郵件,論壇帖子,信用卡號(hào)或其他私人信息的內(nèi)容。SSL由Netscape于1994年引入。近年來(lái),主流在線(xiàn)服務(wù)已趨向于默認(rèn)使用加密。
如果正確實(shí)施,則認(rèn)為SSL是高度安全的。但是對(duì)于SSL安全而言,2014年是糟糕的一年。Heartbleed不是那年發(fā)現(xiàn)的唯一安全漏洞。2月,在Apple的SSL實(shí)施中發(fā)現(xiàn)了一個(gè)嚴(yán)重缺陷。一個(gè)月后,在另一個(gè)SSL實(shí)例中發(fā)現(xiàn)了另一個(gè)漏洞,該實(shí)例在開(kāi)源操作系統(tǒng)中很流行。
OpenSSL是允許計(jì)算機(jī)使用SSL加密標(biāo)準(zhǔn)進(jìn)行通信的軟件。這是一個(gè)由志愿者創(chuàng)建和維護(hù)的開(kāi)源項(xiàng)目。它于1998年首次發(fā)布,現(xiàn)已成為世界上最受歡迎的SSL實(shí)現(xiàn)之一。
OpenSSL被廣泛使用。原因之一是它已被合并到其他各種軟件產(chǎn)品中。例如,兩個(gè)最受歡迎的Web服務(wù)器軟件包,Apache和nginx,都使用OpenSSL加密網(wǎng)站。
在發(fā)生Heartbleed攻擊時(shí),OpenSSL網(wǎng)站僅列出了15位活躍的開(kāi)發(fā)人員,其中大多數(shù)是自愿為該項(xiàng)目做出貢獻(xiàn)的。但是,并非所有對(duì)OpenSSL軟件所做的更改都是由這15個(gè)人編寫(xiě)的。
考慮到備受矚目的商業(yè)軟件項(xiàng)目通常需要數(shù)十甚至數(shù)百人來(lái)進(jìn)行工作,因此,OpenSSL團(tuán)隊(duì)在2012年推出新版本的軟件時(shí)沒(méi)有注意到細(xì)微的Heartbleed錯(cuò)誤就不足為奇了。
發(fā)現(xiàn)Heartbleed錯(cuò)誤后,幾家大型科技公司集中了資源,加大力度保護(hù)OpenSSL和其他構(gòu)成互聯(lián)網(wǎng)核心基礎(chǔ)結(jié)構(gòu)的開(kāi)源軟件。
SSL標(biāo)準(zhǔn)包括“心跳”選項(xiàng),該選項(xiàng)為SSL連接一端的計(jì)算機(jī)提供了一種方法來(lái)再次檢查線(xiàn)路的另一端是否仍然有人。此功能很有用,因?yàn)槟承㊣nternet路由器在空閑時(shí)間過(guò)長(zhǎng)時(shí)會(huì)斷開(kāi)連接。簡(jiǎn)而言之,心跳協(xié)議的工作方式如下:
圖2 心跳協(xié)議的工作方式
心跳消息分為三個(gè)部分:請(qǐng)求確認(rèn),簡(jiǎn)短的隨機(jī)選擇消息(在這種情況下為“banana”)以及該消息中的字符數(shù)。只需假定服務(wù)器確認(rèn)已收到請(qǐng)求,然后將消息鸚鵡化。
Heartbleed攻擊利用了服務(wù)器過(guò)于信任這一事實(shí)。當(dāng)有人告訴它消息包含6個(gè)字符時(shí),服務(wù)器會(huì)自動(dòng)發(fā)送回6個(gè)字符作為響應(yīng)。惡意用戶(hù)可以利用服務(wù)器的輕信:
圖3 漏洞出現(xiàn)
顯然,“giraffe”一詞的長(zhǎng)度不超過(guò)100個(gè)字符。但是服務(wù)器在發(fā)回響應(yīng)之前不會(huì)費(fèi)心檢查,因此它會(huì)發(fā)回100個(gè)字符。具體來(lái)說(shuō),它將發(fā)回7個(gè)字符的單詞“giraffe”,然后在服務(wù)器內(nèi)存中緊隨單詞“giraffe”之后存儲(chǔ)的93個(gè)字符返回。計(jì)算機(jī)通常以隨意的順序存儲(chǔ)信息,以將其盡可能緊密地包裝到內(nèi)存中,因此無(wú)法確定可能返回的信息。在這種情況下,單詞“長(zhǎng)頸鹿”后面的記憶位包含屬于用戶(hù)John Smith的敏感個(gè)人信息。
在真正的Heartbleed攻擊中,攻擊者不僅要求輸入100個(gè)字符。攻擊者可以要求大約64,000個(gè)字符的純文本。它不僅可以詢(xún)問(wèn)一次,還可以一遍又一遍地發(fā)送惡意的心跳消息,使攻擊者每次都能取回服務(wù)器內(nèi)存的不同片段。在此過(guò)程中,它可以獲得從未打算向公眾提供的大量數(shù)據(jù)。
解決此問(wèn)題的方法很簡(jiǎn)單:服務(wù)器只需要較少的信任即可。服務(wù)器不需要盲目地發(fā)回所請(qǐng)求的數(shù)據(jù),而是需要檢查服務(wù)器是否要求發(fā)回的字符數(shù)比開(kāi)始時(shí)多。這正是OpenSSL對(duì)Heartbleed Bug的修復(fù)。
在披露Heartbleed漏洞五年后的今天,它仍然存在于許多服務(wù)器和系統(tǒng)中。當(dāng)然,當(dāng)前版本的OpenSSL是固定的。但是,未升級(jí)到已修補(bǔ)版本的OpenSSL的系統(tǒng)仍然會(huì)受到該漏洞的影響,并且容易受到攻擊。對(duì)于攻擊者而言,發(fā)現(xiàn)Heartbleed漏洞是一項(xiàng)獎(jiǎng)勵(lì)。攻擊者如果通過(guò)自動(dòng)檢索工具,則更容易發(fā)現(xiàn)漏洞。攻擊者找到易受攻擊的系統(tǒng)后,利用該漏洞則相對(duì)容易。發(fā)生這種情況時(shí),攻擊者就可以訪問(wèn)用于發(fā)起其他攻擊的信息或憑據(jù)。
Heartbleed漏洞是由于人為錯(cuò)誤引入OpenSSL的安全漏洞。由于OpenSSL的普及,許多應(yīng)用程序受到了影響,攻擊者才能夠獲取大量數(shù)據(jù)。
發(fā)現(xiàn)該漏洞后,Google員工找到了解決方案,并向OpenSSL貢獻(xiàn)者提供了解決此問(wèn)題的代碼。然后,指示OpenSSL用戶(hù)升級(jí)到最新的OpenSSL版本。
但是,今天,即使升級(jí)OpenSSL版本而不是編譯代碼庫(kù),仍然可以在應(yīng)用程序、系統(tǒng)和設(shè)備中找到Heartbleed漏洞。如果用戶(hù)擔(dān)心自己可能會(huì)受到影響,則可以在設(shè)備無(wú)法支持修補(bǔ)程序的情況下測(cè)試系統(tǒng)的Heartbleed漏洞和修補(bǔ)程序,以消除風(fēng)險(xiǎn)或減輕風(fēng)險(xiǎn)。
Heartbleed 攻擊的規(guī)模為Internet 社區(qū)敲響了警鐘。作為回應(yīng),十多家技術(shù)公司已承諾為“核心基礎(chǔ)設(shè)施計(jì)劃”做出貢獻(xiàn)[1]。該項(xiàng)目由非營(yíng)利性Linux 基金會(huì)組織,將把資金引導(dǎo)到資金不足卻廣泛使用的開(kāi)源項(xiàng)目,例如OpenSSL。
該基金會(huì)在2014年4月下旬告訴Ars Technica,它已經(jīng)從包括亞馬遜,微軟,谷歌和Facebook 在內(nèi)的主要技術(shù)公司獲得了390 萬(wàn)美元的捐款。
由惠普聯(lián)合創(chuàng)始人威廉·休利特(William Hewlett)和他的妻子創(chuàng)立的惠普基金會(huì)(Hewlett Foundation)也為互聯(lián)網(wǎng)安全工作提供資金。出于非凡的遠(yuǎn)見(jiàn)卓識(shí),該基金會(huì)于2014年4月2日,即公開(kāi)披露Heartbleed 計(jì)劃的前幾天,宣布了一項(xiàng)2,000 萬(wàn)美元的“網(wǎng)絡(luò)計(jì)劃”[2]。該基金會(huì)希望幫助“建立一個(gè)專(zhuān)家網(wǎng)絡(luò),以確?;ヂ?lián)網(wǎng)安全、開(kāi)放和良好的管理?!?/p>
這些投資是糾正互聯(lián)網(wǎng)安全資金嚴(yán)重不足的一小步。網(wǎng)絡(luò)占據(jù)了數(shù)十億美元的商業(yè)收入,即使在這筆2400萬(wàn)美元的慈善投資之后,仍然迫切需要投入更多的資源來(lái)保障網(wǎng)絡(luò)安全。
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2021年5期