已發現的開源漏洞數量急劇飆升,截止到2017年,已有將近3,500個漏洞。
根據我們從NVD、安全專家、業內漏洞審核數據庫以及流行的開源問題追蹤器收集到的數據表明,2017年發現的開源軟件漏洞數量比2016年增長了50%以上。而且我們發現2018年這個數字還有繼續上揚的趨勢。
造成這一局面的原因可以歸結為,隨著開源組件的廣泛采用,軟件開發社區開始關注開源安全;同時公開數據的泄露也讓開發社區提高了安全漏洞的意識。
2017年開源軟件漏洞數量增長了51.2%
在調查中,我們采訪了來自美國和西歐的650名開發人員,向他們征詢有關實踐以及使用開源時遇到的問題。
調查顯示,只有極少數開發人員由于公司的政策等問題而沒有采用開源組件。而使用開源的開發人員則形成了對開源的依賴。
96.8%的開發人員依賴于開源組件,因此他們受到了最近已知漏洞數量增加的嚴重影響。
開源組件的使用頻率
由于大多數已發現的開源軟件漏洞皆存在于為數不多的幾個項目中——最受歡迎的項目,因此這種風險更加嚴重。
開源項目越受歡迎,社區規模越大,就越會吸引安全研究人員的“眼球”。隨著越來越多貢獻者的關注,每個月都會有人發現并公布更多安全與質量的問題。
根據我們的調查,7.5%的開源項目都很脆弱。在排名前100的最受歡迎項目中,32%都存在脆弱性。
雖然一個漏洞就足以讓多個庫面臨風險,但平均每個易受攻擊的開源項目中包含8個漏洞。
已知開源漏洞數量最多的十大開源項目中包含了我們熟悉的項目,也是我們的許多產品所依賴的項目。
這些項目中的大多數都是面向互聯網前端的組件,而且有大量暴露在外可被攻擊的方面,因此它們相對容易被利用和吸引大量關注,這絕非巧合。
另外,有趣的是這些項目中的大多數背后都有商業公司的支持。請注意,大量的漏洞報告通常意味著社區在積極地維護該項目,并不代表該項目的安全標準差。
漏洞數量最多的十大開源項目
在下列最易受攻擊的語言列表中,C/C++遙遙領先,占所有漏洞報告的41%。JavaScript是最常用的編程語言之一,但它僅占第4位,僅有7%的漏洞。
漏洞數量最多的七大編程語言
但是,這并不是一件壞事。
安全意識的提高也會促進社區提供建議修復,通常他們會在幾天內發布修復。
開源社區為97.4%的漏洞報告提供了至少一項建議修復程序。
然而,雖然開源社區在保護開源項目方面付出了艱辛的勞動,但用戶無法從他們的努力中充分受益。
問題在于,有關漏洞的信息并不會在一個位置集中發布,這些信息往往分散在數百個資源中,而且通常都沒有索引,因此很難搜索。
對于檢測開源組件已知漏洞的開發人員來說,這將是一項長期的挑戰。
?
在修復開源漏洞方面開發人員的效率很低
?
開發人員花費大量時間來解決開源漏洞,但由于缺乏標準實踐和以開發人員為中心的工具,因此他們的效率非常低下。
開發人員并沒有忽視開源漏洞的增加。我們的調查清楚地表明,開發人員已將開源安全漏洞視為使用開源的首要難題。
26%的開發人員認為安全漏洞是開源組件面臨的最大挑戰。開源軟件漏洞的緊急度高于集成、功能、許可和選擇。特別是,一些大型的組織更為關注開源的安全性。
使用開源組件時面臨的最大挑戰
我們已經在這個問題上付出了沉重的代價,開發人員每個月都要花費將近15個小時來處理開源漏洞(例如審查、討論、報告和修補)。
每個月處理開源漏洞的時間
如果我們讓經驗豐富的開發人員負責修復開源漏洞,那么這個成本會更高。
不同級別的開發人員處理開源漏洞的時間
我們的調查還顯示,在開發人員每月花費在解決開源安全漏洞的15個小時中,實際上只有3.8個小時在修復漏洞。
當詢問開發人員在發現漏洞后應該怎么做時,他們沒有提供明確的答案,這表明他們缺乏標準的實踐方法。
由于在處理新發現的漏洞時缺乏固定的方法,所以導致他們在解決開源漏洞時的效率非常低下。
如果發現漏洞,你應該怎么做?
?
優先級策略是管理開源漏洞的關鍵
?
開源漏洞的優先級策略對于確保公司按時解決最緊迫的問題至關重要。
考慮到安全團隊每天都會收到警報,安全漏洞的低效補救措施已經成為了一個主要問題。
業內頂級專家一致認為,嘗試解決每個問題是不現實的,優先級劃分才是高效管理開源漏洞的關鍵。
絕對安全是不可能的。零風險也是不可能的。開發安全運營團隊必須針對持續的風險建立信得過的評估系統,并劃分應用程序漏洞的優先級。努力去除應用程序中所有潛在的漏洞換來的只是徒勞無功,這會降低開發人員的工作速度,浪費時間去追逐不真實的問題(誤報),解決真實但沒有直接影響的漏洞,以及不會被用到的低風險漏洞。
——成功的開發安全運營團隊需要做好的十件事情, Neil MacDonald Gartner
調查結果顯示,開發人員普遍缺乏標準化的最佳實踐來確定開源漏洞的優先級。
結果還表明,開發人員在確立修復優先級時,通常都會參考現成的數據,例如應用程序的重要性或修復的實際效果。但是,開發人員劃分優先級時參考的數據不一定是正確的數據。
與黑客較量時,時間至關重要。特別是對于開源項目而言,因為它的漏洞數據是公開的。
因此,缺乏確定漏洞優先級的實踐將導致資源使用率的低下,還會讓開發人員將時間投入到“錯誤”的漏洞上。
開發人員普遍缺乏劃分開源漏洞優先級的標準實踐
事實上,開發人員應該根據漏洞對產品安全性的影響程度,來確定開源漏洞的優先級。
易受攻擊的功能不一定會導致項目易受攻擊,因為私有代碼不一定會調用易受攻擊的功能。
只有根據漏洞的有效性確定漏洞是否會構成實際的風險,才能為安全和開發團隊節省寶貴的時間。
在測試了2,000個Java應用程序之后,我們發現這些應用程序中檢測到的漏洞中,有72%是無效的。
分析有效漏洞和無效漏洞表明了根據有效性劃分優先級的重要性。數據表明,70%的開源漏洞警報都是無效漏洞。
根據我們調查中收集的數據,這相當于為每位開發人員每月節省10.5小時(每月15個小時*70%)。
采用優先級策略的組織可以更快地修復關鍵問題,從而節省寶貴的開發時間并提高產品的安全性。
?
有效使用率分析
?
可靠的開源漏洞修復優先級劃分,可以將安全警報降低70%-80%。
最近我們推出了一種新技術,可以根據應用程序使用的方式確定開源漏洞的優先級——有效使用率分析。
我們對來自12個組織的25個商業應用程序進行了beta測試,結果表明:
我們分析的所有項目都至少有一個開源漏洞。平均而言,每個項目包含8.2個易受攻擊的庫。
90%的漏洞(有效和無效)出現在傳遞依賴中,準確地追蹤開源庫之間的依賴對于安全至關重要。
84%的開源漏洞警報都是無效的,對產品的安全性沒有影響。
64%的項目僅包含無效的開源漏洞,因此不需要任何修復措施。
無效開源漏洞的數量表明,各個組織可以收回大部分投入到研究和修復開源漏洞的時間和精力。
由于有效使用率分析的技術可以將資源集中投入到需要即刻修復的有效漏洞上,因而可以幫助開發團隊節省時間。很多團隊領導和經理都證實了這項新技術:
根據開源漏洞對項目安全性產生的影響分類,并通過可視化的方式表示出來,這樣就可以輕松地確定開源漏洞的優先級。
通過識別專有代碼與開源漏洞中直接或間接調用的文件和代碼行號,我們可以幫助開發人員修復開源漏洞。
除了大幅減少了需要修復的漏洞外,還幫助開發人員節省了10%-20%的修復時間。
“這項新技術的最大優點在于,優先考慮哪些漏洞需要先修復。這種易于使用和擴展的技術可以幫助我們更輕松地解決產品中的漏洞。”
——IGT應用信息安全高級總監
原文:https://www.whitesourcesoftware.com/open-source-vulnerability-management-report/#hero_section
本文為 CSDN 翻譯,轉載請注明來源出處。
【END】
Python 成功登上C位,為什么逐漸與 Java 拉開差距?
https://edu.csdn.net/topic/python115?utm_source=csdn_bw
?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com