根據近日發佈的一項調查結果顯示,那些制定瞭開源軟件(OSS)安全策略的企業,往往在自我評估就緒程度方面有更好的表現,而且他們通常都有自己專門的團隊負責推動軟件安全性。

本周二,軟件安全公司Snyk和Linux Foundation公佈瞭一項調查結果,發現那些制定瞭開源軟件安全策略的企業中,10傢有7傢認為他們的應用開發是高度安全的、或者有一定安全性的。相比之下,那些尚未制定安全策略的企業中,隻有45%認為自己是有某種程度的安全性的。

Snyk公司開發者關系總監Matt Jarvis表示,開源軟件對應用開發有很大的好處,但企業也必須認識到開源軟件的缺點並為此做好準備。

他說:“雖然開源是創新和構建高質量軟件的一種經過驗證的機制,但取得成功的同時也成為瞭自身的犧牲品,因為開源軟件無處不在導致它成為瞭供應鏈攻擊的一大目標。企業需要加深對開源工作機制的理解,包括治理和代碼,並通過采用開發者優先的安全工具和方法,來加強他們的供應鏈管理。”

規模較小的企業在開源軟件安全策略方面有所落後

總體來看,隻有大約一半的企業制定瞭開源安全策略來指導開發者使用各種組件和框架,而更多的小公司(60%)要麼沒有相關策略,要麼根本不知道自己是否有策略。

報告指出,對於初創公司和小型公司來說,他們從經濟性的角度考慮往往會降低制定安全策略的優先級。

報告指出:“小型組織的IT人員和預算很少,業務的功能需求往往優先考慮的,這樣業務才能保持競爭力。缺乏資源和時間,是組織沒有解決開源軟件安全最佳實踐的主要原因。”

來源:《Addressing Cybersecurity Challenges in Open Source Software》報告

研究表明,對不同的編程語言也要有不同的安全考量,例如用.NET編寫的應用修復缺陷的平均時間最長,為148天,其次是JavaScript的49天。

JavaScript依賴項眾多導致的問題

JavaScript應用的依賴項最多,根據Snyk的數據,每個項目平均有174個——大約是依賴項最少的Python語言的7倍,後者平均每個項目有25個。

Jarvis說,雖然大型傳遞依賴樹可能會導致修復漏洞路徑迂回,但如果組織有辦法跟蹤不同項目之間的關系,那麼依賴性高並不一定是個劣勢。

“與其他生態系統相比,JavaScript包的范圍往往更小,因此雖然數量更多,但用於審計潛在缺陷的代碼可能更少。最重要的問題是,你要瞭解你正在使用哪些依賴項,特別是作為依賴項的依賴項引入的傳遞性依賴項,這就要使用適當的安全工具來對這些項進行掃描。”

然而數據還表明,不同的語言的缺陷程度也有所不同,例如用Java編寫的項目平均有超過47個高危漏洞和28個中危漏洞,遠高於排名第二的JavaScript,後者平均有18個和21個漏洞,Python平均有20個。

“在數據中,有很多因素在起作用,例如項目的復雜性、開發人員的數量和受歡迎程度,這些都會對漏洞的數量和類型產生影響。那些備受開發者歡迎的項目,可能漏洞就更多一些。”

自動化=安全成熟度

根據調查結果顯示,盡管發現依賴項中的漏洞很重要,但大多數安全成熟度比較高的企業(也就是那些制定瞭開源軟件安全策略的企業)主要依賴於行業漏洞咨詢(60%)、自動監控包中錯誤(60%)、來自包維護者的通知(49%) )。

自動化監控可以說是那些安全成熟度高的企業和那些沒有策略的企業之間一個最顯著的差距,那些沒有策略的企業中,隻有38%使用某種自動監控,而安全成熟度高的企業這一比例達到瞭60%。

Jarvis說,如果企業沒有制定開源軟件安全策略,那麼他們現在就應該著手瞭,可作為加強其開發安全性的一種方式,即使是輕量級的策略也是一個很好的開始。

他說:“制定策略和表達意向之間是存在相關性的,我們認為,制定策略是安全成熟度一個合理的起點,因為這說明,企業組織已經意識到這些潛在問題,並且已經開始著手瞭。”