相信大家對軟體物料清單(SBOM)并不陌生,它是指用于構建軟體解決方案的所有軟體組件(開源或商業)的串列,但在軟體物料清單中,并不包括用于部署軟體的微服務和其他組件,為了更全面了解所用的組件,我們需要創建流水線物料清單 PBOM(Pipeline Bill of Materials),其中包含用于將應用程式從代碼到交付的所有軟體組件和服務,
?
為什么 PBOM 很有必要?
軟體安全不僅取決于源代碼,還取決于整個軟體交付流水線的集成,此類集成包括構建工具、鏡像倉庫和 IaC (Infrastructure as Code) 部署,普通應用程式使用的庫和組件數量正在增長,資料顯示應用程式平均使用超過500個開源庫和組件,與兩年前相比增長了77%,
?
傳統的軟體物料清單能夠通過分析依賴關系有效防止相應安全問題,但由于 SBOM 并未包含整個開發和部署流水線中使用的所有組件,在查看開發所用組件時存在一定盲區,而這類盲區很有可能造成巨大安全隱患,也給惡意攻擊者可趁之機,在 SolarWinds 事件中,TeamCity(CI/CD 構建服務)在攻擊期間被利用作為攻擊媒介,而 SBOM 并沒有提供關鍵資訊來阻止此類攻擊,
?
為了防止程序中的構建工具、鏡像倉庫和其他組件可能產生的威脅和安全風險,我們需要確切地了解正在使用的所有組件,包括軟體開發流水線中的組件,創建流水線物料清單時,記得包含 SBOM 的所有內容,并補充有關部署流水線的全面資訊,
?
PBOM 能帶來什么好處?
1. 提高可視性
PBOM 幫助實作部署流水線的完整可視性,DevOps、安全和工程團隊也因此可以創建更加全面的資產清單,保留對流水線中所有組件的參考,能夠幫助各個團隊更好地把控流程中的安全性,
?
2. 通過應急計劃防止安全威脅
利用 PBOM 能夠幫助了解流水線中的所有部分如何互動,以及根據安全威脅作出相應業務決策并執行相應的應急計劃,來保障軟體安全性,由此能夠有效改進威脅建模(Threat Modeling),允許實施零信任架構,并推動 DevOps “安全左移”計劃,
?
3. 提高問題解決效率
PBOM 能夠提供更完整的組件清單,包括代碼所有者,提交歷史記錄以及每個部分的關聯人員,使用 PBOM 根據背景關系能夠提供準確的警報,從而避免在任何問題出現時無差別提醒團隊成員,隨著誤報數量減少,開發及運維團隊看到警報更加精準,解決問題的效率也就更高,
?
PBOM 需要包含什么內容?
通過上述內容,我們明確了可以從 PBOM 中獲取的資訊,進而來確定 PBOM 需要涵蓋的內容,值得注意的是,創建 PBOM 時不要忘記將 SBOM 中已包含的所有組件納入該清單中,此外,組織在創建 PBOM 時應當保留構建和部署工具資訊,DevOps 團隊可以利用 PBOM 所提供的資訊,有效緩解軟體供應鏈中的安全漏洞和安全風險,
?
開發人員、代碼所有者和具有系統訪問權限的管理員是 SBOM 中常被忽視的部分,這些帳戶通常具有更高的訪問權限,為了最大限度地提高安全性并符合最小特權原則,需要在一定程度上基于角色進行訪問控制,企業首先應該充分審查當前已經具備系統訪問權限的賬戶,審核完畢后,可以將這些賬戶作為參考,為后期保證用戶權限的安全性提供指導,而對應的開發人員、代碼所有者及具有系統訪問權限的管理員可以訪問到的資訊范圍也需要歸納到 PBOM 中,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/500449.html
標籤:訊息安全
下一篇:模擬量、數字量與開關量的區別
