現行SBOM(軟體用料清單)僅針對每個軟體的組成、個別軟體之間的依存性/聯動關係、開源許可證等議題,進行透明化標示,但要將這些軟體組成要素,對應到開發生命週期上的哪個階段與環節,並未加以交代;因此,SBOM在實務上勢必跟軟體開發生命週期各階段,產生對應和連結,讓SBOM軟體組成要素,在生命週期上的各個階段發揮作用。
【技術發展背景】
美國網路暨基礎設施安全局(CISA)依據SBOM在軟體生命週期(SDLC)不同階段的成熟度需求,推出了SBOM六大種類定義表,可讓軟體開發團隊了解SDLC不同階段,需要準備何種SBOM要素,來滿足不同階段成熟度需求。SBOM的六大階段如下:
藉由了解軟體生命週期不同階段、不同成熟度所需的SBOM,可以讓軟體開發團隊的SBOM所需元件,在不同階段逐步到位、循序漸進,進而減少開發過程的錯誤,加速交付並提升品質。
【技術介紹與應用現況】
坊間有各式各樣的SBOM解析工具,來解析不同格式的SBOM組成元件,並在元件彼此串聯整合之前,發掘並解決漏洞和痛點,有助於讓SBOM組成原件,安全順暢運作。
資料來源: (Diglio, 2023)
圖 1:微軟SBOM解析工具(左)、GitHub SBOM依存關係解析工具﹙右﹚
另外,在物聯網系統中,由於物聯網串接不同用途和廠牌的軟硬體,SBOM的角色也至關重要,可以結合持續監控的儀表板系統(Dashboard),來及時預防和補救已知的漏洞,降低能被駭客利用的突破口。
資料來源: (Diglio, 2023)
圖 2:Azure IoT Dashboard,可搭配SBOM解析
【未來展望/挑戰】
SDLC各階段的SBOM需求,除了讓開發團隊能一目了然得知每個所需的SBOM要素,逐步建構出完整軟體成品,並進行最終驗收與調校,提升品質並減少風險,進而減少後續維護補救的時間和資源成本,讓SBOM每個元件均能各司其職、發揮關鍵功效、讓系統整體運作安全順暢。
封面圖片來源: 123RF
參考資料