1. 程式人生 > 其它 >2021 年軟體安全報告:程式碼開源,福“禍”相依?

2021 年軟體安全報告:程式碼開源,福“禍”相依?

近期,一份來自安全測試公司的報告顯示,開源領域的應用安全情況整體有所好轉,但依然存在問題,包括開原始碼的漏洞被利用,以及第三方程式碼庫本身的風險。

上述發現出自 Veracode 釋出的《軟體安全報告(第12版)》,報告中所使用的數百萬不同型別的資料來自 Veracode 的服務端和客戶端,並對這些資料進行了靜態分析、動態分析、軟體組成分析和滲透測試。

一、開原始碼缺陷更少,漏洞修復更快

報告稱:「開源庫仍然是一個令人擔憂的安全因素」,這是一個長期存在,並持續至今的隱患,原因就在於開發者們的不良習慣。

大量開發者年復一年地使用同一個程式碼庫,事實和經驗證明,這會導致我們年復一年地遇到同樣的安全漏洞

儘管如此,報告仍然認為,第三方開原始碼庫有不少優點,存在的缺陷更少,且問題能得到更快的解決:

好的一面是,第三方程式碼造成的安全漏洞,在修復的及時性上有顯著改善。在 2017 年,一個安全漏洞從被發現,到 50 %的缺陷被解決的修復點,需要三年多的時間,現在只需要一年左右。

除此之外,報告還研究了安全漏洞的修復過程,並展望了安全應用的未來:「總體來說,應用安全情況有所好轉,漏洞的影響範圍整體也在下降。」

同時,Veracode 也指出,程式碼之間愈加緊密的連線,和分散式微服務的興起,使得應用安全性變得更復雜了:

「造成這一情況的原因,除了程式碼之間更緊密的關聯,還有競爭加劇和不斷創新帶來的影響」。為了加快進度,很多開發團隊轉向雲原生技術、微服務架構和程式碼開源來優化他們的工作流。此外,越來越多的開發團隊採用敏捷開發,並在開發過程中儘可能多地使用自動化。

雖然這種演變縮短了軟體開發生命週期,但同時也帶來了新的複雜性和風險。

二、越來越多人使用安全掃描

報告中,有一些資料值得我們關注:

  • 微服務:在 2018 年,大約有 20% 的應用包含多種語言。如今,只有不到 5% 的應用使用多種語言,更多的是小型的、單語言的應用或微服務。

  • 使用安全掃描的應用數量增加了兩倍:平均每季度掃描超過 17 個新應用程式,這個數字是十年的三倍多。

  • 更多組織使用多種型別的安全掃描:在 2018 至 2021 年期間,使用多種掃描型別的使用者增加了 31%,其中大部分增長來自使用全套靜態、動態和 SCA 掃描的組織。

  • 大多數開發人員年復一年地堅持使用相同的程式碼庫:開發人員堅持使用久經考驗的庫,很少願意嘗試選擇「最酷」或「最受歡迎」的庫來重構他們的程式碼庫。

三、敏捷開發「吞噬」世界

基於資料,Veracode 得出四個結論:

  1. 小型、模組化的敏捷開發已經「吞噬」世界。使用安全掃描的應用數量呈爆炸式增長;開發人員從每季度一次掃描他們的應用轉變為每天一次,並採用更多不同的掃描技術。

  2. 免費和開原始碼將繼續成為開發者的福音與隱患。第三方程式碼庫的使用趨勢並未發生巨大變化,有明顯缺陷的程式碼庫被更少的使用,這是非常積極的。

  3. 應用在緩慢朝更安全的方向發展。這是整個分析過程中最令人振奮的。雖然隨著時間的推移,某些安全漏洞的流行率有所增加,但趨勢總體是下降的。因為漏洞修復的能力和速度並不是必然增加,所以希望這種趨勢能持續下去,未來也將繼續保持光明。

  4. 新的掃描工具的出現將繼續改善應用安全環境。使用不同型別的安全掃描意味著開發者將更快、更完整地修復所有型別的缺陷。而將這些不同型別的掃描工具內建到整合管道和 IDE 中,會加速開發者的使用。

四、小結

在報告最後,Veracode 總結道:

安全漏洞像賬單一樣,隨著時間推移而不斷累積,儘早解決,就能減輕未來的工作量。使用多種型別的安全掃描——靜態、動態或軟體組合分析,可以更全面地瞭解應用的安全性,並有助於更快、更徹底地進行解決安全問題。■

英文連結:App Security Report: Open Source Code Still 'Blessing and a Curse' -- Virtualization Review

騰源會是騰訊雲成立的匯聚開源專案、開源愛好者、開源領導者的開放社群,致力於幫助開源專案健康成長、開源愛好者能交流協助、開源領導者能發揮領袖價值,讓全球開源生態變得更加繁榮。微信公眾號搜尋「騰源會」,第一時間獲取開源資訊與洞察。