
如今,根據(jù)調(diào)研機(jī)構(gòu)Forrester公司發(fā)布的數(shù)據(jù),50%以上的財(cái)富500強(qiáng)公司在他們的開發(fā)項(xiàng)目中使用開源軟件。到目前為止,開源的價(jià)值在大多數(shù)企業(yè)中都得到了很好的理解:它加快了應(yīng)用程序的開發(fā),允許企業(yè)在免費(fèi)代碼的基礎(chǔ)上更快地創(chuàng)建和改進(jìn)應(yīng)用程序。
然而,開源是免費(fèi)的,最初的獲取成本為零,但隨著時(shí)間的推移,保持其安全性和良好維護(hù)的成本通常是巨大的。更重要的是,不有效管理開源供應(yīng)鏈的影響可能是嚴(yán)重的。
例如,美國政府的一個(gè)部門機(jī)構(gòu)最近報(bào)告說,它投入了33,000小時(shí)來修復(fù)最近的Log4Shell漏洞,僅該機(jī)構(gòu)的工程時(shí)間就至少為400萬美元。
在Equifax公司未能更新易受攻擊的ApacheStruts軟件包版本,導(dǎo)致數(shù)百萬消費(fèi)者數(shù)據(jù)記錄暴露后,他們?yōu)榇速r償了7億美元,以解決美國聯(lián)邦貿(mào)易委員會(huì)、消費(fèi)者金融保護(hù)局和所有50個(gè)州的訴訟。
難怪當(dāng)今天的商業(yè)領(lǐng)袖看到這樣的例子時(shí),擁有一個(gè)健全的開源供應(yīng)鏈管理戰(zhàn)略的重要性變得清晰起來。
IDC公司的DevOps和DevSecOps解決方案副總裁JimMercer建議企業(yè)積極地建立一個(gè)管理開源的計(jì)劃,這樣他們就可以保持安全,同時(shí)最大限度地利用開源的好處:
他說,“由于不斷變化的威脅環(huán)境,企業(yè)需要一個(gè)計(jì)劃來管理他們OSS供應(yīng)鏈的健康和安全。戰(zhàn)略必須在技術(shù)和業(yè)務(wù)利益相關(guān)者之間社會(huì)化,以獲得支持,并且應(yīng)該包括OSS消費(fèi)的企業(yè)指南,OSS社區(qū)的參與,以及安全盡職調(diào)查的標(biāo)準(zhǔn)。”
有效的開源供應(yīng)鏈管理計(jì)劃必須解決內(nèi)部安全和維護(hù)挑戰(zhàn)以及外部軟件供應(yīng)鏈彈性挑戰(zhàn)。
解決內(nèi)部開源安全和維護(hù)挑戰(zhàn)
許多企業(yè)已經(jīng)認(rèn)識(shí)到保持他們使用的開源組件的安全和更新所面臨的挑戰(zhàn)。為了解決這些問題,企業(yè)應(yīng)該有一個(gè)適當(dāng)?shù)挠?jì)劃來全面回答下面這些問題,然后在整個(gè)企業(yè)中廣泛地社會(huì)化答案。其中許多問題對(duì)于單個(gè)開發(fā)人員來說是極其難以自己回答的。
企業(yè)如何決定誰負(fù)責(zé)確保開源組件的安全和最新,誰負(fù)責(zé)修復(fù)?
企業(yè)是否有適當(dāng)?shù)南到y(tǒng)來確定哪些組件被批準(zhǔn)使用,開發(fā)人員如何找到這些答案?
如果開發(fā)人員想引入一個(gè)尚未批準(zhǔn)使用的組件,他們該如何做,誰需要參與?
誰來評(píng)估被引入組件的安全和維護(hù)實(shí)踐,以確保它們符合企業(yè)自己的標(biāo)準(zhǔn)?企業(yè)中誰制定和維護(hù)這些標(biāo)準(zhǔn)?
值得慶幸的是,現(xiàn)在已經(jīng)出現(xiàn)了解決這類問題的行業(yè)最佳實(shí)踐。企業(yè)創(chuàng)建一個(gè)經(jīng)過審查和批準(zhǔn)的組件目錄,供整個(gè)企業(yè)的開發(fā)人員使用并集中管理。隨著時(shí)間的推移,隨著越來越多的組件被批準(zhǔn),這個(gè)目錄的大小可以繼續(xù)增加,使開發(fā)人員可以訪問越來越多的組件,而不必自己去研究。這使得開發(fā)人員的工作效率更高,并降低了企業(yè)風(fēng)險(xiǎn)。
應(yīng)對(duì)供應(yīng)鏈彈性挑戰(zhàn)
雖然管理開放源碼的內(nèi)部安全和維護(hù)挑戰(zhàn)已經(jīng)有了很好的記錄,但開放源碼的一個(gè)不太引人注意但更有害的問題是對(duì)上游開放源碼組件本身的健康和安全的威脅越來越大。
Log4Shell就是一個(gè)很好的例子,美國政府網(wǎng)絡(luò)安全審查委員會(huì)(CSRB)在一份報(bào)告中強(qiáng)調(diào)了這一點(diǎn),該委員會(huì)指出,開源社區(qū)目前還不夠強(qiáng)大,無法確保代碼符合企業(yè)標(biāo)準(zhǔn)和政府指南。
但實(shí)際上,當(dāng)志愿者維護(hù)大多數(shù)開源組件時(shí),企業(yè)應(yīng)該問一個(gè)關(guān)鍵問題:誰來承擔(dān)驗(yàn)證開源包是否符合這些標(biāo)準(zhǔn)的工作?
顯而易見的答案是,維護(hù)者將是做這項(xiàng)工作的人,但是期望他們“出于善意”承擔(dān)額外的責(zé)任,并且沒有過程和工具支持,這是不應(yīng)該被假定的,并且對(duì)任何企業(yè)都是危險(xiǎn)的。
積極應(yīng)對(duì)安全和維護(hù)以及供應(yīng)鏈彈性挑戰(zhàn)
在任何企業(yè)的開源管理計(jì)劃中,積極主動(dòng)地與他們大規(guī)模使用的開源項(xiàng)目的維護(hù)者進(jìn)行接觸,并提供直接的財(cái)務(wù)激勵(lì),這應(yīng)該是一個(gè)關(guān)鍵部分。開源維護(hù)者擁有保護(hù)其項(xiàng)目的知識(shí)和權(quán)限。確保從其工作中受益的企業(yè)得到公平的報(bào)酬是最符合其利益的。
與此同時(shí),應(yīng)用程序開發(fā)領(lǐng)導(dǎo)者應(yīng)該確定能夠幫助他們理解開源軟件供應(yīng)鏈安全的新興行業(yè)標(biāo)準(zhǔn)的工具,并根據(jù)這些標(biāo)準(zhǔn)主動(dòng)評(píng)估開源包,同時(shí)隨著時(shí)間的推移構(gòu)建一個(gè)不斷增長的預(yù)先審查和批準(zhǔn)的開源組件目錄。
開源在大多數(shù)企業(yè)中的使用將不可避免地繼續(xù)增加,像Log4Shell這樣的軟件供應(yīng)鏈攻擊將變得更加頻繁。在這種背景下,所有使用開源的企業(yè)都應(yīng)該評(píng)估他們是否有一個(gè)合理的開源軟件供應(yīng)鏈管理策略,以解決使用開源帶來的安全、維護(hù)和彈性挑戰(zhàn)。