楊毅宇,周威,趙尚儒,劉聰,張宇輝,王鶴,王文杰,張玉清,,,4
(1.中國科學(xué)院大學(xué)國家計(jì)算機(jī)網(wǎng)絡(luò)入侵防范中心,北京 101408;2.西安郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121;3.西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071;4.海南大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,海南 ???570228)
近5 年來,物聯(lián)網(wǎng)設(shè)備數(shù)量呈爆炸性增長,根據(jù)權(quán)威統(tǒng)計(jì)機(jī)構(gòu)發(fā)布的數(shù)據(jù),全球接入網(wǎng)絡(luò)的物聯(lián)網(wǎng)設(shè)備數(shù)量在2017 年已達(dá)20.35 億臺,并且到2025 年將增長到超過75.44 億臺[1],物聯(lián)網(wǎng)將深刻影響人類生產(chǎn)和生活的各個(gè)方面。然而,在物聯(lián)網(wǎng)蓬勃發(fā)展的過程中,現(xiàn)有的安全機(jī)制難以應(yīng)對日益增長的安全需求,導(dǎo)致各類應(yīng)用場景中的安全問題層出不窮[2],大量設(shè)備容易遭受惡意代碼威脅或非法控制,甚至引發(fā)大規(guī)模安全事故。從2016 年著名的Mirai蠕蟲利用物聯(lián)網(wǎng)設(shè)備引發(fā)大規(guī)模拒絕服務(wù)攻擊事件[3],到近期的智能音箱被攻擊者利用來竊聽用戶隱私[4],物聯(lián)網(wǎng)安全威脅隨著技術(shù)發(fā)展而不斷出現(xiàn)。
及時(shí)檢測發(fā)現(xiàn)安全威脅或提前采取防御是對抗威脅的重要手段,但是物聯(lián)網(wǎng)系統(tǒng)的特性[1]決定了對其實(shí)施完善的安全防護(hù)面臨諸多挑戰(zhàn)。例如,物聯(lián)網(wǎng)平臺在設(shè)計(jì)開發(fā)、通信交互、訪問控制等方面缺乏統(tǒng)一的標(biāo)準(zhǔn),設(shè)備的內(nèi)部和外部運(yùn)行環(huán)境缺乏有效保護(hù),已有的解決方案中存在應(yīng)用面窄、自動化不足等缺點(diǎn)。因此,面對不斷出現(xiàn)的安全威脅,仍需要深入研究更全面可靠的檢測和防御方案。
本文基于 2016 年—2020 年網(wǎng)絡(luò)安全會議(ACM CCS、USENIX Security、NDSS、IEEE S&P)中發(fā)表的物聯(lián)網(wǎng)安全相關(guān)文獻(xiàn),以及其他在物聯(lián)網(wǎng)安全研究方面的高水平工作進(jìn)行了總結(jié)分析。從“威脅、檢測、防御”的角度對104 篇相關(guān)文獻(xiàn)進(jìn)行分析與整理,并圍繞相應(yīng)主題進(jìn)行深入討論。各類別的文獻(xiàn)數(shù)量統(tǒng)計(jì)結(jié)果如圖1 所示,部分文獻(xiàn)在發(fā)現(xiàn)威脅的同時(shí),建立了有效的檢測或防御方案,因此同時(shí)計(jì)入2 個(gè)類別中。從圖1 可看出,在威脅方面,近5 年文獻(xiàn)數(shù)量總體持續(xù)增加,說明近有新的威脅被不斷發(fā)現(xiàn),本文對這些威脅進(jìn)行了分類,并分析了它們的成因和危害;在檢測和防御方面,后3 年數(shù)量較前兩年有顯著增加,說明針對已知威脅有更多的對抗方案被提出,本文也對這些檢測和防御方案的技術(shù)特點(diǎn)進(jìn)行了分析與總結(jié)。
圖1 2016 年—2020 年物聯(lián)網(wǎng)安全代表性研究統(tǒng)計(jì)
雖然當(dāng)前已有面向物聯(lián)網(wǎng)安全的綜述研究[5-7],但是專門對現(xiàn)有研究工作提出的攻擊和檢測防御方案的總結(jié)分析較少,本文緊緊圍繞“威脅、檢測、防御”3 個(gè)主題,覆蓋近5 年物聯(lián)網(wǎng)安全研究工作的主要方向,同時(shí)深入分析各類威脅的成因和危害,以及對應(yīng)的檢測和防御機(jī)制的技術(shù)類型和效果。本文的主要貢獻(xiàn)如下:1) 系統(tǒng)總結(jié)近5 年物聯(lián)網(wǎng)安全研究中發(fā)現(xiàn)的主要安全威脅,展示這些威脅產(chǎn)生的成因和危害;2) 深入分析對抗這些安全威脅的主要檢測和防御方案,展示這些方案的技術(shù)類型和效果;3) 基于威脅、檢測和防御3 個(gè)方面的分析來揭示物聯(lián)網(wǎng)未來發(fā)展過程中將面臨的主要安全挑戰(zhàn),并指出物聯(lián)網(wǎng)安全研究下一步的方向。
本節(jié)對物聯(lián)網(wǎng)系統(tǒng)的基本架構(gòu),以及架構(gòu)各層對應(yīng)的主要研究對象進(jìn)行介紹,如圖2 所示。物聯(lián)網(wǎng)系統(tǒng)的一般架構(gòu)主要分為感知層、網(wǎng)絡(luò)層、應(yīng)用層3 個(gè)部分。
圖2 物聯(lián)網(wǎng)系統(tǒng)基本架構(gòu)與研究對象
感知層對應(yīng)的是各類物聯(lián)網(wǎng)設(shè)備。設(shè)備通過傳感器實(shí)時(shí)收集應(yīng)用場景信息并發(fā)送給應(yīng)用層,或接收應(yīng)用層指令并執(zhí)行相應(yīng)動作。設(shè)備的內(nèi)部架構(gòu)可以分為硬件層、系統(tǒng)層、用戶層。其中,硬件層包括支持設(shè)備功能的各種硬件模組(如網(wǎng)絡(luò)模組、傳感器模組等)、處理器、外圍電路等;系統(tǒng)層裝載了固件程序,其中包括操作系統(tǒng)和應(yīng)用程序,負(fù)責(zé)設(shè)備功能的實(shí)現(xiàn);用戶層主要向用戶提供展示數(shù)據(jù)和接收輸入的操作接口。
網(wǎng)絡(luò)層對應(yīng)的是設(shè)備之間,以及設(shè)備、云平臺、手機(jī)App 這三類實(shí)體之間的通信。設(shè)備之間可以通過ZigBee、Z-Wave 等輕量級協(xié)議形成自組網(wǎng)絡(luò)(如工業(yè)設(shè)備網(wǎng)絡(luò)、無人機(jī)集群);設(shè)備也可以經(jīng)路由器連接后形成局域網(wǎng)(如智能家居網(wǎng)絡(luò))。設(shè)備連接路由器有2 種形式:一是直接通過Wi-Fi 連接;二是通過ZigBee、Z-Wave 等協(xié)議與網(wǎng)關(guān)設(shè)備(如hub)連接后,再經(jīng)網(wǎng)關(guān)通過Wi-Fi 與路由器通信。
實(shí)體之間通信分為3 種類型:1) 設(shè)備與App通信,設(shè)備既可以通過藍(lán)牙直接連接手機(jī)(如可穿戴設(shè)備、車載系統(tǒng)網(wǎng)絡(luò)),也可以通過局域網(wǎng)Wi-Fi與手機(jī)通信(如智能家居網(wǎng)絡(luò));2) 設(shè)備與云平臺通信,設(shè)備依靠路由器轉(zhuǎn)發(fā)請求和接收響應(yīng),而路由器與云平臺的通信主要由傳統(tǒng)TCP/IP 網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn);3) 手機(jī)與云平臺通信:手機(jī)App 可以通過4G/5G 網(wǎng)絡(luò)或局域網(wǎng)Wi-Fi 連接云平臺。
應(yīng)用層對應(yīng)的主要是云平臺和手機(jī)App。云平臺主要由廠商在云端部署的各類應(yīng)用服務(wù)組成,負(fù)責(zé)管理設(shè)備和用戶,對設(shè)備收集的數(shù)據(jù)進(jìn)行處理,或向設(shè)備發(fā)送遠(yuǎn)程控制命令。根據(jù)云平臺提供的功能,可以將其分為設(shè)備接入平臺、服務(wù)聯(lián)動平臺、語音助手平臺3 種。設(shè)備接入平臺提供了實(shí)際的設(shè)備接入和管理功能,如Samsung SmartThings、Google Home、Philips Hue、小米米家等;服務(wù)聯(lián)動平臺并沒有連接真實(shí)的設(shè)備,而是將其他平臺的功能連接起來,提供“條件-動作”自動執(zhí)行規(guī)則服務(wù),如IFTTT 平臺等;語音助手平臺通過智能音箱向用戶提供語音控制服務(wù),用戶發(fā)出的語音命令經(jīng)語音平臺處理后可以與其他控制設(shè)備的功能或服務(wù)連接到一起,如Amazon Alexa 等。另外,不同云平臺之間也可以在授權(quán)后,通過互相調(diào)用API(application programming interface)執(zhí)行設(shè)備控制。手機(jī)App 可看作云平臺向用戶提供的控制終端,主要用于向用戶提供設(shè)備相關(guān)的功能界面,可以直觀展示設(shè)備狀態(tài),或者執(zhí)行控制命令。
傳統(tǒng)安全問題在物聯(lián)網(wǎng)系統(tǒng)中具有特殊的表現(xiàn)形式,而物聯(lián)網(wǎng)系統(tǒng)由于自身特性也引入了新的威脅類型。本節(jié)進(jìn)一步從云平臺、通信、設(shè)備等角度將研究發(fā)現(xiàn)的安全威脅歸為8 類,分別闡述了各類安全威脅的漏洞成因和主要危害,分類結(jié)果如表1 所示。
表1 各類安全威脅的漏洞成因和主要危害
3.1.1 云平臺訪問控制缺陷
訪問控制是云平臺正常運(yùn)轉(zhuǎn)的重要前提,物聯(lián)網(wǎng)云平臺連接了大量與人類緊密聯(lián)系的設(shè)備,如果身份驗(yàn)證或權(quán)限管理出現(xiàn)漏洞,云平臺將轉(zhuǎn)變成為攻擊者的強(qiáng)大武器。現(xiàn)有研究顯示,云平臺的訪問控制問題突出[8],本節(jié)根據(jù)授權(quán)類型將權(quán)限管理的威脅分為平臺內(nèi)和平臺間2 種。
首先,部分平臺對內(nèi)部應(yīng)用或服務(wù)的權(quán)限管理設(shè)計(jì)存在漏洞。SmartThings 和IFTTT 是全球范圍內(nèi)廣受歡迎的云平臺,擁有廣大的用戶群體,且連接了海量的設(shè)備和服務(wù),但是Fernandes 等[9-10]發(fā)現(xiàn)這2 家平臺都對連接設(shè)備的應(yīng)用或服務(wù)采取了粗粒度的權(quán)限劃分方式,應(yīng)用或服務(wù)可以獲得其申請范圍之外的權(quán)限,導(dǎo)致攻擊者可以利用這種缺陷對他人的設(shè)備輕易發(fā)起信息監(jiān)聽或越權(quán)控制。
其次,云平臺之間進(jìn)行相互授權(quán)的過程中也存在設(shè)計(jì)漏洞。當(dāng)前大部分云平臺都允許用戶將注冊在其他廠商平臺下的設(shè)備,經(jīng)過“云云授權(quán)”后與自家平臺聯(lián)接(例如,可以將小京魚平臺下的設(shè)備聯(lián)接到小米米家平臺,通過米家App 控制小京魚平臺的設(shè)備)。然而,在目前缺乏統(tǒng)一的平臺間授權(quán)標(biāo)準(zhǔn)的情況下,即使廠商在自身范圍內(nèi)做好了安全審核,在權(quán)限交接時(shí)可能會因?yàn)槠脚_之間不對稱的授權(quán)要求而暴露新的漏洞。Yuan 等[11]針對這類安全問題進(jìn)行了系統(tǒng)性研究,在多家全球知名的云平臺之間的授權(quán)過程中都發(fā)現(xiàn)了安全漏洞,這些安全漏洞導(dǎo)致攻擊者可以通過代理平臺繞過設(shè)備自身平臺的保護(hù)機(jī)制,對設(shè)備發(fā)起非法訪問。
3.1.2 云平臺惡意應(yīng)用
云平臺提供了面向設(shè)備的各類應(yīng)用,用戶通過應(yīng)用可以實(shí)現(xiàn)豐富的控制功能。但是,目前云平臺對應(yīng)用的安全審查不夠完善,導(dǎo)致惡意應(yīng)用混雜其中,本節(jié)介紹云平臺惡意應(yīng)用的幾種形式。
部分云平臺對用戶來說是完全封閉的,用戶無法獲取應(yīng)用的邏輯或代碼,只能安裝云平臺封裝好的應(yīng)用或自動執(zhí)行規(guī)則。部分平臺雖然對用戶隱藏底層的運(yùn)行機(jī)制,但會開放一系列基礎(chǔ)設(shè)計(jì)功能(如API 或編程框架)給用戶,用戶可以自己編寫和發(fā)布應(yīng)用。這類平臺包括SmartThings、IFTTT、Alexa 等,它們雖然提供了更加豐富和靈活的應(yīng)用生態(tài),但是為攻擊者提供了實(shí)現(xiàn)惡意應(yīng)用的機(jī)會。
關(guān)于SmartThings平臺的多項(xiàng)研究[9,12-14]都證明該平臺的應(yīng)用開放特性和不完善的審核機(jī)制極易引入惡意應(yīng)用,已公開發(fā)布的應(yīng)用(如SmartThings中的SmartApp)中,近2/3 都具有泄露設(shè)備隱私的風(fēng)險(xiǎn)[12]。在IFTTT 平臺中,Bastys 等[15]發(fā)現(xiàn)市場中近30%的服務(wù)(如IFTTT 中的Applet)存在安全隱患,攻擊者在代碼中嵌入的惡意鏈接會將用戶輸入的隱私信息發(fā)送到攻擊者服務(wù)器。此外,惡意代碼在語音平臺中的表現(xiàn)形式是帶有惡意意圖的Skill[4],攻擊者可以上傳惡意的Skill[16-17],在用戶不易察覺的情況下暗中劫持正常的語音命令或替換真實(shí)Skill 的功能。
3.1.3 云平臺實(shí)體和應(yīng)用交互漏洞
云平臺、手機(jī)App、設(shè)備三類實(shí)體之間的交互是物聯(lián)網(wǎng)云平臺區(qū)別于傳統(tǒng)云服務(wù)的重要特性,然而復(fù)雜的交互過程也帶來了安全挑戰(zhàn)。本節(jié)將交互漏洞分為實(shí)體間交互和應(yīng)用間交互2 種類型。
在用戶訪問設(shè)備的過程中,設(shè)備可能經(jīng)歷注冊、綁定、使用、解綁、重置等階段,在各個(gè)階段中,云平臺、手機(jī)App、設(shè)備這三類實(shí)體需要進(jìn)行信息交互和狀態(tài)轉(zhuǎn)換,并且各實(shí)體的交互和轉(zhuǎn)換次序必須遵照既定模型進(jìn)行,如圖3 所示,任一實(shí)體對交互模型的違背都會破壞模型的完整性。
圖3 云平臺三類實(shí)體交互模型
Zhou 等[18]和Chen 等[19]分別對多家全球知名廠商平臺的實(shí)體交互過程進(jìn)行檢測后發(fā)現(xiàn),廠商對功能的實(shí)現(xiàn)并未嚴(yán)格遵守通信模型的規(guī)定,例如,用戶解除云平臺中的設(shè)備綁定關(guān)系后,設(shè)備不會回退到初始狀態(tài),而是依然與云平臺保持連接,所以攻擊者可以在此時(shí)對該設(shè)備發(fā)起綁定請求實(shí)現(xiàn)遠(yuǎn)程劫持。
云平臺應(yīng)用或服務(wù)的交互情形有2 種,一是多個(gè)應(yīng)用控制相同的設(shè)備,此時(shí)設(shè)備是應(yīng)用的“交點(diǎn)”;二是多個(gè)應(yīng)用的觸發(fā)條件或執(zhí)行動作重合,此時(shí)條件或動作是應(yīng)用的“交點(diǎn)”。當(dāng)多個(gè)應(yīng)用在同一場景下被使用時(shí),它們在“交點(diǎn)”上可能產(chǎn)生不可預(yù)期的執(zhí)行沖突,而這種沖突會改變應(yīng)用或服務(wù)的執(zhí)行結(jié)果[13-14,20]。例如,智能家居場景中部署了2 條服務(wù),分別為“如果檢測到煙霧,則打開水閥”和“如果檢測到漏水,則關(guān)閉水閥”,當(dāng)廚房發(fā)生火災(zāi)時(shí),煙霧傳感器命令水閥打開,同時(shí)開啟屋頂噴水器(第一條服務(wù)生效),但是漏水傳感器檢測到水流后命令水閥關(guān)閉(第二條服務(wù)生效),最終這種沖突將導(dǎo)致自動滅火的規(guī)則失效,引起人身財(cái)產(chǎn)損失。值得注意的是,這種威脅不一定來自惡意應(yīng)用,也可能是由多個(gè)良性應(yīng)用同時(shí)執(zhí)行產(chǎn)生沖突造成的,由于服務(wù)規(guī)則間交互的復(fù)雜性,云平臺依靠傳統(tǒng)的審核機(jī)制難以發(fā)現(xiàn)這種問題。
3.1.4 通信協(xié)議漏洞
首先是物聯(lián)網(wǎng)常用協(xié)議,如MQTT(message queuing telemetry transport)、CoAP、ZigBee、低功耗藍(lán)牙等。這類協(xié)議雖然不是專門為物聯(lián)網(wǎng)系統(tǒng)定制設(shè)計(jì)的,但是由于其適配于低功耗設(shè)備和低帶寬需求的特性而受到眾多物聯(lián)網(wǎng)系統(tǒng)的青睞,因此在物聯(lián)網(wǎng)系統(tǒng)中有較高的使用率,但是其本身并非為存在對抗性的應(yīng)用場景所設(shè)計(jì),因此缺乏內(nèi)建的安全機(jī)制,廠商在應(yīng)用和實(shí)現(xiàn)這些協(xié)議時(shí)容易忽略對安全屬性的考慮。Jia 等[21]在多家全球知名廠商的物聯(lián)網(wǎng)平臺中,都發(fā)現(xiàn)其對MQTT 協(xié)議的實(shí)現(xiàn)存在缺陷,被攻擊者利用后可能引發(fā)大規(guī)模分布式拒絕服務(wù)、遠(yuǎn)程設(shè)備劫持、用戶隱私竊取等攻擊。Cao等[22]發(fā)現(xiàn)基于ZigBee 的ghost 攻擊會造成設(shè)備能量過度消耗,引發(fā)拒絕服務(wù)和重放攻擊等威脅。低功耗藍(lán)牙是當(dāng)前可穿戴設(shè)備與手機(jī)App 通信的主要渠道,但是該協(xié)議在應(yīng)用過程中被發(fā)現(xiàn)隱私泄露[23-24]、設(shè)備劫持[25]等威脅。
其次是物聯(lián)網(wǎng)私有協(xié)議。這類協(xié)議是指廠商定制設(shè)計(jì)的協(xié)議類型,通常只適用于其平臺下設(shè)備的通信,且一般不對外開放實(shí)現(xiàn)細(xì)節(jié)。但是,攻擊者通過逆向工程仍可以獲取通信細(xì)節(jié),如果廠商對私有協(xié)議的設(shè)計(jì)存在缺陷,也可能被攻擊者利用后發(fā)起攻擊。當(dāng)前研究[18-19,26-27]已證明全球多家知名物聯(lián)網(wǎng)廠商的私有協(xié)議在被成功解析后,其關(guān)于設(shè)備認(rèn)證與授權(quán)檢查等方面的漏洞將立即暴露在攻擊者眼前。
3.1.5 通信流量側(cè)信道信息泄露
物聯(lián)網(wǎng)系統(tǒng)中規(guī)模龐大和種類豐富的網(wǎng)絡(luò)流量為側(cè)信道攻擊的實(shí)施提供了可行性條件,同時(shí)物聯(lián)網(wǎng)系統(tǒng)的通信過程具有區(qū)別于其他系統(tǒng)的內(nèi)在特性,例如,設(shè)備只被分配簡單的任務(wù)和操作,只能發(fā)起有限的服務(wù)請求,并采用固定的協(xié)議和傳輸模式進(jìn)行通信,所以物聯(lián)網(wǎng)的通信流量具有明顯的可識別特征。雖然有各類加密機(jī)制應(yīng)用在流量信息保護(hù)中,但是仍然不能防止攻擊者通過側(cè)信道特征獲得設(shè)備和用戶相關(guān)的敏感信息。
表2 對幾種側(cè)信道攻擊方法進(jìn)行了對比。從表2可以看出,協(xié)議頭部特征(如端口號、負(fù)載大小、DNS 查詢目標(biāo)等)容易提取,但是能獲取的設(shè)備知識較少,例如,只能得知目標(biāo)設(shè)備或?qū)ο笫欠翊嬖冢蛘攉@知目標(biāo)設(shè)備類型,在簡單的交互環(huán)境中可以實(shí)現(xiàn)信息提取。雖然信號強(qiáng)度、方向、包長、時(shí)間等特征提取后需要采用特定的統(tǒng)計(jì)學(xué)習(xí)方法進(jìn)行分析,但是可以獲得較多關(guān)于的設(shè)備和活動信息。
表2 側(cè)信道攻擊方法對比
3.1.6 設(shè)備固件漏洞
固件是運(yùn)行在設(shè)備中的二進(jìn)制程序,負(fù)責(zé)管理設(shè)備中的硬件外設(shè)以及實(shí)現(xiàn)設(shè)備的應(yīng)用功能。固件不同于傳統(tǒng)的個(gè)人計(jì)算機(jī)或手機(jī)程序擁有成熟的漏洞檢測和系統(tǒng)保護(hù)技術(shù),大部分固件所運(yùn)行的實(shí)時(shí)操作系統(tǒng)中缺乏基本的安全保護(hù)措施,如DEP(data execution prevention)、ASLR(address space layout randomization)等。同時(shí),當(dāng)前缺乏對固件程序進(jìn)行調(diào)試和檢測的有效工具,導(dǎo)致大量攜帶漏洞的固件存在于實(shí)際產(chǎn)品中,攻擊者利用這些漏洞可以對設(shè)備進(jìn)行拒絕服務(wù)、非法操作和劫持等攻擊。本節(jié)根據(jù)固件漏洞產(chǎn)生的原因?qū)⑵浞譃閮?nèi)存漏洞和邏輯漏洞2 類。
短裙子女孩約我來這里干什么呢?和美女單獨(dú)約會的美夢看來是破滅了。但一種突然而至的神秘感讓我又害怕又亢奮,我決定在這里等下去,等著把這件神秘的事情弄明白。上過大學(xué)的人都懂的,在大學(xué)里如果你不談戀愛,那么日子會像白開水一樣沒滋沒味,除了教室就是宿舍,除了宿舍就是廁所,三點(diǎn)一線的單調(diào)像只穿了三個(gè)蛋蛋的糖葫蘆。周五晚上學(xué)校還有免費(fèi)電影的,但在我心兒突突亂跳的那一刻,什么都沒有這份神秘有誘惑力了。
固件內(nèi)存漏洞一般由編碼或設(shè)計(jì)錯(cuò)誤引起,會導(dǎo)致內(nèi)存非法訪問、控制流劫持等攻擊,如堆棧緩沖區(qū)溢出。物聯(lián)網(wǎng)設(shè)備固件主要由底層語言(如C語言)開發(fā),在開發(fā)過程中會不可避免地引入編碼缺陷。在硬件層面,設(shè)備的CPU 異構(gòu)性、外設(shè)多樣性等特點(diǎn),使對固件程序開展規(guī)?;妥詣踊穆┒礄z測十分困難。在軟件層面,設(shè)備操作系統(tǒng)呈現(xiàn)碎片化,同時(shí)由于有限的硬件資源導(dǎo)致缺乏必要的動態(tài)防御措施,如CFI(control flow integrity)等,導(dǎo)致攻擊者更加容易利用內(nèi)存漏洞。多項(xiàng)研究指出,代碼注入[34-36]、控制流劫持[37-38]、跨二進(jìn)制模塊的調(diào)用[39]是固件內(nèi)存漏洞的主要成因。
固件邏輯漏洞指的是固件在認(rèn)證、授權(quán)、應(yīng)用功能等方面的設(shè)計(jì)或?qū)崿F(xiàn)缺陷。與內(nèi)存漏洞不同,這種漏洞不一定會引發(fā)系統(tǒng)崩潰,攻擊者利用邏輯設(shè)計(jì)缺陷,構(gòu)造特定的輸入就可以使程序的正常功能發(fā)生偏移。例如,認(rèn)證繞過漏洞[40]是典型的固件邏輯漏洞類型,攻擊者可以通過這種漏洞繞過系統(tǒng)對特權(quán)指令的權(quán)限檢查;在智能網(wǎng)絡(luò)打印機(jī)固件程序中的功能設(shè)計(jì)缺陷在實(shí)際辦公場景中會導(dǎo)致任務(wù)篡改、機(jī)密竊取等后果[41]。
3.1.7 基于語音信道的攻擊
語音助手設(shè)備(如智能音箱)在物聯(lián)網(wǎng)系統(tǒng)中處于控制中心的地位,用戶可以通過語音助手設(shè)備來控制其他設(shè)備,所以對語音設(shè)備的攻擊將會威脅受其控制的所有設(shè)備。
首先,部分攻擊技術(shù)可以在語音信道中藏匿人類無法察覺但設(shè)備可以識別的語音信號。Carlini 等[42]首先展示了用于構(gòu)造可被語音識別系統(tǒng)解釋但不被人類發(fā)現(xiàn)的語音命令的幾種方法,同時(shí)證明這些命令會在暗中窺探用戶隱私和自行打開釣魚網(wǎng)站。之后,多項(xiàng)研究發(fā)現(xiàn)了傳播語音命令的載體,例如,將語音信號調(diào)制為人類無法識別的高頻超聲波信號[43],或者將語音命令嵌入音樂中[44];還有研究將承載語音設(shè)備的固體作為媒介,通過固體震動頻率來傳輸語音命令[45],以上攻擊的共同特點(diǎn)是語音設(shè)備可以正常接收和解釋這種信號,但是人類難以察覺交互過程。
另外,隱藏的語音信號在傳輸過程中面臨傳播距離和噪聲影響的挑戰(zhàn),但這種困難被證明可以克服。例如,Roy 等[46]通過多個(gè)揚(yáng)聲器來分離語音信號的頻帶,顯著增加了攻擊距離。Chen 等[47]通過提取硬件結(jié)構(gòu)和信道頻率造成的信號失真影響因素,以此作為生成語音信號對抗樣本的因子之一,可以有效克服傳播中的噪聲影響,提高語音信號被識別的成功率。
3.1.8 基于物聯(lián)網(wǎng)設(shè)備的僵尸網(wǎng)絡(luò)
物聯(lián)網(wǎng)系統(tǒng)中的設(shè)備數(shù)量眾多且規(guī)模龐大,其一旦被病毒、木馬等惡意軟件攻擊,就可以組建威力巨大的僵尸網(wǎng)絡(luò)。被病毒劫持的設(shè)備除了無法正常使用之外,組成的僵尸網(wǎng)絡(luò)還可被攻擊者當(dāng)作其他惡意行為的“跳板”,為后續(xù)的大規(guī)模分布式拒絕服務(wù)攻擊、惡意郵件分發(fā)等攻擊做好準(zhǔn)備。
著名的Mirai 病毒以及由其衍生出的多類變種至今仍然是工控系統(tǒng)設(shè)備的主要威脅[48]。例如,MadIoT[49-50]是一種面向電網(wǎng)系統(tǒng)的新型攻擊,利用被控制的高功率家庭物聯(lián)網(wǎng)設(shè)備組建僵尸網(wǎng)絡(luò),以此操縱電網(wǎng)中的電力需求,進(jìn)而向電網(wǎng)系統(tǒng)發(fā)起攻擊,造成局域或大規(guī)模停電事故。此外,Ronen 等[51]展示了一種利用ZigBee 協(xié)議漏洞可在物聯(lián)網(wǎng)設(shè)備中進(jìn)行大規(guī)模傳播的蠕蟲病毒,該病毒可在鄰近的智能路燈之間進(jìn)行快速傳播并導(dǎo)致設(shè)備接受遠(yuǎn)程控制,攻擊者可接管城市的路燈控制權(quán),從而發(fā)起大規(guī)模分布式拒絕服務(wù)攻擊。
3.1.9 安全威脅小結(jié)
下面對3.1 節(jié)中關(guān)于安全威脅研究的特點(diǎn)和不足進(jìn)行總結(jié),主要分為以下幾個(gè)方面。
1) 云平臺威脅影響嚴(yán)重,但是當(dāng)前研究針對的云平臺類型有限。物聯(lián)網(wǎng)云平臺在近幾年中獲得了巨大發(fā)展,與之相關(guān)的安全研究也不斷增多,但是從近5 年的研究來看,當(dāng)前研究比較依賴于平臺的“開放”特性,大多數(shù)研究[9-14]都圍繞SmartThings、IFTTT 等可獲取應(yīng)用內(nèi)部邏輯的云平臺,而當(dāng)前更多的云平臺并不對外開放內(nèi)部邏輯。在開放平臺中已發(fā)現(xiàn)的威脅可能在封閉平臺中同樣存在,因此對封閉平臺的類似威脅研究有待探索。
2) 云平臺更注重系統(tǒng)機(jī)密性的保護(hù),而輕視了系統(tǒng)的完整性和可用性。當(dāng)前大多云平臺通過加密機(jī)制對外隱藏應(yīng)用和通信協(xié)議的實(shí)現(xiàn)作為主要的安全機(jī)制,而對其他的安全因素疏于維護(hù),如身份和權(quán)限檢查、交互模型維護(hù)等。上述的多項(xiàng)研究[11,18-19,26]表明,在物聯(lián)網(wǎng)系統(tǒng)這種存在對抗性交互的環(huán)境中,敵手有能力破解加密保護(hù),因此云平臺在授權(quán)管理、協(xié)議應(yīng)用、實(shí)體交互等過程中如果存在安全漏洞,將會被敵手輕易利用,云平臺一旦受到威脅,其連接的各類設(shè)備將會被攻擊者全部攻破。
3) 交互邏輯漏洞是物聯(lián)網(wǎng)系統(tǒng)中新出現(xiàn)的威脅類型。物聯(lián)網(wǎng)系統(tǒng)的一個(gè)顯著特點(diǎn)是其中功能實(shí)現(xiàn)過程涉及用戶、云平臺、設(shè)備三類實(shí)體的交互,同時(shí)云平臺面向用戶提供日益豐富的自動控制服務(wù),各類服務(wù)在同一個(gè)應(yīng)用場景下也會存在交互。這些交互在實(shí)現(xiàn)之初難以準(zhǔn)確判定其中是否存在設(shè)計(jì)缺陷,甚至導(dǎo)致安全隱患[13-14,18-20]。隨著物聯(lián)網(wǎng)系統(tǒng)應(yīng)用功能不斷提升,交互類型不斷復(fù)雜化,交互過程中的邏輯漏洞是值得深入研究的方向。
4) 設(shè)備固件漏洞仍然是設(shè)備遭受威脅的主要因素。由于物聯(lián)網(wǎng)設(shè)備的數(shù)量龐大,固件漏洞被利用后可以快速傳播,造成更大規(guī)模的威脅[3,48]。隨著設(shè)備硬件性能不斷提升,固件包含的功能愈加豐富,內(nèi)存漏洞的影響仍然是設(shè)備面臨的主要安全威脅[34-35,37-39]。但是與內(nèi)存漏洞相比,邏輯漏洞更難發(fā)現(xiàn),而且攻擊者利用邏輯漏洞可以實(shí)現(xiàn)更加隱秘卻更具危害的威脅[40],因此如何進(jìn)一步提升邏輯漏洞檢測能力是值得后續(xù)研究的方向。
5) 針對語音設(shè)備的攻擊是物聯(lián)網(wǎng)系統(tǒng)特有的威脅類型?;谡Z音信道的控制方式極大地提升了用戶訪問設(shè)備的效率,然而語音信道也引入了新的攻擊,一方面是基于語音平臺的惡意應(yīng)用[16-17],另一方面是利用語音信號的敏感性實(shí)施的隱藏語音信號攻擊[42-44],由于語音助手設(shè)備在應(yīng)用場景中的核心地位,基于語音控制的功能越來越豐富,針對這類威脅的研究仍然是研究人員關(guān)注的重點(diǎn)。
由此可見,當(dāng)前物聯(lián)網(wǎng)系統(tǒng)面臨的威脅類型種類繁多,且與物聯(lián)網(wǎng)特性緊密相關(guān),對這些新型威脅進(jìn)行檢測和防御是未來研究的必然趨勢。
針對物聯(lián)網(wǎng)應(yīng)用場景中不同類型的安全威脅,部分研究提出了針對性的檢測方案。本文對檢測的定義是及時(shí)發(fā)現(xiàn)物聯(lián)網(wǎng)系統(tǒng)中潛在或已出現(xiàn)的攻擊,在危害產(chǎn)生或擴(kuò)大之前進(jìn)行分析或處理。本節(jié)根據(jù)檢測面向的威脅類型和技術(shù)原理,將檢測方案分為6 種不同的類型,其對比如表3 所示。
表3 威脅檢測方案對比
3.2.1 云平臺惡意應(yīng)用檢測
檢測云平臺應(yīng)用的主要思想是提供一種獨(dú)立于平臺審核機(jī)制的方法,判斷發(fā)布在市場中的應(yīng)用是否會出現(xiàn)有威脅的運(yùn)行狀態(tài),或者出現(xiàn)功能聲明之外的運(yùn)行結(jié)果,從而判定該應(yīng)用是否具有“惡意”性質(zhì)。
首先,對于SmartThings 和IFTTT 平臺來說,其中惡意應(yīng)用或服務(wù)引發(fā)的典型后果之一是隱私信息泄露,而且這2 種平臺都可以獲得應(yīng)用代碼或API 權(quán)限,因此對這2 種平臺可以采用基于數(shù)據(jù)流分析的檢測方案,即追蹤敏感數(shù)據(jù)在應(yīng)用中的傳遞過程來識別應(yīng)用是否將攜帶敏感信息的數(shù)據(jù)在未經(jīng)用戶授權(quán)的情況下發(fā)送給外部不可信的目標(biāo)[12,15,52-53]。例如,在SmartThings 平臺中,Celik等[12]在應(yīng)用中自動定位從產(chǎn)生敏感數(shù)據(jù)的函數(shù)到網(wǎng)絡(luò)接口函數(shù)的數(shù)據(jù)流,識別應(yīng)用是否將敏感數(shù)據(jù)通過網(wǎng)絡(luò)向外發(fā)送。在IFTTT 平臺中,Bastys 等[15]對每個(gè)應(yīng)用的Trigger 和Action 打上敏感標(biāo)簽,然后檢查每個(gè)Applet 的Trigger-Action 序列是否違背隱私約束規(guī)則。
其次,對于語音平臺,由于無法獲取Skill 功能的實(shí)現(xiàn)細(xì)節(jié),因此當(dāng)前研究主要采用黑盒測試方案,即通過構(gòu)造不同形式的Skill 語音命令輸入,來檢查執(zhí)行結(jié)果是否產(chǎn)生偏離正常功能的行為。這種方案面臨的首要挑戰(zhàn)是如何自動構(gòu)造語音命令輸入,Zhang 等[16]通過將Skill 名稱轉(zhuǎn)換為語音表達(dá)形式,然后對比不同Skill 的名稱是否具有相似的發(fā)音形式來查找可能引起語音劫持攻擊的惡意Skill;Guo 等[4]進(jìn)一步提出了一種基于語法和語義理解技術(shù),可以自動與平臺進(jìn)行語音交互。此外,對于平臺返回的命令執(zhí)行結(jié)果,Guo 等[4]的方案是基于安全策略檢測其中是否包含侵犯用戶隱私的行為;Zhang 等[54]設(shè)計(jì)了一種針對語音識別系統(tǒng)中的NLU(natural language understanding)模塊的檢測方案,可以發(fā)現(xiàn)具有不良意圖的Skill 命令。
3.2.2 云平臺實(shí)體和應(yīng)用交互漏洞檢測
當(dāng)前研究中對交互漏洞的檢測大多基于模型檢測的方法,主要思想是先對實(shí)體或應(yīng)用的交互過程建模,然后將正常模型和實(shí)際運(yùn)行狀態(tài)進(jìn)行對比,檢測其中出現(xiàn)的異常。
首先是對實(shí)體交互漏洞的檢測,采用的模型主要是有限狀態(tài)機(jī),主要通過逆向分析實(shí)體的交互過程得到各實(shí)體狀態(tài)的正常轉(zhuǎn)換流程,及其組合而成的三元組狀態(tài)集合,由此構(gòu)成了實(shí)體的正常交互模型。由于攻擊將導(dǎo)致實(shí)體出現(xiàn)異常狀態(tài)轉(zhuǎn)換,或出現(xiàn)異常的三元組集合,因此可根據(jù)標(biāo)準(zhǔn)交互模型與實(shí)體的實(shí)時(shí)狀態(tài)進(jìn)行對比來檢測是否出現(xiàn)異常的交互。Zhou 等[18]和Chen 等[19]采用了上述的思路,通過對多家全球知名物聯(lián)網(wǎng)云平臺的三方交互過程建立實(shí)體交互模型和檢測,最終在多家平臺中驗(yàn)證了漏洞的存在,該漏洞可影響上億臺設(shè)備。
其次是對應(yīng)用或服務(wù)交互漏洞的檢測,由于云平臺應(yīng)用具有不同的實(shí)現(xiàn)方式,所以建立的模型也有不同的特點(diǎn),表4 對部分方案的建模方式和檢測效果等進(jìn)行了對比。
表4 應(yīng)用或服務(wù)交互漏洞檢測方案對比
3.2.3 基于靜態(tài)分析的固件漏洞檢測
固件靜態(tài)分析是指不運(yùn)行固件程序,通過符號執(zhí)行、污點(diǎn)分析等技術(shù)分析二進(jìn)制文件的代碼結(jié)構(gòu)或邏輯關(guān)系,檢測其中存在的內(nèi)存漏洞或邏輯漏洞。
符號執(zhí)行是固件分析中常用的技術(shù)[56-57],核心思想是將程序輸入變成符號,程序執(zhí)行結(jié)束后可以得到與每條執(zhí)行路徑對應(yīng)的符號表達(dá)式和約束條件,對約束條件進(jìn)行求解即可得到滿足路徑需求的輸入值。例如,Subramanyan 等[56]采用了一種專門的形式來描述固件中關(guān)于機(jī)密性和完整性的信息流屬性,然后通過符號執(zhí)行檢查固件中的執(zhí)行路徑是否違背了屬性的安全約定。污點(diǎn)分析的主要思想是在程序中建立數(shù)據(jù)依賴關(guān)系圖,通過污點(diǎn)傳播算法追蹤從敏感數(shù)據(jù)源到數(shù)據(jù)聚集點(diǎn)的路徑,并檢測路徑中是否存在安全問題[39-40,58]。例如,Karonte[39]基于二進(jìn)制文件之間交互通常通過一組有限的進(jìn)程間通信模式集合進(jìn)行的思想,通過追蹤進(jìn)程間通信的數(shù)據(jù)傳播過程實(shí)現(xiàn)了跨文件的污點(diǎn)分析。基于二進(jìn)制相似性檢測的思想是提取已知漏洞在二進(jìn)制文件中的特征,然后在新的二進(jìn)制文件中進(jìn)行匹配查找以定位漏洞[35,59-60]。例如,F(xiàn)eng 等[60]借鑒了計(jì)算機(jī)視覺技術(shù)對圖像處理的思路,將提取到的程序控制流圖轉(zhuǎn)換為數(shù)字特征向量,從而大大降低了特征維度,提高了匹配算法的效率。
3.2.4 基于動態(tài)分析的固件漏洞檢測
固件動態(tài)分析通過獲取程序運(yùn)行的實(shí)時(shí)狀態(tài)可以更加準(zhǔn)確地發(fā)現(xiàn)漏洞,當(dāng)前研究大多通過將固件程序加載到QEMU 等仿真軟件中,在脫離硬件的情況下模擬固件的功能運(yùn)行,再結(jié)合模糊測試等技術(shù)檢測漏洞。
這種方法對基于Linux 內(nèi)核且具有完整操作系統(tǒng)功能的固件類型進(jìn)行仿真運(yùn)行的成功率較高。例如,F(xiàn)IRMADYNE[61]和FIRM-AFL[62]可以對大部分基于Linux 內(nèi)核的固件進(jìn)行全系統(tǒng)仿真運(yùn)行。但是對于其他基于實(shí)時(shí)操作系統(tǒng)的固件,或沒有操作系統(tǒng)的“裸機(jī)”固件(即應(yīng)用程序直接與硬件交互而不需要中間的操作系統(tǒng))來說,這種方案難以應(yīng)用。主要原因是:這種固件沒有統(tǒng)一的文件格式導(dǎo)致難以加載,部分固件被加密導(dǎo)致難以提取核心代碼,各種硬件組件和外設(shè)的輸入輸出信息難以獲取。
基于以上挑戰(zhàn),部分研究實(shí)現(xiàn)了固件部分仿真[40,63-64],主要思想是從固件中分離出與檢測目標(biāo)相關(guān)的代碼執(zhí)行路徑,只對這部分路徑進(jìn)行仿真執(zhí)行。例如,F(xiàn)IoT[63]從容易觸發(fā)內(nèi)存越界訪問的匯聚點(diǎn)函數(shù)出發(fā),采用反向程序切片方法得到從數(shù)據(jù)輸入源到達(dá)匯聚點(diǎn)函數(shù)的路徑,結(jié)合符號執(zhí)行和模糊測試檢測該路徑執(zhí)行過程中是否存在內(nèi)存漏洞。
部分研究克服了設(shè)備硬件與固件的耦合性和底層架構(gòu)的差異性等困難,實(shí)現(xiàn)了固件全仿真[65-68]。例如,uEmu[68]通過基于符號執(zhí)行的路徑約束和程序動態(tài)運(yùn)行狀態(tài)來推斷固件運(yùn)行過程中期望的輸入并形成外設(shè)反饋知識庫,借助此知識庫可動態(tài)引導(dǎo)程序執(zhí)行過程,以此實(shí)現(xiàn)不需要先驗(yàn)知識和原始硬件環(huán)境,即可對固件程序進(jìn)行全系統(tǒng)仿真。
3.2.5 基于手機(jī)App 的固件漏洞檢測
部分物聯(lián)網(wǎng)廠商向用戶提供了手機(jī)App 作為設(shè)備控制終端,App 中包含了與設(shè)備通信和功能相關(guān)的邏輯和數(shù)據(jù)。利用這種App 與設(shè)備之間的關(guān)聯(lián)性,部分研究人員在不分析設(shè)備和固件的前提下,通過手機(jī)App 來檢測固件中的漏洞。
由于現(xiàn)階段實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備全系統(tǒng)仿真較困難并且難以直接從設(shè)備端定位數(shù)據(jù)輸入,IoTFuzzer[69]和DIANE[70]轉(zhuǎn)換思路,將App 看作設(shè)備的輸入接口,將發(fā)向設(shè)備的請求參數(shù)看作可變異的種子數(shù)據(jù),首先在App 中自動定位參數(shù)的數(shù)據(jù)源或處理函數(shù);然后對參數(shù)值進(jìn)行變異,通過App 的原始業(yè)務(wù)邏輯將變異數(shù)據(jù)發(fā)向設(shè)備;最后動態(tài)觀察真實(shí)設(shè)備的崩潰信息,以快速檢測固件中的內(nèi)存漏洞。Zuo 等[71]發(fā)現(xiàn)從App 中可以提取設(shè)備UUID(universally unique identifier)信息,該信息可在藍(lán)牙廣播中識別設(shè)備,同時(shí)從App 中可以發(fā)現(xiàn)當(dāng)前采用的藍(lán)牙認(rèn)證模式是否存在缺陷,攻擊者結(jié)合以上條件可以通過分析App 對周圍的藍(lán)牙設(shè)備發(fā)起攻擊。此外,設(shè)備廠商往往會復(fù)用相同的開發(fā)組件,因此組件中的漏洞將出現(xiàn)在不同的設(shè)備中,而這種相似性甚至?xí)ㄟ^App 表現(xiàn)出來,因此通過比較不同設(shè)備在App 上的相似性就可以檢測設(shè)備是否存在漏洞[72]。
3.2.6 基于側(cè)信道的設(shè)備異常檢測
受到攻擊的設(shè)備除了內(nèi)部功能受到影響之外,其外在的各類側(cè)信道特征也會表現(xiàn)出異常,因此可以利用此特點(diǎn)進(jìn)行設(shè)備的異常檢測。
首先,設(shè)備與網(wǎng)絡(luò)交互過程中產(chǎn)生的流量可以反映設(shè)備內(nèi)部的行為,所以可以通過提取流量特征來檢測設(shè)備的狀態(tài)。一方面,可以提取流量中未加密的頭部信息識別異常設(shè)備[73-75]。例如,Yu 等[74]基于設(shè)備通信中常見的廣播和多播協(xié)議,將協(xié)議特征看作設(shè)備整體特征的一種視圖,然后基于多視圖學(xué)習(xí)算法進(jìn)行設(shè)備簽名,可以在具有大量設(shè)備的復(fù)雜環(huán)境中準(zhǔn)確識別異?;騻卧斓脑O(shè)備。另一方面,可以提取加密流量的統(tǒng)計(jì)特征,如數(shù)據(jù)包長度、時(shí)間戳等。Zhang 等[75]利用ZigBee 和Z-Wave 協(xié)議的流量特征設(shè)計(jì)了識別SmartThings 平臺設(shè)備行為系統(tǒng),可以通過流量判斷設(shè)備是否出現(xiàn)異常行為。
其次,設(shè)備工作過程中表現(xiàn)出的外在物理特征,如電量、電壓、速度、重力、方向等,也可以反映設(shè)備的運(yùn)行狀態(tài),部分研究基于物理特征實(shí)現(xiàn)設(shè)備異常檢測[76-78]。例如,Choi 等[78]對無人機(jī)和地面探測器提取控制時(shí)的設(shè)備參數(shù)、物理運(yùn)動數(shù)值、底層控制算法等數(shù)據(jù)作為正常運(yùn)行標(biāo)準(zhǔn),任何偏離標(biāo)準(zhǔn)的微小偏差都被視為異常,以此檢測來自物理或網(wǎng)絡(luò)的攻擊。
此外,有部分研究基于鄰近的設(shè)備或傳感器對于活動發(fā)生時(shí)的物理環(huán)境感知應(yīng)具有上下文一致性這一特點(diǎn),將鄰近設(shè)備的狀態(tài)和動作數(shù)據(jù)作為特征進(jìn)行惡意行為識別[79-80]。例如,Birnbach 等[79]基于智能家居環(huán)境中多個(gè)傳感器對同一事件的感知數(shù)據(jù)集合作為簽名,可以檢測出由于傳感器故障或攻擊者造成的欺騙事件。
3.2.7 威脅檢測小結(jié)
下面對3.2 節(jié)中關(guān)于威脅檢測研究的特點(diǎn)和不足進(jìn)行總結(jié),主要分為以下幾個(gè)方面。
1) 云平臺惡意應(yīng)用檢測方案存在局限性。不難看出,大部分惡意應(yīng)用檢測[12,15,52-53]都面向SmartThings 和IFTTT 這2 個(gè)平臺。這些方案雖然獲得了較好的識別效果,但是實(shí)現(xiàn)方案顯然都要基于平臺應(yīng)用開發(fā)語言的特性,在其他不開放應(yīng)用邏輯的云平臺中難以適用。與之相對的是FlowFence[81],該方案與具體平臺特性無關(guān),通過在平臺中預(yù)先建立沙箱隔離所有敏感操作,平臺應(yīng)用必須通過沙箱定義的接口才能訪問敏感數(shù)據(jù),以此隔離應(yīng)用中所有可能產(chǎn)生隱私泄露的行為,但是該方案的應(yīng)用需要高度定制化的系統(tǒng)支持。
2) 交互邏輯漏洞的檢測仍然面臨挑戰(zhàn)。對三類實(shí)體交互漏洞檢測的研究[18-19]探索了面向“黑盒”平臺進(jìn)行漏洞檢測的方案,取得了較好的檢測效果,但是不難看出,其中的建模過程需要大量人工分析,而且當(dāng)前云平臺對通信過程的保密機(jī)制越來越嚴(yán)格,例如,雙向證書驗(yàn)證機(jī)制對研究中采用的解密通信方法帶來了極大挑戰(zhàn),因此建立有效的交互過程建模方案是值得探索的方向。
3) 固件分析面臨的共同問題是如何獲取固件和加載固件。現(xiàn)有研究中提出了可以通過網(wǎng)站下載、截獲OTA(over the air)更新、從App 提取、從設(shè)備硬件調(diào)試接口提取等方式獲取固件,但是目前大多數(shù)物聯(lián)網(wǎng)廠商對固件的保護(hù)越來越嚴(yán)格,不提供公開下載鏈接,或者消除了硬件調(diào)試接口,或者對更新的固件進(jìn)行加密,因此可以獲取固件的方式越來越少。對于固件加載,部分研究通過人工分析建立固件格式的數(shù)據(jù)庫,但是此方法難以大規(guī)模擴(kuò)展,而Wen 等[82]提出了一種通過絕對指針自動定位固件基址的方案,可以有效提高加載效率,但是該方案的加載成功率也會受到絕對指針數(shù)量不足的影響。
4) 3 種固件漏洞檢測方案(靜態(tài)、動態(tài)、App)在真實(shí)設(shè)備固件檢測中各有不足。首先,靜態(tài)分析中常用的符號執(zhí)行和污點(diǎn)分析技術(shù)分別面臨路徑爆炸和過污染的挑戰(zhàn),因此在實(shí)際應(yīng)用中需要在使用這些技術(shù)前針對分析目標(biāo)縮減問題的求解空間[56-58]。對基于二進(jìn)制相似性比較的漏洞檢測方法來說,二進(jìn)制特征的提取嚴(yán)重依賴于構(gòu)建代碼的編譯環(huán)境[59-60],編譯器中不同的優(yōu)化和混淆措施會對生成的二進(jìn)制代碼產(chǎn)生影響,從而降低識別的準(zhǔn)確率。其次,在動態(tài)分析中,固件的仿真效果受限于如何處理各種不同類型的硬件組件屬性,以及如何兼容不同的底層架構(gòu)[65-68]。再次,基于App 的固件漏洞檢測[69-70]要求設(shè)備必須具有對應(yīng)的App 控制端,App 與設(shè)備的功能實(shí)現(xiàn)具有密切關(guān)系,而且此種方案對種子數(shù)據(jù)的生成和變異完全依賴于App的內(nèi)部邏輯,因此只能發(fā)現(xiàn)固件是否存在會引發(fā)系統(tǒng)崩潰的漏洞,對于漏洞的具體原因和位置還需要人工驗(yàn)證。
5) 基于側(cè)信道特征的檢測方案的最大優(yōu)點(diǎn)是可以通過外部手段發(fā)現(xiàn)設(shè)備異常,但其檢測效果受限于應(yīng)用場景中的特征選擇和采用的學(xué)習(xí)算法,例如,流量特征容易受到信號強(qiáng)弱[74]、協(xié)議類型和通信模式的影響[75],物理特征嚴(yán)重受限于物理環(huán)境因素[76-77],而上下文特征的提取則要求檢測目標(biāo)周圍必須存在能夠提供豐富特征的其他設(shè)備[79]。
針對物聯(lián)網(wǎng)應(yīng)用場景中不同類型的安全威脅,部分研究提出了針對性的防御方案,本文對防御的定義是在威脅出現(xiàn)前就實(shí)施阻止措施,直接避免危害產(chǎn)生。本節(jié)根據(jù)防御面向的威脅類型和技術(shù)原理,將威脅防御方案分為5 種不同的類型,其對比如表5 所示。
表5 不同威脅防御方案對比
3.3.1 細(xì)粒度的云平臺訪問控制
物聯(lián)網(wǎng)云平臺訪問控制問題產(chǎn)生的原因主要是云平臺實(shí)現(xiàn)功能時(shí)未能遵循最小權(quán)限原則,因此當(dāng)前研究利用云平臺的特性設(shè)計(jì)了細(xì)粒度的訪問控制機(jī)制。
對于SmartThings 平臺,當(dāng)前研究從SmartApp中提取應(yīng)用運(yùn)行過程中實(shí)時(shí)的上下文,為當(dāng)前操作是否符合訪問控制策略提供細(xì)粒度的參考信息。例如,ContextIoT[83]通過提取SmartApp 內(nèi)部的執(zhí)行路徑、數(shù)據(jù)依賴關(guān)系、實(shí)時(shí)變量值、環(huán)境參數(shù)等信息來表示應(yīng)用執(zhí)行操作時(shí)的上下文信息,然后在操作執(zhí)行前主動征求用戶授權(quán)許可,只有獲得用戶授權(quán)的操作才可以繼續(xù)執(zhí)行。SmartAuth[84]通過自然語言處理技術(shù)提取SmartApp 對功能的文本說明中關(guān)于操作的信息,再通過污點(diǎn)分析技術(shù)在應(yīng)用運(yùn)行時(shí)獲取真實(shí)操作,對比真實(shí)操作與文本說明是否一致,若不一致則主動通知用戶以征求授權(quán)。這2 種方案在實(shí)際應(yīng)用中都可以準(zhǔn)確防止惡意應(yīng)用產(chǎn)生的隱私泄露,但是也不可避免地增加了用戶操作。
對于IFTTT 中基于訪問令牌聯(lián)動的服務(wù)規(guī)則,F(xiàn)ernandes 等[10]針對令牌管理模式中存在的問題提出了一種權(quán)限管理的優(yōu)化方案,該方案引入應(yīng)用代理方,并使用權(quán)限粒度更小的“規(guī)則令牌”將集中式的權(quán)限管理模式分散為以應(yīng)用代理為單位的分布式管理,可以有效解決集中式管理和粗粒度令牌的問題。
此外,還有部分研究面向物聯(lián)網(wǎng)中特殊應(yīng)用場景,基于其他領(lǐng)域的理論,如SDN(software defined network)、智能手機(jī)訪問控制等,提出了新的訪問控制模型[85-87],但其實(shí)現(xiàn)需要特殊架構(gòu)支持。
3.3.2 安全的通信協(xié)議
為了保障物聯(lián)網(wǎng)系統(tǒng)通信安全,在物聯(lián)網(wǎng)常用協(xié)議中需要增加穩(wěn)健的安全機(jī)制,然而協(xié)議的制定和改進(jìn)是多方參與且長期演進(jìn)的過程,因此更重要的是協(xié)議應(yīng)用方必須在業(yè)務(wù)邏輯中對通信實(shí)體的身份和權(quán)限實(shí)施嚴(yán)格檢查。例如,針對MQTT 協(xié)議模型中缺失的安全屬性,應(yīng)增加通信會話的管理機(jī)制、面向消息的訪問控制機(jī)制,以及限制通配符的功能范圍[21];針對ZigBee 協(xié)議的內(nèi)在缺陷,應(yīng)增強(qiáng)設(shè)備在加入網(wǎng)絡(luò)和正常通信這2 個(gè)階段的加密級別[88]。此外,也有部分研究基于物聯(lián)網(wǎng)系統(tǒng)特性設(shè)計(jì)了安全的通信協(xié)議[89-90]。例如,Alshahrani 等[89]提出了一種基于ZigBee 通信的設(shè)備間進(jìn)行互相認(rèn)證和密鑰交換的模型,可以增強(qiáng)ZigBee 協(xié)議在對抗性環(huán)境中應(yīng)用時(shí)的穩(wěn)健性。
還有部分研究面向設(shè)備近距離通信設(shè)計(jì)了新型的安全配對協(xié)議[91-94],可以克服傳統(tǒng)配對協(xié)議存在密鑰信息易被竊取、需要人工參與等問題。例如,Han 等[92]基于鄰近的智能設(shè)備在相同時(shí)間周期內(nèi)對物理活動的感知具有一致性這一特征,利用相同時(shí)間周期內(nèi)的物理感知參數(shù)來生成對稱密鑰,可有效對抗設(shè)備偽裝和中間人攻擊。Jin 等[93]利用射頻信號噪聲在不同介質(zhì)(如人體表面和空氣)中傳播時(shí)產(chǎn)生的信號特征具有高度隨機(jī)性和不可預(yù)測性的特點(diǎn),設(shè)計(jì)了針對可穿戴設(shè)備的新型配對方案。
3.3.3 流量特征隱藏
為了應(yīng)對形式多樣的通信流量側(cè)信道分析,部分研究關(guān)注如何隱藏流量特征。流量特征推理主要是提取流量中的頭部特征和統(tǒng)計(jì)特征,所以對應(yīng)的防御方案是消除這2 種特征與設(shè)備和活動的對應(yīng)關(guān)系。
對于頭部特征,主要目標(biāo)是在不影響流量轉(zhuǎn)發(fā)和不改變負(fù)載數(shù)據(jù)的基礎(chǔ)上進(jìn)行頭部信息的再次封裝,令攻擊者無法獲得有意義的頭部信息。例如,通過DNS 加密技術(shù)阻止對網(wǎng)絡(luò)請求目標(biāo)的分析[30];通過隧道轉(zhuǎn)發(fā)技術(shù)將設(shè)備與云服務(wù)之間的通信轉(zhuǎn)換為VPN 節(jié)點(diǎn)之間的通信,間接阻止了對設(shè)備的識別和行為推理[33,75]。對于統(tǒng)計(jì)特征,主要目標(biāo)是在不破壞正常功能的前提下,改變流量的整體特征。例如,在正常通信過程中注入欺騙流量妨礙竊聽者對真實(shí)設(shè)備和活動的識別[32];或采用流量塑形技術(shù),通過增加發(fā)送時(shí)延或注入無關(guān)流量來降低或提高單位時(shí)間內(nèi)的通信速率,改變流量傳輸曲線的形狀,以混淆攻擊者對行為的提取[32,95-96]。
3.3.4 基于可信計(jì)算的固件安全防護(hù)機(jī)制
物聯(lián)網(wǎng)設(shè)備內(nèi)在的軟硬件資源受限是導(dǎo)致固件漏洞的主要原因之一,因此部分研究關(guān)注如何基于有限條件構(gòu)建可信的固件運(yùn)行環(huán)境。
首先,考慮將傳統(tǒng)安全機(jī)制應(yīng)用于固件程序,增強(qiáng)固件本身的防護(hù)性能。一方面,對固件程序組件權(quán)限和內(nèi)存地址空間實(shí)行分離機(jī)制。針對物聯(lián)網(wǎng)設(shè)備的實(shí)時(shí)操作系統(tǒng)或“裸機(jī)”系統(tǒng)中沒有內(nèi)存或數(shù)據(jù)隔離的缺點(diǎn),部分研究將固件劃分為不同組件以實(shí)施最小權(quán)限隔離,如EPOXY[34]、MINION[97]、ACES(automatic compartments for embedded system)[98]等。另一方面,對固件程序?qū)嵤┛刂屏魍暾员Wo(hù),確保函數(shù)返回地址完整性,以應(yīng)對控制流劫持攻擊,如μRAI[37]、Silhouette[38]等。表6 對幾種固件安全防護(hù)機(jī)制的特點(diǎn)和性能進(jìn)行了對比。
表6 固件安全防護(hù)機(jī)制對比
其次,遠(yuǎn)程證明是對遠(yuǎn)程設(shè)備執(zhí)行狀態(tài)的可信性進(jìn)行認(rèn)證的關(guān)鍵技術(shù),其主要思想是可信的遠(yuǎn)程校驗(yàn)方通過獲取本地證明方的狀態(tài)信息,來檢查證明方當(dāng)前是否處于可信狀態(tài)。在物聯(lián)網(wǎng)系統(tǒng)中,遠(yuǎn)程認(rèn)證的主要目標(biāo)是設(shè)備需要提供高時(shí)效且細(xì)粒度的可認(rèn)證信息[99-101]。例如,C-FLAT(control-flow attestation)[99]將證明方的信息細(xì)化到程序的控制流層面上,向校驗(yàn)方提供細(xì)粒度的程序執(zhí)行路徑信息以判斷程序控制流完整性是否被破壞。DIAT(data integrity attestation)[101]設(shè)計(jì)了面向自動協(xié)作網(wǎng)絡(luò)(如無人機(jī)集群)的認(rèn)證方案,將軟件分解為不同模塊,證明方發(fā)送數(shù)據(jù)時(shí)還需發(fā)送數(shù)據(jù)在模塊中的生成和處理過程信息,校驗(yàn)方以此檢測數(shù)據(jù)的正確性。
3.3.5 語音攻擊防御
針對隱藏在語音信道的各種媒介中,且用戶無法察覺的惡意語音攻擊樣本,部分研究提出了對應(yīng)的防御方案,本節(jié)分析了這些方案的原理和不足。
1) 在語音設(shè)備的交互過程中增加基于安全提示和語音確認(rèn)的交互模式,用戶需要對敏感操作進(jìn)行主動確認(rèn)來提高安全性[42],但是這種方法會帶來額外的可用性開銷,且確認(rèn)操作容易被用戶忽略。2) 通過添加專用硬件模塊對具有特殊信號特征的語音信號(如高頻超聲波)進(jìn)行過濾[43],或者物理隔斷語音設(shè)備與桌面等硬件媒介的直接接觸[45],但是前者需要特殊硬件支持,后者為語音設(shè)備的可用性增加了負(fù)擔(dān)。3) 通過增加噪聲干擾或降低輸入音頻的采樣頻率,影響語音識別系統(tǒng)對惡意命令的識別率[44],但是這種方案也會影響正常語音的識別率。4) 通過機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)聲紋識別區(qū)分人類和機(jī)器生成的語音[42-43,45],但是這將使語音識別系統(tǒng)產(chǎn)生額外運(yùn)行開銷。
另外,由于人工生成的語音命令缺少了人類在現(xiàn)場說話引起的無線信號干擾,因此可以利用這個(gè)特征來區(qū)分隱藏語音命令。例如,Meng 等[102]利用人類發(fā)音時(shí)引起的Wi-Fi 信道狀態(tài)信息變化模式和語音信號的關(guān)聯(lián),可以準(zhǔn)確區(qū)分生成的惡意語音信號與真實(shí)人聲。但是該方案目前依賴Wi-Fi 信號覆蓋度較強(qiáng)的環(huán)境,且識別過程對信號波動強(qiáng)度敏感,如果發(fā)音者距離信號接收天線過遠(yuǎn)則會由于捕捉不到信號擾動而無法進(jìn)行識別。
3.3.6 威脅防御小結(jié)
下面對3.3 節(jié)中關(guān)于威脅防御研究的特點(diǎn)和不足進(jìn)行總結(jié),主要分為以下幾個(gè)方面。
1) 云平臺訪問控制的適用面有限。相較于傳統(tǒng)的云服務(wù),在物聯(lián)網(wǎng)云平臺中,用戶訪問設(shè)備的過程具有更加復(fù)雜的關(guān)系,例如,多個(gè)用戶可以對同一個(gè)設(shè)備進(jìn)行共享或交互,因此需要精準(zhǔn)且高效的訪問控制機(jī)制。當(dāng)前研究提出的新型訪問控制方案雖然解決了已知的授權(quán)管理問題[10,83-84],但目前只能面向有限云平臺。值得一提的是,Shezan 等[103]基于遷移學(xué)習(xí)思想提出了一種可在不同平臺之間進(jìn)行權(quán)限知識遷移的權(quán)限管理模型,在建立新平臺的權(quán)限模型時(shí),可以直接采用來自其他平臺的權(quán)限管理規(guī)則。
2) 保障通信協(xié)議安全仍面臨困難。一方面,在物聯(lián)網(wǎng)系統(tǒng)這種存在對抗性的環(huán)境中建立安全且適配的通信協(xié)議是一個(gè)需要多方參與且長期演進(jìn)的過程,此過程中更重要的是協(xié)議應(yīng)用方應(yīng)根據(jù)應(yīng)用場景在業(yè)務(wù)邏輯中增加協(xié)議當(dāng)前不具備的安全機(jī)制,以保障通信安全。另一方面,當(dāng)前提出的設(shè)備安全配對協(xié)議均建立在“物理鄰近即安全”的假設(shè)之上[91-93],而物聯(lián)網(wǎng)中復(fù)雜的設(shè)備應(yīng)用環(huán)境是對這個(gè)假設(shè)的最大挑戰(zhàn),由于鄰近的設(shè)備也可能是偽裝的惡意設(shè)備,因此對設(shè)備的認(rèn)證是配對協(xié)議需要重點(diǎn)考慮的問題。
3) 固件的安全防護(hù)機(jī)制需要進(jìn)一步提升。設(shè)備固件受限于物聯(lián)網(wǎng)設(shè)備有限資源的特性而無法直接應(yīng)用傳統(tǒng)的軟件安全保護(hù)機(jī)制,因此現(xiàn)有研究[37-38,98]通過一些硬件輔助方案(如MPU 或者最新的ARMv8 TrustZone)來實(shí)現(xiàn)特殊的系統(tǒng)防御,如數(shù)據(jù)執(zhí)行保護(hù)、控制流完整性保護(hù)等措施。但一方面這些硬件組件在現(xiàn)有設(shè)備上不一定存在,另一方面在現(xiàn)有的程序中配置和使用這些方案也需要投入過高的人工成本,此外,可能引入過多的功耗和時(shí)延,而物聯(lián)網(wǎng)設(shè)備往往對功耗和時(shí)延有著更高的要求,因此這些方案的性能和適用面也需要進(jìn)一步提升。
4) 面向語音攻擊的防御措施不夠完善?,F(xiàn)有的語音攻擊防御方案雖然在實(shí)際研究中被證明有效[42-45],但是不難看出各方案在實(shí)現(xiàn)時(shí)都面臨可用性和設(shè)備性能的額外開銷。綜合來看,目前對于藏匿在語音信道中的惡意命令沒有完善的防御方法,這也使面向語音攻擊的防御成為后續(xù)研究的熱點(diǎn)。
本節(jié)基于第3 節(jié)中對安全威脅,以及檢測和防御方案的分析,提出當(dāng)前面臨的研究挑戰(zhàn)和未來研究機(jī)遇。圖4 中展示了挑戰(zhàn)和機(jī)遇的對應(yīng)關(guān)系。
圖4 挑戰(zhàn)與機(jī)遇的對應(yīng)關(guān)系
4.1.1 不完善的隱私保護(hù)
物聯(lián)網(wǎng)設(shè)備與人類生活密切相關(guān),通過設(shè)備感知的信息可以推斷出人的生活習(xí)慣、行為特征等,而當(dāng)前在物聯(lián)網(wǎng)系統(tǒng)中存在的各類攻擊可能導(dǎo)致設(shè)備收集的信息被竊取。從表1 可以看出,當(dāng)前物聯(lián)網(wǎng)系統(tǒng)中的大部分威脅都會導(dǎo)致隱私泄露的危害。此外,導(dǎo)致隱私保護(hù)不夠完善的另一個(gè)重要因素是隱私信息理解問題[104],即用戶使用設(shè)備前對設(shè)備的隱私收集和使用方式不能充分了解,或者現(xiàn)行的隱私信息保護(hù)法案不能完全滿足真實(shí)的使用需求。
4.1.2 繁多的應(yīng)用形式
云平臺提供的應(yīng)用或服務(wù)不僅數(shù)量龐大而且種類繁多,然而當(dāng)前的云平臺安全審核機(jī)制難以滿足安全需求。現(xiàn)有研究充分證明,廠商在發(fā)展新應(yīng)用和維護(hù)其安全性之間存在不平衡,依靠靜態(tài)分析應(yīng)用的方式難以發(fā)現(xiàn)其中的動態(tài)特性導(dǎo)致的問題,而動態(tài)分析應(yīng)用安全的方案匱乏,人工審核方式有一定效果,但是耗時(shí)耗力且容易出現(xiàn)疏漏。隨著物聯(lián)網(wǎng)應(yīng)用層生態(tài)的不斷發(fā)展,在發(fā)布大量應(yīng)用的同時(shí),需要高效、準(zhǔn)確、自動化的應(yīng)用安全審核機(jī)制。
4.1.3 復(fù)雜的交互模型
物聯(lián)網(wǎng)系統(tǒng)功能提升的同時(shí),系統(tǒng)內(nèi)的交互形式也不斷增多,交互過程日益復(fù)雜,不僅有應(yīng)用之間的交互、設(shè)備之間的交互,更有跨平臺的交互,所以對平臺或設(shè)備安全性的保護(hù)不能只限于單個(gè)實(shí)體,還要考慮交互過程可能引入的風(fēng)險(xiǎn),典型的問題是即使實(shí)體單獨(dú)運(yùn)行過程中的安全性得到保障,然而在與其他實(shí)體的交互過程中原有的保護(hù)機(jī)制很可能被打破。當(dāng)前檢測和防御方案大多通過交互行為建模來檢測其中的威脅,但是由于交互模式的差異,各類模型方案只能應(yīng)用于特定平臺或場景,彼此之間難以復(fù)用。
4.1.4 適用性受限的解決方案
當(dāng)前研究提出的威脅檢測和防御方案大多針對特定的應(yīng)用類型和場景,或者特定的設(shè)備結(jié)構(gòu)和系統(tǒng)。在云平臺中,惡意應(yīng)用和交互邏輯漏洞檢測的大部分方案基于特定平臺的開發(fā)特性建立分析框架;在設(shè)備固件分析中,固件運(yùn)行依賴的底層架構(gòu)和底層硬件多種多樣,所以只能針對特定類型的固件進(jìn)行仿真。這些特點(diǎn)使當(dāng)前研究得到的分析方案只能應(yīng)用在特定的領(lǐng)域中,組件之間無法移植或組合,在出現(xiàn)新的問題時(shí)難以達(dá)到預(yù)期的效果。
4.1.5 不統(tǒng)一的通信標(biāo)準(zhǔn)
物聯(lián)網(wǎng)系統(tǒng)的通信具有網(wǎng)絡(luò)類型多且結(jié)構(gòu)差異大的特點(diǎn),由于通信過程缺乏統(tǒng)一的協(xié)議或授權(quán)標(biāo)準(zhǔn),各類網(wǎng)絡(luò)的安全約束參差不齊。同時(shí),物聯(lián)網(wǎng)設(shè)備有限的資源和對實(shí)時(shí)性的要求令其更適配計(jì)算量低且邏輯簡單的輕量級通信協(xié)議,而當(dāng)前被廣泛使用的各種輕量級協(xié)議一般缺乏內(nèi)建的安全機(jī)制,設(shè)備廠商應(yīng)用協(xié)議時(shí)容易忽略對安全機(jī)制的實(shí)現(xiàn),導(dǎo)致引入安全威脅。
4.2.1 隱私保護(hù)和隱私理解
在物聯(lián)網(wǎng)發(fā)展的過程中,隱私安全問題一直是研究關(guān)注的重點(diǎn)。一方面是物聯(lián)網(wǎng)應(yīng)用場景中隱私信息泄露的檢測和保護(hù)措施[105-106];另一方面是對隱私理解問題的研究,如調(diào)研用戶對隱私政策的使用和理解現(xiàn)狀[107],或當(dāng)前物聯(lián)網(wǎng)生態(tài)中的各參與方對隱私保護(hù)措施的合理性[108],以推動物聯(lián)網(wǎng)系統(tǒng)中隱私保護(hù)機(jī)制的發(fā)展。
4.2.2 復(fù)雜環(huán)境下的訪問控制
物聯(lián)網(wǎng)系統(tǒng)的應(yīng)用環(huán)境復(fù)雜,身份認(rèn)證和授權(quán)管理缺陷導(dǎo)致的安全漏洞體現(xiàn)在多個(gè)方面,當(dāng)前研究提出的訪問控制增強(qiáng)方案存在不足。因此,設(shè)計(jì)既滿足物聯(lián)網(wǎng)系統(tǒng)的安全需求,又能夠適應(yīng)物聯(lián)網(wǎng)的低能耗和高實(shí)時(shí)性要求,同時(shí)還具有擴(kuò)展性的訪問控制機(jī)制是物聯(lián)網(wǎng)未來進(jìn)一步發(fā)展的實(shí)際需要。
4.2.3 基于人工智能的檢測和防御方案
人工智能技術(shù)可以對設(shè)備收集的信息進(jìn)行深度學(xué)習(xí)和理解,在一定程度上可以彌補(bǔ)現(xiàn)有的檢測和防御技術(shù)在自動化方面的不足。例如,結(jié)合深度學(xué)習(xí)與模糊測試自動進(jìn)行惡意應(yīng)用檢測[4]或漏洞挖掘[109],借鑒遷移學(xué)習(xí)思想融合不同平臺的檢測知識[103,110]。隨著物聯(lián)網(wǎng)應(yīng)用類型不斷豐富,以及交互場景越來越復(fù)雜,利用人工智能技術(shù)提升威脅檢測和防御方案的效果是值得繼續(xù)深入研究的方向。
4.2.4 高效的固件漏洞檢測方案和可信防御架構(gòu)
由于設(shè)備固件中普遍存在安全漏洞,需要更加有效的方法進(jìn)行檢測以避免威脅在使用過程中進(jìn)一步擴(kuò)大。例如,在固件動態(tài)分析方面,如何實(shí)現(xiàn)更全面的模擬,以及與其他工具結(jié)合檢測固件漏洞,仍需要更深入的研究。另外,由于設(shè)備自身硬件和軟件條件的受限,大多數(shù)傳統(tǒng)安全機(jī)制不能直接應(yīng)用,如何克服這種限制在固件中實(shí)施更可信的防御架構(gòu)也是需要研究的問題。
4.2.5 安全的通信協(xié)議
通信協(xié)議是物聯(lián)網(wǎng)傳輸層的核心。一方面由于當(dāng)前廠商在應(yīng)用缺乏內(nèi)建安全機(jī)制的輕量級協(xié)議時(shí)容易忽略對安全因素的考慮,因此需要高效自動的協(xié)議安全分析方案;另一方面可利用物聯(lián)網(wǎng)區(qū)別于其他系統(tǒng)的特性,如三類實(shí)體交互、設(shè)備鄰近等,結(jié)合應(yīng)用場景設(shè)計(jì)專屬物聯(lián)網(wǎng)的安全通信協(xié)議。
物聯(lián)網(wǎng)系統(tǒng)由于應(yīng)用種類多、設(shè)備規(guī)模大、交互過程復(fù)雜等特性在發(fā)展過程中不可避免地面臨各類安全威脅,對威脅的檢測和防御是促進(jìn)物聯(lián)網(wǎng)正常發(fā)展的關(guān)鍵。本文系統(tǒng)整理了近5 年物聯(lián)網(wǎng)安全研究中的代表性工作,從“威脅、檢測、防御”的角度分別闡述其中的主要類型,并以此為基礎(chǔ)分析了當(dāng)前面臨的挑戰(zhàn),以及提出未來研究機(jī)遇。隨著物聯(lián)網(wǎng)技術(shù)不斷發(fā)展,相關(guān)的安全研究也必將不斷深入,成為物聯(lián)網(wǎng)發(fā)展的重要支柱。