開源軟體好處多,但安全問題依舊頭疼!
本文共2222字,建議閱讀時間4分鐘
今年的Equifax泄露事件給我們敲響了警鐘,開源軟體和組件雖然有很多好處,但卻給企業安全帶來了巨大的風險,特別是在維護不當的情況下。
所有縱向行業各種規模的企業現在都在使用開源軟體。有開源操作系統、生產效率軟體、管理員和開發人員的工具,以及企業用來開發自己的軟體的代碼庫。甚至商業軟體通常也是在開源代碼的基礎上開發的。
Kudelski安全公司的首席技術官Andrew Howard表示:「我看到開源軟體在企業中的應用越來越廣泛。隨著企業轉向敏捷方法,開源變得更有價值,並且有很多可供使用的工具。您可以注意一下剛剛進入市場的軟體開發新手,他們經過培訓,非常適應開源技術。」
開源代碼的安全優勢
Howard說,開發人員非常依賴於開源軟體,尤其願意採用有大規模團隊進行維護的大型開源項目。此外,還可以通過很多相關方來保證安全。他說:「這是使用開源軟體的主要優勢,而不僅僅是為了降低成本。理論上有更多的相關方關注它。」儘管他補充說,這不適用於小項目或者代碼庫,「有些軟體還沒有相關的社區。」
開源軟體的另一個安全優勢是,如果有問題,企業可以立即打開它並進行修改。Synopsys公司的開源解決方案經理Mel Llaguno說:「如果代碼是根據專有協議授權的,那企業通常必須等待供應商的回應。」
為什麼開源軟體會帶來安全威脅?
Synopsys管理的Coverity是一項免費服務,用於掃描開源軟體的漏洞。Llaguno說:「總體上,開源軟體的質量一直在穩步提高。我們的掃描項目涉及到大約7.5億行開源代碼,發現了110萬個漏洞——並且已經解決了65萬個漏洞。」他補充說,很多項目,尤其一些小項目,都不會掃描它們的代碼以發現潛在的安全漏洞。
例如,Black Duck軟體公司跟蹤了55萬多個項目中的100多億行開源代碼。而且這還不是全部。Linux基金會報告說,已經有310億行代碼被提交給了開源代碼庫。
誰在使用所有這些開源代碼?所有人。根據最新的Black Duck報告,目前96%的商業應用軟體中都有開源組件。應用程序平均有147個不同的開源組件,67%的應用程序使用了含有已知漏洞的組件。
美國政府資助了公共漏洞枚舉(CVE)名錄和國家漏洞資料庫。2017年,CVE名錄中新增了8千多個漏洞,創歷史新高。
那麼,為什麼企業要使用開源軟體呢?Synopsys公司的Black Duck安全策略師Mike Pittenger指出:「在一般的應用軟體中,三分之一以上的代碼都是開源的。如果想替換這些三分之一的代碼庫,那麼您將不得不增加開發團隊的人手,開發時間會延長50%——在當今的環境下,我認為這不是可行的選擇。」
以倫敦的Skyscanner有限公司為例,該公司生產旅行搜索引擎。公司習慣於在.NET這樣的私有封閉的平台上運行。Skyscanner的安全工程師Alex Harriss說,過去幾年中,公司轉向採用各種開發語言和技術,包括開源。他說:「這意味著我們的工程師現在可以參考多種開源庫,幾分鐘內就能夠部署好代碼。」
Harriss說,但這也帶來了安全難題。他說:「我認為事實上有一種錯誤的導向,即作為開源,社區已經對這些庫進行了安全漏洞檢查。實際情況並非總是如此。」
他說,很多文件齊全的庫中都存在著已知的漏洞。由於工程師只需從這些庫中提取代碼並進行部署,因此這就帶來了可見性問題。他說:「我們根本不清楚我們產品有多大的依賴性。」
需要對開源軟體安全進行詳細的盡職調查
並非Skyscanner一家是這樣。據最新的Veracode報告,只有28%的企業進行定期分析,找出哪些組件被構建到了他們的應用程序中。隨著開源代碼使用的越來越多,風險面也在擴大。
在開源代碼中不斷發現新的漏洞,很多項目還沒有發現和修復問題的機制。據Snyk最近對開源代碼維護人員的調查,44%的受訪者從未進行過安全審計,只有17%的受訪者說他們有高水平的安全技能。
也沒有標準的方法來記錄開源項目的安全性。在GitHub上的40萬個公共代碼庫中,只有2.4%有安全文檔。
那麼,如果修復了問題,常常無法找到並通知老代碼的所有用戶。Black Duck的Pittenger說:「開源社區並不知道誰在使用他們的組件。」
據Snyk調查,88%的開源代碼維護人員在發布聲明中添加了與安全相關的聲明,34%的維護人員不贊成使用不安全的老版本。25%的維護人員表示,他們根本沒有精力來通知用戶有漏洞,只有10%的維護人員向CVE提交了文件。
Snyk有限公司的首席執行官和聯合創始人Guy Podjarny指出,很多人並不知道CVE過程是怎樣工作的,或者沒有時間去了解它。他說:「例如,在JavaScript中,我們跟蹤的漏洞中只有13%的漏洞有一個CVE編碼。其餘的則只是被記錄為缺陷。」
Snyk的安全研究部門通過查找發布聲明以及GitHub和Apache問題跟蹤系統中的線索,來尋找開源庫安全問題的跡象。研究結果發布在漏洞資料庫中,並且可能的話,Snyk也會將其提交給CVE名錄。
然而,要獲得CVE是一個比較複雜的過程,需要委員會同意提供詳細的CVE,還需要與項目所有者達成協議。Podjarny說:「目前這種方法的運作方式還形不成規模。」
最後,如果發現並修補了漏洞,並且公布了補丁,那麼使用這些代碼的企業也不一定知道自己是不是有漏洞,或者難以找到所有實例中的漏洞。例如,今年影響很大的Equifax泄露事件涉及到Apache Struts開源軟體的一個漏洞。在泄露事件發生幾個月之前就發布了補丁,Equifax雖然知道補丁,但仍然沒有及時打上補丁。
另一個問題是,有些公司還在運行老版本的代碼,由於兼容性問題、合規或者其他原因,無法遷移到最新版本。據Snyk,只有16%的漏洞補丁能後嚮應用於其他版本。
發現並修復
在理想情況下,一旦有了安全補丁,應用程序能夠在不需要任何干預的情況下立即更新安全補丁。然而,在實踐中,並非總是如此。
相反,企業需要有一種方法,找到其環境中的所有源代碼實例,不斷更新列表,幫助開發人員避免使用老的、不安全的庫,最終在發現新漏洞後及時打上補丁。
Skyscanner的Harriss說:「只有當您知道漏洞在哪裡時,才能從自己的產品中去除漏洞庫,而且在產品生命周期中,這項工作做得越早,成本就越低,也越容易。」
很多公司轉向Snyk、Black Duck和Veracode這樣的供應商以尋求幫助。Skyscanner也是這樣做的。Harriss說:「Snyk讓我們看到在哪些項目中使用了哪些補丁包,這些項目有哪些漏洞,是怎樣引入到我們代碼中的。」此外,開發人員在編寫代碼時,Snyk會立即向他們提示哪裡有漏洞,這樣便可在代碼投產之前解決這些問題。
因為很難追蹤正在使用的所有代碼,因此把開源漏洞掃描功能集成到開發過程中對大型企業尤其重要。Veracode研究副總裁Chris Eng說:「和我們打交道的大多數公司都不知道他們所擁有的全部應用程序,這有點嚇人。」
當Veracode進行漏洞掃描時,公司會上傳二進位代碼,Veracode會參照國家漏洞資料庫進行檢查。為幫助公司發現哪些應用程序可能存在問題,Veracode還可以掃描公司的周界。Eng說:「不是要找到漏洞還沒有被暴露的內部應用程序,而是那些由於發現了漏洞從而能降低風險的應用程序。」
他還補充說,企業還可以使用一些網路工具來了解內部運行情況,但如果網路是分段的,則可能會出現盲點。公司還可以在端點設備上安裝代理來跟蹤運行情況。Eng說:「如果不在所有的設備上都安裝代理,可能還會有盲點。沒有萬能的方法,這就是為什麼這個問題非常棘手的原因。」
對於Equifax來說,這肯定也是一個難題去年十月份,前首席執行官Richard Smith告訴國會,該公司的信息安全部門進行了掃描,尋找導致最終泄露事件的Apache Struts漏洞。他說,掃描「沒有發現任何版本的Apache Struts受到這個漏洞的影響,這個漏洞在Equifax網路應用程序中存留的時間比預期要長得多。」
Black Duck的Pittenger說:「必須確保這一工具能夠掃描到環境中的所有伺服器。」即使掃描是全面的,準確的,也會給企業帶來大量的管理開銷。如果開發過程中沒有內置安全檢查功能,那麼必須持續進行這類掃描,分別檢查而且還要不斷檢查應用程序是否有漏洞。
開發人員不僅會在更新應用程序時引入新的漏洞庫,而且還會在以前認為安全的老庫中發現新漏洞。Eng說:「軟體不像酒那樣越老越香。而是像牛奶一樣會變質。」
Eng說,開發人員很少回頭去檢查他們在舊項目中使用的庫。他說:「我下載當前的最新版本,把它集成到我的應用程序中,就再也不去想它了。」
Black Duck這個月以5億美元收購了Synopsys公司,充分說明了這一問題目前有多重要。Denim集團負責人John Dickson對如此大手筆的交易感到驚訝,他說:「我敢說,這是由市場決定的。我原以為這非常熱門,沒想到是如此的熱門。此次收購真的是無人不知。」
作者 Maria Korolov ,Maria Korolov過去20年一直涉足新興技術和新興市場。
編譯 楊勇
原文網址: http://www.csoonline.com/article/3157377/application-development/report-attacks-based-on-open-source-vulnerabilities-will-rise-20-percent-this-year.html
計 算 機 世 界
CHINA COMPUTERWORLD
關 於 IT 產 業 和 產 業 IT 的 一 切
※萬物互聯:人工智慧、區塊鏈、無人駕駛,一個都不能少!
※區塊鏈這麼火,你知道怎麼應用嗎?
TAG:計算機世界報 |