隨著物聯(lián)網(wǎng)行業(yè)的發(fā)展,物聯(lián)網(wǎng)(IOT)的安全也會越來越重要。一旦出現(xiàn)網(wǎng)絡(luò)攻擊事件,將有可能造成物聯(lián)網(wǎng)設(shè)備失控、采集到的信息被篡改,物聯(lián)網(wǎng)平臺中的敏感數(shù)據(jù)泄漏等嚴(yán)重后果。
在探討物聯(lián)網(wǎng)的安全建設(shè)之前,首先科普一下物聯(lián)網(wǎng)的常見架構(gòu)。
1、物聯(lián)網(wǎng)的網(wǎng)絡(luò)架構(gòu)
有些物聯(lián)網(wǎng)設(shè)備可以直接跟物聯(lián)網(wǎng)應(yīng)用系統(tǒng)通信,整個系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)比較簡單。
但很多簡單的物聯(lián)網(wǎng)設(shè)備需要網(wǎng)關(guān)作為中轉(zhuǎn)。這些物聯(lián)網(wǎng)設(shè)備通常配置都比較低,帶寬、電池、性能都有限,只能采用一些非IP的協(xié)議,沒法直接在互聯(lián)網(wǎng)中傳輸。這些設(shè)備可以先連接到區(qū)域內(nèi)的物聯(lián)網(wǎng)網(wǎng)關(guān),網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換后,再向上傳輸數(shù)據(jù)。
為了讓應(yīng)用系統(tǒng)更專注于業(yè)務(wù)邏輯的處理,物聯(lián)網(wǎng)系統(tǒng)的設(shè)備管理、數(shù)據(jù)預(yù)處理等等基礎(chǔ)服務(wù)通常會抽離出來,單獨(dú)形成一個物聯(lián)網(wǎng)平臺。
物聯(lián)網(wǎng)平臺是應(yīng)用系統(tǒng)的基礎(chǔ)平臺,負(fù)責(zé)管理物聯(lián)網(wǎng)設(shè)備和連接,以及對采集的數(shù)據(jù)進(jìn)行處理、建模。處理好的數(shù)據(jù)存在平臺中,隨時被應(yīng)用系統(tǒng)調(diào)用。
2、物聯(lián)網(wǎng)設(shè)備
物聯(lián)網(wǎng)設(shè)備常常用于采集數(shù)據(jù)和遠(yuǎn)程控制。物聯(lián)網(wǎng)設(shè)備的種類很多,攝像頭、溫度傳感器、智能水表等等都是物聯(lián)網(wǎng)設(shè)備。
物聯(lián)網(wǎng)設(shè)備往往缺少防護(hù)能力,容易被攻擊者入侵,導(dǎo)致整個物聯(lián)網(wǎng)系統(tǒng)都受到威脅。
?。?)性能捉急,很少升級補(bǔ)漏洞
低功耗設(shè)備充電難,所以常常為了降低消耗而犧牲安全。為了降低消耗,IOT設(shè)備會采用簡單的網(wǎng)絡(luò)協(xié)議、小型的操作系統(tǒng)。
安全功能被認(rèn)為是最不重要的組件,通常會被砍掉。有的設(shè)備會完全不考慮以后要升級、打補(bǔ)丁、修復(fù)漏洞。
?。?)設(shè)備類型多,難以統(tǒng)一管控
一個IOT項目如果涉及了多種設(shè)備、多個供應(yīng)商,那么這個項目會很難進(jìn)行統(tǒng)一的安全性要求。
例如,一個很基本的安全要求--給每個設(shè)備分配一個合法身份標(biāo)識,防止黑客偽裝成合法設(shè)備接入物聯(lián)網(wǎng)平臺竊取數(shù)據(jù)。
這個要求就很難實(shí)現(xiàn)。因?yàn)樵O(shè)備種類很多,沒有一個統(tǒng)一的屬性作為身份ID。除非系統(tǒng)集成商非常強(qiáng)勢,否則根本無法要求設(shè)備供應(yīng)商定制設(shè)備硬件,燒錄一個統(tǒng)一的ID進(jìn)去。
(3)現(xiàn)場設(shè)備更易受攻擊
IOT設(shè)備部署在公共場所的話,很容易受到物理安全風(fēng)險的影響。黑客可能會嘗試通過設(shè)備接口攻入。
無線通信的IOT設(shè)備更容易被攻擊。只要在網(wǎng)絡(luò)傳輸覆蓋范圍內(nèi),理論上任何人都有可能接入網(wǎng)絡(luò)或?qū)W(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)進(jìn)行竊聽。
如果IOT設(shè)備與后端業(yè)務(wù)處于直連狀態(tài),大量無人值守的接入終端會被黑客利用。攻擊者可利用分散在各處的單個設(shè)備逐步滲透到整個網(wǎng)絡(luò)中,對核心業(yè)務(wù)系統(tǒng)展開攻擊,甚至竊取保密信息。
3、物聯(lián)網(wǎng)網(wǎng)關(guān)
物聯(lián)網(wǎng)網(wǎng)關(guān)最重要的作用就是協(xié)議轉(zhuǎn)換。IOT設(shè)備的通信協(xié)議非常多樣,碎片化嚴(yán)重。IOT網(wǎng)關(guān)統(tǒng)一對接各種協(xié)議的設(shè)備,把各類協(xié)議(如ZigBee、Lora、藍(lán)牙)統(tǒng)一轉(zhuǎn)換為標(biāo)準(zhǔn)協(xié)議(如MQTT、HTTP),與IOT平臺通信的協(xié)議。網(wǎng)關(guān)相當(dāng)于IOT設(shè)備和平臺之間的橋梁。
有的IOT網(wǎng)關(guān)也負(fù)責(zé)邊緣計算和存儲,這類網(wǎng)關(guān)往往價格更貴。例如,安全攝像機(jī)不需要全部數(shù)據(jù)都上傳,把異常情況的視頻過濾出來上傳就行。網(wǎng)關(guān)進(jìn)行了預(yù)處理,就可以減少傳輸需求。
IOT網(wǎng)關(guān)是第一道安全防線。連接到網(wǎng)關(guān)之后,眾多IOT設(shè)備不再暴露在互聯(lián)網(wǎng)上,只有網(wǎng)關(guān)是暴露的。這樣,惡意軟件和網(wǎng)絡(luò)攻擊的首要目標(biāo)就變成了網(wǎng)關(guān)。
4、物聯(lián)網(wǎng)網(wǎng)絡(luò)協(xié)議
不同的物聯(lián)網(wǎng)設(shè)備會使用不同的網(wǎng)絡(luò)協(xié)議。物理層和鏈路層的協(xié)議五花八門,有近距離的、有遠(yuǎn)距離的、有有線的、有無線的、有需要網(wǎng)關(guān)的、有不用網(wǎng)關(guān)的,非常多樣。應(yīng)用層最常用的物聯(lián)網(wǎng)協(xié)議是MQTT協(xié)議,數(shù)據(jù)以JSON格式傳輸。
MQTT是一種輕量級的、基于代理的“發(fā)布/訂閱”模式的消息傳輸協(xié)議。MQTT協(xié)議的特點(diǎn)是簡潔、小巧、省流量、省電。
MQTT協(xié)議最初的目的只是傳輸,在安全方面比較弱。MQTT協(xié)議中包含客戶端標(biāo)識以及用戶名和密碼,客戶端標(biāo)識可以使用芯片的MAC地址或者芯片序列號,用來驗(yàn)證IOT設(shè)備的身份。MQTT協(xié)議基于TCP,以明文傳輸。如果不用TLS加密,很容易受到中間人攻擊。但是使用TLS加密就需要耗費(fèi)更多資源,設(shè)備的成本會更高。
5、物聯(lián)網(wǎng)平臺和應(yīng)用
物聯(lián)網(wǎng)平臺是系統(tǒng)安全的中央控制點(diǎn)。物聯(lián)網(wǎng)設(shè)備和身份的管理一般都在平臺層。安全性是跨越整個生態(tài)系統(tǒng)的。控制了這層就可以輕松控制整個網(wǎng)絡(luò),所以這層會吸引越來越多的攻擊者。
設(shè)備管理模塊應(yīng)該對各種設(shè)備的狀態(tài)進(jìn)行全天候檢測、預(yù)測和評估。保證生產(chǎn)線和客戶現(xiàn)場的設(shè)備高質(zhì)量運(yùn)行。一旦發(fā)生異常,應(yīng)該及時觸發(fā)報警。
身份管理模塊對所有設(shè)備進(jìn)行身份驗(yàn)證。
策略管理模塊對訪問權(quán)限進(jìn)行配置。使平臺有能力及時中斷非法的連接和會話。
物聯(lián)網(wǎng)平臺和物聯(lián)網(wǎng)應(yīng)用本身所面臨的安全問題與普通應(yīng)用幾乎一樣,這里不再贅述。
6、物聯(lián)網(wǎng)行業(yè)現(xiàn)狀
?。?)安全意識薄弱
只有特別重視安全的項目才會考慮安全性。很多傳統(tǒng)行業(yè)缺乏網(wǎng)絡(luò)安全意識和經(jīng)驗(yàn),長期忽視安全,產(chǎn)生了很多安全問題。知名的Shodan IoT搜索引擎發(fā)現(xiàn),互聯(lián)網(wǎng)上暴露了將近五萬個MQTT服務(wù)器。其中,大約有三萬臺沒有密碼保護(hù)。
(2)法律監(jiān)管正在起步
如果沒有任何法規(guī),設(shè)備制造商不會在安全性上花錢。目前,國內(nèi)已經(jīng)出臺了物聯(lián)網(wǎng)的等保要求。相信未來物聯(lián)網(wǎng)行業(yè)會越來越重視安全。
7、常見的物聯(lián)網(wǎng)攻擊
近年來,針對物聯(lián)網(wǎng)的攻擊逐年增多。例如針對網(wǎng)絡(luò)攝像頭、智能門鎖的攻擊,造成了大量敏感數(shù)據(jù)泄露、財產(chǎn)損失。還有著名的物聯(lián)網(wǎng)僵尸病毒Mirai曾導(dǎo)致美國、德國大面積斷網(wǎng)。
總結(jié)近年來的安全事件,其中常見的物聯(lián)網(wǎng)攻擊類型包括:
(1)IOT設(shè)備盜用、物理篡改
(2)針對暴露在互聯(lián)網(wǎng)上的設(shè)備、網(wǎng)關(guān)、服務(wù)器的DDoS攻擊
?。?)物聯(lián)網(wǎng)通信的攔截、竊密、重定向
(4)身份欺騙和偽裝,密碼爆破,構(gòu)造虛假控制報文注入
?。?)協(xié)議竊聽、惡意基站中間人攻擊
?。?)物聯(lián)網(wǎng)木馬、惡意軟件
?。?)利用漏洞,利用不安全的OTA更新方法進(jìn)行軟件和固件攻擊
(8)利用過度授權(quán),進(jìn)行橫向攻擊
8、零信任安全方案
目前市面上專門針對物聯(lián)網(wǎng)的零信任產(chǎn)品寥寥無幾,不過零信任理念與物聯(lián)網(wǎng)場景是非常契合的。做物聯(lián)網(wǎng)項目時,可以參考零信任架構(gòu),完善系統(tǒng)的安全機(jī)制。
(1)身份是零信任的基礎(chǔ)
每個設(shè)備都應(yīng)該具有唯一的身份標(biāo)識,以便網(wǎng)關(guān)或平臺驗(yàn)證設(shè)備的身份,攔截非法設(shè)備,持續(xù)記錄合法設(shè)備的行為日志。
?。?.1)MAC地址是最簡單的身份標(biāo)識,比較容易被仿造。
(1.2)采集設(shè)備的更多信息如MAC、IP、系統(tǒng)等等,組合生成設(shè)備指紋,比單獨(dú)的MAC地址更安全。
?。?.3)還可以由物聯(lián)網(wǎng)平臺為設(shè)備單獨(dú)分配一個ID,燒錄到設(shè)備中去。
?。?.4)很多物聯(lián)網(wǎng)平臺通信時會采用雙向認(rèn)證,通過在設(shè)備內(nèi)部預(yù)置證書來識別設(shè)備身份。
(2)持續(xù)驗(yàn)證,動態(tài)授權(quán)
“持續(xù)驗(yàn)證”是零信任的核心理念。入侵行為是必然會發(fā)生的,所以對每個設(shè)備都應(yīng)該持續(xù)評估其安全信任等級,一旦發(fā)現(xiàn)異常,立即進(jìn)行隔離,避免出現(xiàn)更大損失。
(2.1)檢測設(shè)備是否有漏洞,如果設(shè)備系統(tǒng)版本過低,存在高危漏洞,則應(yīng)該隔離該設(shè)備,直到設(shè)備升級之后,才能繼續(xù)接入物聯(lián)網(wǎng)。
?。?.2)對設(shè)備的行為規(guī)律建模,檢測近期是否存在異常行為,如越權(quán)訪問其他端口、異常的訪問次數(shù)、異常的流量大小、異常的訪問時間等等。因?yàn)槲锫?lián)網(wǎng)設(shè)備的行為相對固定,所以一旦發(fā)現(xiàn)異常行為,應(yīng)立即告警。
?。?)零信任網(wǎng)關(guān)減小攻擊面
零信任架構(gòu)中的核心部分是“安全網(wǎng)關(guān)”。零信任網(wǎng)關(guān)一般部署在網(wǎng)絡(luò)入口,合法用戶在零信任客戶端登錄之后,才能通過網(wǎng)關(guān)進(jìn)入網(wǎng)絡(luò)。
零信任網(wǎng)關(guān)與物聯(lián)網(wǎng)網(wǎng)關(guān)的作用很類似,不過由于很多物聯(lián)網(wǎng)設(shè)備是啞終端,沒法安裝零信任客戶端。所以,沒法把兩種網(wǎng)關(guān)結(jié)合在一起。
一般市面上常見的物聯(lián)網(wǎng)零信任架構(gòu)是:在物聯(lián)網(wǎng)網(wǎng)關(guān)上安裝“零信任客戶端”,在物聯(lián)網(wǎng)平臺之前部署“零信任網(wǎng)關(guān)”。零信任管控端負(fù)責(zé)通信過程的策略管控。
?。?.1)零信任網(wǎng)關(guān)只對合法客戶端開放端口,未知用戶無法探測到零信任網(wǎng)關(guān)和物聯(lián)網(wǎng)平臺的存在。(具體原理可以看看我的另一篇文章《揭秘零信任里的“隱身”黑科技》)
(3.2)零信任網(wǎng)關(guān)限制合法客戶端的訪問權(quán)限,未授權(quán)的系統(tǒng)也是無法探測到的。
?。?.3)零信任網(wǎng)關(guān)可以“統(tǒng)一管控”物聯(lián)網(wǎng)和運(yùn)維人員的接入,運(yùn)維人員也需要登錄零信任客戶端才能接入數(shù)據(jù)中心。
(3.4)零信任網(wǎng)關(guān)的訪問控制功能比簡單的IP白名單更加靈活,更加安全。如果IOT項目比較復(fù)雜,那么IP白名單會非常難以維護(hù)。
如果IOT設(shè)備本身比較高端,可以安裝零信任客戶端的話,那效果會更好。零信任的保護(hù)可以覆蓋整個通信過程。
?。?)零信任保護(hù)MQTT服務(wù)器
在一些智能家居的場景中,MQTT服務(wù)器(MQTT代理)是暴露的,非常容易被黑客利用漏洞攻擊。
這種場景下,零信任網(wǎng)關(guān)可以保護(hù)MQTT服務(wù)器,只允許安裝了零信任客戶端的用戶設(shè)備訪問,對其他人都是隱身的。這樣可以避免被網(wǎng)上爬蟲探測到漏洞,避免黑客入侵控制智能設(shè)備。(下圖沒畫管控端,管控端單獨(dú)部署即可)
5、總結(jié)
對物聯(lián)網(wǎng)來說,安全是一件奢侈的事情。目前,物聯(lián)網(wǎng)處于初級階段,還在“造橋鋪路”,顧不上“裝欄桿”。但是對安全非常敏感的物聯(lián)網(wǎng)系統(tǒng)應(yīng)該考慮采用零信任框架,增強(qiáng)對物聯(lián)網(wǎng)設(shè)備的隔離和訪問控制能力。