根據(jù)近日發(fā)布的一項(xiàng)調(diào)查結(jié)果顯示,那些制定了開(kāi)源軟件(OSS)安全策略的企業(yè),往往在自我評(píng)估就緒程度方面有更好的表現(xiàn),而且他們通常都有自己專門的團(tuán)隊(duì)負(fù)責(zé)推動(dòng)軟件安全性。
本周二,軟件安全公司Snyk和Linux Foundation公布了一項(xiàng)調(diào)查結(jié)果,發(fā)現(xiàn)那些制定了開(kāi)源軟件安全策略的企業(yè)中,10家有7家認(rèn)為他們的應(yīng)用開(kāi)發(fā)是高度安全的、或者有一定安全性的。相比之下,那些尚未制定安全策略的企業(yè)中,只有45%認(rèn)為自己是有某種程度的安全性的。
Snyk公司開(kāi)發(fā)者關(guān)系總監(jiān)Matt Jarvis表示,開(kāi)源軟件對(duì)應(yīng)用開(kāi)發(fā)有很大的好處,但企業(yè)也必須認(rèn)識(shí)到開(kāi)源軟件的缺點(diǎn)并為此做好準(zhǔn)備。
他說(shuō):“雖然開(kāi)源是創(chuàng)新和構(gòu)建高質(zhì)量軟件的一種經(jīng)過(guò)驗(yàn)證的機(jī)制,但取得成功的同時(shí)也成為了自身的犧牲品,因?yàn)殚_(kāi)源軟件無(wú)處不在導(dǎo)致它成為了供應(yīng)鏈攻擊的一大目標(biāo)。企業(yè)需要加深對(duì)開(kāi)源工作機(jī)制的理解,包括治理和代碼,并通過(guò)采用開(kāi)發(fā)者優(yōu)先的安全工具和方法,來(lái)加強(qiáng)他們的供應(yīng)鏈管理!
規(guī)模較小的企業(yè)在開(kāi)源軟件安全策略方面有所落后
總體來(lái)看,只有大約一半的企業(yè)制定了開(kāi)源安全策略來(lái)指導(dǎo)開(kāi)發(fā)者使用各種組件和框架,而更多的小公司(60%)要么沒(méi)有相關(guān)策略,要么根本不知道自己是否有策略。
報(bào)告指出,對(duì)于初創(chuàng)公司和小型公司來(lái)說(shuō),他們從經(jīng)濟(jì)性的角度考慮往往會(huì)降低制定安全策略的優(yōu)先級(jí)。
報(bào)告指出:“小型組織的IT人員和預(yù)算很少,業(yè)務(wù)的功能需求往往優(yōu)先考慮的,這樣業(yè)務(wù)才能保持競(jìng)爭(zhēng)力。缺乏資源和時(shí)間,是組織沒(méi)有解決開(kāi)源軟件安全最佳實(shí)踐的主要原因!
研究表明,對(duì)不同的編程語(yǔ)言也要有不同的安全考量,例如用.NET編寫(xiě)的應(yīng)用修復(fù)缺陷的平均時(shí)間最長(zhǎng),為148天,其次是java script的49天。
java script依賴項(xiàng)眾多導(dǎo)致的問(wèn)題
java script應(yīng)用的依賴項(xiàng)最多,根據(jù)Snyk的數(shù)據(jù),每個(gè)項(xiàng)目平均有174個(gè)——大約是依賴項(xiàng)最少的Python語(yǔ)言的7倍,后者平均每個(gè)項(xiàng)目有25個(gè)。
Jarvis說(shuō),雖然大型傳遞依賴樹(shù)可能會(huì)導(dǎo)致修復(fù)漏洞路徑迂回,但如果組織有辦法跟蹤不同項(xiàng)目之間的關(guān)系,那么依賴性高并不一定是個(gè)劣勢(shì)。
“與其他生態(tài)系統(tǒng)相比,java script包的范圍往往更小,因此雖然數(shù)量更多,但用于審計(jì)潛在缺陷的代碼可能更少。最重要的問(wèn)題是,你要了解你正在使用哪些依賴項(xiàng),特別是作為依賴項(xiàng)的依賴項(xiàng)引入的傳遞性依賴項(xiàng),這就要使用適當(dāng)?shù)陌踩ぞ邅?lái)對(duì)這些項(xiàng)進(jìn)行掃描!
然而數(shù)據(jù)還表明,不同的語(yǔ)言的缺陷程度也有所不同,例如用Java編寫(xiě)的項(xiàng)目平均有超過(guò)47個(gè)高危漏洞和28個(gè)中危漏洞,遠(yuǎn)高于排名第二的java script,后者平均有18個(gè)和21個(gè)漏洞,Python平均有20個(gè)。
“在數(shù)據(jù)中,有很多因素在起作用,例如項(xiàng)目的復(fù)雜性、開(kāi)發(fā)人員的數(shù)量和受歡迎程度,這些都會(huì)對(duì)漏洞的數(shù)量和類型產(chǎn)生影響。那些備受開(kāi)發(fā)者歡迎的項(xiàng)目,可能漏洞就更多一些!
自動(dòng)化=安全成熟度
根據(jù)調(diào)查結(jié)果顯示,盡管發(fā)現(xiàn)依賴項(xiàng)中的漏洞很重要,但大多數(shù)安全成熟度比較高的企業(yè)(也就是那些制定了開(kāi)源軟件安全策略的企業(yè))主要依賴于行業(yè)漏洞咨詢(60%)、自動(dòng)監(jiān)控包中錯(cuò)誤(60%)、來(lái)自包維護(hù)者的通知(49%) )。
自動(dòng)化監(jiān)控可以說(shuō)是那些安全成熟度高的企業(yè)和那些沒(méi)有策略的企業(yè)之間一個(gè)最顯著的差距,那些沒(méi)有策略的企業(yè)中,只有38%使用某種自動(dòng)監(jiān)控,而安全成熟度高的企業(yè)這一比例達(dá)到了60%。
Jarvis說(shuō),如果企業(yè)沒(méi)有制定開(kāi)源軟件安全策略,那么他們現(xiàn)在就應(yīng)該著手了,可作為加強(qiáng)其開(kāi)發(fā)安全性的一種方式,即使是輕量級(jí)的策略也是一個(gè)很好的開(kāi)始。
他說(shuō):“制定策略和表達(dá)意向之間是存在相關(guān)性的,我們認(rèn)為,制定策略是安全成熟度一個(gè)合理的起點(diǎn),因?yàn)檫@說(shuō)明,企業(yè)組織已經(jīng)意識(shí)到這些潛在問(wèn)題,并且已經(jīng)開(kāi)始著手了!