您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術>

醫(yī)療設備軟件不可或缺的安全性設計

2016年11月05日 09:42 網(wǎng)絡整理 作者:電子發(fā)燒友 用戶評論(0

  安全研究人員在很多醫(yī)療儀器中都發(fā)現(xiàn)了安全不足,為了應對這種不利的局面,美國食品藥品監(jiān)督管理局(FDA)發(fā)布了關于管理醫(yī)療設備安全性的規(guī)范。?在醫(yī)療器材研發(fā)過程中,大量的精力被投注于確保安全性和降低患者風險的考慮。盡管如此,隨著不同儀器聯(lián)網(wǎng)性能的不斷提升,安全研究人員在很多醫(yī)療儀器中都發(fā)現(xiàn)了安全不足,其中一個例子就是在一種常用輸液泵中發(fā)現(xiàn)的1,400個安全漏洞。

  針對網(wǎng)絡安全與靜態(tài)分析的FDA指導原則

  在意識到醫(yī)療儀器應當遵守更為嚴格的安全性目標后,F(xiàn)DA在2014年頒布了網(wǎng)絡安全管理指導原則;隨著無線通信、網(wǎng)絡和互聯(lián)網(wǎng)在醫(yī)療設備中更進一步的普及和應用,醫(yī)療設備的安全性也面臨著前所未有的挑戰(zhàn)。

  進一步來說,與其他儀器不同的是,醫(yī)療設備直接關系到患者的安全和隱私。風險管理(包括安全性強化和漏洞管理)是醫(yī)療設備軟件開發(fā)中最重要的組成部分——而靜態(tài)分析則是這個過程中最重要的環(huán)節(jié)。

  家庭護理和“可穿戴”醫(yī)療設備數(shù)量呈現(xiàn)指數(shù)型成長,而它們僅是醫(yī)療設備中的一個分支。同樣,對于其他醫(yī)療和物聯(lián)網(wǎng)IoT)的商業(yè)契機來說,這些發(fā)展都面臨著安全、資料安全性和隱私的考慮。

  FDA的指導原則涵蓋范圍較廣,并且意在建立高級安全性管理規(guī)范;此指導原則列舉了需要啟用自動化工具的眾多原因,其中包括以下幾點:

  ? “制造商應當在設計和開發(fā)醫(yī)療設備時滿足網(wǎng)絡安全”;這也是GrammaTech公司一直著重探討的一個課題——在研發(fā)的最開始就將安全性考慮進來,而不是研發(fā)后再作為附加項目,這是非常關鍵的。以下是詳細的說明。

  ? “在進行設計和開發(fā)時就應該適當?shù)膶λw資產(chǎn)、威脅和安全漏洞的定義進行探討”; 靜態(tài)分析與良好的軟件開發(fā)流程無縫集成,并特別著重于檢測與識別程序代碼和二進制代碼中的安全漏洞。

  ? “評估設備功能中的安全威脅和漏洞對最終用戶/患者中所造成的影響,以及這些威脅與漏洞被利用的可能性”;舉例來說,通過對遭污染數(shù)據(jù)的分析,GrammaTech 的CodeSonar工具能追蹤整個軟件的數(shù)據(jù)源,并辨別來自外部的潛在安全漏洞。

  ? “在提交產(chǎn)品上市審核前,制造商應當提供與其醫(yī)療設備網(wǎng)絡安全相關的文件”;靜態(tài)分析工具提供報告工具,以協(xié)助處理文件、測試完成以及軟件就緒。

  “安全優(yōu)先”的設計

  安全性(security)并非一直是醫(yī)療儀器的首要考慮因素——長時間以來,儀器間的通信僅限于本地網(wǎng)絡并掌握在可信賴的操作人員和設備中。然而現(xiàn)代化的醫(yī)療設備普遍擁有聯(lián)網(wǎng)功能(且往往是互聯(lián)網(wǎng)), 因此這些設備也對安全性和隱私有著更高的要求。所以在研發(fā)周期的較初期階段就需要遵循安全策略。

  軟件開發(fā)周期中的軟件安全性

  “安全優(yōu)先”的設計方法,意味著將集成安全性視為軟件開發(fā)周期(SDLC)中的一個最高優(yōu)先級,如圖1所示;開發(fā)者和項目經(jīng)理應該在以下的關鍵階段注意各種情況。

  ? 需求階段:一旦可進行系統(tǒng)范圍內(nèi)的威脅評估,就可以了解醫(yī)療設備中的威脅面(threat surface)。在需求階段,可以導入安全性相關的需求以及已知的“濫用案例(黑客可能會追蹤的用例)”和風險分析;后面會進一步提及應該被導入并加以考慮的安全性需求。此階段十分關鍵,因為在這個時間點,安全性成為一個已知的項目目標并已擁有適當水平的風險管理、調(diào)度和成本計算。

  ? 設計和架構:在候選架構完成時,安全性必須納入審核項目中(之前可能并未納入);根據(jù)已知威脅評估和安全性需求對架構進行審核,為這個開發(fā)階段增加了一個新的環(huán)節(jié)。在這個階段,應該建立測試計劃,涵蓋針對預知“濫用案例”的安全性分析。

  ? 代碼開發(fā):在撰寫程序代碼階段,遵循安全性指南和編碼標準是非常重要的;使用例如靜態(tài)分析等自動化工具,是確保安全漏洞不被導入產(chǎn)品的關鍵。測試和對自動化測試(包含安全性分析)在此階段十分重要。

  ? 集成和測試:在系統(tǒng)整體上開始成形時,子系統(tǒng)和系統(tǒng)測試可以在集成以及上市之前發(fā)現(xiàn)安全漏洞。自動化滲透測試工具在這個階段十分有效,可以發(fā)現(xiàn)在較早開發(fā)階段未能發(fā)現(xiàn)的安全漏洞;最終產(chǎn)品上市前的包裝與配置是此階段最后一個步驟的關鍵,需要確保這款開箱即用產(chǎn)品具備最高的安全性,可預防大多數(shù)目前市面上聯(lián)網(wǎng)設備常見的問題。

  ? 部署和維護:當產(chǎn)品進入市場并大范圍部署后,修補安全漏洞所需的費用將會大幅飆升;一款以“安全優(yōu)先”設計方法出發(fā)的產(chǎn)品,發(fā)生安全漏洞事件的幾率較低,但是供貨商必須具備能持續(xù)應對安全性挑戰(zhàn)的能力。在設計產(chǎn)品時至關重要的一點就是采用可更新的固件和軟件,從而能迅速應對新出現(xiàn)的問題;不過在產(chǎn)品進行維護和改版時,安全性仍然是一個持續(xù)性的目標,新出現(xiàn)的安全漏洞和威脅也需要以新一代的方案反饋到系統(tǒng)設計中。

  醫(yī)療設備軟件不可或缺的安全性設計

  圖1:疊加到軟件開發(fā)周期上的安全性設計流程

  安全性需求

  確保醫(yī)療設備安全性需要經(jīng)過許多考慮;以下列出了安全性需求的關鍵案例——其中有一些可能凌駕于對產(chǎn)品功能性的需求:

  ? 用戶驗證──根據(jù)不同的用戶等級,驗證用戶存取數(shù)據(jù)與執(zhí)行功能的權限。 ? 防篡改──防止通過改變設備軟硬件來規(guī)避安全防護機制的行為。 ? 安全存儲──確保存儲的數(shù)據(jù)受到在線或離線訪問保護,包括利用加密文件存儲與數(shù)字版權管理(DRM)等技術。 ? 安全通信──確保數(shù)據(jù)傳輸安全性,同時避免通過連接通道(如網(wǎng)絡、USB端口)的有害存??;雖然網(wǎng)絡連接通常是第一個被注意到的,別忘了還有其他可能遭遇攻擊的通道。 ? 可靠性和可用性──在面臨進行中的黑客攻擊時,仍能維持醫(yī)療設備的安全工作。

  靜態(tài)分析工具對IEC 62304標準和醫(yī)療設備軟件的適用性

  盡管IEC 62304標準沒有明確要求開發(fā)工具,卻列出了對嚴格測試、驗收標準和可追溯性的要求;有鑒于目前大部分醫(yī)療設備軟件項目的涵蓋范圍,在沒有工具的情況下要完成那些功能要求是不實際的。例如:

  ? 第5.5.2節(jié) 對一個軟件單元驗證步驟的要求: 制造商需要建立相關策略、方法和步驟來驗證每一個軟件單元

  ? 第5.5.3節(jié)要求: 制造商需要在較大型軟件項目的集成之前,為軟件單元建立適當?shù)尿炇諛藴剩⒋_保軟件單元符合驗收標準……軟件程序代碼是否符合程序編寫流程和編碼標準?

  ? 第 5.5.4節(jié)提供額外驗收標準: 當呈現(xiàn)于設計時,制造商需要依以下情況包含適合的額外驗收標準:正確的事件序列;數(shù)據(jù)和控制流程;經(jīng)計劃的資源分配;錯誤處理(錯誤描述、隔離和復原);變量初始化;自我診斷;內(nèi)存管理和內(nèi)存溢出;以及邊界條件。

  這些驗收標準中的大多數(shù)非常適合靜態(tài)應用程序安全檢測(SAST),即靜態(tài)分析工具;實際上已經(jīng)有采用靜態(tài)分析的強力佐證──FDA曾使用GrammaTech的CodeSonar工具,在一連串的輸液泵故障事件中,分析醫(yī)療設備軟件并評估其源代碼的質(zhì)量。

  SAST工具在安全性設計中所扮演的角色

  SAST工具在編碼和集成階段為軟件開發(fā)提供了關鍵性的支持;無論是在開發(fā)還是維護階段,持續(xù)確保程序代碼質(zhì)量,能大幅降低軟件安全性與質(zhì)量可能帶來的成本與風險。以下是其主要優(yōu)勢:

  ? 靜態(tài)分析可以找出基于覆蓋的測試無法發(fā)現(xiàn)的錯誤(bug)──后者的單元測試一般通過軟件覆蓋程度的量測來進行,諸如聲明或判定覆蓋等;盡管已經(jīng)很嚴苛,但仍有一些缺陷會通過這類測試。靜態(tài)分析工具能識別這類缺陷。

  ? 靜態(tài)分析工具能在較早階段發(fā)現(xiàn)缺陷──能在產(chǎn)品開發(fā)者手上就避免缺陷發(fā)生是最理想的情況,這樣可以節(jié)省隨著項目進展而不斷增加的測試和修復所需成本。

  ? 靜態(tài)分析可以應對SOUP──在醫(yī)療設備軟件中,未知來源軟件(SOUP)需要特別的應對方式;一款良好的靜態(tài)分析工具能夠評估第三方和商用現(xiàn)成軟件(包括二進制可執(zhí)行文件和庫)的質(zhì)量和安全性。

  ? 靜態(tài)分析可以加速上市前核準文件的建立:將軟件單元驗收結果建文件,是證明產(chǎn)品遵循認證標準的關鍵;靜態(tài)分析工具擁有大量的報告功能,可符合FDA審核要求。

  結論

  安全性現(xiàn)在已經(jīng)成為醫(yī)療設備軟件研發(fā)過程中的首要風險/責任管理因素;在研發(fā)初期就將安全性納入到產(chǎn)品設計考慮,不但是FDA的要求,也是一個良好的習慣。在縮短醫(yī)療設備上市時間以及上市前的審批流程當中,靜態(tài)分析工具扮演了重要角色。?

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發(fā)表人:wuzhan )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?