雖然開源倉庫有助于節省時間,但也成為了網絡罪犯的主要目標。因為只需破壞開源庫中的一個軟件包,這些惡意攻擊者就能獲得多家企業的后門訪問權限,給全球數百萬開發者的工作帶來安全隱患。
在“生產競賽”中,速度絕不能以犧牲安全為代價。以下三大實用步驟能夠最大限度地降低軟件供應鏈中的風險:
1. 確保正在使用的開源庫得到正確掃描
2022 年,全球 1700 家企業遭受到軟件供應鏈攻擊,超 1000 萬人受到影響,其中幾乎所有攻擊都包含一些錯誤或惡意的開源代碼。正如下文中的數字所示一般。
相關行業研究顯示,僅僅在 1 月份,NPM 就新增了 95,000 個軟件包。除此之外,75 萬個新版本的現有軟件包也被更新到庫中。雖然這些庫毫無疑問希望確保代碼合法,但開源的本質意味著幾乎不可能進行驗證。因此,企業有責任確保這些軟件包可以安全地添加到其開發供應鏈中。業界曾用維基百科來比喻開源關系:雖然維基百科是很棒的免費資源,但使用它的個人有責任核實信息的準確性。
企業可以用可擴展的方式實現這種程度的審查,通過連接到開源倉庫并掃描與軟件包或更新版本相關的元數據,以了解其上下文,如它們是否與惡意攻擊或漏洞相關聯,或它們是何時創建的。通過回答此類問題,開發者可以在自己的生態系統中將代碼推進到下一階段的開發,并增強對代碼安全性的信心。
2. 開發一種“超越”左移的方法
左移模式對企業來說非常有幫助,因為可以盡可能地在入口點附近對開源組件進行檢查。相較于軟件開發的早期“狂野西部”時代(只有在最后階段才會對代碼進行檢查,一旦發現問題就不得不再次從頭開始),這一方法頗受歡迎。
隨著軟件開發不斷成熟,最重視軟件安全的企業將尋求一種超越左移的方法。
為此,可以在將組件引入集成開發環境之前檢查組件是否存在漏洞。具體而言,可以通過創建一個氣隙環境,根據企業特定需求定制的策略來檢查輸入的開源代碼,并在進入環境前便可過濾掉不符合標準的代碼。
3. 將安全措施集中于單一平臺
上述兩種方法將有助于以更具成本效益的方式管理軟件供應鏈中的潛在安全問題。 此外,使用專門針對這些領域的解決方案,能夠幫助把握可能在軟件開發周期后期出現的安全問題。
眾所周知,開源數據庫的流動性非常高,并且一直處于不斷變化之中。即使一個軟件包通過掃描和左移前的安全措施,仍無法百分之百保證其安全性。我們可以采用能夠理解此生命周期每個階段的解決方案,一旦發現惡意內容,企業可以在整個開發過程中的任何時間點采取適當的補救措施。
以安全為重的軟件供應鏈平臺可通過上述最佳實踐,幫助實現整個軟件構建與發布流程的自動化并確保其安全,從而助力開發者加快軟件交付速度,同時強化企業的安全態勢。
優先考慮軟件供應鏈安全
大多數軟件開發所依賴的開源生態系統將持續存在。這些庫的便利性和速度無與倫比,是現代開發團隊的必備資源。然而,由于一些環境的性質,使用它們的個人和企業有責任確保其安全可靠。
采用上述三大步驟,能夠持續推動開發工作流的創新和效率,并在企業中應用頂級安全實踐操作。