?

物聯網訪問控制安全性綜述

2022-10-14 02:45劉奇旭陳燦華高新博鄭寧軍方儀偉
計算機研究與發展 2022年10期
關鍵詞:通信協議訪問控制聯網

劉奇旭 靳 澤 陳燦華 高新博 鄭寧軍 方儀偉 馮 云

1(中國科學院信息工程研究所 北京 100093) 2(中國科學院大學網絡空間安全學院 北京 100049)

物聯網(Internet of things, IoT)起源于20世紀90年代末期,最初的概念是建立一套無線射頻識別(radio frequency identification, RFID)系統,以實現智能化的RFID管理[1].隨著網絡技術的發展,物聯網已經從最初的幾個設備互相連接的小型網絡,發展成了人與物、物與物之間復雜而龐大的網絡.到了今天我們的生活中的物聯網設備已經隨處可見,比如智能網關、智能監控、智能手表、智能臺燈,涉及家具、醫療、交通、辦公等各個領域.在2021年,全球的物聯網市場增長了22%,達到了1 580億美元,盡管受到了新冠疫情影響,但增長速度仍然十分迅猛.根據IoT Analytics的預測,“到2022年全球的物聯網設備數量將達到145億臺”[2].在物聯網產業飛速發展的同時,其所面臨的安全問題日益劇增.根據Gartner在2020年1月發布的統計,有大約20%的組織和機構受到過基于物聯網的攻擊,絕大部分的組織和機構暴露在物聯網的風險之下[3].

物聯網秉承著“萬物互聯”的理念,深入滲透人類社會生產生活的方方面面,面臨著多種多樣的安全威脅.一方面,物聯網承載了規模龐大的隱私數據,并且這些數據在物聯網的終端、網絡、云端之間傳播,擴大了隱私數據的暴露面,增加了數據泄露風險;另一方面,物聯網具備了一定的控制和操作權限,一旦被攻擊者滲透并實施篡改或破壞,將對人類社會正常的生產生活造成嚴重威脅.

近年來發生了多起物聯網相關的攻擊事件,比如大眾汽車的Polo被發現其信息娛樂系統存在安全漏洞,攻擊者有可能獲取大量的個人信息包括電話聯系人和位置信息[4].而一些醫療用途的物聯網設備的安全漏洞甚至會影響人們的生命安全,2017年就有報道指出一些植入式心臟起搏器或除顫器存在安全漏洞,攻擊者利用這些安全漏洞可以使得設備無法正常工作[5].這些安全威脅不僅可以影響物聯網設備的使用者,還可以通過控制這些物聯網設備來攻擊其他目標,比如2016年爆發的Mirai僵尸網絡通過利用物聯網設備進行了大規模的分布式拒絕服務攻擊[6].物聯網的安全風險是物聯網發展中的巨大挑戰,如果能成功緩解這些安全危機,物聯網將給人們的生活帶來極大的便利,否則,如果物聯網漏洞被惡意的組織利用,那么對國家的安全、個人的隱私都會造成嚴重的威脅.因此,必須要加強物聯網在數據、資源、權限等方面的安全研究,提升物聯網資源請求、權限授予等訪問控制的安全性.

本文將聚焦物聯網的訪問控制,從物聯網的3個層次[7]:感知層、網絡層、應用層,分別展開探討.訪問控制是計算機中關鍵的安全機制,它通過控制什么權限的主體可以訪問什么類型的客體,來保證數據和資源免受未經授權的讀取或修改,并且確保合法用戶可以正常訪問資源.訪問控制作為信息安全的基石,有效地保證了網絡空間的安全與秩序,一個完善的訪問控制機制,可以為信息資源建立一個有效的屏障,以阻止其被非法地讀取或修改,但在新型的物聯網領域,相關的訪問控制技術仍然不夠完善.物聯網有著相比于互聯網更復雜的組織架構,涉及到應用、協議、硬件、云等一系列的訪問控制參與環節,無法像傳統的互聯網應用的訪問控制一樣簡單地控制用戶與資源的關系.物聯網在不同的場景下需要不同的訪問控制策略,因此應當分層次、分場景地進行設計,才能有效地保證物聯網訪問控制的安全性[8].

目前,已經有學者就物聯網安全性問題[9-10]、智能家居場景中的安全性[11-12]、物聯網操作系統安全性[13]等方面的研究工作進行了綜述,但還沒有工作聚焦于物聯網訪問控制的安全性進行系統性梳理.鑒于物聯網訪問控制安全性的重要意義,本文對近10年網絡與信息安全領域四大頂級會議、期刊等來源的相關研究進行了廣泛調研與梳理,從物聯網訪問控制的風險脆弱點入手,歸納可能的攻擊面,從而提出應有的安全性要求,總結現有工作進展,為后續進一步的研究指明方向.本文的主要貢獻總結為3個方面:

1)分析了物聯網3個層次間的數據流向與信任關系,提出了物聯網訪問控制信任鏈模型,圍繞3個層次并結合信任鏈帶來的風險傳遞,調研并總結了現有物聯網訪問控制的安全威脅研究,在物聯網不同層次結構中分析了其安全問題和暴露出的攻擊面;

2)調研并總結了不同層次結構中針對不同的訪問控制安全問題和攻擊方法的解決方案以及應有的安全性設計要求;

3)基于現有的研究基礎,分析了物聯網訪問控制安全性研究的挑戰與機遇,并給出了未來的研究方向.

1 研究背景

本節首先對相關的研究背景與基礎知識進行介紹,明確物聯網及訪問控制領域的相關概念,并提出一個針對物聯網復雜組織架構的“信任鏈”概念,從而探討安全的物聯網訪問控制設計.

1.1 物聯網基礎知識

設備、網絡協議、云平臺和應用App之間的相互作用構成了物聯網的體系大廈,學術界通常將物聯網系統的體系架構分為感知層、網絡層、應用層3個層次[10].感知層對應的是物聯網各類設備,其上搭載了紅外感應、射頻識別等多種類型的傳感器,主要負責識別和采集物理世界的數據;網絡層對應的是各類通信協議,負責在感知層和應用層之間傳遞數據;應用層對應的云平臺和應用App中的各類接口和服務,也是用戶與物聯網的接口,負責數據處理、計算以及智能決策.物聯網業務的全生命周期的本質即數據的流轉過程.網絡協議存在于設備、云平臺、應用App這3類實體之間,以及設備與設備之間、云平臺與云平臺之間,使得它們能夠及時進行各類交互,在交互中傳遞數據,形成物聯網數據鏈.通過物聯網數據鏈,一個簡單的物聯網設備可以將自己的數據(如傳感器數據)傳遞給用戶App或云平臺,而物聯網用戶或物聯網的控制者也可以借助云平臺,遠程控制或監控自己的物聯網設備.下面本文將針對4個簡單的使用場景,對物聯網數據流進行描述.值得注意的是,以下敘述的場景僅僅是相對流行的方案,現實中同樣的使用場景可能出現完全不同的解決方案.

1)遠程控制設備

當用戶遠程使用App控制物聯網設備時,App端將會與云平臺建立通信,并將控制指令發送給云平臺,云平臺接收到控制指令,將會把用戶的控制指令翻譯為設備能夠理解的控制信息,并發送給設備.

2)遠程監控設備

設備和云平臺之間首先建立通信.設備將數據發送給云,云端會將這部分數據暫存.當用戶打開App并查看設備狀態時,云端將暫存的最新設備上報數據發送給用戶.

3)本地控制設備

本地控制設備一般依賴于近場通信協議或局域網通信.但對于以云通信為主的設備,需要設備先在云平臺上進行注冊.也就是說,本地控制設備在遠程控制設備條件存在的情況下,通常是遠程控制設備的一種簡化.

4)自動化編程控制設備

自動化編程控制設備是指在云平臺上編寫程序,通過觸發器觸發程序執行(例如當溫度達到28攝氏度時打開空調),這種情況下需要用戶將自己的程序上傳到云平臺.

1.2 訪問控制基礎知識

訪問控制是一種通過對資源的訪問、獲取和操作進行身份驗證和授權管理,使資源能夠在合法范圍內被使用或受限使用的技術,是維護網絡安全、數據安全的重要措施.

訪問控制是主體根據策略對客體進行不同權限訪問的過程,主要包括五大要素:主體、客體、認證、授權以及策略.

1)主體.主體是能夠訪問客體的實體,包括人、進程或者設備等具有能夠訪問客體屬性的實體,主體可以在系統中執行操作、在客體之間傳遞信息或者修改系統狀態.

2)客體.客體是系統中需要被保護的實體的集合,包括文件、記錄、數據塊等靜態實體,也包括進程等可執行指令的實體.

3)認證.認證是指訪問控制客體對主體進行身份確認的過程,從而確保主體具有其所請求的權限.

4)授權.授權是指授予某個主體對某資源的訪問權限的過程,強調的是某個主體可以對某資源進行哪些操作(讀、寫、執行等).

5)策略.策略是指主體對客體訪問的規則集合,規定了主體對客體可以實施讀、寫和執行等操作的行為,以及客體對主體的條件約束.策略體現的是一種授權行為,授予主體對客體何種類型的訪問權限,這種權限應該被限制在規則集合中.

有效的訪問控制保證只有經過授權的主體才能夠在權限范圍內訪問客體,未經授權的主體禁止訪問客體,能夠很好地防止隱私信息的泄露和權限的濫用.

訪問控制技術經過多年的演進,已經產生了多種類型的訪問控制模型,包括自主訪問控制(dis-cretionary access control, DAC)[14]、強制訪問控制(mandatory access control, MAC)[15]、基于角色的訪問控制(role-based access control, RBAC)[16]、基于屬性的訪問控制(attributed based access control, ABAC)[17]、基于使用控制的訪問控制(usage control, UCON)[18]、基于權能的訪問控制(capability-based access control, CapBAC)[19]等.

1)自主訪問控制.自主訪問控制的核心思想是自主授權,主體可以完全控制客體,并可以自己決定是否將對客體的訪問權限或部分訪問權限授予其他主體.這種訪問控制方式權限管理分散,而且需要手動對權限進行管理,在面對龐大且復雜的物聯網時,難以適應物聯網的動態自發性、可操作性等特性.

2)強制訪問控制.強制訪問控制的核心思想是系統強制主體服從訪問控制策略,系統為主體和客體分配不同的安全標識,主體和客體不能夠自行改變自身的安全標識,只能由系統或管理員強制分配,根據安全標識決定主體對客體的訪問許可,本質是利用非循環單項信息流保證數據的機密性和完整性.

3)基于角色的訪問控制.基于角色的訪問控制的核心思想是將訪問權限與角色相關聯,通過將權限分配給角色,再讓用戶成為適當的角色,從而使得用戶得到這些角色的權限,根據用戶的角色決定用戶對資源的訪問權限.這種訪問控制方式在涉及大量角色的物聯網環境中會存在角色爆炸問題,同時也難以滿足物聯網中細粒度、多層次的訪問控制需求.

4)基于屬性的訪問控制.基于屬性的訪問控制的核心思想是根據主體的屬性授予訪問權限,主體和客體都是通過與特征相關的屬性進行識別,當用戶發起訪問請求時,根據他的屬性授予相應的訪問權限.這種訪問控制方式由于其屬性在訪問過程中不可以改變,無法滿足物聯網中節點屬性動態改變的需求,同時隨著設備數量的增加,會增加策略管理的工作量和復雜性.

5)基于使用控制的訪問控制.基于使用控制的訪問控制的核心思想是屬性可變和持續檢查,當主體發起訪問請求時,授權元素檢查主體和客體的安全屬性以決定是否允許訪問,這種檢查持續伴隨著整個訪問過程,在訪問過程中,一旦主體或者客體的安全屬性發生改變,授權將相應地改變,撤銷授權或支持繼續訪問.

6)基于權能的訪問控制.基于權能的訪問控制的核心思想是根據權能(密鑰、令牌等)授予用戶相對應的訪問權限,一種權能擁有對某些資源的訪問權限,系統僅允許權能擁有者對這些資源的訪問,拒絕其他訪問.此外,主體可以將其全部或部分訪問權限通過委托機制授予其他主體,同時支持主體撤銷其所授予的權能,這使得CapBAC具有分布式、細粒度等優點.

隨著云計算、物聯網等新技術和新場景的不斷涌現,引發了源源不斷的新威脅、新風險.尤其是面對復雜多變的物聯網環境,傳統的訪問控制模型的靈活性和擴展性不足,難以適應規模龐大、數據激增、變化迅速的物聯網環境;固化的訪問控制策略難以應對物聯網中訪問控制參與對象類型多樣的特性.

1.3 物聯網訪問控制

物聯網訪問控制即物聯網場景下的訪問控制技術,用于保障設備、用戶、云端之間資源請求與權限授予過程的安全合規.相較于互聯網訪問控制,其區別主要在于4點:

1)計算與存儲能力不同.物聯網中存在大量的各類輕量級感知層設備,通常設備容量低,不支持復雜的運算、數據存儲,難以參照互聯網設備建立較強的安全邊界,也因此成為攻擊者的重點目標.

2)體系架構不同.由于設備的性能較低,物聯網中的運算、決策主要依靠云平臺來實施、對接并下發,無法復用互聯網中心化的訪問控制架構.同時物聯網架構導致數據的傳輸和交互更加頻繁,擴大了風險暴露面.

3)通信協議不同.在互聯網中,有線通信協議更加普及,而物聯網中由于大量設備的存在,無線通信協議更加常用,因此無線通信協議的安全性更加重要.物聯網設備的異構性也提高了對通信協議的要求.在協議模型方面,互聯網中“請求/響應”模型的通信協議更加普及,而物聯網由于大量設備存在,并且通信存在大量不穩定因素,引入了很多“發布/訂閱”模型的通信協議.

4)業務場景不同.互聯網訪問控制的業務場景主要是控制數據資源的訪問,而物聯網的業務場景更加多樣化、與物理世界更加密切相關,包含家居、醫療、工業控制等,不同場景中的設備性能、具體架構、安全需求都有所區別,需要具體問題具體分析.

因此,物聯網訪問控制與互聯網訪問控制不盡相同.真實世界中發生的安全威脅雖然只是由某一個物聯網實體(設備、云等)的安全缺陷觸發,但危害卻可以通過物聯網數據鏈傳遞到其他實體,而物聯網數據鏈構建的基礎是實體之間的信任關系,也就是訪問控制信任鏈.

如圖1所示,用戶App、云平臺、設備都有各自獨立的訪問控制模型.對于云平臺,云平臺作為訪問控制客體,設備和用戶作為訪問控制主體,云平臺需要對設備和用戶進行認證,在接入層面需要驗證設備和用戶是否有權接入云平臺,在交互層面需要驗證用戶是否有權訪問設備;對于用戶App,App作為訪問控制客體,設備和云平臺作為訪問控制主體,App需要首先驗證云平臺的真實性,防止中間人攻擊;對于設備,設備作為客體,云平臺和用戶App作為主體,設備要對云平臺進行認證.這樣,用戶App、云平臺、設備之間通過各自獨立的訪問控制模型形成一個相互的信任關系,產生訪問控制信任鏈.

Fig.1 Trust chain of IoT access control

對于訪問控制信任鏈,存在3個攻擊面:1)攻擊者可以直接繞過物聯網設備對用戶的認證,從而直接控制設備;2)攻擊者通過中間人攻擊等手段劫持物聯網設備與云平臺的連接,從而注入或竊取數據;3)攻擊者繞過云平臺對用戶的認證,從而通過云平臺間接地控制物聯網設備.因此,在物聯網場景下,信任鏈中的一環出現訪問控制失效,惡意的控制流和數據流就會沿著信任鏈傳遞,造成難以預估的危害.

本文在1.1節中簡單介紹了4種控制設備的場景,這些場景在信任鏈中可能存在3種風險傳遞模式.

1)設備端風險傳遞

利用設備對云平臺或用戶的訪問控制漏洞,可以近距離接觸設備并對云平臺進行控制或導致數據泄露.通過訪問控制信任鏈,設備端的安全問題可能傳遞到云平臺和用戶端,造成更嚴重的安全問題.需要注意的是,設備對云平臺也需要進行訪問控制,設備需要首先確認云平臺的身份,也需要確認來自云平臺消息的完整性,防止諸如DNS污染等問題.設備端產生的風險,一方面直接作用于設備;另一方面,借助云平臺的信任,設備端風險可以傳遞到用戶側,例如1.1節中介紹的遠程監控設備,設備端的數據如果受到篡改,用戶會通過云平臺接收到假的設備狀態而導致嚴重后果,如虛假的火災警報.

2)云平臺風險傳遞

云平臺作為數據的傳輸中轉站,一旦出現安全風險,可能對大量的設備和用戶造成影響.攻擊者可以利用遠場通信協議的安全漏洞[20]或云平臺處理邏輯的安全問題,對連接在云平臺上的設備進行控制或監聽或對連接在云平臺上的用戶App進行欺騙.由于訪問控制信任鏈中,設備和用戶App對云平臺的信任,這種攻擊的隱蔽性強,受害者很難發現.另外,我們在1.1節中介紹了云平臺自動化編程控制設備的新模式.從數據鏈的角度分析,云平臺應用發起的控制指令,仍然是由云平臺發起的,數據的傳遞基于設備端對云平臺的信任鏈,一旦云平臺應用出現安全問題,可以造成難以估量的后果.因此,云平臺應用程序的復雜安全威脅也是目前研究的重點之一.

值得注意的是,即使是1.1節中提到的本地控制設備場景,在當今智能家居等行業的發展背景下,云平臺也會在設備綁定、客戶端鑒權等方面扮演非常重要的角色.即使用戶App和設備在同一個局域網下,云平臺也有可能在綁定設備的過程中扮演必不可少的角色.

3)客戶端風險傳遞

客戶端安全風險主要是用戶移動端App的安全問題.由于移動端App的安全問題很難通過信任鏈將惡意數據傳遞到其他物聯網實體,因此目前對物聯網移動端App的研究相對較少.

2 物聯網訪問控制現有研究

物聯網與傳統互聯網存在著巨大差異,尤其是物聯網架構不同于互聯網的架構,而且物聯網設備具有容量低、計算能力低等特性[21],這些特性也給物聯網訪問控制提出了更高的要求,導致物聯網無法簡單復用互聯網的訪問控制系統和相關基礎設施.作為物聯網安全性保障的重要環節之一,有很多學者在物聯網訪問控制領域開展了相關研究,總結了物聯網訪問控制應該遵循的原則,并提出了諸多類型的模型與架構設計.

2.1 物聯網訪問控制原則

Ouaddah等人在文獻[22]中結合物聯網的特性總結了物聯網訪問控制應該遵循的8個原則:

1)協同性.物聯網環境下可能存在多個不可信的個人或者組織進行協同,訪問控制系統必須允許各個主體制定自己的政策,且能與其他組織的政策兼容合作.

2)自適應策略.由于各個主體的動作是動態、不可預測的,必須允許訪問控制的策略可以針對上下文進行動態調整更新來適應不同的需求.

3)細粒度.因為物聯網系統中的各種設備會受到各種環境因素的影響而被觸發,訪問控制也應該同樣考慮到這些環境因素,將環境信息引入到系統中進行更細粒度的決策(例如,根據當前的時間、位置、目標設備等信息決定是否允許操作).

4)易用性.訪問控制應該易于管理和修改,以方便缺少相關技術的普通用戶使用.

5)分布式自治系統.每個實體的訪問控制策略的實施和管理應由其自己的規則來控制,以適應物聯網環境下分布式安裝的智能設備.

6)異構性.由于物聯網設備之間存在各種物理上的差異,在進行管理時應存在一個統一的虛擬接口,來方便控制管理存在不同特性的設備.

7)輕量性.訪問控制系統應保證輕量來節省各種物聯網設備本就不富裕的計算能力和能源消耗.

8)可擴展性.訪問控制系統應可以隨時擴展,以應對當前越來越多的物聯網設備、應用和用戶.

2.2 現有研究

當前物聯網訪問控制相關研究主要集中在訪問控制架構、機制流程、模型3個方面.

在架構方面,由于物聯網場景通常由多種類型的設備組合連接而成,訪問控制不再是傳統互聯網中的少量幾個系統之間的互相授權,而是大量設備之間的權限管理,因此互聯網場景下常用的中心化訪問控制架構難以適用.此外,這些設備一般互為異構且計算能力弱,難以處理加解密、智能策略生成等復雜算法,更無法將傳統互聯網中的訪問控制系統直接進行移植,需要探索適用于物聯網場景的訪問控制系統,重點滿足輕量性、異構性等原則.在較早的研究中,有學者就中心化的物聯網訪問控制進行研究[23-25],而隨著物聯網架構的進一步演進,現有研究出于將計算負載分散化和增加容災能力的目的,主要探索去中心化、分布式架構的設計.區塊鏈是如今非常流行的去中心化技術,眾多研究提出了將區塊鏈、智能合約等技術引入到系統中,利用區塊鏈技術的分布式、可驗證等特性來實現可擴展、分布式、可協作的訪問控制.文獻[26-28]均提出了基于區塊鏈的物聯網分布式體系架構,并在其中整合了智能合約來實現在物聯網環境下對設備基于屬性的域內和跨域訪問控制,并達到了靈活、動態、自動化的目標.霧計算和邊緣計算是通過將計算需求遷移到其他設備來提高計算性能和架構擴展性的技術,也已經有研究[29]提出將霧計算和邊緣計算運用到物聯網訪問控制的架構設計中.

在機制流程方面,當前研究主要針對訪問控制系統中的各種交互協議與數據格式,由于物聯網設備的特殊性,通常無法采用有線連接,而是使用移動網絡、藍牙、ZigBee等無線方式與服務器連接.無線連接與有線連接相比存在延遲高、帶寬小、抗干擾能力弱等特點,無法直接使用互聯網中復雜的交互協議與框架,當前研究主要是將輕量級的協議與框架引入物聯網訪問控制系統當中.在交互協議方面,研究人員圍繞MQTT,CoAP等物聯網通信協議進行訪問控制相關設計[30-32].在數據格式方面,研究人員傾向于結合JSON(javascript object notation),XACML(extensible access control markup language),SAML(security assertion markup language)等數據格式靈活、簡單的優點,提出了物聯網授權框架,使得資源受限的物聯網設備也能進行細粒度和靈活的訪問控制[33-35].這些研究能夠降低物聯網訪問控制流程中的流量、內存、性能損耗,且同時能保證訪問控制系統的正常運行.

在模型方面,當前研究主要是將互聯網中已有的RBAC,ABAC,UCON,CapBAC等訪問控制模型進行移植.進行移植的原因之一是這些傳統模型已經在互聯網的悠久歷史中證明了其可靠性和實用性,只需要針對物聯網環境下的分布式等特性進行少量修改就可以直接使用.Gusmeroli等人[19]和Zhang等人[36]分別將CapBAC和UCON等訪問控制模型移植到物聯網環境下,使其適應分布式系統.另一原因是直接移植模型可以使得現有的互聯網系統可以方便地與物聯網設備進行對接交互,讓原有的互聯網用戶可以無縫地接入物聯網中來實現WoT(Web of things),從而減少企業開發程序上的人力成本.Jia等人[37]和Barka等人[38]將RBAC模型進行了移植并集成到系統中,而Bai等人[39]則將UCON模型進行了移植,這使得互聯網系統與物聯網設備之間的訪問控制成為現實.

從現有相關研究來看,當前物聯網訪問控制研究更注重功能性,主要針對物聯網環境下由于架構不同和資源受限帶來的計算能力低、帶寬小等問題,需對互聯網下訪問控制所用的方法進行修改后移植到物聯網場景中.具體來說,在訪問控制架構上,從中心化的架構逐漸轉向分布式架構,借助區塊鏈等先進的分布式技術進行設計;在機制流程上,則圍繞適用于物聯網的通信協議和輕量級數據格式進行研究;在模型上,主要研究將成熟的互聯網訪問控制模型向物聯網移植并適配.

但現有研究并未重視物聯網環境下訪問控制系統的安全性.一方面,當前的物聯網由于設備類型多樣、業務需求多樣,其體系結構非常復雜且處在持續的演進中.另一方面,物聯網中的設備通常與用戶物理相鄰,它可以是身邊的攝像頭、煙霧報警器,也可以是工控系統中的水閘電閘,這些設備能夠以多種形式影響到用戶本身,所以,直接使用從互聯網移植現有訪問控制技術的系統架構、機制流程、權限模型而不對安全性進行額外的驗證和適配是不充分的,可能引發安全上的隱患與風險,導致敏感數據泄露,危害到工業生產安全、人身安全甚至是國家安全.因此,本文聚焦物聯網訪問控制的安全性,調研并綜述相關研究進展.

2.3 物聯網訪問控制安全性

物聯網訪問控制是保護用戶數據、保障設備合法操作指令的安全技術,而要使訪問控制真正生效,則需要保障訪問控制自身的安全性,包括主體、客體、機制策略、身份認證、權限授予等方面的安全.由于物聯網體系架構的復雜性和業務場景的多樣性,物聯網難以建立傳統的安全邊界,其訪問控制系統難以實現端到端的設計.為實現安全的訪問控制,需要圍繞物聯網數據鏈、信任鏈和業務場景,研究從哪些層面入手保障訪問控制安全性,即物聯網訪問控制保護面.

1)設備安全

設備上搭載的傳感器所采集的指紋、聲紋是物聯網進行用戶身份認證的重要數據來源,關系到用戶的身份信息是否獨立、安全,若該類數據被偽造或竊取,將產生身份冒用風險,導致訪問控制失效.

2)流量安全

物聯網在感知層、網絡層、應用層之間的數據傳輸依賴網絡流量,對于訪問控制場景,則需要在3個層次之間進行身份認證信息、授權指令等的傳輸.因此,流量的安全性至關重要,需要在該層面防范數據竊取、中間人攻擊等風險,增強網絡協議的安全性對于流量安全的保障.

3)應用安全

根據物聯網的數據鏈與訪問控制信任鏈,應用是用戶與設備、設備與云平臺的接口,向上傳遞身份認證信息,向下傳達授權決策與操作指令,因此需要在應用App層面保障安全.

4)云安全

云平臺承擔著復雜的數據計算、處理與存儲任務,在更多的訪問控制場景中負責授權策略管理,并且,物聯網中既存在云平臺與設備、應用的交互,也存在云平臺與云平臺之間的交互,因此,云安全是保障安全的物聯網訪問控制生效的重要著力點.

5)接口安全

物聯網多個層次之間以及各個層次內部的數據流轉都依賴接口,不安全的接口存在信息泄露、篡改的風險.

接下來,本文基于上述保護面和物聯網,圍繞物聯網體系架構的3個層次進行訪問控制攻擊面的分析,并歸納相應的安全解決方案研究.如圖2所示,本文結合IoT云平臺、用戶、設備構成的信任鏈端點,主要以信任鏈上的3個物聯網層次(應用層、網絡層、感知層)為基礎進行闡述,包括對每個層次的主要內容和應用場景的攻擊面總結和解決方案總結.其中,應用層主要有云應用、云對接、設備綁定3個方面;網絡層主要有近場通信和遠程通信2方面;感知層主要有傳感器和設備軟硬件2方面.最終再根據不同的互聯網安全維度進行保護面總結,保護面包含設備安全、流量安全、云安全、應用安全和接口安全5個維度.

Fig.2 Research on security of IoT access control

3 物聯網訪問控制攻擊面

2.3節結合物聯網數據鏈與信任鏈傳遞的特點闡述了物聯網訪問控制安全性的內涵與保護面,而與保護面相對應的就是攻擊面,為保障安全性,需要對可能存在的風險進行研究與把握.物聯網訪問控制主要是多個實體的訪問控制模型相互連接、相互交互、互為主客體.在本節中,我們以3個物聯網層次作為切入點,介紹針對物聯網訪問控制的主要攻擊面.

3.1 感知層攻擊面

感知層是物聯網架構中最基礎的層次,負責向上層提供數據支持,是一個具有物理設備的實體,感知層分為傳感器和設備軟硬件2個層次.傳感器負責收集外界信息,設備軟硬件負責驅動傳感器工作,并與上層建立連接.感知層的訪問控制模型主要有2方面:一方面設備傳感器作為主體,采集外界信息;另一方面設備作為客體,與多種主體(如App和云)進行交互.在現有的針對感知層的研究中,主要考慮傳感器數據的可靠性以及感知層軟硬件的設計與實現.

3.1.1 感知層傳感器安全問題

對于感知層傳感器而言,有研究[40-41]表明現有的安全方案和訪問控制系統無法為傳感器提供足夠的安全防護,產生了漏洞:偽造傳感器所收集的數據,使得傳感器無法獲取相應的外部信息.在現有的研究中存在很多偽造傳感器數據的攻擊案例,這種攻擊可能導致應用層基于錯誤的傳感器數據產生錯誤的判斷,由于應用層的訪問控制模型無法涉及到感知層的細節,應用層的訪問控制模型會被完全欺騙.

Tukur等人[42]進行了一項研究,模擬了內部攻擊者對物聯網系統中的傳感器實施的數據偽造,證明了篡改感知層的物理環境對整個物聯網系統的數據完整性造成直接的負面影響.這種偽造數據的攻擊可以在GPS傳感器、光線傳感器、麥克風、攝像頭上實施.與傳統的訪問控制不同的是,傳感器獲取的客體數據大多來自于真實的物理世界,導致傳感器的訪問控制幾乎無法使用現有的技術,只能在一定程度上針對每一種數據來源的真實性進行判斷.而一旦傳感器的判斷錯誤,上層的其他訪問控制模型也會無條件相信傳感器的錯誤數據,導致信任鏈的底層出現疏漏.

比較典型的案例是針對GPS信號接收器的信號偽造,Tippenhauer等人[43]分析了欺騙GPS傳感器的可能性,他們使用GPS信號模擬器嘗試干擾了Atmel公司的ATR0600 GPS芯片,其實驗結果證實了GPS信號接收器可以很容易地被欺騙到任意一個位置.Park等人[44]提出了一種針對醫用輸液泵中紅外液滴傳感器的數據偽造攻擊,該文作者發現紅外液滴傳感器沒有持續地對飽和輸入進行檢測,因此可以通過使用額外的紅外線發射器來干擾傳感器,可以實現對輸液速度的控制.

對傳感器的欺騙同樣也會發生在指紋、聲紋等直接用于身份認證的傳感器.指紋識別技術現在已經十分成熟,但也存在著簡單有效的指紋欺騙方法,比如使用塑料制作指紋模型,在文獻[45]中對指紋傳感器的欺騙進行了全面的綜述.相比于指紋識別技術,聲紋識別技術起步較晚,聲紋識別依賴音頻中的音色、韻律和語言內容,攻擊者可以通過模仿、重放、語音合成、語音轉換等手段欺騙聲紋識別,在文獻[46-47]中綜述了這4種欺騙手法以及相應的對策.同時也存在一些針對語音控制系統的攻擊,Zhang等人[48]設計了一種人類無法聽到但智能語音助手可以正常識別的攻擊方法DolphinAttack,并在Siri,Google Now等平臺上進行了概念驗證,成功完成了在iPhone上發起FaceTime通話、使用Google Now將手機切換到飛行模式等命令攻擊.傳感器還可能受到拒絕服務的攻擊,破壞其數據的可用性.有一項研究證實了可以通過噪音干擾MEMS陀螺儀工作,并在實驗中成功使得配備有MEMS陀螺儀的無人機墜毀[49].

3.1.2 感知層設備安全問題

感知層設備作為訪問控制的客體,被多種主體訪問.感知層設備主要分為軟件和硬件2個層面,軟件涉及操作系統和上層的應用程序[13].感知層設備的訪問控制的失效可能發生在非法的控制端或惡意用戶獲取了設備的信息或對設備進行了修改.

在感知層設備的軟件層面,訪問控制攻擊面主要包括:弱口令、訪問控制失效的通信接口、缺乏認證的更新機制.一些感知層設備可能提供了遠程訪問的功能,比如通過FTP查看文件、使用Telnet或SSH與設備進行交互.Kumar等人[50]進行了一項調查,使用弱口令字典掃描物聯網設備的FTP和Telnet服務,發現有17.4%的FTP服務和2.1%的Telnet服務使用了弱口令.很多物聯網設備使用Web服務或藍牙等無線協議與上層應用進行通信,這些服務提供了一些數據接口供上層服務調用,如果這些數據接口未能實現鑒權功能或存在越權訪問等邏輯漏洞,可能導致傳感器數據泄露或執行非法指令等后果.在Rapid7公司的一項調查中列舉了一些關于嬰兒攝像頭的漏洞,其中CVE-2015-2882是相機設備中運行的Web服務存在硬編碼的賬號“admin”和密碼“M100-4674448”,攻擊者可以在相機設備所處的本地局域網中訪問其Web操作界面[51].一些感知層設備在提供固件升級時,缺少對固件的完整性認證,從而導致攻擊者可以將惡意的固件寫入到設備中.Ronen等人[52]通過相關功率分析(correlation power analysis, CPA)[53]的側信道方法推測出Philips燈泡用于加密和驗證固件更新的密鑰,他們利用推測出的更新密鑰刷新燈泡固件從而實現了完全控制,并且實現了蠕蟲攻擊,即利用一個燈泡來攻擊另一個燈泡.

在感知層設備硬件層面,針對設備客體訪問控制的攻擊面包括了針對硬件的側信道攻擊和調試接口暴露.利用側信道和密碼學分析可以泄露CPU中的狀態信息[54],比如,Gnad等人[55]提出,利用模數轉換器(analog-to-digital converter, ADC)可以推斷系統中CPU的活動,并成功進行了AES密鑰恢復攻擊.而Ronen等人[52]實施了一種未知明文選擇差分CPA攻擊來推測Philips燈泡固件更新時的AES-CCM(advanced encryption standard-counter with cipher lock chaining message authentication code)算法的驗證密鑰.對于某些感知層設備可能保留有調試用的硬件接口,具有物理接觸這些設備的攻擊者可以繞過軟件層面的認證服務,直接獲取系統內的信息,甚至獲取操作系統交互權限.一些物聯網設備在出廠后仍然保留了調試接口,這使得某些能夠物理接觸設備的人員可以通過調試接口獲取硬件上的信息(比如加密密鑰),導出固件代碼,甚至可以向設備中寫入惡意代碼[56].

當設備的軟硬件的訪問控制模型被打破時,其危害可能被信任鏈傳遞到其他層次.例如,云平臺的訪問控制模型會無條件接受設備傳遞的數據,因為云平臺已經沒有任何辦法驗證設備是否已經被攻擊者控制,進而也會被應用層的訪問控制模型認可,影響應用層邏輯.但針對感知層設備的攻擊需要攻擊者接觸設備,利用條件較苛刻.

3.1.3 小 結

感知層攻擊面總結如表1所示.感知層作為主要的信息收集層,其最常見的訪問控制安全風險在于:作為訪問控制主體,身份認證信息存在采集和上傳中的偽造問題;而同時感知層在執行操作的客體角色中,存在著由設備容量小、計算能力低等因素所導致的認證機制不完善的攻擊面.設備自身的漏洞也是明顯的攻擊面.

Table 1 Perception Layer Access Control Attack Surface

3.2 網絡層攻擊面

網絡層是位于物聯網架構中間的層次,主要支撐感知層和應用層之間,以及位于感知層的設備之間和位于應用層的云平臺與應用App之間的通信,是由不同的通信協議組成的一個層次,網絡層的訪問控制威脅也主要分布在各種不同的通信協議中.按照設備的近場性,可以將網絡層分為近場通信層和遠場通信層.近場通信層主要涉及設備配對、設備間近距離通信、設備和App之間近距離通信等;遠場通信主要涉及設備和云服務器之間、云服務器和App之間的通信等.

網絡層向上對接云平臺和應用層的訪問控制模型,向下對接感知層設備的訪問控制模型.

3.2.1 網絡層近場通信安全威脅

IoT近場通信協議主要有BLE(bluetooth low energy),ZigBee,Z-Wave,6LoWPAN等.近場通信協議的設計問題和漏洞能夠破壞客體設備的訪問控制模型,也包括用戶設備(手機),主要漏洞是設備未授權訪問、用戶隱私泄露、設備劫持等.近場通信協議的安全問題能夠繞過設備的訪問控制模型,進而通過信任鏈傳遞到云或其他主體,并且這些安全問題的避免難度較大,目前主流研究集中在對協議的漏洞進行研究,并改進協議,進行安全加固.

BLE是由傳統藍牙發展而來的,為物聯網的設備間近場通信提供了一種低功耗、低成本的通信協議,由BLE引入的安全威脅是當前研究的熱點之一.Fawaz等人[57]對BLE隱私保護規范中的地址隨機化在現實世界的部署中是否真正能夠保護用戶隱私的問題進行了探究,收集并分析了214種不同類型BLE設備的廣播,發現由于開發者和制造商沒有正確執行BLE隱私保護規范、地址弱隨機化、地址長時間不改變等原因導致了地址隨機化失效,泄露了大量的信息.Celosia等人[58]利用BLE中的GATT(generic attribute)配置文件創建了一個指紋,成功規避了BLE隱私保護規范的反跟蹤特性(即MAC地址隨機化),利用該指紋可以跟蹤用戶、推斷用戶敏感信息等.Zuo等人[59]從配套的移動應用程序中提取具有靜態UUID(universally unique identifier)的BLE設備指紋,對BLE設備進行指紋識別,侵犯用戶隱私;該文作者還發現許多BLE設備采用Just Works配對,允許攻擊者在不需要認證的情況下主動連接這些設備,造成未授權訪問攻擊,使用UUID指紋定位這些設備,配合Just Works配對或弱認證,攻擊者可以完全控制這些設備.Sivakumaran等人[60]成功實施了針對BLE的應用共存攻擊,即當手機中有一個應用程序已經與BLE設備建立連接時,手機中另一個惡意的應用程序能夠未授權訪問受保護的BLE設備中的敏感數據.Wen等人[61]設計實現了FirmXRay自動靜態二進制分析工具,用于BLE鏈路層漏洞檢測,還收集了793個獨特的固件來評估FirmXRay,實驗結果表明,98.1%的設備配置了隨機靜態MAC地址,71.5%的設備配置了Just Works配對,98.5%的設備配置了不安全密鑰交換.這些漏洞會導致用戶的敏感信息泄露、設備的未授權訪問等安全問題.Wu等人[62]研究了BLE鏈路層的安全性,聚焦BLE設備重新連接的場景,發現了其認證機制的2個設計缺陷(可選認證和認證繞過),利用設計缺陷該文作者提出了BLESA(BLE spoofing attacks),即BLE欺騙攻擊,攻擊者模擬BLE服務器設備,向之前配對的BLE客戶端設備發送欺騙數據,成功欺騙了BLE客戶端設備.Ludant等人[63]發現了藍牙芯片設計中的鏈接漏洞,將BLE廣播鏈接到了經典藍牙幀(BTC),該文作者利用該漏洞將BLE廣播與全球唯一標識符(globally unique identifier, GUID)鏈接,利用BDADDR標識符可以跟蹤BLE用戶,從BLE廣播中竊取用戶敏感信息.

ZigBee也是最常使用的物聯網近場通信協議之一,由ZigBee協議引入的安全威脅也受到了學術界廣泛的關注.Morgner等人[64]利用ZigBee3.0新增加的touchlink調試功能對ZigBee發起攻擊,并且在touchlink預配置的鏈接密鑰泄露的場景下成功獲取了ZigBee網絡中所有節點控制權.Akestoridis等人[65]研究了當集中式ZigBee網絡中禁用MAC層安全的設計選擇的后果發現,攻擊者可以從ZigBee流量的被動檢查中獲得有價值的信息,包括識別某些加密的NWK命令,然后使用這些命令開發選擇性干擾和欺騙攻擊,以迫使最終用戶重置目標設備,并最終暴露網絡密鑰,造成敏感信息泄露.

近場通信協議的安全問題主要打破設備的訪問控制模型,進而通過信任鏈影響到云端訪問控制模型、應用層訪問控制模型,由于通信協議的漏洞相對較難避免,因此具有很強的隱蔽性.但利用近場通信協議需要攻擊者在較近的物理距離內發起攻擊,影響面相對較小.

3.2.2 網絡層遠場通信安全威脅

網絡層遠場通信主要聚焦于各種物聯網流行的通信協議上,目前使用較為廣泛的協議包括MQTT(Message Queuing Telemetry Transport),CoAP(Constrained Application Protocol),AMQP(Advanced Message Queuing Protocol),HTTP(Hyper Text Transfer Protocol),XMPP(Extensible Messaging and Presence Protocol),DDS(Data Distribution Service for Real-time Systems).遠場通信協議的安全疏忽能夠打破云平臺或云端數據的訪問控制體系,遠場通信協議對于訪問控制模型的挑戰,成為了目前學術界的關注重點之一.

網絡層遠場通信協議大多在設計之初就缺乏對適用物聯網的安全性設計,對于保密性,通常都是由TLS協議(Transport Layer Security)或DTLS協議(Datagram Transport Layer Security)保證的.Al Fardan等人[66]基于對TLS和DTLS協議中解密處理的精確時間分析,利用明文恢復攻擊竊取了敏感信息.對于協議本身的安全問題與協議適用物聯網時協議對接云平臺和云端數據的訪問控制模型時存在的安全問題,目前的研究較少.Jia等人[20]通過對MQTT通信機制的安全分析發現了MQTT協議在物聯網場景下產生的多個漏洞,例如不安全的MQTT消息管理、不安全的MQTT會話管理、未授權的MQTT身份等.

由于云平臺和協議特性之間的安全鴻溝,云平臺很難利用現有的訪問控制技術去限制物聯網協議,攻擊者可以利用協議的特性,打破云平臺的訪問控制模型,進而欺騙云平臺去修改云端設備元數據,并成功控制受害者設備,竊取用戶敏感信息.Wang等人[67]提出了MPInspector框架,實現了自動化分析遠場通信消息傳遞協議的安全性,在9個廣泛使用的物聯網平臺上對MQTT,CoAP,AMQP協議進行分析,并且使用MPInspector框架評估這些協議的安全性,發現了針對物聯網遠場通信協議的11種類型的攻擊方式,其中包括客戶端身份劫持攻擊、惡意主題訂閱、未經授權的消息響應等.這些攻擊方式可以在協議的層面突破云平臺甚至云端數據的訪問控制模型,并通過信任鏈將危害傳遞到大量物聯網設備.

遠場通信協議主要通過打破云平臺的訪問控制模型或應用層的訪問控制模型來修改云端數據,并通過信任鏈將危害傳遞到設備和用戶App,遠場通信協議因為可以修改云端數據,其安全問題具有影響面大、破壞性大的特點,在極端情況下,一個攻擊者甚至可以利用遠場通信協議和訪問控制模型之間的安全鴻溝,對整個云上連接的設備進行低成本的大規模攻擊.

3.2.3 小 結

網絡層攻擊面總結如表2所示.網絡層在訪問控制中主要負責身份認證信息和授權策略的傳輸,場景包括近場通信和遠場通信,其安全性由各類通信協議、加密協議來保障,而攻擊面也存在于尚不完善的通信協議的認證機制、加解密、粒度等性能方面.

Table 2 Network Layer Access Control Attack Surface

3.3 應用層攻擊面

在當前的IoT架構中,應用層一般是物聯網頂層設計的邏輯,如在智能家居場景下的用戶、家庭等概念均運行在應用層之上.物聯網應用層是一個抽象層,應用層之上一般只是數據和訪問控制邏輯.正因如此,一旦應用層訪問控制出現問題,運行在其他層次的安全手段(如網絡層的安全防護)難以發現.另外,由于云平臺需要存儲幾乎所有的應用層數據,一旦云平臺的應用層訪問控制邏輯出現問題,借助1.3節中提到的信任鏈,可能導致大量IoT設備淪陷.

應用層的主要載體是物聯網管理者或用戶的IoT App,以及各種IoT云平臺.目前相當多的IoT設備都擁有連接WiFi或者通過BLE,ZigBee連接智能網關從而訪問互聯網的能力.如1.1節中的4種常見場景,物聯網的合法用戶通過IoT App修改應用層數據,云平臺或者軟件自身自動地將應用層數據翻譯為設備可讀的指令.

而現有的IoT云平臺根據其功能可以分為2類:

第1類是IoT設備廠商自身的云平臺.例如小米米家、涂鴉智能等,一般可以與本廠商的IoT設備進行連接,通過網頁/手機App控制IoT設備,并提供接口可以與其他云平臺或者Trigger Action平臺進行對接,部分平臺例如SmartThings,甚至允許用戶上傳自己的程序在云平臺上,允許用戶自己編程控制IoT設備.云應用大大拓展了物聯網的使用范圍,但也使得應用層訪問控制變得極為復雜,大大增加了安全的不確定性.

第2類是自動化流程平臺.例如IFTTT,Zapier等,除了可以與第1類的廠商云平臺進行對接,還可以與推特、Dropbox等非IoT廠商的云平臺對接.以此提供除了IoT設備之外的觸發和應用能力,例如通過發送短信操控IoT設備,或者由IoT設備觸發短信的發送.而少部分IoT設備,例如門鎖、牙刷、醫療設備、攝像頭等,可能廠商并沒有建設云平臺,或者這個設備本身并不具備連接互聯網的能力,實際上是直接通過局域網或者BLE連接用戶手機App,并以此被用戶所控制.

對于直接受到IoT平臺操控的設備,攻擊威脅主要來自云平臺的訪問控制失效;而受App近場通信直接操控的IoT設備,攻擊威脅主要來自手機App本身和設備端不完善的訪問控制的聯合作用.

3.3.1 云平臺中的云應用產生的漏洞

當前的云平臺一般都會允許用戶創建一些簡單的規則或者應用,以方便用戶滿足自己的一些特殊需求.其中一些平臺,例如IFTTT與SmartThings,還允許用戶發布自己的云應用并共享給其他人使用.而大量創建的應用不可能做到每個都被人工審計過,導致其中會存在難以對云平臺應用程序訪問控制的基本問題,從平臺的接口盜取用戶隱私數據,甚至控制用戶的IoT設備.

Fernandes等人[68]對SmartThings平臺進行了安全評估,發現其事件子系統存在安全缺陷,且由于其訪問控制設計的精細度不足,即使應用只申請了設備的有限訪問,但實際上也獲得了設備的完全控制權.將這些缺陷結合起來,使得攻擊者可以通過惡意的SmartApp來實現竊取鎖密碼、引發假火警等操作.而Surbatovich[69]與Cobb等人[70]則對IFTTT進行了分析,發現約有一半左右的云應用可能不安全,這些應用可能會破壞用戶信息的機密性和完整性,例如:當用戶家地下室門打開后發送消息的云應用存在泄露用戶活動行為的隱患.

除了惡意應用,還有不少應用本身并不是惡意的.單一應用不會產生安全風險,但是多個應用之間的物理或者非物理上的意外組合或交互,導致在應用層構建了一條邏輯上的、云平臺未曾預料到的數據鏈和信任鏈,引發訪問控制漏洞.例如,根據Balliu等人[71]的研究,如果一個應用的功能為無人在家時打開恒溫器,而另一個應用的功能為室溫過高時打開窗戶,當一個用戶同時使用這2種應用時,則可能出現屋子主人出門辦事,恒溫器啟動后卻自動觸發了打開窗戶的云應用,為入室盜竊創造了條件.

3.3.2 云平臺與云平臺對接時產生的漏洞

目前,云平臺的互相連接非常常見,尤其是在消費級物聯網云平臺,這便于消費者將多個廠商的物聯網設備或者非物聯網服務進行聯動和管理.比如,一個智能安防和智能家居的開發者可以通過IFTTT將某個品牌的智能門鎖與另一個品牌的智能燈進行聯動,在門打開時亮起燈光.IFTTT作為頂層云平臺,需要與2個其他廠商的云平臺進行對接,以方便接受門的開啟信息和發出開燈的命令.云平臺之間的交互顯著加長了物聯網數據鏈,使訪問控制安全的攻擊面延伸,云平臺之間對接的協議也沒有標準化方案.

目前廠商的主要做法是使用OAuth(open auth-orization)協議來進行平臺之間的授權和鑒權[72],但OAuth本身為一個集中式的權限管理協議,這種集中式的服務會使得攻擊者在攻陷一個系統后就可以利用系統中保存的令牌同時獲得當前系統中所有用戶的物聯網設備權限.另外,由于OAuth協議中缺少對被授權主體的驗證,在云平臺與云平臺對接授權后,設備主人通過云平臺將設備共享給其他用戶(例如:授予短期住宿的客人開門權限),如果云平臺的實現不當,不慎將OAuth令牌泄露給用戶,會導致用戶意外獲得這個門鎖的完全控制權,即使主人在平臺上撤回權限也無法真正回收權限.

此外,由于目前各個平臺的對接標準不統一,各個平臺都存在特有的格式和要求,導致對接時的信息可能會被另一方錯誤使用,導致訪問控制漏洞.例如:Yuan等人[73]發現Google Home與SmartThings對接時,SmartThings會向Google Home傳遞設備Device ID,對于SmartThings平臺來說,這是一個需要保密的信息,但是Google Home卻認為其是一個可以公開的普通字段,因此Google Home在授權給其他用戶時會將Device ID傳遞給其他用戶,導致惡意用戶可以偽造設備的觸發事件.

3.3.3 IoT設備綁定存在漏洞

設備綁定漏洞主要存在于智能家居領域.當云平臺設備進行綁定時,需要用戶手機App、云平臺、IoT設備三方共同協作完成,最后才能將IoT設備綁定到用戶手機App的賬號中.而如果在云平臺中進行設備綁定的狀態模型出現問題,則可能導致設備被敵手重綁定、解綁定等.Zhou[74]與Chen等人[75]展示了多種狀態模型漏洞的利用方法,他們發現目前云平臺綁定IoT設備時用到的均為類似設備ID、設備網卡地址、設備型號等公開或者容易被嗅探出來的信息,使得攻擊者在獲得這些信息后可以偽造出一個“幻影“設備,將真正的設備綁定到攻擊者的帳號下,或者將“幻影”設備綁定在原有帳號下偽造各種數據,這種攻擊方式本質上利用的是云平臺對設備接入的訪問控制邏輯錯誤,利用物聯網數據鏈,使有害信息傳遞到用戶App.

3.3.4 App與設備端應用層漏洞

與手機App有關的訪問控制漏洞,主要發生在本文1.1節中提到的本地控制設備,或控制一些不支持云平臺的IoT設備上.在這種情況下,IoT設備受到手機App的直接操作,由于App與IoT之間的交互通常使用局域網、藍牙等本地通信方式,使得攻擊者如果在本地或者已經取得手機部分權限的情況下,可以利用物聯網設備訪問控制模型的安全問題進行攻擊.例如Sivakumaran等人[60]發現,在安卓系統中手機App與IoT設備配對完成后,如果設備上裝有攻擊者的App且有藍牙權限,可以與此IoT設備的藍牙連接,如果設備沒有實現額外的通信加密,將會導致惡意App也可以控制IoT設備.

設備端應用層的訪問控制漏洞比較復雜,主要發生于設備端允許多種控制主體的情況下.值得注意的是,設備端應用層漏洞與設備端感知層漏洞具有顯著區別,感知層漏洞主要是設備軟硬件本身的安全漏洞,而設備端應用層漏洞則主要利用設備狀態機模型和控制邏輯的問題.例如,Jia等人[76]發現,一臺設備可能被多個控制主體同時控制,如Apple HomeKit和設備廠商的云服務,這2種控制方式的狀態機完全獨立,當設備主人沒有占用Apple HomeKit的控制通道,一個潛在的攻擊者可以悄無聲息地占用這條控制通道.借助于這種多通道控制,一個設備可以在應用層對應多個主人.

3.3.5 小 結

應用層攻擊面總結如表3所示.應用層在物聯網架構中具有最高的計算和存儲能力,因而在訪問控制中也主要承擔策略的維護和權限的下發.由于物聯網信任鏈的風險傳遞,存在邏輯缺陷或機制不對等的云、應用、設備或接口成為了訪問控制安全性的短板,引發訪問控制機制與協議缺陷、系統漏洞等攻擊面.

Table 3 Application Layer Access Control Attack Surface

4 物聯網訪問控制安全性解決方案

如2.2節所述,已經有相關工作提出了物聯網訪問控制框架的特性與原則,但并未針對安全性問題進行細致的研究探索.為了實現安全的物聯網訪問控制,需要結合物聯網的特性,滿足4點要求:

1)機制完善

物聯網結構與數據流轉復雜,因此,需要更加細致、完善的訪問控制機制與流程.

2)應對攻擊面

安全的訪問控制除了在機制上要完善,還應該在具體的技術建設層面解決脆弱點與攻擊面帶來的安全風險.

3)多級認證與授權

由于物聯網的數據流轉在多個層次之間進行流轉,存在信任鏈條的傳遞,在每一個環節都可能存在不同類型的風險,因此,安全的物聯網訪問控制應該向著多級認證、逐級授權的細粒度方向演進.

4)結合具體場景

物聯網與人類社會的生產生活息息相關,其業務場景包括了智能家居、智慧醫療、工業控制、車聯網等,不同場景的數據敏感程度與被控風險程度有所不同,在具體建立訪問控制時需要結合具體場景進行設計規劃.

本節圍繞訪問控制在物聯網架構各個層次中的攻擊面以及各個層次在訪問控制中的角色,對現有的訪問控制安全性解決方案的相關研究進行歸納總結.

4.1 感知層訪問控制安全性解決方案

感知層主要包含設備及設備上搭載的傳感器.在訪問控制場景中,一方面作為主體,負責收集數據作為身份認證信息;另一方面負責執行云端通過認證與授權后下發的指令.

4.1.1 傳感器層面

傳感器在物聯網系統中廣泛存在,其形式多樣、種類豐富,在物聯網架構中扮演著收集信息的角色,其主要的訪問控制安全威脅在于收集到的有關身份認證的信息(如指紋、聲紋等)可能被篡改、被偽造,因此,很多研究工作從信息防偽造的角度著手,強化傳感器層面的訪問控制安全.

在傳感器層面,大多數的訪問控制解決方案需要針對特定傳感器的特定攻擊方法來實施,比如較為常見的指紋和聲紋偽造2種場景.針對指紋傳感器欺騙檢測的方法一般分為2類[45]:基于硬件的檢測和基于軟件的檢測.

對于硬件檢測,可以通過增加傳感器設備來收集生命特征,比如溫度、血壓、導電率等,這種硬件檢測方法準確度較高但增加了設備的成本,且無法應用于舊設備中.

軟件檢測僅通過增強對圖像的識別來區分真實指紋和偽造的指紋[77].目前基于機器學習的軟件圖像檢測方法較為流行,比如Xia等人[78]提出了一種新的韋伯局部二值描述符(Weber local binary descriptor, WLBD)用于指紋活性檢測,他們在原有的韋伯局部描述符的基礎上進行了改進,并在公共數據庫中取得了更好的準確性.而對于聲紋偽造的識別,可以從不同的角度進行分析,比如口腔運動、咽部震動、磁場、聲場分析.Yan等人[79]通過聲音在空氣中傳播產生的聲能物理場來區分人類和揚聲器,實現了一種與文本無關的人聲驗證方法CaField,在多種語音輸入的測試中實現了99.16%的檢測準確率.

4.1.2 設備層面

設備感知層的訪問控制模型較簡單,攻擊面與傳統的嵌入式設備攻擊面大致相同,主要的薄弱點為設備軟硬件漏洞,因此設備層面的安全防御主要是漏洞的發現和修復以及可信計算加固,防止潛在的漏洞利用等.

文獻[80]提出了一種針對物聯網設備的自動模糊測試框架IoTFuzzer,它可以在不獲取固件的情況下發現物聯網設備中的內存安全漏洞,通過分析可以操作物聯網設備的移動App的代碼來生成測試樣例,再使用API鉤子對目標物聯網設備進行測試.在文獻[80]的作者給出的測試結果中,IoTFuzzer成功識別到17臺物聯網設備中的15個內存安全漏洞.而Zheng等人[81]實現的FIRM-AFL框架可以用于物聯網設備固件的灰盒測試.與文獻[80]不同的是,FIRM-AFL需要對物聯網設備固件進行仿真運行,文獻[81]提出了一種增強過程仿真的技術,結合了全系統仿真和用戶態仿真,提升了仿真的運行效率.文獻[81]的評估表明,FIRM-AFL可以發現現實物聯網設備固件中的漏洞,并且平均吞吐量可以達到全系統仿真的8.2倍.除了使用自動模糊測試的手段及時發現漏洞外,還可以通過可信執行環境、控制流保護、數據執行保護等手段防御漏洞攻擊.在物聯網設備中提供可信執行環境可以隔離可信應用和普通應用,在一定程度上緩解了遠程漏洞攻擊影響,保證了可信應用的安全,同時也可以避免具有物理權限的攻擊者提取敏感信息.

文獻[82]中對比了2種目前可用于物聯網設備的可信執行環境,即ARM TrustZone和安全控制器(security controller, SC),發現ARM TrustZone更加靈活高效,但安全控制器能更有效地抵抗物理入侵.而物聯網設備的控制流保護也可以在一定程度增加漏洞攻擊的利用難度,避免攻擊者利用漏洞控制物聯網設備,從而直接打破訪問控制體系.文獻[83]中提出了一個名為Silhouette的編譯器執行流保護技術,可以用于常見的嵌入式設備中,該技術可以有效地保護返回地址的完整性,緩解了控制流執行攻擊.感知層設備作為物聯網系統的數據來源,任何的漏洞攻擊都會導致整個系統的訪問控制失效,因此設備中的軟件和硬件都應實施一定程度上的漏洞防御機制才能保護整個物聯網系統的安全.

4.2 網絡層訪問控制安全性解決方案

網絡層在物聯網中主要負責數據的傳輸,為了更安全地訪問控制,需要保障數據傳輸過程中的安全,通過完善加密算法、傳輸協議等避免訪問控制場景中的身份認證信息、授權信息被竊取或篡改.

4.2.1 網絡層近場通信

面對網絡層近場通信的安全威脅通常有2種解決方案:

1)設計全新的安全通信協議,使其不僅適用物聯網的低功耗、低成本的需求特性,并且盡可能保障通信的安全,安全的設計貼合物聯網的復雜架構.Luo等人[84]提出了一種適用于異構物聯網環境的輕量級近場通信協議,基于對稱密鑰和混沌系統實現了設備間的安全通信.

2)在原有協議的基礎上進行擴展或者改進,利用擴展部分保障原有通信協議的安全或者改進原有協議以便消除威脅.Fawaz等人[57]針對由于BLE設備廣播的訪問控制失效引起的安全威脅提出了BLE-Guardian系統,用于保護BLE設備、物聯網用戶、環境的隱私.Alshahrani等人[85]基于ZigBee提出了一種新的協議,實現了物聯網設備間的相互認證,并且使得認證具備匿名性,同時多角度評估驗證了協議的安全性.Wang等人[86]提出了一種新的無證書ZigBee加入協議,解決了由ZigBee預共享密鑰泄露導致的訪問控制失效問題.Wu等人[87]提出了LIGHTBLUE工具,該工具應用控制流和數據流分析的組合來刪除BLE主機中未使用的代碼,最大限度地減少了攻擊面,減少了由于訪問控制失效等導致的各種安全威脅.

4.2.2 網絡層遠場通信

網絡層遠場通信的安全威脅解決方案與近場通信的解決方案類似,通常有2種方案:1)設計新的適用于物聯網遠場通信并有安全通信保障的新協議;2)在原有協議基礎上進行擴展或改進.Kumar等人[88]設計實現了物聯網端對端加密協議JEDI(Joining Encryption and Delegation for IoT),可以用于解耦多對多通信,具有對數據的細粒度訪問和支持密鑰過期等各種適用于物聯網遠場通信的特性,特別是低成本、低功耗特性;JEDI協議還允許主體將密鑰委托給其他主體,從而授予對數據的訪問權限,并以可擴展的分布式方式管理訪問控制.Jia等人[20]提出了新的控制關鍵協議實體的設計原則和增強訪問模型MOUCON(message-oriented usage control model),以解決MQTT缺乏協議內實體保護和原始的MQTT協議的安全模型不支持身份、消息、會話狀態等保護導致的安全威脅.Lohachab[89]基于橢圓曲線密碼體制和MQTT協議提出了一種適用于分布式物聯網環境的輕量級認證和授權框架.

4.3 應用層訪問控制安全性解決方案

應用層包含云平臺和用戶App,其中存在云平臺與用戶的交互、云平臺與設備的交互、云平臺與云平臺之間的交互等,在各種類型的交互中都存在著訪問控制過程.而應用層在物聯網架構中作為具備高性能運算與存儲的層次,需要建立更完善的訪問控制模型、更安全的認證與授權機制.

4.3.1 基于云平臺上云應用行為的訪問控制

目前,云平臺中云應用所廣泛運用的訪問控制系統均基于權限,多項研究[90-92]已經證明基于權限的訪問控制系統因其控制粒度不足,無法控制應用獲得權限后的使用方式,使其仍不能阻止云應用的惡意行為.當前的學者為了解決這個問題,主要通過不同方式收集當前應用的行為,直接對應用行為進行安全審計,從而構建擁有更加細致的控制粒度的訪問控制系統,這讓應用即使擁有權限也無法做出惡意的行為.

目前的研究方向有3種,分別通過靜態分析、動態插樁和監聽流量來收集應用行為.

1)靜態分析.直接對應用的代碼進行行為分析,判斷應用是否存在惡意的行為.例如:SOTERIA[92]和SAINT[93]均通過靜態分析來識別應用的行為.其中,SAINT主要跟蹤應用中的信息流,避免用戶敏感信息的泄露;而SOTERIA則主要分析應用中對IoT設備的控制,構建設備的狀態機并分析安全性,防止惡意應用控制IoT設備,從而危害用戶的生命財產安全.

2)動態插樁.通過在已有的代碼中手動或者自動的方式插入用于審計的代碼,從而直接限制數據的流向或者在運行時收集上下文信息并分析出當前應用的行為.其中FlowFence[94]通過開發人員在當前應用代碼上增加、修改代碼來控制數據的流向從而實現動態插樁,使得敏感數據只能流向預期的目標.ContexIoT[90],Tyche[91],ProvThings[95],IoTGuard[96],SmartAuth[97]均實現了自動插樁,不需要額外消耗開發人員的時間,能夠自動跟蹤數據的流向并分析程序操控IoT設備的行為.例如ContexIoT,ProvThings等還實現了用戶界面,允許向用戶警告程序的危險行為,讓用戶決定是否放行;而SmartAuth還額外有一套基于自然語言處理(natural language processing, NLP)的分析系統,可以自動獲得程序正常的行為,從而減少向用戶告警的次數.

3)監聽流量.這個方面最具有代表性的解決方案是Homonit[98],其通過解析捕捉到ZigBee或者Z-wave等無線協議的流量,然后將這些流量中的特征進行分析從而得出應用是否存在不當行為.這種方式相對來說限制較小,不需要應用的源代碼也可以對應用的行為進行檢測,但是也最容易受到干擾導致誤報.

4.3.2 統一且去中心化的云平臺對接授權協議

在當前的云平臺與云平臺對接中,主要沿用了互聯網中的OAuth協議,其作為一個集中式的權限管理協議,容易導致系統被攻陷后憑據被攻擊者獲取從而使得其破壞訪問控制,因此授權協議應該是去中心化的.對于這個問題,已經有Andersen等人[72]和Fernandes等人[99]給出了WAVE和XToken的解決方案,他們都使用了基于密碼學的方法,將集中式的權限模型變為分布式的權限模型,這使得即使一方權限被攻陷,攻擊者也無法完全控制其所擁有的權限.另外,由于OAuth并非為IoT場景所設計,對接時往往需要傳遞額外的信息,比如設備、用戶相關的資料,而這些信息本身可能是需要保密的,卻可能被對接方錯誤地泄露出去,導致訪問控制問題.為了解決這個問題,需要目前的云平臺聯合起來,基于XToken,WAVE等去中心化協議,共同商議出一套統一的對接授權協議.

4.3.3 云平臺設備綁定

目前發現的設備綁定時漏洞的成因主要來自于在更改綁定狀態模型時沒有驗證綁定狀態轉換的合法性和認證時使用靜態設備身份認證信息.為此,應研究動態生成的設備綁定信息和經過驗證的綁定狀態模型.IoT設備的設備ID等信息應在注冊時由云平臺通過算法生成后下發,而不是在出廠時硬編碼進芯片中,并且生成算法中應包含用戶ID、隨機數等難以被攻擊者猜測、枚舉出的信息.同時,為了防止攻擊者進行惡意的綁定狀態轉換,云平臺在對綁定狀態進行轉換時,應驗證狀態轉換請求的發送用戶的綁定狀態、目標綁定的設備狀態和請求消息中的認證信息,避免狀態的非法轉換[74].

4.4 小 結

當前物聯網訪問控制安全性解決方案總結如表4所示.總結當前的物聯網訪問控制安全性解決方案相關研究,漏洞的檢測是各個層次都重點關注的研究方向.而根據訪問控制業務功能的區別,各層次的安全性解決方案也有所側重.其中,感知層側重認證信息偽造的規避;網絡層側重通信協議的安全加固;應用層側重認證與授權機制以及協議的設計和完善.

Table 4 Security Solution of IoT Access Control

根據當前的相關研究,物聯網訪問控制側重架構與機制的設計、移植和應對攻擊面的安全解決方案研究,在架構與安全性整體化設計方面還有所欠缺.

5 挑戰與機遇

本節針對當前安全的物聯網訪問控制所面臨的困難與挑戰進行了總結.

1)物聯網設備種類規模巨大在當前環境下,物聯網已經廣泛滲透到各行各業中,在智能家居、智慧城市、工業4.0等各種場景中,都可以看到大量物聯網設備的影子.規模如此巨大的物聯網設備對訪問控制系統的性能和架構提出了巨大的挑戰.除了規模巨大,物聯網設備由于在不同場景下的廣泛運用,其種類也同樣繁多,這些設備往往都針對特定場景進行了特殊的設計,導致不同設備之間存在巨大差異,包括計算能力、處理器架構、操作系統等多個方面,這使得訪問控制系統不僅需要覆蓋到所有場景下不同的設備類型,還要協調擁有不同特性的設備遵守其控制.為解決這些問題,需要研究讓訪問控制系統在擁有強大性能的同時還擁有良好的安全性和兼容性的方法.

2)物聯網安全架構復雜

物聯網設備由于其天生的“萬物互聯”特性,一般采用分布式部署,物聯網設備之間會直接進行通信而不依賴額外的中心服務器進行中轉.但同時由于物聯網設備需要提供給用戶使用,一般仍然會存在一個中心的服務用于對用戶提供接入、下發用戶的命令或者接受來自設備的信息.這種復雜的中心化與去中心化混合的架構對訪問控制系統提出了巨大的挑戰,系統需要同時滿足設備、用戶、云端服務三者之間的訪問控制,使得安全架構非常復雜,難以保證安全性.然而,當前的訪問控制系統通常只著力于兩者之間的訪問控制,例如用戶和設備之間的訪問控制,而忽略云端,目前需要一種新的訪問控制系統能夠同時滿足三者之間的安全訪問控制,但同時保證系統能夠適應物聯網的特殊環境而不會變得過于復雜.

3)解決方案以點為主缺乏統一

目前現有的物聯網系統為了保證安全性,一般都會存在訪問控制系統,但由于缺少類似互聯網Web中的OAuth,XACML等統一的訪問控制框架和協議,使得各個物聯網系統均為“點”,需要通過自己編寫實現的系統進行訪問控制.這些系統往往缺少相關安全性測試,無法保證用戶和設備的安全,且這些系統也無法互相對接,讓“點”無法連成“線”和“面”,導致各個系統之間無法在保證安全的情況下方便地共享數據,與“萬物互聯”的理念相違背.因此,需要研究人員和當前廣大的物聯網設備公司進行合作,開發出一套統一而具有通用性的訪問控制系統.

6 未來研究方向

為了實現更安全、更高效的物聯網訪問控制,本節提出了3個未來研究方向.

1)深入研究物聯網云平臺訪問控制

云平臺作為物聯網的數據中心和控制中心,其中接入了大量的設備并存儲了大量的數據,一旦訪問控制失效,將造成嚴重危害.然而,目前云平臺的訪問控制問題是物聯網訪問控制問題中的重災區,包括云平臺內部訪問控制問題、云平臺間的訪問控制問題,以及云平臺與設備、手機App等交互時的訪問控制問題.由于云平臺內部的復雜性、云平臺中應用和設備的多樣性、不同云平臺廠商間的封閉性,以及云和設備、協議之間的安全鴻溝,目前難以找到統一適用的訪問控制模型解決云平臺的訪問控制問題.深入研究物聯網云平臺訪問控制,是未來亟需研究的方向之一.

2)研究物聯網云對接標準化

當前物聯網云平臺廠商各自都有自己的對接標準和訪問控制機制,這些對接標準和訪問控制機制能夠很好地適配本廠商生產的設備,然而面對其他廠商生產的設備接入,或者本廠商生產的設備接入其他云平臺時,就會引發訪問控制失效問題.由于物聯網具有分布式、靈活、動態接入的特性,很多廠商不僅允許與本廠商的IoT設備進行連接,還允許與其他廠商的云平臺進行連接,甚至允許與自建云平臺進行連接,這些連接過程由于不同的廠商有不同的標準規范,對連接后的平臺和設備的訪問控制安全性造成了極大的沖擊.為延續物聯網分布式、靈活、動態接入的特性,并使得對接入后的平臺和設備的安全性得到保證,本文認為標準化這些對接過程是非常必要的.

3)在物聯網訪問控制中引入零信任理念

在應對物聯網場景中的應用安全、網絡安全、數據安全方面,僅在傳統安全方案的基礎上做邊界加固和單點增強,難以系統性地緩解各類安全威脅,而零信任是一個新興的模型,作為一種可以支撐未來發展的安全防護方式正逐漸受到越來越多的關注.零信任模型并非全盤否定,而是秉承網絡始終存在內部和外部威脅,所有的設備、用戶和流量在驗證前不存在固有信任的原則,堅持持續驗證、最小權限.因此,訪問控制作為物聯網場景中數據安全和網絡安全防護的重要關口,需要引入零信任模型的理念進行物聯網場景的適配和流程架構的設計,從而實現動態、實時、持續、精準、安全的訪問控制.

7 總 結

近年來物聯網安全事件頻發,物聯網安全越來越得到重視.而訪問控制作為保護資源和信息的關鍵機制,在物聯網生態中發揮著重要作用.本文針對物聯網訪問控制的安全性進行了充分的調研梳理,從物聯網的3個層次分別展開,分析了每個層次中存在的風險脆弱點以及對應的攻擊面,總結了近年來針對這些攻擊面的防御理論和方法,并提出了物聯網訪問控制安全性設計要求.基于現有的理論研究基礎,分析了安全的物聯網訪問控制中存在的挑戰,最后給出了未來的研究熱點.

作者貢獻聲明:劉奇旭負責論文的總體規劃、指導與論文的撰寫工作;靳澤負責論文主要內容的調研和撰寫;陳燦華、高新博、鄭寧軍分層次負責相關工作的調研和梳理;方儀偉負責相關文獻的整理和內容校對工作;馮云負責論文內容和結構的梳理.

猜你喜歡
通信協議訪問控制聯網
一種跨策略域的林業資源訪問控制模型設計
“身聯網”等五則
《物聯網技術》簡介
《物聯網技術》簡介
簡述傳感器在物聯網中的應用
云的訪問控制研究
云計算訪問控制技術研究綜述
電動汽車充電接口及通信協議新國標發布
基于R8C的汽車OBD通用故障診斷儀設計
SIP協議系統模型的形式化研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合