如何啟用SBOM來加強您的軟件安全度
Software Bill of Materials(SBOM),又稱「軟件物料清單」或「軟件賬單」,是包含構建軟件中所使用各種組件的詳細信息和供應鏈關係的正式記錄。
SBOM為端對端軟件供應鏈管理和安全性的基礎。了解軟件内容是保護軟件的首步。試想想,在進餐時,你們當然想知道食物的成份,食物本身是否含有有毒化學物質,不是嗎?
現今,除了由零開始開發一套軟件,我們更大機會是使用開源軟件。對於開源軟件的環境來說,SBOM更能發揮其作用,因為軟件開發人員和供應商經常透過組裝現有的開源及商業軟件組件來創建產品。簡單來說,SBOM的作用是確保軟件供應鏈安全。
究竟SBOM應具哪些重要資料,來充分發揮其應有作用?
- 供應商名稱:創建、定義和標識組件的實體的名稱。
- 組件名稱:分配給由原始供應商定義的軟件單元的名稱。
- 組件版本:供應商使用的標識符,用於指定軟件中對先前標識版本所作的更改。
- 唯一標識符:用於標識組件或用作相關數據庫查找鍵的其他標識符。
- 組件與組件的依賴關係:描述上游組件X包含在軟件Y中的關係。
- SBOM數據的作者:為此組件創建SBOM數據的實體的名稱。
- 時間記錄:SBOM數據程序集的日期和時間記錄。
看到這裡,我們可能會有疑問, SBOM好像是一個幻想,因為追蹤所有資料是一件煩瑣耗時的工作。 但透過軟件成分分析工具( Software Composition Analysis Tool, SCA),在大多數情況下,資料記錄就能自動生成及更新。 而且,SCA工具普遍於DevSecOps管道中使用,常於SBOM創建之外發揮作用。
整體而言,SBOM的實際用途如下:
- 軟件生產者使用SBOM來協助構建和維護他們生產的軟件(building and management)。
- 軟件採購商使用SBOM來了解購買前保證、協商折扣和規劃的實施策略。
- 軟件運營商使用SBOM來了解漏洞管理(vulnerability management)、資產管理(asset management)、許可管理(license management)和合規性控制(compliance control),並快速識別軟件與組件的依賴關係(dependencies identification)以及供應鏈風險管理(risk management)。
以往在系統創建的過程中,會蓍重基礎設施和網絡架構,例如在基礎設施進行系統強化(Systems hardening),及在網絡架構圖上針對網絡設備與基礎設施作關聯分析(Network analysis)。軟件開發方面,我們會針對常用應用程序安全標準,如OWASP Top 10來把公司內的軟件開發文化轉變為生成更安全代碼的文化,以確保其Web應用程序最小化風險的過程。
但是,當有了SBOM的思維,我們就能把安全工作變得更系統和全面。在構建分布式軟件時,把SBOM集成到開發實踐中變得日趨重要。SBOM的最終目標就是共享資訊,連接不同機構,使軟件開發的規格更標準,資訊更透明,節奏更有效。與時俱進,只要我們善用新思維新技術, 網絡世界方能安全發展。
網絡安全在很多方面還需要注意,如有任何疑問歡迎加入我們的 Cybersec Infohub 計劃,讓行業裏的網絡安全專家為您解決,如果您懷疑自己或公司的電腦被駭或有可疑的行為,亦請盡快聯絡網絡安全專家求助。