楊毅宇,周威,趙尚儒,劉聰,張宇輝,王鶴,王文杰,張玉清,,,4
(1.中國科學院大學國家計算機網絡入侵防范中心,北京 101408;2.西安郵電大學網絡空間安全學院,陜西 西安 710121;3.西安電子科技大學網絡與信息安全學院,陜西 西安 710071;4.海南大學計算機與網絡空間安全學院,海南 ???570228)
近5 年來,物聯網設備數量呈爆炸性增長,根據權威統計機構發布的數據,全球接入網絡的物聯網設備數量在2017 年已達20.35 億臺,并且到2025 年將增長到超過75.44 億臺[1],物聯網將深刻影響人類生產和生活的各個方面。然而,在物聯網蓬勃發展的過程中,現有的安全機制難以應對日益增長的安全需求,導致各類應用場景中的安全問題層出不窮[2],大量設備容易遭受惡意代碼威脅或非法控制,甚至引發大規模安全事故。從2016 年著名的Mirai蠕蟲利用物聯網設備引發大規模拒絕服務攻擊事件[3],到近期的智能音箱被攻擊者利用來竊聽用戶隱私[4],物聯網安全威脅隨著技術發展而不斷出現。
及時檢測發現安全威脅或提前采取防御是對抗威脅的重要手段,但是物聯網系統的特性[1]決定了對其實施完善的安全防護面臨諸多挑戰。例如,物聯網平臺在設計開發、通信交互、訪問控制等方面缺乏統一的標準,設備的內部和外部運行環境缺乏有效保護,已有的解決方案中存在應用面窄、自動化不足等缺點。因此,面對不斷出現的安全威脅,仍需要深入研究更全面可靠的檢測和防御方案。
本文基于 2016 年—2020 年網絡安全會議(ACM CCS、USENIX Security、NDSS、IEEE S&P)中發表的物聯網安全相關文獻,以及其他在物聯網安全研究方面的高水平工作進行了總結分析。從“威脅、檢測、防御”的角度對104 篇相關文獻進行分析與整理,并圍繞相應主題進行深入討論。各類別的文獻數量統計結果如圖1 所示,部分文獻在發現威脅的同時,建立了有效的檢測或防御方案,因此同時計入2 個類別中。從圖1 可看出,在威脅方面,近5 年文獻數量總體持續增加,說明近有新的威脅被不斷發現,本文對這些威脅進行了分類,并分析了它們的成因和危害;在檢測和防御方面,后3 年數量較前兩年有顯著增加,說明針對已知威脅有更多的對抗方案被提出,本文也對這些檢測和防御方案的技術特點進行了分析與總結。

圖1 2016 年—2020 年物聯網安全代表性研究統計
雖然當前已有面向物聯網安全的綜述研究[5-7],但是專門對現有研究工作提出的攻擊和檢測防御方案的總結分析較少,本文緊緊圍繞“威脅、檢測、防御”3 個主題,覆蓋近5 年物聯網安全研究工作的主要方向,同時深入分析各類威脅的成因和危害,以及對應的檢測和防御機制的技術類型和效果。本文的主要貢獻如下:1) 系統總結近5 年物聯網安全研究中發現的主要安全威脅,展示這些威脅產生的成因和危害;2) 深入分析對抗這些安全威脅的主要檢測和防御方案,展示這些方案的技術類型和效果;3) 基于威脅、檢測和防御3 個方面的分析來揭示物聯網未來發展過程中將面臨的主要安全挑戰,并指出物聯網安全研究下一步的方向。
本節對物聯網系統的基本架構,以及架構各層對應的主要研究對象進行介紹,如圖2 所示。物聯網系統的一般架構主要分為感知層、網絡層、應用層3 個部分。

圖2 物聯網系統基本架構與研究對象
感知層對應的是各類物聯網設備。設備通過傳感器實時收集應用場景信息并發送給應用層,或接收應用層指令并執行相應動作。設備的內部架構可以分為硬件層、系統層、用戶層。其中,硬件層包括支持設備功能的各種硬件模組(如網絡模組、傳感器模組等)、處理器、外圍電路等;系統層裝載了固件程序,其中包括操作系統和應用程序,負責設備功能的實現;用戶層主要向用戶提供展示數據和接收輸入的操作接口。
網絡層對應的是設備之間,以及設備、云平臺、手機App 這三類實體之間的通信。設備之間可以通過ZigBee、Z-Wave 等輕量級協議形成自組網絡(如工業設備網絡、無人機集群);設備也可以經路由器連接后形成局域網(如智能家居網絡)。設備連接路由器有2 種形式:一是直接通過Wi-Fi 連接;二是通過ZigBee、Z-Wave 等協議與網關設備(如hub)連接后,再經網關通過Wi-Fi 與路由器通信。
實體之間通信分為3 種類型:1) 設備與App通信,設備既可以通過藍牙直接連接手機(如可穿戴設備、車載系統網絡),也可以通過局域網Wi-Fi與手機通信(如智能家居網絡);2) 設備與云平臺通信,設備依靠路由器轉發請求和接收響應,而路由器與云平臺的通信主要由傳統TCP/IP 網絡架構實現;3) 手機與云平臺通信:手機App 可以通過4G/5G 網絡或局域網Wi-Fi 連接云平臺。
應用層對應的主要是云平臺和手機App。云平臺主要由廠商在云端部署的各類應用服務組成,負責管理設備和用戶,對設備收集的數據進行處理,或向設備發送遠程控制命令。根據云平臺提供的功能,可以將其分為設備接入平臺、服務聯動平臺、語音助手平臺3 種。設備接入平臺提供了實際的設備接入和管理功能,如Samsung SmartThings、Google Home、Philips Hue、小米米家等;服務聯動平臺并沒有連接真實的設備,而是將其他平臺的功能連接起來,提供“條件-動作”自動執行規則服務,如IFTTT 平臺等;語音助手平臺通過智能音箱向用戶提供語音控制服務,用戶發出的語音命令經語音平臺處理后可以與其他控制設備的功能或服務連接到一起,如Amazon Alexa 等。另外,不同云平臺之間也可以在授權后,通過互相調用API(application programming interface)執行設備控制。手機App 可看作云平臺向用戶提供的控制終端,主要用于向用戶提供設備相關的功能界面,可以直觀展示設備狀態,或者執行控制命令。
傳統安全問題在物聯網系統中具有特殊的表現形式,而物聯網系統由于自身特性也引入了新的威脅類型。本節進一步從云平臺、通信、設備等角度將研究發現的安全威脅歸為8 類,分別闡述了各類安全威脅的漏洞成因和主要危害,分類結果如表1 所示。

表1 各類安全威脅的漏洞成因和主要危害
3.1.1 云平臺訪問控制缺陷
訪問控制是云平臺正常運轉的重要前提,物聯網云平臺連接了大量與人類緊密聯系的設備,如果身份驗證或權限管理出現漏洞,云平臺將轉變成為攻擊者的強大武器?,F有研究顯示,云平臺的訪問控制問題突出[8],本節根據授權類型將權限管理的威脅分為平臺內和平臺間2 種。
首先,部分平臺對內部應用或服務的權限管理設計存在漏洞。SmartThings 和IFTTT 是全球范圍內廣受歡迎的云平臺,擁有廣大的用戶群體,且連接了海量的設備和服務,但是Fernandes 等[9-10]發現這2 家平臺都對連接設備的應用或服務采取了粗粒度的權限劃分方式,應用或服務可以獲得其申請范圍之外的權限,導致攻擊者可以利用這種缺陷對他人的設備輕易發起信息監聽或越權控制。
其次,云平臺之間進行相互授權的過程中也存在設計漏洞。當前大部分云平臺都允許用戶將注冊在其他廠商平臺下的設備,經過“云云授權”后與自家平臺聯接(例如,可以將小京魚平臺下的設備聯接到小米米家平臺,通過米家App 控制小京魚平臺的設備)。然而,在目前缺乏統一的平臺間授權標準的情況下,即使廠商在自身范圍內做好了安全審核,在權限交接時可能會因為平臺之間不對稱的授權要求而暴露新的漏洞。Yuan 等[11]針對這類安全問題進行了系統性研究,在多家全球知名的云平臺之間的授權過程中都發現了安全漏洞,這些安全漏洞導致攻擊者可以通過代理平臺繞過設備自身平臺的保護機制,對設備發起非法訪問。
3.1.2 云平臺惡意應用
云平臺提供了面向設備的各類應用,用戶通過應用可以實現豐富的控制功能。但是,目前云平臺對應用的安全審查不夠完善,導致惡意應用混雜其中,本節介紹云平臺惡意應用的幾種形式。
部分云平臺對用戶來說是完全封閉的,用戶無法獲取應用的邏輯或代碼,只能安裝云平臺封裝好的應用或自動執行規則。部分平臺雖然對用戶隱藏底層的運行機制,但會開放一系列基礎設計功能(如API 或編程框架)給用戶,用戶可以自己編寫和發布應用。這類平臺包括SmartThings、IFTTT、Alexa 等,它們雖然提供了更加豐富和靈活的應用生態,但是為攻擊者提供了實現惡意應用的機會。
關于SmartThings平臺的多項研究[9,12-14]都證明該平臺的應用開放特性和不完善的審核機制極易引入惡意應用,已公開發布的應用(如SmartThings中的SmartApp)中,近2/3 都具有泄露設備隱私的風險[12]。在IFTTT 平臺中,Bastys 等[15]發現市場中近30%的服務(如IFTTT 中的Applet)存在安全隱患,攻擊者在代碼中嵌入的惡意鏈接會將用戶輸入的隱私信息發送到攻擊者服務器。此外,惡意代碼在語音平臺中的表現形式是帶有惡意意圖的Skill[4],攻擊者可以上傳惡意的Skill[16-17],在用戶不易察覺的情況下暗中劫持正常的語音命令或替換真實Skill 的功能。
3.1.3 云平臺實體和應用交互漏洞
云平臺、手機App、設備三類實體之間的交互是物聯網云平臺區別于傳統云服務的重要特性,然而復雜的交互過程也帶來了安全挑戰。本節將交互漏洞分為實體間交互和應用間交互2 種類型。
在用戶訪問設備的過程中,設備可能經歷注冊、綁定、使用、解綁、重置等階段,在各個階段中,云平臺、手機App、設備這三類實體需要進行信息交互和狀態轉換,并且各實體的交互和轉換次序必須遵照既定模型進行,如圖3 所示,任一實體對交互模型的違背都會破壞模型的完整性。

圖3 云平臺三類實體交互模型
Zhou 等[18]和Chen 等[19]分別對多家全球知名廠商平臺的實體交互過程進行檢測后發現,廠商對功能的實現并未嚴格遵守通信模型的規定,例如,用戶解除云平臺中的設備綁定關系后,設備不會回退到初始狀態,而是依然與云平臺保持連接,所以攻擊者可以在此時對該設備發起綁定請求實現遠程劫持。
云平臺應用或服務的交互情形有2 種,一是多個應用控制相同的設備,此時設備是應用的“交點”;二是多個應用的觸發條件或執行動作重合,此時條件或動作是應用的“交點”。當多個應用在同一場景下被使用時,它們在“交點”上可能產生不可預期的執行沖突,而這種沖突會改變應用或服務的執行結果[13-14,20]。例如,智能家居場景中部署了2 條服務,分別為“如果檢測到煙霧,則打開水閥”和“如果檢測到漏水,則關閉水閥”,當廚房發生火災時,煙霧傳感器命令水閥打開,同時開啟屋頂噴水器(第一條服務生效),但是漏水傳感器檢測到水流后命令水閥關閉(第二條服務生效),最終這種沖突將導致自動滅火的規則失效,引起人身財產損失。值得注意的是,這種威脅不一定來自惡意應用,也可能是由多個良性應用同時執行產生沖突造成的,由于服務規則間交互的復雜性,云平臺依靠傳統的審核機制難以發現這種問題。
3.1.4 通信協議漏洞
首先是物聯網常用協議,如MQTT(message queuing telemetry transport)、CoAP、ZigBee、低功耗藍牙等。這類協議雖然不是專門為物聯網系統定制設計的,但是由于其適配于低功耗設備和低帶寬需求的特性而受到眾多物聯網系統的青睞,因此在物聯網系統中有較高的使用率,但是其本身并非為存在對抗性的應用場景所設計,因此缺乏內建的安全機制,廠商在應用和實現這些協議時容易忽略對安全屬性的考慮。Jia 等[21]在多家全球知名廠商的物聯網平臺中,都發現其對MQTT 協議的實現存在缺陷,被攻擊者利用后可能引發大規模分布式拒絕服務、遠程設備劫持、用戶隱私竊取等攻擊。Cao等[22]發現基于ZigBee 的ghost 攻擊會造成設備能量過度消耗,引發拒絕服務和重放攻擊等威脅。低功耗藍牙是當前可穿戴設備與手機App 通信的主要渠道,但是該協議在應用過程中被發現隱私泄露[23-24]、設備劫持[25]等威脅。
其次是物聯網私有協議。這類協議是指廠商定制設計的協議類型,通常只適用于其平臺下設備的通信,且一般不對外開放實現細節。但是,攻擊者通過逆向工程仍可以獲取通信細節,如果廠商對私有協議的設計存在缺陷,也可能被攻擊者利用后發起攻擊。當前研究[18-19,26-27]已證明全球多家知名物聯網廠商的私有協議在被成功解析后,其關于設備認證與授權檢查等方面的漏洞將立即暴露在攻擊者眼前。
3.1.5 通信流量側信道信息泄露
物聯網系統中規模龐大和種類豐富的網絡流量為側信道攻擊的實施提供了可行性條件,同時物聯網系統的通信過程具有區別于其他系統的內在特性,例如,設備只被分配簡單的任務和操作,只能發起有限的服務請求,并采用固定的協議和傳輸模式進行通信,所以物聯網的通信流量具有明顯的可識別特征。雖然有各類加密機制應用在流量信息保護中,但是仍然不能防止攻擊者通過側信道特征獲得設備和用戶相關的敏感信息。
表2 對幾種側信道攻擊方法進行了對比。從表2可以看出,協議頭部特征(如端口號、負載大小、DNS 查詢目標等)容易提取,但是能獲取的設備知識較少,例如,只能得知目標設備或對象是否存在,或者獲知目標設備類型,在簡單的交互環境中可以實現信息提取。雖然信號強度、方向、包長、時間等特征提取后需要采用特定的統計學習方法進行分析,但是可以獲得較多關于的設備和活動信息。

表2 側信道攻擊方法對比
3.1.6 設備固件漏洞
固件是運行在設備中的二進制程序,負責管理設備中的硬件外設以及實現設備的應用功能。固件不同于傳統的個人計算機或手機程序擁有成熟的漏洞檢測和系統保護技術,大部分固件所運行的實時操作系統中缺乏基本的安全保護措施,如DEP(data execution prevention)、ASLR(address space layout randomization)等。同時,當前缺乏對固件程序進行調試和檢測的有效工具,導致大量攜帶漏洞的固件存在于實際產品中,攻擊者利用這些漏洞可以對設備進行拒絕服務、非法操作和劫持等攻擊。本節根據固件漏洞產生的原因將其分為內存漏洞和邏輯漏洞2 類。
短裙子女孩約我來這里干什么呢?和美女單獨約會的美夢看來是破滅了。但一種突然而至的神秘感讓我又害怕又亢奮,我決定在這里等下去,等著把這件神秘的事情弄明白。上過大學的人都懂的,在大學里如果你不談戀愛,那么日子會像白開水一樣沒滋沒味,除了教室就是宿舍,除了宿舍就是廁所,三點一線的單調像只穿了三個蛋蛋的糖葫蘆。周五晚上學校還有免費電影的,但在我心兒突突亂跳的那一刻,什么都沒有這份神秘有誘惑力了。
固件內存漏洞一般由編碼或設計錯誤引起,會導致內存非法訪問、控制流劫持等攻擊,如堆棧緩沖區溢出。物聯網設備固件主要由底層語言(如C語言)開發,在開發過程中會不可避免地引入編碼缺陷。在硬件層面,設備的CPU 異構性、外設多樣性等特點,使對固件程序開展規?;妥詣踊穆┒礄z測十分困難。在軟件層面,設備操作系統呈現碎片化,同時由于有限的硬件資源導致缺乏必要的動態防御措施,如CFI(control flow integrity)等,導致攻擊者更加容易利用內存漏洞。多項研究指出,代碼注入[34-36]、控制流劫持[37-38]、跨二進制模塊的調用[39]是固件內存漏洞的主要成因。
固件邏輯漏洞指的是固件在認證、授權、應用功能等方面的設計或實現缺陷。與內存漏洞不同,這種漏洞不一定會引發系統崩潰,攻擊者利用邏輯設計缺陷,構造特定的輸入就可以使程序的正常功能發生偏移。例如,認證繞過漏洞[40]是典型的固件邏輯漏洞類型,攻擊者可以通過這種漏洞繞過系統對特權指令的權限檢查;在智能網絡打印機固件程序中的功能設計缺陷在實際辦公場景中會導致任務篡改、機密竊取等后果[41]。
3.1.7 基于語音信道的攻擊
語音助手設備(如智能音箱)在物聯網系統中處于控制中心的地位,用戶可以通過語音助手設備來控制其他設備,所以對語音設備的攻擊將會威脅受其控制的所有設備。
首先,部分攻擊技術可以在語音信道中藏匿人類無法察覺但設備可以識別的語音信號。Carlini 等[42]首先展示了用于構造可被語音識別系統解釋但不被人類發現的語音命令的幾種方法,同時證明這些命令會在暗中窺探用戶隱私和自行打開釣魚網站。之后,多項研究發現了傳播語音命令的載體,例如,將語音信號調制為人類無法識別的高頻超聲波信號[43],或者將語音命令嵌入音樂中[44];還有研究將承載語音設備的固體作為媒介,通過固體震動頻率來傳輸語音命令[45],以上攻擊的共同特點是語音設備可以正常接收和解釋這種信號,但是人類難以察覺交互過程。
另外,隱藏的語音信號在傳輸過程中面臨傳播距離和噪聲影響的挑戰,但這種困難被證明可以克服。例如,Roy 等[46]通過多個揚聲器來分離語音信號的頻帶,顯著增加了攻擊距離。Chen 等[47]通過提取硬件結構和信道頻率造成的信號失真影響因素,以此作為生成語音信號對抗樣本的因子之一,可以有效克服傳播中的噪聲影響,提高語音信號被識別的成功率。
3.1.8 基于物聯網設備的僵尸網絡
物聯網系統中的設備數量眾多且規模龐大,其一旦被病毒、木馬等惡意軟件攻擊,就可以組建威力巨大的僵尸網絡。被病毒劫持的設備除了無法正常使用之外,組成的僵尸網絡還可被攻擊者當作其他惡意行為的“跳板”,為后續的大規模分布式拒絕服務攻擊、惡意郵件分發等攻擊做好準備。
著名的Mirai 病毒以及由其衍生出的多類變種至今仍然是工控系統設備的主要威脅[48]。例如,MadIoT[49-50]是一種面向電網系統的新型攻擊,利用被控制的高功率家庭物聯網設備組建僵尸網絡,以此操縱電網中的電力需求,進而向電網系統發起攻擊,造成局域或大規模停電事故。此外,Ronen 等[51]展示了一種利用ZigBee 協議漏洞可在物聯網設備中進行大規模傳播的蠕蟲病毒,該病毒可在鄰近的智能路燈之間進行快速傳播并導致設備接受遠程控制,攻擊者可接管城市的路燈控制權,從而發起大規模分布式拒絕服務攻擊。
3.1.9 安全威脅小結
下面對3.1 節中關于安全威脅研究的特點和不足進行總結,主要分為以下幾個方面。
1) 云平臺威脅影響嚴重,但是當前研究針對的云平臺類型有限。物聯網云平臺在近幾年中獲得了巨大發展,與之相關的安全研究也不斷增多,但是從近5 年的研究來看,當前研究比較依賴于平臺的“開放”特性,大多數研究[9-14]都圍繞SmartThings、IFTTT 等可獲取應用內部邏輯的云平臺,而當前更多的云平臺并不對外開放內部邏輯。在開放平臺中已發現的威脅可能在封閉平臺中同樣存在,因此對封閉平臺的類似威脅研究有待探索。
2) 云平臺更注重系統機密性的保護,而輕視了系統的完整性和可用性。當前大多云平臺通過加密機制對外隱藏應用和通信協議的實現作為主要的安全機制,而對其他的安全因素疏于維護,如身份和權限檢查、交互模型維護等。上述的多項研究[11,18-19,26]表明,在物聯網系統這種存在對抗性交互的環境中,敵手有能力破解加密保護,因此云平臺在授權管理、協議應用、實體交互等過程中如果存在安全漏洞,將會被敵手輕易利用,云平臺一旦受到威脅,其連接的各類設備將會被攻擊者全部攻破。
3) 交互邏輯漏洞是物聯網系統中新出現的威脅類型。物聯網系統的一個顯著特點是其中功能實現過程涉及用戶、云平臺、設備三類實體的交互,同時云平臺面向用戶提供日益豐富的自動控制服務,各類服務在同一個應用場景下也會存在交互。這些交互在實現之初難以準確判定其中是否存在設計缺陷,甚至導致安全隱患[13-14,18-20]。隨著物聯網系統應用功能不斷提升,交互類型不斷復雜化,交互過程中的邏輯漏洞是值得深入研究的方向。
4) 設備固件漏洞仍然是設備遭受威脅的主要因素。由于物聯網設備的數量龐大,固件漏洞被利用后可以快速傳播,造成更大規模的威脅[3,48]。隨著設備硬件性能不斷提升,固件包含的功能愈加豐富,內存漏洞的影響仍然是設備面臨的主要安全威脅[34-35,37-39]。但是與內存漏洞相比,邏輯漏洞更難發現,而且攻擊者利用邏輯漏洞可以實現更加隱秘卻更具危害的威脅[40],因此如何進一步提升邏輯漏洞檢測能力是值得后續研究的方向。
5) 針對語音設備的攻擊是物聯網系統特有的威脅類型?;谡Z音信道的控制方式極大地提升了用戶訪問設備的效率,然而語音信道也引入了新的攻擊,一方面是基于語音平臺的惡意應用[16-17],另一方面是利用語音信號的敏感性實施的隱藏語音信號攻擊[42-44],由于語音助手設備在應用場景中的核心地位,基于語音控制的功能越來越豐富,針對這類威脅的研究仍然是研究人員關注的重點。
由此可見,當前物聯網系統面臨的威脅類型種類繁多,且與物聯網特性緊密相關,對這些新型威脅進行檢測和防御是未來研究的必然趨勢。
針對物聯網應用場景中不同類型的安全威脅,部分研究提出了針對性的檢測方案。本文對檢測的定義是及時發現物聯網系統中潛在或已出現的攻擊,在危害產生或擴大之前進行分析或處理。本節根據檢測面向的威脅類型和技術原理,將檢測方案分為6 種不同的類型,其對比如表3 所示。

表3 威脅檢測方案對比
3.2.1 云平臺惡意應用檢測
檢測云平臺應用的主要思想是提供一種獨立于平臺審核機制的方法,判斷發布在市場中的應用是否會出現有威脅的運行狀態,或者出現功能聲明之外的運行結果,從而判定該應用是否具有“惡意”性質。
首先,對于SmartThings 和IFTTT 平臺來說,其中惡意應用或服務引發的典型后果之一是隱私信息泄露,而且這2 種平臺都可以獲得應用代碼或API 權限,因此對這2 種平臺可以采用基于數據流分析的檢測方案,即追蹤敏感數據在應用中的傳遞過程來識別應用是否將攜帶敏感信息的數據在未經用戶授權的情況下發送給外部不可信的目標[12,15,52-53]。例如,在SmartThings 平臺中,Celik等[12]在應用中自動定位從產生敏感數據的函數到網絡接口函數的數據流,識別應用是否將敏感數據通過網絡向外發送。在IFTTT 平臺中,Bastys 等[15]對每個應用的Trigger 和Action 打上敏感標簽,然后檢查每個Applet 的Trigger-Action 序列是否違背隱私約束規則。
其次,對于語音平臺,由于無法獲取Skill 功能的實現細節,因此當前研究主要采用黑盒測試方案,即通過構造不同形式的Skill 語音命令輸入,來檢查執行結果是否產生偏離正常功能的行為。這種方案面臨的首要挑戰是如何自動構造語音命令輸入,Zhang 等[16]通過將Skill 名稱轉換為語音表達形式,然后對比不同Skill 的名稱是否具有相似的發音形式來查找可能引起語音劫持攻擊的惡意Skill;Guo 等[4]進一步提出了一種基于語法和語義理解技術,可以自動與平臺進行語音交互。此外,對于平臺返回的命令執行結果,Guo 等[4]的方案是基于安全策略檢測其中是否包含侵犯用戶隱私的行為;Zhang 等[54]設計了一種針對語音識別系統中的NLU(natural language understanding)模塊的檢測方案,可以發現具有不良意圖的Skill 命令。
3.2.2 云平臺實體和應用交互漏洞檢測
當前研究中對交互漏洞的檢測大多基于模型檢測的方法,主要思想是先對實體或應用的交互過程建模,然后將正常模型和實際運行狀態進行對比,檢測其中出現的異常。
首先是對實體交互漏洞的檢測,采用的模型主要是有限狀態機,主要通過逆向分析實體的交互過程得到各實體狀態的正常轉換流程,及其組合而成的三元組狀態集合,由此構成了實體的正常交互模型。由于攻擊將導致實體出現異常狀態轉換,或出現異常的三元組集合,因此可根據標準交互模型與實體的實時狀態進行對比來檢測是否出現異常的交互。Zhou 等[18]和Chen 等[19]采用了上述的思路,通過對多家全球知名物聯網云平臺的三方交互過程建立實體交互模型和檢測,最終在多家平臺中驗證了漏洞的存在,該漏洞可影響上億臺設備。
其次是對應用或服務交互漏洞的檢測,由于云平臺應用具有不同的實現方式,所以建立的模型也有不同的特點,表4 對部分方案的建模方式和檢測效果等進行了對比。

表4 應用或服務交互漏洞檢測方案對比
3.2.3 基于靜態分析的固件漏洞檢測
固件靜態分析是指不運行固件程序,通過符號執行、污點分析等技術分析二進制文件的代碼結構或邏輯關系,檢測其中存在的內存漏洞或邏輯漏洞。
符號執行是固件分析中常用的技術[56-57],核心思想是將程序輸入變成符號,程序執行結束后可以得到與每條執行路徑對應的符號表達式和約束條件,對約束條件進行求解即可得到滿足路徑需求的輸入值。例如,Subramanyan 等[56]采用了一種專門的形式來描述固件中關于機密性和完整性的信息流屬性,然后通過符號執行檢查固件中的執行路徑是否違背了屬性的安全約定。污點分析的主要思想是在程序中建立數據依賴關系圖,通過污點傳播算法追蹤從敏感數據源到數據聚集點的路徑,并檢測路徑中是否存在安全問題[39-40,58]。例如,Karonte[39]基于二進制文件之間交互通常通過一組有限的進程間通信模式集合進行的思想,通過追蹤進程間通信的數據傳播過程實現了跨文件的污點分析?;诙M制相似性檢測的思想是提取已知漏洞在二進制文件中的特征,然后在新的二進制文件中進行匹配查找以定位漏洞[35,59-60]。例如,Feng 等[60]借鑒了計算機視覺技術對圖像處理的思路,將提取到的程序控制流圖轉換為數字特征向量,從而大大降低了特征維度,提高了匹配算法的效率。
3.2.4 基于動態分析的固件漏洞檢測
固件動態分析通過獲取程序運行的實時狀態可以更加準確地發現漏洞,當前研究大多通過將固件程序加載到QEMU 等仿真軟件中,在脫離硬件的情況下模擬固件的功能運行,再結合模糊測試等技術檢測漏洞。
這種方法對基于Linux 內核且具有完整操作系統功能的固件類型進行仿真運行的成功率較高。例如,FIRMADYNE[61]和FIRM-AFL[62]可以對大部分基于Linux 內核的固件進行全系統仿真運行。但是對于其他基于實時操作系統的固件,或沒有操作系統的“裸機”固件(即應用程序直接與硬件交互而不需要中間的操作系統)來說,這種方案難以應用。主要原因是:這種固件沒有統一的文件格式導致難以加載,部分固件被加密導致難以提取核心代碼,各種硬件組件和外設的輸入輸出信息難以獲取。
基于以上挑戰,部分研究實現了固件部分仿真[40,63-64],主要思想是從固件中分離出與檢測目標相關的代碼執行路徑,只對這部分路徑進行仿真執行。例如,FIoT[63]從容易觸發內存越界訪問的匯聚點函數出發,采用反向程序切片方法得到從數據輸入源到達匯聚點函數的路徑,結合符號執行和模糊測試檢測該路徑執行過程中是否存在內存漏洞。
部分研究克服了設備硬件與固件的耦合性和底層架構的差異性等困難,實現了固件全仿真[65-68]。例如,uEmu[68]通過基于符號執行的路徑約束和程序動態運行狀態來推斷固件運行過程中期望的輸入并形成外設反饋知識庫,借助此知識庫可動態引導程序執行過程,以此實現不需要先驗知識和原始硬件環境,即可對固件程序進行全系統仿真。
3.2.5 基于手機App 的固件漏洞檢測
部分物聯網廠商向用戶提供了手機App 作為設備控制終端,App 中包含了與設備通信和功能相關的邏輯和數據。利用這種App 與設備之間的關聯性,部分研究人員在不分析設備和固件的前提下,通過手機App 來檢測固件中的漏洞。
由于現階段實現物聯網設備全系統仿真較困難并且難以直接從設備端定位數據輸入,IoTFuzzer[69]和DIANE[70]轉換思路,將App 看作設備的輸入接口,將發向設備的請求參數看作可變異的種子數據,首先在App 中自動定位參數的數據源或處理函數;然后對參數值進行變異,通過App 的原始業務邏輯將變異數據發向設備;最后動態觀察真實設備的崩潰信息,以快速檢測固件中的內存漏洞。Zuo 等[71]發現從App 中可以提取設備UUID(universally unique identifier)信息,該信息可在藍牙廣播中識別設備,同時從App 中可以發現當前采用的藍牙認證模式是否存在缺陷,攻擊者結合以上條件可以通過分析App 對周圍的藍牙設備發起攻擊。此外,設備廠商往往會復用相同的開發組件,因此組件中的漏洞將出現在不同的設備中,而這種相似性甚至會通過App 表現出來,因此通過比較不同設備在App 上的相似性就可以檢測設備是否存在漏洞[72]。
3.2.6 基于側信道的設備異常檢測
受到攻擊的設備除了內部功能受到影響之外,其外在的各類側信道特征也會表現出異常,因此可以利用此特點進行設備的異常檢測。
首先,設備與網絡交互過程中產生的流量可以反映設備內部的行為,所以可以通過提取流量特征來檢測設備的狀態。一方面,可以提取流量中未加密的頭部信息識別異常設備[73-75]。例如,Yu 等[74]基于設備通信中常見的廣播和多播協議,將協議特征看作設備整體特征的一種視圖,然后基于多視圖學習算法進行設備簽名,可以在具有大量設備的復雜環境中準確識別異常或偽造的設備。另一方面,可以提取加密流量的統計特征,如數據包長度、時間戳等。Zhang 等[75]利用ZigBee 和Z-Wave 協議的流量特征設計了識別SmartThings 平臺設備行為系統,可以通過流量判斷設備是否出現異常行為。
其次,設備工作過程中表現出的外在物理特征,如電量、電壓、速度、重力、方向等,也可以反映設備的運行狀態,部分研究基于物理特征實現設備異常檢測[76-78]。例如,Choi 等[78]對無人機和地面探測器提取控制時的設備參數、物理運動數值、底層控制算法等數據作為正常運行標準,任何偏離標準的微小偏差都被視為異常,以此檢測來自物理或網絡的攻擊。
此外,有部分研究基于鄰近的設備或傳感器對于活動發生時的物理環境感知應具有上下文一致性這一特點,將鄰近設備的狀態和動作數據作為特征進行惡意行為識別[79-80]。例如,Birnbach 等[79]基于智能家居環境中多個傳感器對同一事件的感知數據集合作為簽名,可以檢測出由于傳感器故障或攻擊者造成的欺騙事件。
3.2.7 威脅檢測小結
下面對3.2 節中關于威脅檢測研究的特點和不足進行總結,主要分為以下幾個方面。
1) 云平臺惡意應用檢測方案存在局限性。不難看出,大部分惡意應用檢測[12,15,52-53]都面向SmartThings 和IFTTT 這2 個平臺。這些方案雖然獲得了較好的識別效果,但是實現方案顯然都要基于平臺應用開發語言的特性,在其他不開放應用邏輯的云平臺中難以適用。與之相對的是FlowFence[81],該方案與具體平臺特性無關,通過在平臺中預先建立沙箱隔離所有敏感操作,平臺應用必須通過沙箱定義的接口才能訪問敏感數據,以此隔離應用中所有可能產生隱私泄露的行為,但是該方案的應用需要高度定制化的系統支持。
2) 交互邏輯漏洞的檢測仍然面臨挑戰。對三類實體交互漏洞檢測的研究[18-19]探索了面向“黑盒”平臺進行漏洞檢測的方案,取得了較好的檢測效果,但是不難看出,其中的建模過程需要大量人工分析,而且當前云平臺對通信過程的保密機制越來越嚴格,例如,雙向證書驗證機制對研究中采用的解密通信方法帶來了極大挑戰,因此建立有效的交互過程建模方案是值得探索的方向。
3) 固件分析面臨的共同問題是如何獲取固件和加載固件?,F有研究中提出了可以通過網站下載、截獲OTA(over the air)更新、從App 提取、從設備硬件調試接口提取等方式獲取固件,但是目前大多數物聯網廠商對固件的保護越來越嚴格,不提供公開下載鏈接,或者消除了硬件調試接口,或者對更新的固件進行加密,因此可以獲取固件的方式越來越少。對于固件加載,部分研究通過人工分析建立固件格式的數據庫,但是此方法難以大規模擴展,而Wen 等[82]提出了一種通過絕對指針自動定位固件基址的方案,可以有效提高加載效率,但是該方案的加載成功率也會受到絕對指針數量不足的影響。
4) 3 種固件漏洞檢測方案(靜態、動態、App)在真實設備固件檢測中各有不足。首先,靜態分析中常用的符號執行和污點分析技術分別面臨路徑爆炸和過污染的挑戰,因此在實際應用中需要在使用這些技術前針對分析目標縮減問題的求解空間[56-58]。對基于二進制相似性比較的漏洞檢測方法來說,二進制特征的提取嚴重依賴于構建代碼的編譯環境[59-60],編譯器中不同的優化和混淆措施會對生成的二進制代碼產生影響,從而降低識別的準確率。其次,在動態分析中,固件的仿真效果受限于如何處理各種不同類型的硬件組件屬性,以及如何兼容不同的底層架構[65-68]。再次,基于App 的固件漏洞檢測[69-70]要求設備必須具有對應的App 控制端,App 與設備的功能實現具有密切關系,而且此種方案對種子數據的生成和變異完全依賴于App的內部邏輯,因此只能發現固件是否存在會引發系統崩潰的漏洞,對于漏洞的具體原因和位置還需要人工驗證。
5) 基于側信道特征的檢測方案的最大優點是可以通過外部手段發現設備異常,但其檢測效果受限于應用場景中的特征選擇和采用的學習算法,例如,流量特征容易受到信號強弱[74]、協議類型和通信模式的影響[75],物理特征嚴重受限于物理環境因素[76-77],而上下文特征的提取則要求檢測目標周圍必須存在能夠提供豐富特征的其他設備[79]。
針對物聯網應用場景中不同類型的安全威脅,部分研究提出了針對性的防御方案,本文對防御的定義是在威脅出現前就實施阻止措施,直接避免危害產生。本節根據防御面向的威脅類型和技術原理,將威脅防御方案分為5 種不同的類型,其對比如表5 所示。

表5 不同威脅防御方案對比
3.3.1 細粒度的云平臺訪問控制
物聯網云平臺訪問控制問題產生的原因主要是云平臺實現功能時未能遵循最小權限原則,因此當前研究利用云平臺的特性設計了細粒度的訪問控制機制。
對于SmartThings 平臺,當前研究從SmartApp中提取應用運行過程中實時的上下文,為當前操作是否符合訪問控制策略提供細粒度的參考信息。例如,ContextIoT[83]通過提取SmartApp 內部的執行路徑、數據依賴關系、實時變量值、環境參數等信息來表示應用執行操作時的上下文信息,然后在操作執行前主動征求用戶授權許可,只有獲得用戶授權的操作才可以繼續執行。SmartAuth[84]通過自然語言處理技術提取SmartApp 對功能的文本說明中關于操作的信息,再通過污點分析技術在應用運行時獲取真實操作,對比真實操作與文本說明是否一致,若不一致則主動通知用戶以征求授權。這2 種方案在實際應用中都可以準確防止惡意應用產生的隱私泄露,但是也不可避免地增加了用戶操作。
對于IFTTT 中基于訪問令牌聯動的服務規則,Fernandes 等[10]針對令牌管理模式中存在的問題提出了一種權限管理的優化方案,該方案引入應用代理方,并使用權限粒度更小的“規則令牌”將集中式的權限管理模式分散為以應用代理為單位的分布式管理,可以有效解決集中式管理和粗粒度令牌的問題。
此外,還有部分研究面向物聯網中特殊應用場景,基于其他領域的理論,如SDN(software defined network)、智能手機訪問控制等,提出了新的訪問控制模型[85-87],但其實現需要特殊架構支持。
3.3.2 安全的通信協議
為了保障物聯網系統通信安全,在物聯網常用協議中需要增加穩健的安全機制,然而協議的制定和改進是多方參與且長期演進的過程,因此更重要的是協議應用方必須在業務邏輯中對通信實體的身份和權限實施嚴格檢查。例如,針對MQTT 協議模型中缺失的安全屬性,應增加通信會話的管理機制、面向消息的訪問控制機制,以及限制通配符的功能范圍[21];針對ZigBee 協議的內在缺陷,應增強設備在加入網絡和正常通信這2 個階段的加密級別[88]。此外,也有部分研究基于物聯網系統特性設計了安全的通信協議[89-90]。例如,Alshahrani 等[89]提出了一種基于ZigBee 通信的設備間進行互相認證和密鑰交換的模型,可以增強ZigBee 協議在對抗性環境中應用時的穩健性。
還有部分研究面向設備近距離通信設計了新型的安全配對協議[91-94],可以克服傳統配對協議存在密鑰信息易被竊取、需要人工參與等問題。例如,Han 等[92]基于鄰近的智能設備在相同時間周期內對物理活動的感知具有一致性這一特征,利用相同時間周期內的物理感知參數來生成對稱密鑰,可有效對抗設備偽裝和中間人攻擊。Jin 等[93]利用射頻信號噪聲在不同介質(如人體表面和空氣)中傳播時產生的信號特征具有高度隨機性和不可預測性的特點,設計了針對可穿戴設備的新型配對方案。
3.3.3 流量特征隱藏
為了應對形式多樣的通信流量側信道分析,部分研究關注如何隱藏流量特征。流量特征推理主要是提取流量中的頭部特征和統計特征,所以對應的防御方案是消除這2 種特征與設備和活動的對應關系。
對于頭部特征,主要目標是在不影響流量轉發和不改變負載數據的基礎上進行頭部信息的再次封裝,令攻擊者無法獲得有意義的頭部信息。例如,通過DNS 加密技術阻止對網絡請求目標的分析[30];通過隧道轉發技術將設備與云服務之間的通信轉換為VPN 節點之間的通信,間接阻止了對設備的識別和行為推理[33,75]。對于統計特征,主要目標是在不破壞正常功能的前提下,改變流量的整體特征。例如,在正常通信過程中注入欺騙流量妨礙竊聽者對真實設備和活動的識別[32];或采用流量塑形技術,通過增加發送時延或注入無關流量來降低或提高單位時間內的通信速率,改變流量傳輸曲線的形狀,以混淆攻擊者對行為的提取[32,95-96]。
3.3.4 基于可信計算的固件安全防護機制
物聯網設備內在的軟硬件資源受限是導致固件漏洞的主要原因之一,因此部分研究關注如何基于有限條件構建可信的固件運行環境。
首先,考慮將傳統安全機制應用于固件程序,增強固件本身的防護性能。一方面,對固件程序組件權限和內存地址空間實行分離機制。針對物聯網設備的實時操作系統或“裸機”系統中沒有內存或數據隔離的缺點,部分研究將固件劃分為不同組件以實施最小權限隔離,如EPOXY[34]、MINION[97]、ACES(automatic compartments for embedded system)[98]等。另一方面,對固件程序實施控制流完整性保護,確保函數返回地址完整性,以應對控制流劫持攻擊,如μRAI[37]、Silhouette[38]等。表6 對幾種固件安全防護機制的特點和性能進行了對比。

表6 固件安全防護機制對比
其次,遠程證明是對遠程設備執行狀態的可信性進行認證的關鍵技術,其主要思想是可信的遠程校驗方通過獲取本地證明方的狀態信息,來檢查證明方當前是否處于可信狀態。在物聯網系統中,遠程認證的主要目標是設備需要提供高時效且細粒度的可認證信息[99-101]。例如,C-FLAT(control-flow attestation)[99]將證明方的信息細化到程序的控制流層面上,向校驗方提供細粒度的程序執行路徑信息以判斷程序控制流完整性是否被破壞。DIAT(data integrity attestation)[101]設計了面向自動協作網絡(如無人機集群)的認證方案,將軟件分解為不同模塊,證明方發送數據時還需發送數據在模塊中的生成和處理過程信息,校驗方以此檢測數據的正確性。
3.3.5 語音攻擊防御
針對隱藏在語音信道的各種媒介中,且用戶無法察覺的惡意語音攻擊樣本,部分研究提出了對應的防御方案,本節分析了這些方案的原理和不足。
1) 在語音設備的交互過程中增加基于安全提示和語音確認的交互模式,用戶需要對敏感操作進行主動確認來提高安全性[42],但是這種方法會帶來額外的可用性開銷,且確認操作容易被用戶忽略。2) 通過添加專用硬件模塊對具有特殊信號特征的語音信號(如高頻超聲波)進行過濾[43],或者物理隔斷語音設備與桌面等硬件媒介的直接接觸[45],但是前者需要特殊硬件支持,后者為語音設備的可用性增加了負擔。3) 通過增加噪聲干擾或降低輸入音頻的采樣頻率,影響語音識別系統對惡意命令的識別率[44],但是這種方案也會影響正常語音的識別率。4) 通過機器學習算法實現聲紋識別區分人類和機器生成的語音[42-43,45],但是這將使語音識別系統產生額外運行開銷。
另外,由于人工生成的語音命令缺少了人類在現場說話引起的無線信號干擾,因此可以利用這個特征來區分隱藏語音命令。例如,Meng 等[102]利用人類發音時引起的Wi-Fi 信道狀態信息變化模式和語音信號的關聯,可以準確區分生成的惡意語音信號與真實人聲。但是該方案目前依賴Wi-Fi 信號覆蓋度較強的環境,且識別過程對信號波動強度敏感,如果發音者距離信號接收天線過遠則會由于捕捉不到信號擾動而無法進行識別。
3.3.6 威脅防御小結
下面對3.3 節中關于威脅防御研究的特點和不足進行總結,主要分為以下幾個方面。
1) 云平臺訪問控制的適用面有限。相較于傳統的云服務,在物聯網云平臺中,用戶訪問設備的過程具有更加復雜的關系,例如,多個用戶可以對同一個設備進行共享或交互,因此需要精準且高效的訪問控制機制。當前研究提出的新型訪問控制方案雖然解決了已知的授權管理問題[10,83-84],但目前只能面向有限云平臺。值得一提的是,Shezan 等[103]基于遷移學習思想提出了一種可在不同平臺之間進行權限知識遷移的權限管理模型,在建立新平臺的權限模型時,可以直接采用來自其他平臺的權限管理規則。
2) 保障通信協議安全仍面臨困難。一方面,在物聯網系統這種存在對抗性的環境中建立安全且適配的通信協議是一個需要多方參與且長期演進的過程,此過程中更重要的是協議應用方應根據應用場景在業務邏輯中增加協議當前不具備的安全機制,以保障通信安全。另一方面,當前提出的設備安全配對協議均建立在“物理鄰近即安全”的假設之上[91-93],而物聯網中復雜的設備應用環境是對這個假設的最大挑戰,由于鄰近的設備也可能是偽裝的惡意設備,因此對設備的認證是配對協議需要重點考慮的問題。
3) 固件的安全防護機制需要進一步提升。設備固件受限于物聯網設備有限資源的特性而無法直接應用傳統的軟件安全保護機制,因此現有研究[37-38,98]通過一些硬件輔助方案(如MPU 或者最新的ARMv8 TrustZone)來實現特殊的系統防御,如數據執行保護、控制流完整性保護等措施。但一方面這些硬件組件在現有設備上不一定存在,另一方面在現有的程序中配置和使用這些方案也需要投入過高的人工成本,此外,可能引入過多的功耗和時延,而物聯網設備往往對功耗和時延有著更高的要求,因此這些方案的性能和適用面也需要進一步提升。
4) 面向語音攻擊的防御措施不夠完善?,F有的語音攻擊防御方案雖然在實際研究中被證明有效[42-45],但是不難看出各方案在實現時都面臨可用性和設備性能的額外開銷。綜合來看,目前對于藏匿在語音信道中的惡意命令沒有完善的防御方法,這也使面向語音攻擊的防御成為后續研究的熱點。
本節基于第3 節中對安全威脅,以及檢測和防御方案的分析,提出當前面臨的研究挑戰和未來研究機遇。圖4 中展示了挑戰和機遇的對應關系。

圖4 挑戰與機遇的對應關系
4.1.1 不完善的隱私保護
物聯網設備與人類生活密切相關,通過設備感知的信息可以推斷出人的生活習慣、行為特征等,而當前在物聯網系統中存在的各類攻擊可能導致設備收集的信息被竊取。從表1 可以看出,當前物聯網系統中的大部分威脅都會導致隱私泄露的危害。此外,導致隱私保護不夠完善的另一個重要因素是隱私信息理解問題[104],即用戶使用設備前對設備的隱私收集和使用方式不能充分了解,或者現行的隱私信息保護法案不能完全滿足真實的使用需求。
4.1.2 繁多的應用形式
云平臺提供的應用或服務不僅數量龐大而且種類繁多,然而當前的云平臺安全審核機制難以滿足安全需求?,F有研究充分證明,廠商在發展新應用和維護其安全性之間存在不平衡,依靠靜態分析應用的方式難以發現其中的動態特性導致的問題,而動態分析應用安全的方案匱乏,人工審核方式有一定效果,但是耗時耗力且容易出現疏漏。隨著物聯網應用層生態的不斷發展,在發布大量應用的同時,需要高效、準確、自動化的應用安全審核機制。
4.1.3 復雜的交互模型
物聯網系統功能提升的同時,系統內的交互形式也不斷增多,交互過程日益復雜,不僅有應用之間的交互、設備之間的交互,更有跨平臺的交互,所以對平臺或設備安全性的保護不能只限于單個實體,還要考慮交互過程可能引入的風險,典型的問題是即使實體單獨運行過程中的安全性得到保障,然而在與其他實體的交互過程中原有的保護機制很可能被打破。當前檢測和防御方案大多通過交互行為建模來檢測其中的威脅,但是由于交互模式的差異,各類模型方案只能應用于特定平臺或場景,彼此之間難以復用。
4.1.4 適用性受限的解決方案
當前研究提出的威脅檢測和防御方案大多針對特定的應用類型和場景,或者特定的設備結構和系統。在云平臺中,惡意應用和交互邏輯漏洞檢測的大部分方案基于特定平臺的開發特性建立分析框架;在設備固件分析中,固件運行依賴的底層架構和底層硬件多種多樣,所以只能針對特定類型的固件進行仿真。這些特點使當前研究得到的分析方案只能應用在特定的領域中,組件之間無法移植或組合,在出現新的問題時難以達到預期的效果。
4.1.5 不統一的通信標準
物聯網系統的通信具有網絡類型多且結構差異大的特點,由于通信過程缺乏統一的協議或授權標準,各類網絡的安全約束參差不齊。同時,物聯網設備有限的資源和對實時性的要求令其更適配計算量低且邏輯簡單的輕量級通信協議,而當前被廣泛使用的各種輕量級協議一般缺乏內建的安全機制,設備廠商應用協議時容易忽略對安全機制的實現,導致引入安全威脅。
4.2.1 隱私保護和隱私理解
在物聯網發展的過程中,隱私安全問題一直是研究關注的重點。一方面是物聯網應用場景中隱私信息泄露的檢測和保護措施[105-106];另一方面是對隱私理解問題的研究,如調研用戶對隱私政策的使用和理解現狀[107],或當前物聯網生態中的各參與方對隱私保護措施的合理性[108],以推動物聯網系統中隱私保護機制的發展。
4.2.2 復雜環境下的訪問控制
物聯網系統的應用環境復雜,身份認證和授權管理缺陷導致的安全漏洞體現在多個方面,當前研究提出的訪問控制增強方案存在不足。因此,設計既滿足物聯網系統的安全需求,又能夠適應物聯網的低能耗和高實時性要求,同時還具有擴展性的訪問控制機制是物聯網未來進一步發展的實際需要。
4.2.3 基于人工智能的檢測和防御方案
人工智能技術可以對設備收集的信息進行深度學習和理解,在一定程度上可以彌補現有的檢測和防御技術在自動化方面的不足。例如,結合深度學習與模糊測試自動進行惡意應用檢測[4]或漏洞挖掘[109],借鑒遷移學習思想融合不同平臺的檢測知識[103,110]。隨著物聯網應用類型不斷豐富,以及交互場景越來越復雜,利用人工智能技術提升威脅檢測和防御方案的效果是值得繼續深入研究的方向。
4.2.4 高效的固件漏洞檢測方案和可信防御架構
由于設備固件中普遍存在安全漏洞,需要更加有效的方法進行檢測以避免威脅在使用過程中進一步擴大。例如,在固件動態分析方面,如何實現更全面的模擬,以及與其他工具結合檢測固件漏洞,仍需要更深入的研究。另外,由于設備自身硬件和軟件條件的受限,大多數傳統安全機制不能直接應用,如何克服這種限制在固件中實施更可信的防御架構也是需要研究的問題。
4.2.5 安全的通信協議
通信協議是物聯網傳輸層的核心。一方面由于當前廠商在應用缺乏內建安全機制的輕量級協議時容易忽略對安全因素的考慮,因此需要高效自動的協議安全分析方案;另一方面可利用物聯網區別于其他系統的特性,如三類實體交互、設備鄰近等,結合應用場景設計專屬物聯網的安全通信協議。
物聯網系統由于應用種類多、設備規模大、交互過程復雜等特性在發展過程中不可避免地面臨各類安全威脅,對威脅的檢測和防御是促進物聯網正常發展的關鍵。本文系統整理了近5 年物聯網安全研究中的代表性工作,從“威脅、檢測、防御”的角度分別闡述其中的主要類型,并以此為基礎分析了當前面臨的挑戰,以及提出未來研究機遇。隨著物聯網技術不斷發展,相關的安全研究也必將不斷深入,成為物聯網發展的重要支柱。