iT邦幫忙

2026 iThome 鐵人賽

DAY 24
0
Software Development

三十天轉職成「醫療軟體工程師」系列 第 24 篇

Day23 - 第三方元件與模型版本管理

  • 分享至 

  • xImage
  •  

現代開發軟體的時候,很少會完全由零開始打造,通常會使用開源套件、AI 模型。在一般軟體開發時,使用開源套件、AI 模型時,一般來說,會直接選擇一個版本來使用(可能是當下最新版),確認沒有問題之後就會上線。而在上線之後可能就不會任意更動版號(怕更新後出錯)

但是在醫療軟體當中,不論是開源套件或 AI 模型,都屬於需要建立組態項目(Confituration Item)來管控其版本。當需要異動時,需要經過風險評估、版次鎖定以及影響分析。

那麼,醫療軟體開發時,若有使用開源套件的情況,是誰會來對產品的安全性以及合規性負責?另外,當發現有已知漏洞(CVE)或者模型有更新的版本,我們要怎麼進行風險評估以及進行重新測試呢?

第三方軟體元件管制 (SOUP Control & SBOM)

首先,我們需要有一份軟體物料清單(Software Bill of Material, SBOM),作為 SOUP (Software of Unknown Provenance,來源不明軟體)的組態項目清單。SBOM 會列出所有第三方套件,包括它的版本、來源、授權條款,以及與依賴的關係。

我們可以根據這張表來對齊目前版本是如何使用這個套件的。當版本有更新,或者發現已知漏洞(CVE)的時候,才能決定是不是要更新這個套件。

在每一次發布軟體版本時,都需要有一張對應的軟體物料清單(SBOM),SBOM 定義預期功能以及風險分析。有了它,就能夠綁定我們軟體版本與第三方套件的版本,當有很多版本在市面上時,若遇到需要更新的情況,也就能快速的找到正確的版本來修復。

軟體每次的更新,除了會更新功能外,有時還會同時修復 CVE(Common Vulnerabilities and Exposures),若我們對於新功能沒興趣,但 CVE 可是會影響我們軟體的安全性,不得不處理,於是我們需要定期進行弱點掃描,當掃描出 CVE 時,需要依嚴重程度評估是否要更新。

另外,每個軟體版本都有自己的生命週期,我們也需要定時確認軟體的版本是否有還有在維護,以免出現 CVE 時沒有新版本可以更新。

AI 模型版本與規格管理

接下來我們需要討論如何管理 AI 模型。

模型清單(Model Inventory)

首先,需要建立模型清單。在模型清單裡面,需要記錄:

  1. 模型名稱
  2. 版次
  3. 官方發布的來源
  4. 模型檔案的雜湊值校驗碼(用於系統啟動時自動驗證模型檔未遭意外覆蓋或未授權替換)

模型卡(Model Card)

接著,我們需要針對模型,記錄:

  1. 輸入與輸出格式、
  2. 預期用途、
  3. 禁止用途、
  4. 訓練資料特性,
  5. 已知偏見與限制。

小結

雖然使用第三方開源套件可以加速開發,不過要記住,使用第三方套件的安全性以及穩定性是由醫療軟體製造商所承擔。

所以在每一次的軟體發布,我們都需要產出嚴謹的 SBOM 表,將產品的版本以及第三方的套件版次綁定,並且要持續進行弱點掃描以及生命週期的監控。

另外,AI 模型是資產也是組態,需要建立模型清單、模型卡,將模型的各個規格記錄在冊。

如同第三方套件的 SBOM 一樣,我們需要針對每一個版本所使用的模型,知道它能夠做什麼以及它的用途;最重要的是記錄它的雜湊值,這樣才可以避免資料被替換或篡改。

所以在醫療軟體當中,使用外部的套件模型,我們需要特別注意版本。必要時就需要更新,也需要經常掃描,確保它是安全、低風險的。


上一篇
Day22 - 加密、日誌、備份與金鑰管理
系列文
三十天轉職成「醫療軟體工程師」 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言