張 蒙,胡曦明,2*,吳振強,2,王 亮,2
(1.陜西師范大學(xué) 計算機科學(xué)學(xué)院,陜西 西安 710119;2.現(xiàn)代教學(xué)技術(shù)教育部重點實驗室,陜西 西安 710119)
隨著疫情防控常態(tài)化,面向大眾隨時隨地開展大規(guī)模、低成本、無接觸式生命體征自動采集與監(jiān)控井噴式爆發(fā)并成為疫情防控的剛性需求,而生活中常見的藍牙體溫槍、臂式體溫儀、藍牙血壓計等藍牙智能健康監(jiān)測設(shè)備憑借價格低廉與簡便易用的產(chǎn)品優(yōu)勢正好契合醫(yī)院[1]、社區(qū)[2]、車站[3]、商超、學(xué)校等民生一線普及體溫、心率、血壓等生命體征常規(guī)性監(jiān)測的急迫需求。這類家用級藍牙電子消費品迅速填補并擠占醫(yī)用級抗疫醫(yī)護設(shè)備市場[4],由此催生眾多無醫(yī)用設(shè)備生產(chǎn)資質(zhì)的信息產(chǎn)業(yè)廠家紛紛涌入并密集推出“槍、儀、計、器”等形形色色的藍牙健康監(jiān)測設(shè)備迎合疫情防控市場需求。
不可否認,應(yīng)急之下家用級藍牙健康監(jiān)測設(shè)備成功跨界填補醫(yī)用剛需,既可化解基層一線疫情防控“燃眉之急”,亦可助力信息技術(shù)產(chǎn)業(yè)拓展市場,但是家用級藍牙健康監(jiān)測設(shè)備的信息安全性也因跨界出現(xiàn)監(jiān)管“真空”,現(xiàn)有國家食品藥品監(jiān)督管理體系尚未對此建立相應(yīng)信息安全認證標準來規(guī)范生產(chǎn)廠商與產(chǎn)品市場,由此導(dǎo)致被監(jiān)測民眾的個人信息、生命體征和生活習(xí)慣等私密數(shù)據(jù)在采集與傳輸過程中因設(shè)備安全漏洞面臨惡意盜用、非法篡改等嚴重安全威脅,研究一種適用于基層一線人員不依賴專業(yè)檢測環(huán)境即可自主開展藍牙健康監(jiān)測設(shè)備信息安全檢驗的實驗技術(shù)成為確保疫情防控信息安全的現(xiàn)實需求,同時也可倒逼廠商升級優(yōu)化產(chǎn)品,以技術(shù)創(chuàng)新賦能健康監(jiān)測細分市場育新機、開新局。
以中國知網(wǎng)(CNKI)收錄2008-2021年的普刊和核刊為文獻統(tǒng)計源,分別以關(guān)鍵詞“可穿戴醫(yī)療設(shè)備”或“智慧醫(yī)療”并含“藍牙”以及“安全技術(shù)”或“實驗技術(shù)”,通過檢索、篩選得到學(xué)術(shù)文獻23篇,通過文獻調(diào)查法和主題聚類分析藍牙健康監(jiān)測設(shè)備安全性技術(shù)發(fā)展現(xiàn)狀與趨勢,如表1所示。
表1 藍牙健康監(jiān)測設(shè)備文獻調(diào)查情況
(統(tǒng)計來源:2008-2021中國知網(wǎng)CNKI收錄期刊)
(1)偏重面向理論研究安全防御,缺乏面向?qū)嵺`安全檢測。
總體來看,安全防御理論性研究文獻占比60.9%,集中聚焦三個主題。一是加密算法,例如武漢大學(xué)馬方方提出基于本地差分隱私模型的隱私保護算法防御可穿戴設(shè)備數(shù)值型敏感數(shù)據(jù)泄露威脅[5],中國電子科技集團公司第二十研究所王樂提出基于匿名化算法與屬性加密相融合的隱私保護算法有效實現(xiàn)用戶隱私信息保護[6];二是認證方式,武漢大學(xué)王俊提出基于PUF和IPI的輕量級雙因子認證協(xié)議有效阻止可穿戴設(shè)備面臨的妥協(xié)和假冒等攻擊[7];三是安全協(xié)議,信息工程大學(xué)耿君峰建立基于藍牙安全查詢、尋呼及會話更新安全協(xié)議防御用戶位置隱私泄露威脅[8]。安全防護不等同于防御技術(shù),其中還應(yīng)包括真實場景下設(shè)備的安全效能檢測技術(shù),當前重防御理論研究而輕面向真實設(shè)備“真刀真槍”安全檢測的失衡現(xiàn)狀易導(dǎo)致“研”與“用”難以形成閉環(huán)。
(2)專業(yè)化安全檢測技術(shù)服務(wù)于科研實驗而非公共應(yīng)用。
現(xiàn)有為數(shù)不多圍繞手環(huán)、Fitbit、智能手表等藍牙健康監(jiān)測設(shè)備信息安全檢測的研究,一方面是技術(shù)性綜述,例如國防科技大學(xué)劉強基于可穿戴健康跟蹤設(shè)備Fitbit進行可穿戴設(shè)備安全與隱私實例分析和隱私保護技術(shù)總結(jié)[9]。另一方面是高校、研究所等科研機構(gòu)開展加密算法、安全協(xié)議研發(fā)過程中為實現(xiàn)原型驗證服務(wù)的附屬,例如天津大學(xué)金志剛基于物聯(lián)網(wǎng)智能鎖通過利用CPN模型分析仿真實驗驗證加固后的通信模型能更有效抵御非法重放攻擊以及竊聽[10]。
從技術(shù)特征分析,上述安全防護實驗技術(shù)專業(yè)性強、操作復(fù)雜度高、實現(xiàn)成本大,僅適用于科研人員在實驗室等專門環(huán)境下開展。著眼后疫情時代,常態(tài)化大眾生命體征監(jiān)測有升格為社會公共衛(wèi)生服務(wù)保障體系重要組成的發(fā)展趨勢,低技術(shù)門檻、便攜高效可供實地實時檢驗藍牙健康監(jiān)測設(shè)備信息安全性的實驗技術(shù)是保障防疫信息安全亟待研究的新課題。
遵循“隨時、隨地、隨手”不依賴專業(yè)檢測設(shè)備開展無損檢測實驗的設(shè)計原則和技術(shù)要求,提出基于個人移動端“手機+筆記本電腦”打造模塊化、便攜式、輕量級藍牙健康監(jiān)測設(shè)備信息安全實驗技術(shù),總體架構(gòu)如圖1所示。
圖1 藍牙檢測設(shè)備信息安全實驗技術(shù)總體架構(gòu)
(1)用戶模塊。
在醫(yī)院、學(xué)校、機場等社會公共場所,醫(yī)務(wù)、安保、地勤等一線疫情防控工作人員,采用定點架設(shè)、手持臨檢或定時采集等方式對園區(qū)出入者、集中隔離者、重點人群等進行體溫、血壓、血氧、心率等常規(guī)性體征監(jiān)測。
(2)設(shè)備模塊。
體溫槍、血糖儀、血壓計等常用藍牙健康監(jiān)測設(shè)備,實現(xiàn)對被測者常規(guī)生命體征的實時、定時或階段性采集,并及時將采集數(shù)據(jù)通過藍牙傳輸至檢測模塊。
(3)檢測模塊。
采用“手機+筆記本電腦”,其中手機通過系統(tǒng)升級、APP安裝等操作將普通智能手機打造成安全檢測“操作端”,可實現(xiàn)實時收集、監(jiān)測上傳的藍牙報文并可向設(shè)備下發(fā)多種特定檢測報文,整個交互過程由筆記本電腦通過Wireshark等可視化協(xié)議分析軟件開展報文分析,報文交互與報文分析相結(jié)合從而實現(xiàn)安全性檢測。
藍牙健康監(jiān)測設(shè)備信息安全檢測步驟以及對應(yīng)的設(shè)備配置與詳細操作,如圖2所示。
圖2 配置與操作
(1)檢測接入。
按照“隨時、隨地、隨手”開展檢測的性能設(shè)計,操作端手機運行藍牙掃描連接APP(例如:nrf connect),先掃描獲取被檢測設(shè)備在藍牙連接中的名稱,再以該名稱查找設(shè)備MAC地址,然后即可針對該地址進行發(fā)起檢測接入。
(2)檢測操作。
采用基于手機“btsnoop_hci.log+MX藍牙模塊”的測量技術(shù)。btsnoop_hci.log是Android系統(tǒng)自動生成的藍牙調(diào)試文件,記錄藍牙設(shè)備與手機通信的所有數(shù)據(jù),支持對藍牙hci以上協(xié)議層的詳細分析;MX藍牙模塊是Android系統(tǒng)Xposed框架中提供藍牙控制和測試的服務(wù)實體[11]。配置手機檢測環(huán)境:手機系統(tǒng)升級后安裝Xposed框架并運行MX藍牙模塊實時監(jiān)測,獲得目標特性UUID值和對應(yīng)通知、讀或?qū)懙膬?nèi)容;然后將該目標特性UUID值與Bluetooth SIG定義的“標準Characteristics UUID表格”進行比對查找,進而判斷其含義與是否符合標準規(guī)定?!癰tsnoop_hci.log+MX藍牙模塊”相比EN-dongle等專用設(shè)備的傳統(tǒng)測量技術(shù)更加適用于抗疫一線非專業(yè)人員操作使用。
(3)報文分析。
檢測操作過程中獲取的btsnoop_hci.log是以機器可讀的特定格式來記錄藍牙數(shù)據(jù)[12],只能通過可視化分析工具進行語義解析才能將其翻譯為可讀的協(xié)議報文。為此,采用“Wireshark+CPAS”,將Wireshark結(jié)構(gòu)清晰的嵌套式報文結(jié)構(gòu)和CPAS分析內(nèi)容為自然語言的優(yōu)點綜合運用,實現(xiàn)對目標功能UUID值精準定位等深度報文分析。
首先,電腦同時運行Wireshark與CPAS,將操作端手機產(chǎn)生的藍牙抓包日志btsnoop_hci.log導(dǎo)入電腦,根據(jù)檢測操作階段獲得的目標特性UUID值精準篩選定位報文;然后,利用Wireshark和CPAS判斷該設(shè)備是否為明文傳輸,若為明文傳輸則進一步讀取目標特性值的讀寫權(quán)限、value值和句柄值等關(guān)鍵信息;最后,通過CPAS實現(xiàn)對通知、寫操作等關(guān)鍵報文的分析,為安全性檢測提供支撐。
(4)安全性檢測。
面對市場上種類繁多的藍牙健康監(jiān)測設(shè)備,如何基于“手機+筆記本電腦”而非專業(yè)檢測設(shè)備,實現(xiàn)高效、便捷并且較為全面與有深度的信息安全性檢測是關(guān)鍵。該文設(shè)計四類針對性安全檢測項,分別是:接入控制、信息保密性、信息完整性和身份認證,形成有效涵蓋健康監(jiān)測設(shè)備工作全流程的信息安全檢測鏈。
接入控制:在用戶手機正常接入被檢測設(shè)備的情況下,檢測手機運行實驗APP(例如:nrf connect)針對被檢測設(shè)備新發(fā)起強制性接入請求,利用多端同時接入設(shè)備的互斥性[13],實現(xiàn)對設(shè)備準入、用戶認證等接入控制的安全性檢測。
信息保密性:檢測手機捕獲與被檢測設(shè)備的通信報文,利用筆記本電腦可視化工具讀取報文內(nèi)容,分析報文是否明文傳輸、目標特性格式和內(nèi)容,實現(xiàn)對編碼格式、加密程度等信息保密性的安全性檢測。
信息完整性:在報文分析的基礎(chǔ)上,利用檢測手機運行手機實驗APP(例如:nrf connect)在未經(jīng)授權(quán)情況下向被檢測設(shè)備發(fā)送格式正確、內(nèi)容更改的虛假報文,判斷設(shè)備是否能保持數(shù)據(jù)真實性和可信性,實現(xiàn)對數(shù)據(jù)恢復(fù)、檢驗修正[14]等信息完整性的安全性檢測。
身份認證:檢測手機作為中間人截獲用戶手機與被檢測設(shè)備通信報文后,運行重放工具(例如:nrf connect)向被檢測設(shè)備發(fā)送相同報文,利用設(shè)備鑒別可信任用戶和惡意攻擊者程度以及資源訪問、使用權(quán)限,實現(xiàn)對身份識別、授權(quán)機制等身份認證的安全性檢測。
針對市面暢銷的藍牙體溫計、藍牙血壓計等多種抗疫用藍牙健康監(jiān)測設(shè)備作為被檢測設(shè)備開展接入控制、信息保密性、信息完整性和身份認證等四項檢測。
利用手機實驗APP(例如:nrf connect)對被檢測設(shè)備發(fā)起強制性接入請求實現(xiàn)接入控制檢測;通過捕獲并分析通信報文實現(xiàn)信息保密性檢測;基于前兩種檢測獲取信息,通過主動注入虛假報文或重放截獲報文篡改數(shù)據(jù)或欺騙攻擊實現(xiàn)信息完整性和身份認證檢測,實驗原理拓撲如圖3所示。
圖3 實驗原理拓撲
在實驗中的實驗設(shè)備分工和參數(shù)如表2所示。
表2 實驗設(shè)備分工和參數(shù)
3.2.1 接入控制
手機實驗APP nrf connect進行接入控制檢測。這款軟件適用于中小學(xué)、醫(yī)院等非專業(yè)設(shè)備、非專業(yè)人員使用,原因如下:一是該軟件集合藍牙掃描、連接和發(fā)送報文等多種功能;二是可直接在應(yīng)用市場免費下載安裝,獲取方便;三是該軟件可直接接入無密碼、驗證碼等用戶認證的藍牙設(shè)備。實驗結(jié)果表明,nrf connect發(fā)出接入請求后順利與設(shè)備建立連接,證明兩種實驗設(shè)備缺乏用于接入控制的用戶認證等手段,如圖4所示。
圖4 接入控制檢測
3.2.2 信息保密性
(1)報文分析階段得出藍牙血壓計當前時間設(shè)置功能為句柄值0x0031,名稱Current Time、UUID值00002A2B的寫操作特性,寫入內(nèi)容在報文中以明文傳輸。報文顯示手機將血壓計時間設(shè)置為2020/11/16/22:53:32,對應(yīng)MX藍牙抓包命令行語句為:00002A2B寫:E4070B10143520000000。簡單分析得出十六進制表示的命令E4070B10143520000000對應(yīng)十進制表示的時間2020/11/16/22:53:32。
(2)報文分析階段得出體溫監(jiān)測儀體溫警報值通知功能為句柄值0x0012,UUID值4D540001的特性,寫入內(nèi)容為55AA090100017A0185,協(xié)議格式不符合Bluetooth SIG定義的“標準Characteristics UUID表格”,無法直接破譯。根據(jù)反復(fù)測試(通過每次體溫測量通知內(nèi)容與此值進行比對),得出此值的含義為37.8℃。兩種設(shè)備信息保密性程度報文分析如圖5所示。
圖5 信息保密性檢測
3.2.3 信息完整性和身份認證
(1)對藍牙血壓計的信息完整性檢測。
MX藍牙模塊顯示當前時間設(shè)置語句為:00002A2B寫:E5070218152E18000000,依據(jù)之前翻譯思路對應(yīng)時間2021/2/24/21:48:24,利用nrf connect向句柄值0x0031、UUID值0x2A2B的特性,寫入E5070218152E18000000,觀察血壓計當前時間又被改為2021/2/24/21:48:24,與當前真實時間不符,數(shù)據(jù)被篡改導(dǎo)致藍牙血壓計的信息完整性被破壞[15],如圖6所示。
由此可知,十六進制命令前四位代表年,后面依次為月、日、時、分、秒,可以隨意寫入符合此結(jié)構(gòu)的數(shù)據(jù),例如向句柄值0x0031、UUID值0x2A2B的特性寫入F3070312152118000000,藍牙血壓計顯示時間被更改為2035/3/18/21:33:24。
(2)對體溫監(jiān)測儀的身份認證檢測。
報文分析階段得出體溫監(jiān)測儀寫操作為句柄值0x0010、UUID值4D540002的特性,寫入內(nèi)容為55aa050105,功能為設(shè)置體溫警報默認值(37.8℃)。手機端APP向該特性寫入此值后,體溫監(jiān)測儀會向手機通過句柄值0x0012,UUID值4D540001的特性發(fā)送一條值為55AA090100017A0185的通知,即在信息保密性檢測階段破譯出的37.8℃。以此為基礎(chǔ)進行重放攻擊。
圖6 藍牙血壓計信息完整性檢測
首先手機APP端更改體溫警報值為37.6℃,同時MX藍牙模塊顯示手機向體溫監(jiān)測儀通過句柄值0x0010,UUID值4D540002的特性寫入55AA09020001780184(更改成功)。然后利用nrf connect連接體溫監(jiān)測儀,向句柄值0x0010,UUID值4D540002的特性寫入55aa050105,進行重放攻擊,意圖觸發(fā)設(shè)置體溫報警默認值(37.8℃)功能。MX藍牙模塊顯示體溫監(jiān)測儀再次向手機通過句柄值0x0012,UUID值4D540001的特性發(fā)送值為55AA090100017A0185的通知,證明重放攻擊操作將體溫警報值設(shè)置為默認值37.8℃,查看手機APP頁面驗證,與預(yù)期結(jié)果相同,體溫警報值通過重放攻擊復(fù)置為37.8℃,如圖7所示。
圖7 體溫監(jiān)測儀身份認證檢測
實驗表明,此款體溫監(jiān)測儀缺乏身份認證機制,無法判斷連接、通信對方是否可信任,攻擊者很容易利用身份認證缺失漏洞惡意擾亂正常通信。
藍牙健康監(jiān)測設(shè)備現(xiàn)有身份認證機制、加密措施簡單,數(shù)據(jù)編碼[16]復(fù)雜程度低,黑客容易破譯、攻擊。通過數(shù)字簽名技術(shù)[17]、時間戳技術(shù)[18]等加強設(shè)備本身的安全性,同時用戶也應(yīng)盡量減少在未知網(wǎng)絡(luò)下的連接,減少隱私泄露的風(fēng)險。
通過對不同種類藍牙健康監(jiān)測設(shè)備的安全性進行實驗探究,分析對比不同品牌、不同產(chǎn)地的醫(yī)療設(shè)備的藍牙傳輸協(xié)議,并進行不同種類的、輕量級、操作便捷的安全性檢測,為非專業(yè)網(wǎng)絡(luò)安全人員使用藍牙健康監(jiān)測設(shè)備過程中測試設(shè)備安全性提供了不依賴于專業(yè)設(shè)備的實驗技術(shù),為“抓抗疫、促發(fā)展、保安全”提供技術(shù)支撐。