王晨希,孟祥峰,王浩,李佳戈
中國食品藥品檢定研究院 光機電室,北京 100050
機器人不僅用于工業領域,在醫療系統也已得到推廣應用。機器人在醫療界中應用的相關研究主要集中在外科手術機器人、康復機器人、護理機器人和服務機器人方面[1]。近些年,隨著通訊技術的迅猛發展,遠程通訊覆蓋率和傳輸速度得到了很大提升,遠程醫療在醫用機器人領域也得到了廣泛應用,如醫生能夠為遠端病人進行手術前期診斷、手術方案確定和手術治療,使得患者能夠得到及時有效的治療[2]。遠程醫療技術推動了醫用機器人產業的進步,同時帶來的網絡安全問題也應當引起關注[3]。
2001 年9 月7 日法國醫生雅克·馬雷斯科在美國紐約通過網絡遠程遙控在法國斯特拉斯堡手術室中的ZEUSTM機器人把裝有微型光纖攝像頭的內窺鏡導入一位病人的腹部,然后使用解剖刀和鑷子摘除了可疑的膽囊組織,實現了世界上首個跨洋膽囊摘除手術。國內方面,2018 年12月18 日,中國人民解放軍總醫院(301 醫院)第一醫學中心肝膽外二科主任劉榮醫生利用5G 網絡,遠程無線操控機器人床旁系統,為50 公里外的一只實驗豬進行了肝臟楔形切除手術[4]。技術創新的日新月異往往伴隨著新風險引入,遠程醫療技術與醫用機器人產業的結合帶來了很多新的問題和挑戰,其中最為重要的就是網絡安全問題。IOActive 網絡安全公司長期以來一直在探索醫用機器人的網絡安全問題,2019 年,這兩個機構披露了在醫用機器人控制軟件中的大約50 個缺陷。攻擊者可能會利用這些缺陷來遠程控制醫用機器人、滲入網絡、竊取數據并造成損失。例如,修改被感染模塊文件以更改機器人的默認操作、禁用臨床功能,將錯誤的數據發送到命令與控制服務器,導致臨床使用風險。IOActive 專家在2018 年卡巴斯基安全分析師峰會上第一次對醫用機器人進行了勒索軟件攻擊,以研究這類攻擊所需的關鍵要素以及黑客成功后會產生的影響。事實證明醫用機器人在臨床使用過程中由于網絡安全導致的問題是存在的,并且后果是很嚴重的[5]。
本文依據相關研究,發現當前醫用機器人技術面臨的威脅以及在臨床使用過程中的網絡安全問題,闡述相關威脅造成的損害,目的是提高醫用機器人在使用過程中的安全性,防止攻擊者利用漏洞對患者及其周遭環境造成嚴重損害[6]。
為了識別醫用機器人可能遭遇的網絡安全問題,需要明確醫用機器人生態系統的結構。醫用機器人生態系統通常由物理機器人、操作系統、固件、軟件、移動/遠程控制應用程序、供應商互聯網服務、云服務、網絡等組成[7]。整個生態系統呈現出一個巨大的攻擊面,具有多種網絡攻擊選項。關注于手術機器人的高級別和關鍵的網絡安全風險,因此需要重點評估機器人生態系統中最易訪問的組件,如:移動應用程序、操作系統、固件映像和軟件,這些組件為醫用機器人提供了大部分功能得以實施的基礎。
醫用機器人生態系統組件中的網絡安全漏洞類型較多,其中許多是常見問題,主要體現在以下七個方面。
通信允許用戶和生態系統組件無縫交互,是醫用機器人生態系統的重要組成部分。例如,用戶可以用計算機為醫用機器人編程,可以用移動應用程序實時發送命令,或者醫用機器人可以連接到供應商的互聯網服務/云以進行軟件更新和運行應用程序等[8]。通過使用加密的強通信來確保醫用機器人的安全至關重要。否則,攻擊者很容易截獲通信和竊取機密信息,危害機器人生態系統的關鍵組件,入侵機器人等。
事實上,目前大多數醫用機器人使用的是不安全的通信。通過互聯網、藍牙、Wi-Fi 等與醫用機器人連接的移動和軟件應用程序,并未適當保護通信信道。他們用明文或弱加密發送關鍵信息。一些醫用機器人甚至可以在沒有任何保護的情況下通過明文向供應商服務或云發送數據來連接互聯網。
正確識別有權訪問的用戶非常重要。只有有效的用戶才能對醫用機器人編程或向醫用機器人發送命令。無法防范未經授權的訪問意味著攻擊者可以在沒有有效用戶名和密碼的情況下輕松遠程使用某些醫療功能,從而從本質上控制醫用機器人。
大多數醫用機器人都公開了一個或多個可以通過計算機軟件、移動應用程序、互聯網服務等遠程訪問的服務。這些服務包括復雜和關鍵的功能,如編程機器人和接收外部命令,以及返回基本機器人信息等簡單的功能。如果找到不需要用戶名和密碼的關鍵機器人服務,允許任何人遠程訪問這些服務。在某些情況下,則可以繞過身份驗證,從而允許在沒有正確密碼的情況下進行訪問。這是目前最關鍵的問題之一,即系統忽略用戶身份驗證,致使非授權用戶遠程入侵醫用機器人[9]。
醫用機器人操作系統中所有robot 功能應僅可由具有適當權限的授權用戶或資源訪問。如果未正確實現授權,則未經授權的攻擊者可能會濫用robot 功能[10]。大多數醫用機器人不需要足夠的授權來保護其功能,包括在醫用機器人中安裝應用程序、更新操作系統軟件等關鍵功能。這使得攻擊者能夠在未經許可的情況下在醫用機器人中安裝軟件,并獲得對其的完全控制。
數據保護是確保完整性和隱私的關鍵。醫用機器人可以存儲敏感信息,包括密碼、密鑰、患者信息和系統設置,并將這些信息發送到移動應用程序、互聯網服務、計算機軟件等,這意味著必須對通信信道進行加密,以避免數據泄露[11]。醫用機器人還可接收遠程軟件更新,需要進行適當的加密,以確保這些更新是可信的,并且沒有被惡意軟件修改。但是當前大多數醫用機器人要么沒有使用加密,要么使用不當,將敏感數據暴露給潛在的攻擊者。
醫用機器人生態系統可以包括患者信息的獲取,這取決于醫用機器人及其預期用途。其中一些患者信息應保密,不得與醫用機器人所有者以外的任何人共享。隱私信息包括個人信息、檢查診斷數據及與醫用機器人生態系統本身有關的數據。用戶應該完全控制這些信息以及控制何時與誰共享。然而,醫用機器人的移動應用程序在未經用戶同意的情況下向遠程服務器發送私人信息,包括移動網絡信息、設備信息和當前GPS 位置。這些信息可以在用戶不知情的情況下用于監視、跟蹤和竊取目的。醫用機器人還可以在沒有身份驗證的情況下遠程公開患者信息,允許任何人訪問[12]。
大多數醫用機器人都提供了一組功能,這些功能可以通過機器人中的軟件服務進行訪問和編程。默認情況下,應安全配置這些功能,以便只有經過授權的用戶才能訪問它們。它們還應受到密碼保護,允許授權用戶啟用/禁用它們。當前醫用機器人具有不安全的特性,這些特性不容易被禁用或保護,以及具有默認密碼的特性,這些特性要么難以更改,要么根本無法更改。這意味著任何人都可能濫用醫用機器人的功能,因為默認密碼通常是公開的,或者由于機器人模型共享相同的默認密碼,因此很容易獲得。
大多數醫用機器人使用開源框架和庫。其中最流行的是機器人操作系統(Robot Operating System,ROS),用于多個供應商的多個醫用機器人中。ROS 存在許多已知的網絡安全問題,例如明文通信、身份驗證問題和弱授權方案。所有這些問題都使醫用機器人不安全。在醫用機器人研發領域,用于開發和編程的軟件框架、庫、操作系統都是開源共享的,這已經成為行業內的不變現象,事實上這些開源的軟件框架、庫、操作系統是存在安全隱患的,極容易被黑客利用,攻擊機器人本身[13]。
總之,并非所有的醫用機器人都會受到上面提到的每一個網絡安全問題的攻擊,也并非每個醫用機器人都會有網絡安全漏洞,但是網絡安全問題在醫用機器人領域應當得到足夠的重視。可以看到醫用機器人界存在一個廣泛的問題:研究人員和制造商在世界范圍內使用相同或非常相似的工具、軟件和設計實踐。例如,作為研究項目誕生的醫用機器人在沒有附加網絡安全保護的情況下成為醫療產品是很常見的;最終產品的安全狀況與研究或原型機器人保持不變。這種做法導致網絡安全防御不力,因為研究和原型機器人通常在設計和制造時很少或者根本沒有保護措施。醫用機器人網絡安全的缺失在現實生態中是顯而易見。
醫用機器人根據預期用途和場景不同有著不同的功能,功能越多,醫用機器人通常就越先進和智能。但這些功能也會使醫用機器人更容易受到攻擊,更容易被攻擊者濫用。
近些年,醫用機器人制造商發布的產品,某些功能正在成為趨勢,這些共同的特性提高了可訪問性、可用性、互連性和可重用性,例如,帶有移動應用程序的實時遠程控制。然而,從網絡安全的角度來看,這些特性中的許多都使醫用機器人更加脆弱,更易被攻擊,許多這些特征都存在著嚴重和很高風險的網絡安全問題。其中一些可能被直接濫用,另一些則帶來嚴重威脅[14-15]。醫用機器人功能可能面臨的威脅和攻擊見表1。

表1 醫用機器人功能可能面臨的威脅和攻擊
構建安全的醫用機器人并不是一項簡單的任務,制造商應當結合醫療機器人的預期用途、使用環境和核心功能以及相連設備或系統的情況來確定產品的網絡安全特性,并采用基于風險管理的方法來保證網絡安全:識別資產、威脅和脆弱性,評估威脅和脆弱性對于產品和患者的影響以及被利用的可能性,確定風險水平并采取適宜的風險緩解措施,基于風險接受準則評估剩余風險。要進行深入研究分析,有針對性地提出解決方案。
醫用機器人一般是包含嵌入式軟件的,用于控制驅動硬件設備等,制造商必須實現安全的軟件開發生命周期過程[16]。從軟件的需求分析、設計、開發、測試、維護、退市等階段均考慮引入網絡安全技術要素。制造商應當在醫用機器人整個生命周期過程中持續關注網絡安全問題,包括產品的設計開發、生產、分銷、部署和維護。同時,制造商應當結合自身質量管理體系的要求和醫療器械產品特點來保證產品的網絡安全,包括上市前和上市后的相關要求,如風險管理、設計開發、網絡安全維護及用戶告知等要求。此外,制造商可采用信息安全領域的良好工程實踐來完善醫用機器人的網絡安全管理,保證產品的安全性和有效性。一般從六個階段進行相關安全活動,見表2。

表2 安全活動和描述
從醫用機器人的安全角度,制造商必須要考慮數據加密問題,包括存儲加密和傳輸加密。制造商要保證儲存在醫用機器人存儲設備上的數據是安全的。基于風險分析,必須考慮對存儲在產品上的數據進行加密。加密可以保護臨床用戶、提供服務和收集臨床數據的應用程序工程師的機密性/完整性。應使用一種與傳統使用、服務訪問、緊急訪問一致的加密密鑰管理機制。加密方法和強度考慮了數據的容量(記錄收集/聚合的程度)和靈敏度。應根據醫用機器人的預期用途、使用方式和風險評估綜合考慮此項能力的驗證與確認。
對于傳輸的保密性,制造商必須正確加密醫用機器人通信和軟件更新,醫用機器人與外部軟件和硬件進行數據交換時,務必使用加密技術,傳輸前使用相關算法進行加密,傳輸結束后進行解密,保證數據在鏈路上加密傳輸;對于醫用機器人內部軟件的更新應采取加密機制,對于授權用戶進行軟件更新時應采用密碼驗證的方式,同時密碼應動態更新,防止硬編碼的情況出現。例如,主從式醫用機器人數據傳輸采取AES+Base64 加密方式,即采用對稱加密的方式,主手將指令數據使用密鑰將明文數據加密成密文,然后發送出去,接收方收到密文后,使用同一個密鑰將密文解密成明文讀取。
制造商應對醫用機器人進行經過身份驗證的單個用戶進行標識,授權功能允許每個用戶僅有訪問已批準的數據權利,并僅在產品上執行已批準的功能。授權用戶包括注冊申請人安全控制人員和該策略定義的服務人員。軟件功能通常支持基于許可的系統,提供對注冊申請人安全控制人員中個人角色(基于角色的訪問控制)適當的系統功能和數據的訪問。例如,操作者可使用所有適當的醫用機器人功能執行指定的工作,管理員可使用操作者管理、產品維護等功能。
制造商必須確保只有授權用戶才能訪問醫用機器人服務和功能。確保醫用機器人的使用者、管理者、維護者、擁有者得到合適的授權是重要的風險控制手段。用戶權限的管理可以提升保密性、完整性與可核查性。以一種方式管理賬戶以保護產品數據訪問的能力,操作者可能需要將個人首選項與操作者賬戶關聯。這可能有助于多個運營商、部門,甚至多個使用的醫用機器人和系統。控制對產品、網絡資源和健康數據的訪問,并生成不可否認的審計跟蹤[17]。
制造商必須提供將醫用機器人恢復到其出廠設置狀態的方法。醫用機器人被攻擊后可能導致惡意軟件或腳本的注入,使得機器人的全部或部分功能失去控制,從而導致臨床使用的巨大風險,恢復出廠設置可以將醫用機器人各參數恢復到出廠狀態,刪除惡意軟件和腳本,醫用機器人重新恢復使用。此外工廠恢復應該將醫用機器人存儲介質上的數據進行覆蓋刪除,應避免數據在被清除之后被重新恢復。
制造商必須確保醫用機器人的默認配置是安全的。應當保證醫用機器人出廠前默認設置是安全的,比如,端口的開放,安全傳輸協議,加密格式存儲等設置應保證安全。應合理保證儲存在醫用機器人存儲介質上的數據是和保持安全的方式與設備上數據記錄的靈敏度和容量成比例。系統合理地避免了可能危及完整性、保密性或可用性的篡改或組件刪除。篡改(包括設備移除)是可以檢測到的。應根據醫用機器人的預期用途、使用方式和風險評估綜合考慮此項能力的驗證與確認。
醫用機器人的默認安全能力應該考慮網絡安全配置能力,管理員能夠選擇使用產品安全功能,包括與安全能力控制交互的特權管理方面,同時也應考慮網絡安全升級能力,根據客觀的、權威的、文檔化的漏洞風險評估,優先考慮解決高風險漏洞的補丁。要求醫用機器人制造商和醫療服務提供商確保其產品持續安全和有效的臨床功能。
制造商應確保其醫用機器人系統所有技術供應商以最佳實踐實施網絡安全。醫用機器人是個系統工程,其中包括機械、電氣、軟件等多個子系統組成,只有在子系統設計時充分考慮網絡安全要素,子系統集成時才能做到系統級的安全。例如在醫用機器人的軟件組件設計時使用不安全或已遭棄用的軟件組件和庫,將導致產品被攻陷,組件包括操作系統平臺的不安全定制以及使用來自受損的第三方軟件或硬件組件。第三方組件作為整體醫療器械的一部分,責任方若對此類組件不知情,則不利于此類組件未來的網絡安全管理,也不利于未來網絡安全事件的責任劃分,可能導致不可接受的風險。
制造商應具有報告網絡安全問題的清晰溝通渠道,并明確確定負責適當處理報告的個人或團隊。目的是為了建立漏洞管理機制,提醒其他制造商在進行產品研發時參考,彌補漏洞。
例如,美國食品藥品監督管理局(Food and Drug Administration,FDA)早在好幾年之前就已經向醫療領域發出了醫療設備極易遭到網絡攻擊的警告。這樣的擔心顯然非常有必要,據悉,研究人員已經成功攻破過醫用機器人、心臟除顫器、心臟起搏器、胰島素泵等醫療設備,并對其實施遠程控制。除了設備之外,病人的醫療信息也是網絡攻擊的重要對象之一。美國FDA 建議,各大制造商還應當聯合起來建立一個信息共享與分析組織(Information Sharing and Analysis Organization,ISAO)以此來分享重要的安全威脅和應對措施。此外,美國FDA 還建議,大部分用于解決網絡安全漏洞問題的補丁和更新將不需要每次都上報給他們,除非出現了死亡或非常嚴重的醫療事件。不過這些信息必須要在發現漏洞的30 天內告知消費者和設備使用者,而漏洞必須要在60 天修復,同時這些信息也有必要分享給ISAO。如此的漏洞披露機制緩解了醫療器械產品的網絡安全風險[18]。
制造商應確保在投入生產之前對醫用機器人的所有生態系統組件進行完整的安全評估。這種安全評估包括產品的測試和驗證,同時包括生產活動和質量文件的檢查。
通過在醫用機器人上創建審計跟蹤來跟蹤系統和數據訪問、修改或刪除,從而記錄和檢查系統活動的能力。支持將日志記錄信息作為獨立存儲庫(在其自己的文件系統中記錄審計文件)使用[19]。使用適當的審計審查工具支持審計創建和維護,確保審核資料的安全(特別是在這些資料本身含有個人資料的情況下),并確保無法編輯或刪除審計數據。審計數據包含個人數據和/或設備數據,所有處理(例如存取、儲存和轉移)都應該有適當的控制。應根據醫用機器人的預期用途、使用方式和風險評估綜合考慮此項能力的驗證。
從改進醫用機器人的網絡安全能力目的出發,分別從全生命周期安全性、加密、認證和授權、工廠恢復、默認安全、保障供應鏈安全、漏洞披露、安全審計八個方面提出了緩解網絡安全風險的措施,并做舉例說明,一定程度上避免了醫用機器人在臨床使用過程中被攻擊或被控制,但是網絡安全技術是一項迭代較快的技術,緩解措施應當動態變化,不應一成不變,墨守成規。
伴隨著醫用機器人逐步深入社會生活中,網絡安全問題必須得到足夠的重視,以避免潛在的嚴重后果,許多網絡安全問題本來可以通過實施眾所周知的網絡安全來預防[20]。醫用機器人制造商應立即采取措施保證網絡安全。
新技術通常容易出現安全問題,因為制造商優先考慮上市時間而不是安全測試。我們已經看到,醫用機器人制造商正面臨越來越多的網絡安全問題。這通常是在產品生命周期開始時不考慮網絡安全的結果;在產品發布后,修復漏洞變得更加復雜和昂貴。希望本文能為醫用機器人廠商開始認真對待網絡安全敲響警鐘[21]。