后Heardbleed時(shí)代更應(yīng)該加強(qiáng)安全意識(shí)

責(zé)任編輯:editor004

2014-06-23 14:00:14

摘自:PCHOME

OpenSSL Heartbleed 的大慘敗沒有任何異議的證明了人們一直懷疑的事情:僅僅因?yàn)殚_源代碼只是用來檢查用的,但并不意味著它已經(jīng)完全被檢查過了,而外是安全的。:如果把OpenSSL商業(yè)化,作為供應(yīng)商是有責(zé)任提供更多的眼球進(jìn)行審核,因?yàn)?,一旦你打算建立一個(gè)基于開源組件的公司

OpenSSL Heartbleed 的大慘敗沒有任何異議的證明了人們一直懷疑的事情:僅僅因?yàn)殚_源代碼只是用來檢查用的,但并不意味著它已經(jīng)完全被檢查過了,而外是安全的。

這一點(diǎn)是至關(guān)重要的,原因在于開源軟件的安全性完全依賴大量擁有專業(yè)技能的程序員檢測(cè)代碼,并迅速將含有Bug的代碼移除或修復(fù)。這一點(diǎn)在Linus's Law(林納斯定律)也提到了:“只要有足夠多的眼睛,就可讓所有問題浮現(xiàn)。”

但是我們來看看使用OpenSSL之后發(fā)生了什么事。Robin Seggelemann是德國Munster大學(xué)的一位程序員,通過添加一個(gè)新的Heartbeat?;罟δ軄砀翺penSLL代碼,但不幸的是,他錯(cuò)過了一個(gè)必要的代碼驗(yàn)證來檢查一個(gè)特定的變量是有現(xiàn)實(shí)價(jià)值的。OpenSSL開發(fā)團(tuán)隊(duì)的成員在發(fā)布更新版本之前也沒有進(jìn)行檢查,這些疏忽都是導(dǎo)致Heartbleed Bug出現(xiàn)的最主要誘因。

如果他們覺得代碼里沒什么Bug的話,別說是一個(gè)審查員,即使是一大堆審查員也找不出這個(gè)微不足道的小錯(cuò)誤。這個(gè)Heartbleed Bug一直存在了兩年,在OpenSLL里面,在瀏覽器里面,在Web服務(wù)器里面,最終還是沒有一個(gè)開源社區(qū)發(fā)現(xiàn)它。難道可以將此歸咎于沒有足夠多的審查眼睛嗎?

商業(yè)渠道缺乏對(duì)開源代碼的審核

同樣令人擔(dān)憂的是,OpenSSL 此前一直被當(dāng)做一個(gè)重要組件使用在硬件產(chǎn)品中,這些硬件產(chǎn)品由像 F5 Networks、Citrix Systems、Riverbed Technology 和 Barracuda Networks之類的商業(yè)公司提供,這些公司在使用它們之前都沒有進(jìn)行足夠的審核。安全云網(wǎng)關(guān)廠商Forum Systems的CEO Mamoon Yunus透露了上述內(nèi)容。

他說:如果把OpenSSL商業(yè)化,作為供應(yīng)商是有責(zé)任提供更多的眼球進(jìn)行審核,因?yàn)?,一旦你打算建立一個(gè)基于開源組件的公司,對(duì)代碼的所有權(quán)是必不可少的。

然而,Yunus 認(rèn)為供應(yīng)商只關(guān)心OpenSSL作為他們硬件產(chǎn)品上的一個(gè)有用的螺栓而已,而且,就因?yàn)樗情_源的,所以他們假定已經(jīng)有別的開發(fā)者對(duì)OpenSSL的代碼進(jìn)行過檢測(cè)了,而自己卻沒有對(duì)它審核的責(zé)任。他說:“這就是從開源角度思考問題所產(chǎn)生的疏忽大意結(jié)果。”Yunus建議,商業(yè)廠商應(yīng)該盡可能的花人力物力在開源代碼上施行同行評(píng)審制度,并且使用靜態(tài)和動(dòng)態(tài)分析工具來確保代碼是無Bug的。

OpenSSL、Truecrypt暴露出開源代碼審核的短板

許多開源項(xiàng)目現(xiàn)在都面臨一個(gè)問題,那就是很難明確的歸責(zé)于Seggelemann 或者是其它的 OpenSSL 團(tuán)隊(duì),實(shí)施一個(gè)嚴(yán)格標(biāo)準(zhǔn)的代碼安全審核是一件及其耗時(shí)且需要很高的技術(shù)能力的事情。換句話說就是代價(jià)很昂貴。

這里來介紹一下另一個(gè)開源項(xiàng)目:TrueCrypt加密程序。此項(xiàng)目十年前就已經(jīng)開始了,現(xiàn)在它的帶安全開放,有興趣的人都可以觀看。但是最近,隨著Indiegogo and Fundfill網(wǎng)站上募款活動(dòng)的進(jìn)行,最終籌集了6萬美金的資金,幫助TrueCrypt的代碼度過了一個(gè)適當(dāng)?shù)陌踩珜徲?jì)。

代碼審計(jì)員說:總的來看,引導(dǎo)程序的源代碼和Windows 內(nèi)核驅(qū)動(dòng)源代碼并不滿足源代碼的預(yù)期標(biāo)準(zhǔn)。

令人擔(dān)憂的是,只有在被曝光之后,他們才招聘大量人力資源進(jìn)行代碼審查。開源社區(qū)在過去的十年里有足夠的機(jī)會(huì)做這些事,但事實(shí)是,社區(qū)根本沒有時(shí)間、技能或資源(包括資金)正確地完成這項(xiàng)工作。

將安全性隱藏起來從來就不是一個(gè)好主意,但一旦漏洞被公開出來的話,他們就需要立刻將其修復(fù)。尚不清楚OpenSSL團(tuán)隊(duì)是否能夠做到這一點(diǎn),關(guān)鍵是這個(gè)項(xiàng)目只有一個(gè)全職的維護(hù)者,或者說,不管是使用OpenSSL的軟件還是硬件產(chǎn)品,包括OpenSSL軟件本身都需要及時(shí)的更新維護(hù)。

后Heardbleed時(shí)代更應(yīng)該加強(qiáng)安全意識(shí)

現(xiàn)在有一個(gè)好消息,對(duì)于那些關(guān)心像OpenSSL這樣的開源項(xiàng)目的安全的人來說,這是一個(gè)好消息:Core Infrastructure Initiative (CII)將會(huì)以自己的方式幫助這些開源項(xiàng)目,CII是一個(gè)由Linux Foundation建立的新項(xiàng)目,以應(yīng)對(duì)Heartbleed事件。其目的是傳送資金給像OpenSSL等需要錢的軟件項(xiàng)目,因?yàn)檫@些項(xiàng)目對(duì)互聯(lián)網(wǎng)的功能至關(guān)重要。

“我們?nèi)虻慕?jīng)濟(jì)是建立在許多開源項(xiàng)目上的。”Linux基金會(huì)的執(zhí)行董事Jim Zemlin說。“我們現(xiàn)在可以支持更多的開發(fā)者和維護(hù)者從事全職維護(hù)工作,通過他們對(duì)重要的開源項(xiàng)目施行全方位的支持。”

來自CII的支持可能還包括資金安全審計(jì)、計(jì)算和測(cè)試基礎(chǔ)設(shè)施等方面的支持。到目前為止,約400萬美元的籌款已完全可以支撐CII在未來三年對(duì)開源項(xiàng)目的維護(hù),捐款的公司包括Google、Microsoft和Facebook.

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)