自2020年全球知名的網路監控軟體SolarWinds遭外部攻擊者注入後門程式,藉此成功滲透到各產業內網發動供應鏈攻擊,震驚軟硬體設備製造商,自此軟體物料清單(SBOM)開始受到重視。
擅長開源陣營技術的群暉科技(Synology)安全事件應變組經理林涵恩指出,漏洞對於開源套件而言傷害更大,就像Log4j,預期未來十年仍將持續是有效的滲透方式。主因是企業根本未意識到自家應用系統、設備搭載的韌體內建Log4j套件,可能直到爆發資安事件後,經過調查鑑識才發現。
製造業相當熟悉物料清單(BOM),但是過往對於軟體物料清單(Software BOM,SBOM)根本鮮少關注。林涵恩認為,主因在於韌體的組成缺乏透明度,目前市場上也找不到解決方案可協助。
基本解決的作法,一種是在前期的程式碼撰寫階段開始進行記錄;或是解析軟體組建(Build)完成後的執行檔案版本編號。「經過我們研發團隊評估,認為拆解執行檔的方式難度高、效益低,從專案初期的程式碼撰寫階段著手記錄版本才可有效地管控。」林涵恩說。 SBOM旨在提高透明度,藉此讓採購者可更清楚硬體設備搭載的作業系統與應用程式。因此首要必須記錄軟體程式在編譯前的專案名稱,其次是版本編號。在整個產品供應鏈中共享資訊,確保軟體元件可透明化地管理,勢必須建立一套完整元件清單。
以群暉科技自主研發的DSM(DiskStation Manager)作業系統為例,由超過三百種套件所建構;DSM系統中備受好評的File Station檔案伺服器功能,約為上百個開源套件整合。
由於每個套件記錄版本編號的方式不盡相同,例如把版本編號記錄在特定檔案,或者運用Git版本控制系統執行記錄,無法建立統一規範,提高了管理的複雜度。因此群暉科技開始採用自行研發的版本記錄工具,讓團隊可經由統一介面,查看開源套件版本被運用到各個開發專案的資料。
除了版本控管難度不低,開放原始碼運行時須呼叫的相依性套件大多為自動下載與載入,往往無法掌握正確的相依性套件名稱與版本編號,一旦出現新漏洞極可能被惡意程式利用來滲透。
為了因應開源陣營的套件漏洞頻傳,群暉科技決議落實基於安全的設計(Security by Design)原則,2020年時花費近8個月時間,引進版本控管工具協助,以便在漏洞揭露的最短時間內確認影響程度與發布修復更新程式。
林涵恩強調,當開源社群揭露最新漏洞的當下,研發團隊可藉由SBOM即時釐清影響範圍。更重要的是符合公司政策要求,一旦定性為高嚴重等級的漏洞揭露後,產品安全性事件應變小組(PSIRT)必須在24小時內修復。借助系統性管理工具,才有能力在最短時間內釐清影響範圍、完成修復目標,贏得客戶對於產品品牌的信任度。