在醫(yī)療器材研發(fā)過程中,大量的精力被投注于確保安全性和降低患者風險的考慮;盡管如此,隨著不同儀器連網性能的不斷提升,安全研究人員在很多醫(yī)療儀器中都發(fā)現了安全漏洞,其中一個例子就是在一種非常普及的輸液幫浦(infusion pump)中發(fā)現的1,400個安全弱點。
為了因應這種不利的局面,美國食品藥物管理局(FDA)發(fā)布了關于管理醫(yī)療設備安全性的規(guī)范。此公告意在重申除了使用安全之外,訊息安全也應納入醫(yī)療設備研發(fā)過程中的關鍵考慮。
針對網絡安全與靜態(tài)分析的FDA指導原則
在意識到醫(yī)療儀器應當遵守更為嚴格的安全性目標后,FDA在2014年頒布了網絡安全管理指導原則;隨著無線通信、網絡和因特網在醫(yī)療設備中更進一步的普及和應用,醫(yī)療設備的安全性也面臨著前所未有的挑戰(zhàn)。
進一步來說,與其他儀器不同的是,醫(yī)療設備直接關系到患者的安全和隱私。風險管理(包括安全性強化和弱點管理)是醫(yī)療設備軟件開發(fā)中最重要的組成部分——而靜態(tài)分析(Static Analysis)則是這個過程中最重要的環(huán)節(jié)。
家庭護理和「穿戴式」醫(yī)療裝置數量呈現指數型成長,而它們僅是醫(yī)療設備中的一個分支。同樣,對于其他醫(yī)療和物聯網(IoT)的商業(yè)契機來說,這些發(fā)展都面臨著安全、資料安全性和隱私的考慮。
FDA的指導原則涵蓋范圍較廣,并且意在建立高層級的安全性管理規(guī)范;此指導原則列舉了需要啟用自動化工具的眾多原因,其中包括以下幾點:
˙「制造商應當在設計和開發(fā)醫(yī)療設備時將訊息安全性列入考慮」:這也是軟件工具暨網絡安全解決方案GrammaTech一直著重探討的一個課題——在研發(fā)的最開始就將安全性納入設計考慮,而不是研發(fā)后再作為附加項目,這是非常關鍵的。以下是詳細的說明。
˙「在進行設計和開發(fā)時就應該適當的對所涵蓋資產、威脅和安全弱點的定義進行探討」:在良好的軟件開發(fā)流程無縫整合靜態(tài)分析,并特別著重于于偵測與識別程序代碼和二進制代碼中的安全弱點。
˙「評估設備功能中之安全威脅和弱點對終端使用者/患者中所造成的影響,以及這些威脅與弱點被利用的可能性」:舉例來說,透過對遭污染數據的分析,GrammaTech的CodeSonar工具能追蹤整個軟件的數據源,并辨別來自外部的潛在安全弱點。
˙「在提交產品上市審核前,制造商應當提供與其醫(yī)療設備資安相關的文件」:靜態(tài)分析工具能提供報告功能,以協助準備這類文件、測試完備度以及軟件是否就緒。
「安全性優(yōu)先」的設計
安全性(security)并非一直是醫(yī)療儀器的首要考慮因素——長時間以來,儀器間的通訊僅限于本地網絡并掌握在可信賴的操作人員和設備中。然而現代化的醫(yī)療設備普遍擁有連網功能(且通常能連上因特網), 因此這些設備也對安全性和隱私有著更高的要求。所以在研發(fā)周期的較初期階段就需要遵循安全策略。
軟件開發(fā)周期中的軟件安全性
「安全性優(yōu)先」的設計理念,意味著將整合安全性視為軟件開發(fā)周期(SDLC)中的首要考慮,如圖1所示;開發(fā)者和項目經理應該在以下的關鍵階段注意各種情況。

圖 1 迭加于軟件開發(fā)周期的安全性設計流程。
˙需求階段(requirements stage):一旦可進行系統(tǒng)范圍內的威脅評估,就可以了解醫(yī)療設備中的威脅面(threat surface)。在需求階段,可以導入安全性相關的需求以及已知的「濫用案例(abuse cases,即黑客可能會追蹤的使用案例)」和風險分析;后面會進一步提及應該被導入并加以考慮的安全性需求。此階段十分關鍵,因為在這個時間點,安全性成為一個已知的項目目標并已擁有適當水平的風險管理、開發(fā)時程和成本。
˙設計和架構(Design and architecture):在候選架構完成時,安全性必須納入審核項目中(之前可能并未納入);根據已知威脅評估和安全性需求對架構進行審核,為這個開發(fā)階段增加了一個新的環(huán)節(jié)。在這個階段,應該建立測試計劃,涵蓋針對預知「濫用案例」的安全性分析。
˙程序代碼開發(fā)(Code development):在撰寫程序代碼階段,遵循安全性指南和編碼標準非常重要;使用例如靜態(tài)分析等自動化工具,是確保安全性弱點不被導入產品的關鍵。測試和對自動化測試(包含安全性分析)在此階段十分重要。
˙整合和測試(Integration and Test):在系統(tǒng)整體上開始成形時,子系統(tǒng)和系統(tǒng)測試可以在整合,以及上市之前發(fā)現安全弱點。自動化滲透測試(penetration testing)工具在這個階段十分有效,可以發(fā)現在較早開發(fā)階段未能發(fā)現的安全性弱點;最終產品上市前的包裝與配置是此階段最后一個步驟的關鍵,需要確保這款開箱即可使用的產品的具備最高的安全性,可預防大多數目前市面上連網裝置常見的問題。
˙布建和維護(deployment and maintenance):當產品進入市場并大范圍布建后,修補安全性弱點所需的費用將會大幅飆升;一款以「安全性優(yōu)先」設計理念出發(fā)的產品,發(fā)生安全漏洞事件的機率較低,但是供貨商必須具備能持續(xù)因應安全性挑戰(zhàn)的能力。在設計產品時至關重要的一點就是采用可更新的韌體和軟件,從而能迅速因應新出現的問題;不過在產品進行維護和改版時,安全性仍然是一個持續(xù)性的目標,新出現的安全性弱點和威脅也需要以新一代的方案回饋到系統(tǒng)設計中。
安全性需求
確保醫(yī)療設備安全性需要經過許多考慮;以下列出了安全性需求的關鍵案 例──其中有一些可能凌駕于對產品功能性的需求:
__˙使用者身份驗證(User authentication)──__根據不同的用戶等級,驗證用戶存取數據與 執(zhí)行功能的權限。
__˙防篡改(Tamper resistance)──__防止透過改變設備軟硬件來規(guī)避安全防護機制的行為。
__˙安全儲存(Secure storage)──__確保設備儲存數據無論透過在線或脫機存取的安全性,包括用檔案加密與數字版權管理(DRM)技術。
__˙安全通訊(Secure communication)──__確保數據傳輸安全性,同時避免透過鏈接通路(如網絡、USB端口)的有害存??;雖然網絡鏈接通常是第一個被注意到的,別忘了還有其他可能遭遇攻擊的通道。
__˙可靠性和可用性(Reliability and availability)──__在面臨進行中的黑客攻擊時,仍能維持醫(yī)療設備的安全運作。
靜態(tài)分析工具對IEC 62304標準和醫(yī)療設備軟件的適用性
盡管IEC62304標準沒有明確要求開發(fā)工具,卻列出了對嚴格測試、驗收標準(acceptance criteria)和可追溯性(traceability)的要求;有鑒于目前大部分醫(yī)療設備軟件項目的涵蓋范圍,在沒有工具的情況下要完成那些功能要求是不實際的。例如:
IEC62304標準Section 5.5.2對一個軟件單元(software unit)驗證步驟的要求:制造商需要建立相關策略、方法和步驟來驗證每一個軟件單元。
Section5.5.3要求:制造商需要在較大型軟件項目的整合之前,為軟件單元建立適當的驗收標準,并確保軟件單元符合驗收標準…軟件程序代碼是否符合程序編寫流程和編碼標準?
Section 5.5.4提供額外驗收標準:當呈現于設計時,制造商需要依以下情況包含適合的額外驗收標準:正確的事件序列(event sequence);數據和控制流程;經計劃的資源分配;錯誤處理(錯誤描述、隔離和復原);變量初始化;自我診斷;內存管理和內存溢位(overflow);以及邊界條件。
這些驗收標準中的大多數非常適合靜態(tài)應用程序安全檢測(SAST),即靜態(tài)分析工具;實際上已經有采用靜態(tài)分析的強力左證──FDA曾使用GrammaTech的CodeSonar工具,在一連串的輸液幫浦故障事件中,分析醫(yī)療設備軟件并評估其源代碼的質量。
SAST工具在安全性設計中所扮演的角色
SAST工具在編碼和整合階段為軟件開發(fā)提供了關鍵性的支持;無論是在開發(fā)還是維護階段,持續(xù)確保程序代碼質量,能大幅降低軟件安全性與質量可能帶來的成本與風險。以下是其主要優(yōu)勢:
__˙靜態(tài)分析可以找出基于覆蓋(coverage-based)的測試無法發(fā)現的錯誤(bug)──__后者的單元測試一般透過軟件覆蓋程度的量測來進行,諸如聲明(statement)決策(decision)的覆蓋等;盡管已經很嚴苛,但仍有一些缺陷會通過這類測試。靜態(tài)分析工具能識別這類缺陷。
__˙靜態(tài)分析工具能在較早階段發(fā)現缺陷──__能在產品開發(fā)者手上就避免缺陷發(fā)生是最理想的情況,這樣可以節(jié)省隨著項目進展而不斷增加的測試和修復所需成本。
__˙靜態(tài)分析可以因應SOUP──__在醫(yī)療設備軟件中,未知來源軟件(SOUP)需要特別的因應方式;一款良好的靜態(tài)分析工具能夠評估第三方和商用現成軟件(包括二進制應用程序和鏈接庫)的質量和安全性。
__˙靜態(tài)分析可以加速上市前核準文件的建立──__將軟件單元驗收結果建文件,是證明產品遵循認證標準的關鍵;靜態(tài)分析工具擁有大量的報告功能,可符合FDA審核要求。
結論
安全性現在已經成為醫(yī)療設備軟件研發(fā)過程中的首要風險/責任管理因素;在研發(fā)初期就將安全性納入產品設計考慮,不但是FDA的要求也是一個良好的習慣;對于縮短醫(yī)療設備上市時程,以及產品通過上市前核準流程,靜態(tài)分析工具扮演了重要角色。
-
安全性
+關注
關注
0文章
93瀏覽量
19653 -
應用程序
+關注
關注
38文章
3344瀏覽量
60282 -
存儲數據
+關注
關注
0文章
90瀏覽量
14471
發(fā)布評論請先 登錄
大型軟件研發(fā)項目安全性風險定量分析理論模型
關于鋰離子動力電池在新能源汽車領域安全性的分析與探究
邊緣智能的邊緣節(jié)點安全性
嵌入式實時多任務操作系統(tǒng)的安全性怎么樣?
嵌入式設備如何提高安全性
實現更強大IoT設備安全性的步驟
為什么基于硬件的安全性更有效?
醫(yī)療設備軟件不可或缺的安全性設計
關于醫(yī)療設備軟件的安全性設計分析
評論