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