姜宗伯,李澍,劉穎穎
1.重慶大學 生物工程學院,重慶 400044;2.中國食品藥品檢定研究院 醫療器械檢定所,北京 102629;3.北京醫藥健康科技發展中心,北京 100035
隨著人工智能、物聯網、大數據、云計算等技術不斷融入醫療行業,信息數據在患者、醫生、醫療機構、醫療設備之間交互,醫療服務逐步走向智能化[1]。新一代信息技術正在加速與醫療器械融合創新,人工智能輔助診療產品、可穿戴健康監測設備、遠程診療設備等新技術產品加速普及應用,智能化醫療器械正在改變傳統的疾病預防、檢測、治療模式,為提高人民群眾健康質量提供新的手段。智能化醫療器械具有智能化、網絡化、數字化等特點,其安全性直接關系到人身安全、財產安全以及個人信息權益。
在充分利用新技術為整個醫療器械行業帶來革命性進步的同時,如何解決隨之而來的信息安全問題值得我們分析探討[2]。如今的醫療設備已經從獨立的系統過渡到互聯互通、網絡化的設備,這些設備嚴重依賴于更智能、更便捷的軟件,越來越多的醫療設備具備患者信息存儲、處理和網絡通訊能力,從而提供更高效的患者護理服務。隨著醫療設備在醫療機構資產和效益中的權重逐漸增加,醫療設備更加頻繁地參與電子健康信息的交換活動,網絡信息安全問題變得越來越重要[3-4]。隨著互聯網技術在醫療領域的廣泛應用,具備網絡連接功能以及無線連接功能的醫療器械不斷出現[5],有效提升了醫療工作的質量和效率[6],但是網絡數據信息危險也相應增加,導致器械信息面臨網絡攻擊,受到包括勒索、盜取和破壞醫療數據的威脅[7-8]。醫療器械網絡出現安全威脅后的影響十分惡劣,例如,侵犯患者隱私,同時可能產生醫療器械非預期運行的風險,導致患者或使用者受到傷害甚至死亡[9]。造成智能醫療器械信息安全問題的主要原因有軟件質量問題、網絡攻擊、信息安全監管缺失以及木馬病毒等[10],為了避免因發生網絡安全問題而造成的后果和影響,除了運行時對網絡安全的維護,投入使用前對潛在的網絡安全問題的預防也至關重要,對場景下各個醫療器械和接口之間以及數據流進行分析,發現可能存在的威脅及漏洞并制定預防措施成為了必不可少的步驟。
目前我國對醫療器械網絡信息安全性雖然已有一些標準要求,但適應性廣[11],并沒有完備的評價標準或流程來評判場景下醫療器械的網絡信息安全性,評價研究尚未充分開展,相關研究報告較少,也尚未形成標準。在醫療健康場景中,數據的時效性、完整性等尤為重要,在數據的傳輸存儲過程中,一旦發生泄露、篡改或丟失,則會侵犯使用者的隱私,甚至影響醫生的判斷進而最終影響患者的健康或治療。
結合醫療健康場景的特殊性,本文對模擬構建的醫療健康場景下的醫療器械及接口的數據流進行分析并構建出數據流圖,運用Microsoft 威脅建模工具根據STRIDE 模型生成漏洞列表,對掃描出的漏洞進行分類、分析并制定預防策略,并通過參考通用安全漏洞評分系統(Common Vulnerability Scoring System,CVSS)模型和滲透測試等方法驗證漏洞的可利用性與降低風險措施的有效性,達到對可能發生的網絡安全問題進行預防的目的,為醫療健康場景下醫療器械網絡信息安全評估規范和標準的制定提供參考。
在分析醫療健康場景的網絡安全問題時,由于場景的特殊性,需要特別關注通信過程中的性能,包括數據的完整性、可靠性、傳輸速率與距離、延時以及功耗等問題。醫療數據和患者信息在醫療設備、服務器系統、數據庫之間傳輸和存儲等過程中一旦發生泄露,則會侵犯患者的隱私。在醫生進行遠程診斷等線上操作時,數據傳輸的可靠性及延時成為了需要考慮的重要因素,直接影響到醫生的判斷,關系到患者或用戶的治療與健康。所以在分析場景的網絡安全問題時,要針對場景的特殊性制定專門的、適合場景的方法和策略。
為了針對醫療健康場景的特點及特殊性,探究其網絡安全問題的解決方法,本文通過模擬用戶或患者在家庭及醫院所處場景中的醫療設備及主動健康設備、場景中的節點及數據傳輸模式,構建一個醫療健康場景,見圖1。在家庭場景中,用戶在家中使用血壓計、血糖儀、呼吸機、心電檢測儀等醫療設備及主動健康設備測量自身數據,儀器通過藍牙或者Wi-Fi 上傳至手機或PAD,經路由器最終上傳到服務器中。醫院場景中,院內的醫療器械設備直接通過網絡上傳至服務器。服務器將采集測量到的數據儲存在數據庫中,并將數據傳到報告分析系統,系統對用戶的數據進行分析并生成用戶檢測報告單上傳到PC 端及用戶手機上,醫生可以通過PC 端查看患者的數據做出診斷和給出治療意見,用戶和患者可以通過移動端查看檢測報告和醫生診斷結果和意見。

圖1 醫療健康場景示意圖
STRIDE 威脅建模[12]是微軟提出的一種風險分析和評估工具,幾乎可以涵蓋所有的安全問題[13]。該方法將威脅類型分為假冒(Spoofing,S)、篡改(Tampering,T)、否認(Repudiation,R)、信息泄漏(Information Disclosure,I)、拒絕服務(Denial of Service,D)和權限提升(Elevation of Privilege,E)。假冒(S),指用戶冒用他人的認證信息;篡改(T),指未經授權對數據進行修改;否認(R),指用戶拒絕從事活動,并且沒有任何辦法可以證明他在拒絕承認;信息泄露(I),指信息泄露給無權知曉該信息的人員;拒絕服務(D),指拒絕服務攻擊;權限提升(E),指原本低權限的用戶獲得了更高的權限,從而可以進行危害系統的活動[12-14]。每類STRIDE 都會根據數據流的元素產生漏洞,威脅建模可以對最可能影響系統的威脅進行系統識別和評價[14]。
本文選擇使用Microsoft 威脅建模工具來實現對場景的建模和生成威脅列表,威脅建模工具是Microsoft安全開發生命周期的核心要素。潛在安全問題處于無須花費過多成本即可相對容易解決的階段,軟件架構師可以使用威脅建模工具提前識別這些問題,因此可以大幅減少開發總成本。此外,設計該工具時考慮到了非安全專家的體驗,為他們提供有關創建和分析威脅模型的清晰指導,讓所有開發人員都可以更輕松地使用威脅建模。
在醫療健康場景中,患者的隱私及醫療數據和醫學圖像的完整性尤為重要,即使是很小的泄露或者改變都可能會給患者或用戶造成重大影響和威脅,建模的過程中需要著重針對數據進行考慮。因此,基于醫療健康場景的特殊性,本文選擇使用Microsoft 威脅建模工具,通過Microsoft 威脅建模工具可以創建數據流圖,分析數據流圖自動生成潛在威脅列表,繪制數據流圖分析各個外部實體與系統之間的數據交互關系。系統體系結構和數據流圖分析是通過對系統的總體架構和業務流程的分析,劃定業務系統的數據流和安全邊界[15]。Microsoft威脅建模工具可以通過數據流圖分析出漏洞,根據潛在的漏洞提出緩解措施,并生成報告,列出已識別和已緩解的威脅,還可以為威脅建模創建自定義模板。
1.4.1 建模繪制數據流圖并生成漏洞列表
對系統環境進行分析,確定場景下的各個設備和參與的角色,確定數據資源并將參與者映射到資源;進行系統分解,對每種設備類型的數據流進行建模,識別威脅面;對數據流模型進行系統分解,以創建漏洞列表;確定系統邊界,作為設備類型建模的一部分,邊界用于定義固有信任區域。信任邊界被描述為虛線框,當在模型中使用時,指示邊界的兩側不信任另一側。因此,當數據流跨越信任邊界時,其將成為不可信的數據流,并產生可能的漏洞。利用Microsoft 威脅建模工具繪制數據流圖并生成漏洞列表,通過STRIDE 模型對醫療設備系統中的潛在威脅進行識別并分類。
1.4.2 對漏洞威脅進行評分
CVSS 是由美國國家基礎設施顧問委員會(NIAC)開發、事件響應與安全組織論壇(FIRST)維護的一個開放的計算機系統安全漏洞評估框架,是公開的行業評測標準,用來評估漏洞的嚴重程度。CVSS 將每個漏洞量化為0~10 的具體分值,分數越高,危險級別越高[16-18]。但由于醫療健康場景的特殊性,評分的標準應該針對場景進行相應的調整,需考慮到數據泄露或篡改、傳輸過程中的延時等造成的影響,根據數據存儲傳輸過程中的完整性、機密性、可利用性以及時效性等因素,調整相應分值的比重。通過基本評估、時間評估、環境評估3個維度,在生成漏洞列表后,參考CVSS 對潛在威脅進行評分,并確定威脅的優先級順序。
1.4.3 風險降級
根據評分的結果,針對STRIDE 的威脅類別提出相應的緩解措施方案,進行風險降級。而后利用Nmap、Hscan、Nikto、SQLMap、Burpsuit 等滲透測試工具和信息收集、端口掃描、Web 端口手工訪問與探測、弱口令探測、配置文件與數據庫檢查等滲透測試技術[19]對整個場景進行滲透測試,并用CVSS 對降級后的風險進行評估,以驗證漏洞的可利用性和降低風險措施的有效性,確保漏洞都降低到可接受的風險水平。
對醫療健康場景進行分析,利用軟件Microsoft Threat Modeling Tool 針對場景繪制流程圖(圖2),并生成威脅建模報告。

圖2 醫療健康場景數據流圖
分析每個數據流及相關處理過程是否有STRIDE 各類威脅存在,識別并記錄威脅。針對設備及系統的處理過程、數據流和數據存儲及外部實體的訪問可能存在的各種威脅進行分析,共有66 個威脅,包含15 個S(假冒)、3 個T(篡改)、10 個R(否認)、4 個I(信息泄露)、14 個D(拒絕服務)和20 個E(權限提升)。由于威脅個數過多且有一定重復性,根據類型整理歸類出可能存在的威脅的風險描述及分析如表1 所示。

表1 各類威脅的描述分析
通過對模擬的醫療健康場景構建數據流圖并使用Microsoft 威脅建模工具生成漏洞列表的結果表明,本研究方法用于發現場景下的網絡安全問題并尋找解決辦法是可行的。對于醫療健康場景下的網絡安全,應該更加注重對患者隱私及數據的保護,要保證患者的隱私安全,保證醫療數據不會泄露或被篡改導致影響醫生的判斷甚至影響患者的健康和安全。在生成威脅列表對威脅進行分類分析后,結合醫療健康場景的特殊性,根據CVSS制定評分策略。新的評分策略既要關注醫療系統的風險識別、安全防御、檢測、恢復、響應以及可控性等因素,還要關注醫療數據的完整性、保密性、可用性、異常識別以及備份恢復等因素,并根據評分結果結合醫療健康場景的特殊性針對每一類威脅制定威脅緩解措施進行風險降級。
(1)當患者、醫護人員與醫療器械及系統或醫療器械系統與數據庫發生信息的傳遞或交互時會產生假冒(S)威脅,可以使用強身份驗證以及加密算法進行加密等方法來緩解威脅。例如,當數據庫被攻擊者欺騙時可能會導致數據被寫入攻擊者的目標而不是數據庫,以及服務器或系統被攻擊者欺騙可能導致未經授權訪問服務器或系統,可以使用標準身份驗證機制來標識目標數據存儲及系統服務器。
(2)當使用人員對醫療器械及系統發送請求時會產生篡改(T)威脅,使用者請求的數據可能被攻擊者篡改,可以采取授權管理、數字簽名、輸入驗證及物理方法等來緩解威脅。例如,使用者與醫療器械系統進行交互時可能缺乏輸入驗證,流經請求的數據可能被攻擊者篡改,導致針對醫療器械系統的拒絕服務攻擊、特權提升攻擊或信息泄露。未能驗證輸入是否符合預期是問題的根本原因,可以考慮所有路徑及其處理數據的方式,使用批準的列表輸入驗證方法驗證所有輸入的正確性。
(3)當使用人員與醫療器械及系統進行請求及響應時,發生數據的傳遞與交互時會產生否認(R)威脅,導致未從信任邊界另一端接收到數據,可以采取數字簽名、系統審計等方法來緩解威脅。例如,醫護人員對系統發送請求時,系統聲稱沒有從信任邊界之外的源接收數據,可以考慮使用日志記錄或審核來記錄接收數據的源、時間以及摘要。
(4)當對數據庫的數據進行讀取和使用人員對醫療器械及系統發送請求時,會產生信息泄露(I)的威脅,發送請求的數據可能會被攻擊者嗅探,用來攻擊系統的其他部分。當信息可以被未經授權的一方讀取時,就會發生信息泄露,可以對數據流進行加密,使用授權管理、隱私增強協議等方法來預防。例如,服務器讀取數據庫信息時可能會發生資源的弱訪問控制,導致攻擊者可以讀取其他信息,可以使用查看授權設置;醫護人員對系統發生請求時流經請求的數據可能會被攻擊者嗅探,根據攻擊者可以讀取的數據類型可能被用來攻擊系統的其他部分導致泄露信息,可以使用加密數據流。
(5)當進程或數據存儲無法為傳入請求提供服務或無法按規范執行時,會發生拒絕服務(D)。當醫療器械及系統發生故障停止運行或運行緩慢,以及數據庫發生過度的資源消耗時,會對傳入的請求拒絕服務,可以提高網絡帶寬或關閉不必要的服務和端口來提高抵抗拒絕服務的能力,使用身份驗證、過濾、限流等方法來緩解威脅。
(6)醫療器械系統及服務器可能會被利用bug 來實現獲得增強的功能或特權產生權限提升(E)威脅。例如,攻擊者將數據傳遞到系統中,以便將系統中的程序執行流程更改為攻擊者的選擇;醫生對系統發生請求時,攻擊者可以模擬請求的上下文來獲得額外的特權;攻擊者對系統使用遠程執行代碼獲得特權提升,可以采取最小權限原則及強授權等方法來預防威脅。
進行風險降級后,根據醫療健康場景的特殊性,針對場景下的數據傳輸存儲及醫療系統等,進行側重于醫療健康場景的滲透測試,并使用新的評分策略進行評分以驗證漏洞的可利用性和降低風險措施的有效性,確保漏洞都降低到可接受的風險水平。
本文根據醫療健康場景的特點及特殊性,通過模擬移動救治和個人家庭的場景討論檢測并解決其網絡安全的方法,為場景下的網絡安全問題分析和預防提供思路。但是沒有實際搭建場景和系統來通過實驗具體驗證其可行性,未來的研究方向可以針對醫療健康場景,制定符合醫療健康場景特殊性的漏洞評分標準及滲透測試方法,搭建實際的場景和系統來驗證其科學性及可行性。
本文結合醫療健康場景的特殊性,通過Microsoft 威脅建模工具對模擬的醫療健康場景進行建模分析,繪制數據流圖生成威脅列表,對威脅進行分類、分析并參照CVSS 制定針對醫療健康場景的評分策略,提出解決辦法緩解威脅并進行風險降級。可以科學有效地分析出醫療健康場景下可能遇到的威脅及網絡安全問題,在一定程度上避免或預防了由網絡安全問題帶來的后果及影響,為場景下的醫療器械網絡安全問題的分析和預防提供思路。