如今,醫(yī)療設(shè)備的安全性變得極其重要,以確保與您的設(shè)備交互的客戶和患者,他們的健康和個人信息得到認(rèn)真對待。在全球范圍內(nèi),監(jiān)管機構(gòu)越來越多地要求并驗證設(shè)備在產(chǎn)品發(fā)布前后盡可能安全。在美國,食品和藥物管理局(FDA)發(fā)布了指南,概述了醫(yī)療器械的要求,這些要求要求涉及器械開發(fā)和維護(hù)的多個方面。
安全漏洞
安全漏洞是一種編程錯誤(或缺陷或錯誤),它打開設(shè)備以受到某些意外的外部或內(nèi)部應(yīng)用程序的影響。每個產(chǎn)品都存在安全漏洞,包括醫(yī)療設(shè)備。通過認(rèn)識到這一點并為這種必然性做好準(zhǔn)備,嵌入式開發(fā)人員可以限制這些漏洞可能引入的風(fēng)險和潛在損害。
識別和緩解這些潛在問題的過程中最重要的部分稱為常見漏洞和披露 (CVE)。CVE 最初定義于 1999 年,是產(chǎn)品中存在(或存在)的已知可利用安全問題的存儲庫。CVE 由 MITRE 公司和美國國家漏洞數(shù)據(jù)庫 (NVD) 共同發(fā)布和維護(hù),該數(shù)據(jù)庫由美國國土安全部維護(hù)。從Heartbleed(CVE-2014-060)到Shellshock(CVE-2014-6271)再到URGENT/11(2019年發(fā)現(xiàn)的11個CVE),每個重大安全漏洞都被記錄為CVE。
這些 CVE 的發(fā)現(xiàn)要么是由于造成的損害(在事后分析時,發(fā)現(xiàn)了潛在的問題,要么是由于盡職盡責(zé)的工程師發(fā)現(xiàn)了潛在的漏洞利用。好消息是,大多數(shù)漏洞利用都是在不造成損害的情況下被發(fā)現(xiàn)的;壞消息是,一旦漏洞通過CVE過程傳達(dá)給世界,它很容易被全球黑客利用,因此時間至關(guān)重要。幸運的是,CVE 流程為產(chǎn)品或軟件開發(fā)人員提供了在全球公布漏洞之前修復(fù)漏洞的時間,以便他們可以迅速采取行動實施設(shè)備安全。
一旦發(fā)現(xiàn) CVE,就會為其分配一個 CVE 標(biāo)識 ID。如果 CVE 被確定為問題,NVD 會為其分配漏洞分?jǐn)?shù)。這是一個介于 1 和 10 之間的數(shù)字;數(shù)字越大,受影響設(shè)備的漏洞就越嚴(yán)重。NVD 還包含有關(guān)該問題的任何其他已知信息,以及指向進(jìn)一步描述該問題的相關(guān)站點的鏈接 - 以及可用的現(xiàn)有修復(fù)程序。
CVE 報告流程的主要好處是了解問題、潛在修復(fù)以及問題可能對您的產(chǎn)品造成的嚴(yán)重性和風(fēng)險。安全漏洞可能會使您的設(shè)備、客戶和您自己面臨多種不良后果,包括:
丟失或修改患者關(guān)鍵數(shù)據(jù),可能對患者或醫(yī)務(wù)人員造成傷害
泄露客戶或最終用戶數(shù)據(jù),這可能導(dǎo)致身份盜用、違反 HIPAA 和其他嚴(yán)重后果
惡意行為者滲透設(shè)備,可能導(dǎo)致注入惡意軟件、禁用設(shè)備、感染醫(yī)院或臨床醫(yī)生網(wǎng)絡(luò)的其他部分等。
安全問題和產(chǎn)品設(shè)計
在開發(fā)盡可能安全的設(shè)備時,重要的是要考慮潛在安全問題的不同來源:
開發(fā)設(shè)備時社區(qū)已知的問題
設(shè)備發(fā)布后發(fā)現(xiàn)的問題
由于預(yù)防性開發(fā)技術(shù)不足,專門為設(shè)備編寫的軟件引入的問題
針對已知問題的設(shè)備保護(hù)
如前所述,黑客用來闖入設(shè)備的許多潛在漏洞已被全球安全社區(qū)所知,并且已經(jīng)得到修復(fù)。不幸的是,醫(yī)療設(shè)備通過設(shè)備發(fā)布時已經(jīng)修復(fù)的問題被利用。防止這種情況發(fā)生需要付出努力,但這種努力將節(jié)省時間,保護(hù)您的聲譽,并在發(fā)生漏洞利用時限制成本和潛在的法律風(fēng)險。此外,監(jiān)管機構(gòu)要求設(shè)備開發(fā)人員在設(shè)備發(fā)布之前考慮這一點。在美國,這是FDA關(guān)于網(wǎng)絡(luò)安全管理上市前提交內(nèi)容的指南的一部分。這是過程。
每個顯示為漏洞利用的 CVE 都可以在 NVD 和 CVE 數(shù)據(jù)庫中搜索 - 按組件名稱、CVE ID 或任何感興趣的關(guān)鍵字進(jìn)行搜索。例如,假設(shè)您的設(shè)備使用某些 Linux 發(fā)行版。通過搜索 Linux 漏洞,您會發(fā)現(xiàn)許多問題;作為具體示例,請考慮 CVE-201911683。這是一個嚴(yán)重的嚴(yán)重性問題,不應(yīng)該出現(xiàn)在您的產(chǎn)品中,因為它是眾所周知的,并且允許遠(yuǎn)程拒絕服務(wù)攻擊或“未指定的其他影響”。查看此缺陷的條目,它在 Linux 內(nèi)核版本 5.0.13 或更高版本中已解決,這意味著如果您的 Linux 內(nèi)核是早期版本,則應(yīng)在產(chǎn)品中升級到該版本。
對于產(chǎn)品中的開源組件,有許多工具可用于確定軟件中是否包含重要的 CVE,其中最重要的稱為 cve-check 。此工具會生成報告,其中包括哪些軟件包包含通過執(zhí)行版本檢查在您使用的版本中未解決的 CVE。此信息可用于確定在將商品圖片視為完整之前是否需要采取任何先發(fā)制人的措施。
制造商不想進(jìn)行這種檢查和更新,因為他們的首要任務(wù)是嘗試設(shè)計和開發(fā)產(chǎn)品。大多數(shù)設(shè)備制造商寧愿讓他們的工程師解決產(chǎn)品問題,而不是管理和維護(hù)Linux發(fā)行版。但是,開源提供的極端功能,穩(wěn)定性和社區(qū)是有代價的(您想編寫SSL層還是使用世界各地設(shè)備中使用的SSL層?設(shè)備制造商必須承擔(dān)此任務(wù),或者使用商業(yè) Linux 發(fā)行版并要求其供應(yīng)商負(fù)責(zé)為他們完成這項工作。
監(jiān)控并確保解決已知漏洞并不是現(xiàn)階段唯一要考慮的事情。如果不加以解決,可能會導(dǎo)致您的設(shè)備被利用的其他一些問題包括:
訪問控制 – 您是否設(shè)計了定義可以訪問各種類型數(shù)據(jù)(用戶級別、管理級別、維護(hù)級別等)的角色的功能,并且是否確定只有授權(quán)角色才能訪問數(shù)據(jù)?與對設(shè)備的物理訪問相比,來自互聯(lián)網(wǎng)的更高級別的訪問控制是否難以訪問數(shù)據(jù)?設(shè)備的身份驗證方法是否難以利用?是否管理默認(rèn)帳戶和密碼,使其無法在現(xiàn)場被利用?Linux 至少提供了兩種方法來管理訪問控制:1) 自由裁量 (DAC),標(biāo)準(zhǔn)的 Linux 訪問控制模型,以及 2),強制 (MAC),它更復(fù)雜、更安全——SELinux 包的一部分。
加密 – 存儲在您設(shè)備上的數(shù)據(jù)(內(nèi)存和存儲中)以及您的設(shè)備與其他設(shè)備之間的傳輸,是否受到保護(hù)和加密,以便只有那些想要看到它的人才能破譯?許多允許外部參與者查看數(shù)據(jù)的潛在漏洞仍然需要適當(dāng)?shù)拿荑€來解密數(shù)據(jù)。開發(fā)人員需要確保必須克服不同的機制來訪問密鑰,而不僅僅是訪問加密內(nèi)存。
硬件安全協(xié)助 – 現(xiàn)代處理器的許多功能有助于確保設(shè)備和應(yīng)用程序的安全性,但系統(tǒng)設(shè)計人員有責(zé)任利用它們。諸如TrustZone,加密加速,可信平臺模塊(TPM)等功能位于現(xiàn)代微處理器上,旨在加速和協(xié)助安全設(shè)計的開發(fā)。但是,如果您不使用這些功能,則僅在硬件中擁有這些功能是無用的。
保護(hù)未來的設(shè)備
一旦您的產(chǎn)品發(fā)布,您的工作就沒有完成,因為已知漏洞的數(shù)量是一個不斷變化的目標(biāo),每天都在增加。2019 年,創(chuàng)建了 12,174 個 CVE,每天超過 30 個。其中大多數(shù)都不是問題,而且,在那些問題中,許多不適用于您的設(shè)備,因為許多CVE是針對舊版本的開源組件報告的,或者將針對您不使用的組件。也就是說,即使針對 Linux 內(nèi)核,2019 年也發(fā)布了 170 個 CVE,其中一些會導(dǎo)致針對您的設(shè)備的潛在漏洞利用。
雖然沒有辦法防止這種情況發(fā)生,但您需要知道它會發(fā)生,并且您需要確保您的設(shè)備已準(zhǔn)備就緒。為將來準(zhǔn)備設(shè)備的時間是在開發(fā)期間,以便您可以準(zhǔn)備設(shè)備,以便在發(fā)現(xiàn)并修復(fù)新的漏洞(和重大產(chǎn)品缺陷)時進(jìn)行更新。監(jiān)管機構(gòu)在這個問題上采取了比過去強硬得多的立場,并要求將管理計劃作為設(shè)備上市后計劃的一部分(在美國,如醫(yī)療器械網(wǎng)絡(luò)安全上市后管理指南中所述)。
需要管理的不僅僅是 CVE;例如,在2016年,一個通常被稱為Mirai僵尸網(wǎng)絡(luò)的漏洞通過接管網(wǎng)絡(luò)攝像頭和路由器等小型物聯(lián)網(wǎng)設(shè)備,并使用它們對美國和法國的Web基礎(chǔ)設(shè)施提供商執(zhí)行分布式拒絕服務(wù)攻擊(DDoS攻擊),從而破壞了大部分互聯(lián)網(wǎng)。這些受感染設(shè)備的大多數(shù)所有者都不知道他們的系統(tǒng)已被感染,而Mirai(及其衍生產(chǎn)品)今天仍然是一個威脅。甚至今天制造的設(shè)備也容易受到它的影響,即使根本原因很簡單,就像嘗試訪問具有 64 個眾所周知的默認(rèn)登錄名/密碼(例如用戶/用戶或用戶/密碼)的根級訪問帳戶一樣簡單。由于這些設(shè)備的大多數(shù)用戶不知道或無法更改這些簡單的默認(rèn)值,因此Mirai僵尸網(wǎng)絡(luò)能夠控制這些系統(tǒng)。
在開發(fā)過程中應(yīng)考慮許多因素,以使設(shè)備面向未來,但最重要的是能夠安全地更新系統(tǒng)。支持此方法的方法和設(shè)施很多且復(fù)雜,超出了本文的范圍。有關(guān)詳細(xì)信息(請參閱本文末尾),提供了涉及此重要主題的資源。
應(yīng)用預(yù)防性開發(fā)技術(shù)
如果您使用 Linux 和其他開源軟件作為產(chǎn)品設(shè)計的一部分,那么當(dāng)您發(fā)布設(shè)備時,您的設(shè)備中將存在您(或其他任何人)知道的漏洞。因此,您不僅希望在發(fā)布時消除盡可能多的已知漏洞,而且還必須假設(shè),在某些時候,某些不良行為者將能夠未經(jīng)授權(quán)訪問設(shè)備。發(fā)生這種情況時,您希望使他們盡可能難以利用該訪問權(quán)限獲利。對于掌握設(shè)備漏洞知識的堅定黑客來說,沒有完美的防御措施,但您希望讓他們盡可能困難地做到這一點。您無法保護(hù)自己免受正在使用的開源模塊中的缺陷的影響,但您可以控制自己的應(yīng)用程序中的潛在缺陷。當(dāng)然,您應(yīng)該考慮上述技術(shù)來設(shè)計更好的保護(hù),但是您的應(yīng)用程序的開發(fā)方式呢?
如上所述,開源和應(yīng)用軟件中的大多數(shù)漏洞都是由于反復(fù)發(fā)生的開發(fā)缺陷造成的。諸如 NULL 指針取消引用、釋放已釋放的內(nèi)存、溢出固定長度緩沖區(qū)等都是黑客很容易利用的編碼錯誤來破壞您的設(shè)備。但是,有幾種方法可以用來提供幫助。具體技術(shù)超出了本文的范圍,但可以從以下地方開始尋找:
靜態(tài)(和動態(tài))分析。您可能會看到的第一個靜態(tài)分析是來自編譯器的警告。令人驚訝的是,有多少組織在錯誤地急于發(fā)布某些東西時忽略了這個有價值的診斷工具。除此之外,開源社區(qū)提供了幾個有用的靜態(tài)分析工具,如cppcheck和clang,并且有許多商業(yè)解決方案可用。所有這些都將檢測代碼審查中容易遺漏的問題,并且只要管理這些工具的報告,您就可以防止應(yīng)用程序中的幾個主要類別的潛在漏洞利用。
使用編碼標(biāo)準(zhǔn)。通常,MISRA 編碼標(biāo)準(zhǔn) 是這些標(biāo)準(zhǔn)的金牌標(biāo)準(zhǔn),并為保護(hù)您的應(yīng)用程序提供了許多經(jīng)過深思熟慮的建議。雖然它的起源來自汽車行業(yè)和安全領(lǐng)域,但它沒有任何特定于汽車(或安全)的內(nèi)容,任何希望保護(hù)其應(yīng)用的設(shè)備制造商都應(yīng)該考慮MISRA。請注意,大多數(shù)靜態(tài)分析工具也大大簡化了應(yīng)用程序與MISRA規(guī)則的檢查。雖然還有其他可用的編碼標(biāo)準(zhǔn),但MISRA將常識與良好實踐相結(jié)合,可以由各種規(guī)模的組織實施。
另一個有用的編碼標(biāo)準(zhǔn)來自卡內(nèi)基梅隆大學(xué)軟件工程學(xué)院;已知 SEI 證書 C。這和MISRA之間有很大的重疊,但SEI標(biāo)準(zhǔn)超越了C和C++,延伸到Android,Java和Perl。
在開發(fā)安全軟件時,還有許多其他有用的信息來源需要考慮,但是如果您尚未使用上述技術(shù),請從那里開始,并在擁有智能編碼標(biāo)準(zhǔn)和靜態(tài)分析范式后考慮擴展您的思維。
結(jié)論
在本文的開頭,我們討論了醫(yī)療設(shè)備中連接的激增,以及這種連接給我們的生活帶來的好處和安全風(fēng)險。我們還討論了美國FDA等監(jiān)管機構(gòu)對這些設(shè)備內(nèi)置和維護(hù)安全性的日益嚴(yán)格的審查。此外,我們還討論了如何在醫(yī)療設(shè)備的設(shè)計、開發(fā)和維護(hù)中克服這些挑戰(zhàn)。按照本文中的指導(dǎo),您的產(chǎn)品將:
更難成功利用
在發(fā)布時防止已知和未知的攻擊
更新速度更快,以關(guān)閉任何新發(fā)現(xiàn)的漏洞
更安全,讓您的客戶確信即使出現(xiàn)問題,他們也受到保護(hù)。
最后一點特別重要。客戶知道,沒有設(shè)備是完全沒有錯誤的。他們想知道的是,您如何最大限度地減少缺陷及其影響,以及在不可避免地出現(xiàn)問題時做好的準(zhǔn)備情況。本文中的方法不會阻止所有潛在的未來安全問題,但它們將使您處于有利地位,以便在這些問題出現(xiàn)時快速解決這些問題。
通過接近安全性并限制被利用的風(fēng)險,您的設(shè)備將不易受到攻擊,更好地準(zhǔn)備保護(hù)患者數(shù)據(jù),并且更有可能順利獲得監(jiān)管批準(zhǔn)并改善全球患者的醫(yī)療結(jié)果。
審核編輯:郭婷
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209328 -
開源
+關(guān)注
關(guān)注
3文章
3309瀏覽量
42471 -
MISRA
+關(guān)注
關(guān)注
0文章
21瀏覽量
6963
發(fā)布評論請先 登錄
相關(guān)推薦
評論