1. 程式人生 > 其它 >微軟宣佈 S2C2F 已被 OpenSSF 採用

微軟宣佈 S2C2F 已被 OpenSSF 採用

開源供應鏈安全對大多數 IT 領導者來說是個日益嚴峻的挑戰,圍繞確保開發人員在構建軟體時如何使用和管理開源軟體 (OSS) 依賴項的穩健策略至關重要。Microsoft 釋出安全供應鏈消費框架 (S2C2F) 是一個以消費為中心的框架,它使用基於威脅的風險降低方法來緩解開源軟體 (OSS) 中的安全威脅。近日,S2C2F 已經被 OpenSSF 採用。S2C2F 與以供應商為中心和以工件為中心的框架相結合(例如 SLSA),為軟體生產者和消費者提供了安全建立和使用軟體的能力。
 

S2C2F 基本概念

S2C2F 是一個安全保證和降低風險的流程,專注於保護開發人員使用開源軟體的方式。自2019年以來,作為微軟範圍內的一項計劃,S2C2F在整個開發人員內部迴圈和外迴圈流程中提供安全指導和工具,這些流程在 Microsoft 中使用開源軟體來防禦和防止供應鏈攻擊方面發揮了關鍵作用。
 

使用基於威脅的風險降低方法,S2C2F 的目標是:

  • 提供強大的 OSS 治理計劃
  • 縮短平均修復時間(MTTR)以解決 OSS 中的已知漏洞
  • 防止使用已洩露和惡意的 OSS 軟體包
     

S2C2F 三大核心概念

S2C2F 基於三個核心概念來建立模型,即控制所有工件輸入、持續過程改進和規模。
 

控制所有工件輸入

開發人員今天有無數種方式使用 OSS:gitclone,wget,複製貼上原始碼,將二進位制檔案簽入儲存庫,直接從公共包管理器,將 OSS 重新打包為.zip,curl,apt-get,git 子模組等。如果開發團隊不遵循使用 OSS 的統一流程,那麼想要保障開源軟體供應鏈安全幾乎是不可能完成的任務。實施有效的安全開源軟體供應鏈策略需要在整個組織的各個開發人員團隊中標準化企業的 OSS 使用流程。
 

持續流程改進

為了幫助指導組織進行持續流程改進,將 S2C2F 組織為成熟度模型。這有助於企業確定應首先實施哪些要求的優先順序。由於安全風險是動態的,新威脅隨時可能出現,因此S2C2F 非常重視瞭解 OSS 供應鏈面臨的新威脅,並要求定期評估 S2C2F 控制措施並引入變化以應對新技術進步或新威脅。
 

規模

S2C2F 框架工具在設計時考慮了規模。某些組織可能會嘗試通過企業中央內部映象倉庫來保護其 OSS 提取過程。但是如果開發人員選擇直接從 pypi.org 或 npmjs.com 中提取該如何阻止?企業中央內部映象倉庫還存在需要團隊管理流程和工作流的問題。因此,開發 S2C2F 工具是為了保護如今大規模使用 OSS 的工作方式。
 

圖片來源:Microsoft
 

S2C2F 八大實踐

S2C2F自 2019 年以來一直在Microsoft內部使用和完善。它被構建為一個以消費為中心的框架,使用基於威脅的風險降低方法來減輕現實世界的威脅。該框架列舉了現實世界供應鏈對 OSS 的威脅列表,並解釋了框架的要求如何減輕這些威脅。該框架還包括分為 8 個不同的實踐領域:

圖片來源:Microsoft
 

由於所有 8 個實踐無法同時合理實施,因此以下成熟度模型將 8 個實踐中每個實踐的需求組織成 4 個不同的級別。它允許組織從其現有的安全功能集逐步發展到更安全的防禦態勢。此外,成熟度模型在每個成熟度級別考慮不同的威脅和主題。
 

S2C2F 成熟級別

根據專案及其條件,企業可以跨專案實現多個框架級別。此外,與風險/回報相比,成熟度模型的第 4 級具有較高的估計實施成本,因此應被視為企業最理想的模式。雖然很難在整個組織中大規模實施 Level 4,但在最關鍵專案的最關鍵依賴項上實施級別 4 是可行的。
 

Level 1 – 改級別代表許多企業已經應用的一組基本治理實踐,使用包管理器、執行 OSS 清單以及掃描和更新 OSS 依賴項。
 

Level 2 – 此級別在第一級的基礎上構建,側重於通過提高引入配置安全性、減少平均修復時間以修補 OSS 漏洞以及響應事件來進一步實現“安全左移”。2020 年的 SaltStack 漏洞就很好地證明,攻擊者能夠在宣佈 CVE-2020-11651 後的 3 天內開始利用它。即使有補丁可用,企業也無法足夠快地修補他們的系統。因此,此級別的一個關鍵元件利用自動化來幫助開發人員保持其 OSS 安全和更新。理想的目標是讓企業能夠比攻擊者更快地進行修補。
 

Level 3 – 該級別側重於主動安全分析與預防性控制相結合,主動對企業最常用的 OSS 元件執行安全分析並降低使用惡意包的風險。在下載軟體包之前掃描 OSS 中的惡意軟體是防止洩露的關鍵。然後,要對 OSS 進行主動安全審查,企業可以將原始碼克隆到內部位置。主動安全審查可幫助企業查詢尚未發現的漏洞,以及識別其他威脅類別,例如檢測後門。
 

Level 4 – 此級別代表可減輕最複雜攻擊但難以大規模實施的控制措施。在受信任的構建基礎設施上重建 OSS是確保OSS在構建時不會受到威脅的防禦步驟,這種成熟級別是防禦最複雜的攻擊時所需要的。此外,重建 OSS 還有許多刁鑽的技術挑戰,例如如何命名包以防止與上游發生衝突?如何確保所有開發人員都使用內部包而不是外部包?
 

圖片來源:Microsoft
 

使用 S2C2F,團隊和組織能夠根據成熟度模型更有效地確定他們工作的優先順序。在框架內針對特定級別的合規性的能力意味著團隊可以在降低供應鏈風險方面取得有意和漸進的進展。S2C2F 包括評估組織成熟度的指南,以及推薦來自整個行業的工具以幫助滿足企業的框架要求的實施指南。