開源:好處與風險并存
開源現(xiàn)在已是IT行業(yè)勢力龐大的一支生力軍,它免費、開放、可定制、受整個社區(qū)的監(jiān)督。鑒于開源在IT界的地位和影響力,任何關于其價值的大討論已經沒有必要。當源代碼向全世界開放,你將會被多雙眼睛檢查同一配置
開源現(xiàn)在已是IT行業(yè)勢力龐大的一支生力軍,它免費、開放、可定制、受整個社區(qū)的監(jiān)督。鑒于開源在IT界的地位和影響力,任何關于其價值的大討論已經沒有必要。
“當源代碼向全世界開放,你將會被多雙眼睛檢查同一配置。因而,一旦發(fā)現(xiàn)問題,代碼擁有者也可以更快地進行修復。”
好處與風險
但另一方面,這些好處卻也是風險的來源。一些安全和法律界專家,盡管總體上認可開源的好處,卻依然不斷地警告各類組織和個人:開源并不完美,也許并不適合所有人。
開源的優(yōu)點同時也是風險的根源。很明顯,如果代碼里的漏洞每個人都可見,那么罪犯也可以看到。而且即使百萬雙眼睛盯著開源代碼也并不能保證每個漏洞都能被發(fā)現(xiàn)并補上。
“有種說法稱開源軟件由于其開放性和‘有百萬雙眼睛檢查源代碼’而天生更安全。這種說法已經被諸如心臟滴血和其他一些漏洞徹底打臉。”(Accuvant解決方案研究主管拉法爾·洛斯)
而KNOS項目共同創(chuàng)始人兼主要架構師凱文·邁克李維就略帶嘲諷地將開源稱之為“開傷”(Open Sores)。
“開源將源代碼公布,許多雙眼睛宣稱將檢查它,因而任何可能的不良代碼都逃不脫眾人之眼。然而,心臟滴血出現(xiàn)了。自2012年2月發(fā)布之日起,這段有問題的代碼就一直暴露在‘眾人之眼’前,但沒有任何一個人發(fā)現(xiàn)它,直到兩年之后,漏洞都被利用濫了才忽然醒悟。”
另一個例子是GNTTLS里的“Ghost”漏洞利用,漏洞可追溯到2005年,但直到去年才被發(fā)現(xiàn)。然后是,大名鼎鼎的Bash shell,同樣是公開源代碼,同樣是被眾人之眼監(jiān)督,而且歷史都可追溯到1989年,照樣潛藏了破殼(Shellshock)漏洞。這是因為百萬雙眼睛并不意味著所有這些眼睛都有發(fā)現(xiàn)漏洞的能力。
首先,開源社區(qū)檢查過的代碼根本談不上認證。再者代碼開放給所有人,并不意味著大家都能理解代碼實際上干了什么,或者,干錯了什么。最后,即使漏洞被發(fā)現(xiàn),補丁已公布,也不能保證受影響的每臺設備每個系統(tǒng)都會打上補丁。
有兩個最近的開源風險的例子,Park’n Fly和OneStopParking.com就因為Joomla內容管理平臺中的開源安全漏洞而遭受攻擊。而且,在攻擊發(fā)生前就已經發(fā)布了安全補丁,但很不幸,補丁并未被安裝。
忽略與遺忘
問題的存在很大程度上是因為開源往往由“兩個獨立的實體”支撐。以Linux為例,有“內核團隊”和“應用維護團隊”。雖然任何對Linux內核自身的改變依然需要經過Linux創(chuàng)造者林納斯·托瓦茲的首肯或由他信任的少數(shù)內核維護者之一批準,但是對維護Linux單個應用程序或軟件包(package)的其他眾多開源項目,他們卻毫無興趣。
這就引發(fā)了用戶領域的絕對無政府狀態(tài),當然也就對穩(wěn)定性和安全性毫無益處,因為根本沒人負責。
另一方面,商業(yè)應用中使用的開源組件也是一個巨大的問題,因為它們太容易被人遺忘。例如OpenSSL庫和它一系列重大漏洞被發(fā)現(xiàn)時所引發(fā)的問題。開源和商業(yè)軟件都迫切需要修復,但當OpenSSL用于商業(yè)應用程序時,很多終端用戶根本意識不到它在那里,所以不知道需要進行修復。雖然可能已經開發(fā)出補丁,還是需要有人來安裝補丁。而通常情況下,開源應用并沒有“自動更新”這種選項。
根據(jù)開發(fā)者和公司的需要定制或修改代碼是開源的好處之一,但這一好處同時也是雙刃劍,不知道什么時候就會被傷害。所有這些修改,會造成開源程序出現(xiàn)各種修改版。而很多這些修改的應用程序會重新發(fā)布供全世界享用。然后,問題來了:你到底用的是哪個版本呢?有時候你根本不知道。
這意味著,用戶或開發(fā)人員以為自己已經打了補丁,但實際上,他有可能僅僅是安裝了該應用的另一個版本,而這個版本很可能就是基于沒打補丁的代碼。漏洞依然存在。
正方與反方
好處:
·免費。
·用戶無需經過任何人同意便可修改代碼。
·百萬雙眼睛共同盯著,協(xié)作發(fā)現(xiàn)漏洞。
·任何人均可修復漏洞,無需告知廠商。
·通常與專有系統(tǒng)一樣安全,甚至更安全。
缺陷:
·漏洞一旦曝光,對罪犯和好人的可見性是一樣的。
·沒有特定的個人或實體負責修復漏洞。
·補丁即便推出,也沒有強制性要求必須安裝。
·被漏洞影響的受害者不會得到任何人的賠償。
·如果出現(xiàn)法律問題,比如侵害了第三方的知識產權,要找到另一方來負責非常困難。
·沒有特定的實體或個人負責保證開源軟件合規(guī)。
開放修改也意味著代碼可能遭到惡意修改,甚至被注入惡意軟件。或者,更糟糕的情況,從一開始惡意軟件就藏在其中。很不幸,這些情況并不是理論上的,實際例子已經發(fā)生。
開源社區(qū)人數(shù)眾多,但想找個人出來對法律或合規(guī)問題負責很難。根本沒人負責,出了問題,無人可告。
開源擁護者認為,開源社區(qū)比開發(fā)私有軟件的公司更靠得住。比如,如果開發(fā)專有系統(tǒng)的公司破產,使用這個系統(tǒng)的客戶怎么辦?而開源軟件有自己的生命周期,不屬于任何一家實體。因此可以說,其支撐網(wǎng)絡和穩(wěn)定基礎總是存在的,開源社區(qū)就是開源軟件的穩(wěn)定性之源。
那么,用戶有沒有可能既享用開源的好處又免受開源之害呢?
可信與審查
公司應當像對待其他閉源軟件一樣對待開源軟件。
首先需要知道來源,保證來源可信,并且從其他可信源收集軟件的可用更新也是必須的。
即使來源是可靠的,還需要有適當?shù)氖芸氐倪^程和程序來審查軟件,審查通過之后才可以在企業(yè)內部進行部署。
最后,還需要部署程序來管理和監(jiān)控進入企業(yè)系統(tǒng)的軟件,包括確保企業(yè)了解漏洞和可用補丁的情況,最重要的是,確保補丁得到安裝。
責任編輯:大云網(wǎng)
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
發(fā)電電力輔助服務營銷決策模型
2019-06-24電力輔助服務營銷 -
繞過安卓SSL驗證證書的四種方式
-
網(wǎng)絡何以可能
2017-02-24網(wǎng)絡