物聯(lián)網(wǎng)系統(tǒng)攻擊登上新聞?lì)^條,網(wǎng)絡(luò)、邊緣節(jié)點(diǎn)和網(wǎng)關(guān)不斷暴露出安全漏洞。最近,Mirai僵尸網(wǎng)絡(luò)通過(guò)登錄到運(yùn)行telnet服務(wù)器且未更改默認(rèn)密碼的設(shè)備,感染了愈250萬(wàn)物聯(lián)網(wǎng)節(jié)點(diǎn)。Mirai后來(lái)發(fā)展到能夠引發(fā)服務(wù)器拒絕服務(wù),導(dǎo)致全球很大一部分的互聯(lián)網(wǎng)接入中斷。Reaper僵尸網(wǎng)絡(luò)通過(guò)利用軟件漏洞并感染系統(tǒng),攻擊了愈一百萬(wàn)臺(tái)物聯(lián)網(wǎng)設(shè)備。一個(gè)接入互聯(lián)網(wǎng)的魚缸提供了侵入賭場(chǎng)網(wǎng)絡(luò)的入口點(diǎn),導(dǎo)致10 GB數(shù)據(jù)被盜。智能電視已被用于間諜和監(jiān)視活動(dòng)。
嵌入式傳感器系統(tǒng)已開(kāi)始聯(lián)網(wǎng)并暴露于互聯(lián)網(wǎng)之中。作為工業(yè)物聯(lián)網(wǎng)(IIoT)的一部分,這些傳感器沒(méi)有像Web服務(wù)器那樣在惡劣的環(huán)境中經(jīng)歷二十年的演進(jìn)。因此,該行業(yè)正在目睹這些系統(tǒng)遭受20世紀(jì)90年代及更早期常見(jiàn)的很多攻擊。工業(yè)物聯(lián)網(wǎng)系統(tǒng)的生命周期通常要比傳統(tǒng)計(jì)算系統(tǒng)的生命周期長(zhǎng)得多。一些設(shè)備在部署后可能會(huì)持續(xù)運(yùn)行數(shù)十年,而維護(hù)計(jì)劃則不明。
服務(wù)器和PC非常復(fù)雜,足以支持設(shè)置安全措施,但工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)的功耗和處理能力通常很低,為設(shè)置安全措施而留下的功耗預(yù)算很小。由于涉及開(kāi)發(fā)成本,安全在很大程度上是權(quán)衡的結(jié)果。雖然工業(yè)物聯(lián)網(wǎng)的成本可能高于消費(fèi)物聯(lián)網(wǎng),但其在可擴(kuò)展性成本方面仍然面臨挑戰(zhàn)。如果忽視安全性,產(chǎn)品部署后將會(huì)產(chǎn)生隱藏的影響,這些成本最終也需要解決。
傳感器和執(zhí)行器使得工業(yè)物聯(lián)網(wǎng)設(shè)備能與物理世界進(jìn)行交互。網(wǎng)絡(luò)攻擊主要限于數(shù)據(jù)丟失,但通過(guò)工業(yè)物聯(lián)網(wǎng)攻擊,黑客比以往更容易侵入物理世界?,F(xiàn)在的攻擊有可能造成人身傷害。這在工業(yè)物聯(lián)網(wǎng)中更為顯著,因?yàn)楣收峡赡軐?dǎo)致價(jià)值數(shù)百萬(wàn)美元的工業(yè)流程被關(guān)閉或摧毀,或者引發(fā)危及生命的情況。
聯(lián)網(wǎng)世界
工業(yè)物聯(lián)網(wǎng)設(shè)備一般會(huì)連接到某種網(wǎng)絡(luò),常常是互聯(lián)網(wǎng)。正是這種連接導(dǎo)致其最容易受到攻擊。與流行病學(xué)相似,感染是通過(guò)與其他機(jī)器的接觸而傳播。攻擊途徑存在于系統(tǒng)與外界交互的地方。攻擊者之所以能夠與系統(tǒng)進(jìn)行交互,完全是因?yàn)槠淠苓B接訪問(wèn)系統(tǒng)。需要問(wèn)的第一個(gè)系統(tǒng)設(shè)計(jì)安全問(wèn)題是:“設(shè)備是否真的需要連接到網(wǎng)絡(luò)?”將其連接到網(wǎng)絡(luò)會(huì)顯著增加安全風(fēng)險(xiǎn)。
保護(hù)系統(tǒng)的最佳方式是阻止其連接到網(wǎng)絡(luò),或?qū)⑵湎拗圃诜忾]網(wǎng)絡(luò)中。許多工業(yè)物聯(lián)網(wǎng)設(shè)備聯(lián)網(wǎng)的原因僅僅是因?yàn)樗鼈兡苈?lián)網(wǎng),而沒(méi)有其他什么理由。讓設(shè)備聯(lián)網(wǎng)的利益是否超過(guò)與此相關(guān)的安全風(fēng)險(xiǎn)?另外,任何其他與聯(lián)網(wǎng)系統(tǒng)進(jìn)行交互的遺留系統(tǒng)也可能面臨風(fēng)險(xiǎn)。
很多情況下,本來(lái)安全的網(wǎng)絡(luò)和節(jié)點(diǎn)還必須與已有舊網(wǎng)絡(luò)進(jìn)行互操作,而這種老式網(wǎng)絡(luò)本身的安全性可能要差很多。這就帶來(lái)一個(gè)新問(wèn)題:最弱的安全風(fēng)險(xiǎn)可能超出了工業(yè)物聯(lián)網(wǎng)系統(tǒng)的影響范圍。在這種情況下,工業(yè)物聯(lián)網(wǎng)系統(tǒng)也需要防范來(lái)自系統(tǒng)內(nèi)部的風(fēng)險(xiǎn)。
節(jié)點(diǎn)的安全考慮:
* 保密性——防止數(shù)據(jù)泄露給未獲授權(quán)的人,例如防范仿冒攻擊* 身份驗(yàn)證——在兩臺(tái)機(jī)器之間使用數(shù)字證書驗(yàn)證身份* 安全引導(dǎo)——ROM引導(dǎo)加載程序存儲(chǔ)器驗(yàn)證二級(jí)引導(dǎo)加載程序的真實(shí)性* 安全固件更新——僅認(rèn)可制造商提供的授權(quán)代碼* 授權(quán)——只有正品節(jié)點(diǎn)才能獲得網(wǎng)絡(luò)訪問(wèn)權(quán)限* 完整性——保護(hù)數(shù)據(jù)不被更改* 記錄——正確記錄數(shù)據(jù)、節(jié)點(diǎn)數(shù)和時(shí)間戳有助于防止對(duì)工業(yè)物聯(lián)網(wǎng)網(wǎng)絡(luò)的不受歡迎訪問(wèn)* 安全通信——使用能駐留在低功耗節(jié)點(diǎn)上的加密協(xié)議* 可用性——確保用戶在需要的時(shí)候可以訪問(wèn)* 認(rèn)可——確保無(wú)法拒絕真實(shí)的通信請(qǐng)求* 可靠性——即使在惡劣的電氣環(huán)境中,接入也必須可靠
圖1. 冒充已知節(jié)點(diǎn)欺騙網(wǎng)關(guān)的仿冒攻擊
隔離
系統(tǒng)彼此隔離可以減少攻擊面并限制惡意軟件的傳播。將不需要網(wǎng)絡(luò)連接的系統(tǒng)與暴露于網(wǎng)絡(luò)的系統(tǒng)隔離開(kāi)來(lái)。考慮建立一個(gè)單獨(dú)的隔空或嚴(yán)格監(jiān)控的網(wǎng)絡(luò),將它與其他高風(fēng)險(xiǎn)系統(tǒng)的網(wǎng)絡(luò)分開(kāi)。理想情況下,關(guān)鍵系統(tǒng)應(yīng)當(dāng)與外界完全隔離3。
聯(lián)網(wǎng)汽車的信息娛樂(lè)系統(tǒng)可能會(huì)讓車輛遭受許多前所未見(jiàn)的新攻擊。主發(fā)動(dòng)機(jī)控制單元(ECU)與信息娛樂(lè)系統(tǒng)毫無(wú)關(guān)系,不應(yīng)通過(guò)信息娛樂(lè)系統(tǒng)與之交互。雖然車輛中通常有兩條獨(dú)立的CAN總線,以將最重要的系統(tǒng)與其他系統(tǒng)隔開(kāi),但它們?nèi)砸阅撤N方式連接在一起,仍然有可能通過(guò)破壞一條總線而獲取對(duì)另一條總線的控制權(quán)。如果這些網(wǎng)絡(luò)之間完全隔離,那么類似風(fēng)險(xiǎn)將會(huì)從威脅生命的程度降低到遠(yuǎn)沒(méi)有那么嚴(yán)重的程度。
圖2. 可能感染工業(yè)物聯(lián)網(wǎng)系統(tǒng)的各類惡意軟件。
轉(zhuǎn)移至邊緣
許多工業(yè)物聯(lián)網(wǎng)系統(tǒng)連接到云服務(wù)器,云服務(wù)器收集并處理設(shè)備發(fā)送來(lái)的信息,同時(shí)也管理設(shè)備。隨著設(shè)備數(shù)量大幅增加,云可能難以跟上步伐。很多系統(tǒng)正在將處理向外轉(zhuǎn)移到工業(yè)物聯(lián)網(wǎng)設(shè)備的邊緣,以減少流向云的流量。
我們常常把數(shù)據(jù)視為資產(chǎn)。數(shù)據(jù)被挖掘和出售,以在大型數(shù)據(jù)集中發(fā)現(xiàn)隱藏模式。然而,收集到的大部分?jǐn)?shù)據(jù)通常不是很有用,但它對(duì)攻擊者可能有用。敏感數(shù)據(jù)為攻擊者提供了目標(biāo),因而也是問(wèn)題。對(duì)收集到的數(shù)據(jù)應(yīng)進(jìn)行過(guò)濾,只留下需要的部分,其余部分應(yīng)盡快刪除。這不僅能提高安全性,也能改善所收集數(shù)據(jù)的效用。識(shí)別潛在的敏感信息并禁止或限制其收集非常重要。
在邊緣處理數(shù)據(jù)可以減少發(fā)送和暴露給云的數(shù)據(jù)量。發(fā)送數(shù)據(jù)的地點(diǎn)越多,保密就越困難。每個(gè)新節(jié)點(diǎn)都是可能泄露數(shù)據(jù)的風(fēng)險(xiǎn)源。攻擊面呈指數(shù)式增長(zhǎng)。
把敏感數(shù)據(jù)留在邊緣以內(nèi)可以限制專門針對(duì)機(jī)密數(shù)據(jù)的攻擊面。如果將其限定在一個(gè)邊緣節(jié)點(diǎn)中,則數(shù)據(jù)不太可能被盜。
停車位占用傳感器如果執(zhí)行檢測(cè)和圖像處理,然后僅通過(guò)二進(jìn)制信號(hào)報(bào)告有無(wú)車輛存在,那么就無(wú)需傳輸視頻流,從而消除圖像中包含的大量不必要數(shù)據(jù)。這會(huì)減輕接收服務(wù)器的負(fù)擔(dān),使其不能被惡意監(jiān)視所利用。
與消費(fèi)物聯(lián)網(wǎng)系統(tǒng)類似,工業(yè)物聯(lián)網(wǎng)系統(tǒng)也有必須維護(hù)的專有和機(jī)密信息:
* 專有算法* 嵌入式固件* 客戶信息* 財(cái)務(wù)信息* 資產(chǎn)位置* 設(shè)備使用模式* 競(jìng)爭(zhēng)情報(bào)* 競(jìng)爭(zhēng)情報(bào)
霧模型
一些工業(yè)物聯(lián)網(wǎng)設(shè)備仍然缺乏邊緣處理所需的功能和性能。另一種拓?fù)浣Y(jié)構(gòu)——霧模型——正在興起,它是基于云和邊緣系統(tǒng)的混合體。在霧模型中,邊緣節(jié)點(diǎn)首先連接到網(wǎng)關(guān),網(wǎng)關(guān)接收數(shù)據(jù)并進(jìn)行一些處理,然后將數(shù)據(jù)發(fā)送到云端。許多工業(yè)物聯(lián)網(wǎng)設(shè)備可能共用一個(gè)網(wǎng)關(guān)。網(wǎng)關(guān)不需要采用電池供電,處理功耗的預(yù)算可以高很多,而且成本高于受限制的工業(yè)物聯(lián)網(wǎng)設(shè)備。
霧起源于擴(kuò)展性問(wèn)題,但在安全性方面也能發(fā)揮作用。網(wǎng)關(guān)設(shè)備可以幫助保護(hù)易受攻擊的邊緣節(jié)點(diǎn),邊緣節(jié)點(diǎn)受到的限制較多,可能無(wú)法自行保障安全性,但提供某種程度的保護(hù)比無(wú)任何保護(hù)會(huì)更好。網(wǎng)關(guān)可用來(lái)幫助管理其下的所有節(jié)點(diǎn),而不是直接管理每個(gè)節(jié)點(diǎn)。在工業(yè)物聯(lián)網(wǎng)中,霧模型還能作出應(yīng)急響應(yīng),避免服務(wù)中斷。例如,安全響應(yīng)可以是與網(wǎng)關(guān)進(jìn)行交互,而不是關(guān)閉關(guān)鍵任務(wù)生產(chǎn)線。
預(yù)配和部署
工業(yè)物聯(lián)網(wǎng)最大的挑戰(zhàn)之一是部署和管理大量設(shè)備。影響廣泛的工業(yè)物聯(lián)網(wǎng)系統(tǒng)非常難以建立和配置。工業(yè)物聯(lián)網(wǎng)的生命周期很長(zhǎng),系統(tǒng)可能由一個(gè)團(tuán)隊(duì)部署,然后運(yùn)行許多年,但由另一個(gè)團(tuán)隊(duì)提供支持。
工業(yè)物聯(lián)網(wǎng)系統(tǒng)的默認(rèn)身份驗(yàn)證機(jī)制很弱,往往不夠安全。正如Mirai僵尸網(wǎng)絡(luò)事件所展示的,大多數(shù)用戶從不登錄工業(yè)物聯(lián)網(wǎng)設(shè)備以進(jìn)行配置。他們甚至不知道應(yīng)該配置設(shè)備。大多數(shù)工業(yè)物聯(lián)網(wǎng)用戶認(rèn)為設(shè)備開(kāi)箱即可使用。系統(tǒng)必須具有默認(rèn)安全性。應(yīng)當(dāng)設(shè)定這樣的系統(tǒng)期望:除了默認(rèn)配置以外,用戶可能永遠(yuǎn)不會(huì)配置設(shè)備。默認(rèn)密碼較弱是一個(gè)常見(jiàn)錯(cuò)誤。
網(wǎng)絡(luò)安全性
在工業(yè)物聯(lián)網(wǎng)中,邊緣受到的關(guān)注最多,但也不能忽視系統(tǒng)的云端或服務(wù)器端。測(cè)試常見(jiàn)服務(wù)器端漏洞(例如跨站點(diǎn)腳本、SQL注入和跨站點(diǎn)請(qǐng)求偽造),并檢查API有無(wú)漏洞,以確保服務(wù)器上運(yùn)行的軟件及時(shí)得到修補(bǔ)。
跨網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)需要受到保護(hù),否則可能會(huì)被惡意攔截和修改。使用TLS或SSH之類的安全加密協(xié)議來(lái)保護(hù)傳輸中的數(shù)據(jù)。最好為數(shù)據(jù)提供端到端保護(hù)。
工業(yè)物聯(lián)網(wǎng)網(wǎng)絡(luò)的邊界可能很模糊。工業(yè)物聯(lián)網(wǎng)傳感器節(jié)點(diǎn)在空間上常常駐留在網(wǎng)絡(luò)的外圍。但是,通過(guò)它們以及一個(gè)固定網(wǎng)關(guān),還可以輕松訪問(wèn)更大的工業(yè)網(wǎng)絡(luò)4。對(duì)訪問(wèn)網(wǎng)絡(luò)的這些設(shè)備進(jìn)行釋放身份驗(yàn)證,有助于防止流量遭到惡意第三方篡改。保護(hù)網(wǎng)絡(luò)數(shù)據(jù)流量要求使用安全通信協(xié)議。最佳實(shí)踐應(yīng)當(dāng)是使用已知安全的標(biāo)準(zhǔn)協(xié)議。利用IEEE 802.1AE MACsec可以保障以太網(wǎng)LAN的安全。無(wú)線局域網(wǎng)更易于訪問(wèn)且無(wú)處不在,因而風(fēng)險(xiǎn)更高。
WPA2為IEEE 802.11無(wú)線網(wǎng)絡(luò)提供安全性。常常用在無(wú)線工業(yè)物聯(lián)網(wǎng)解決方案中的低功率IEEE 802.15.4標(biāo)準(zhǔn),提供了自己的一套安全協(xié)議。但是,這些是第2層協(xié)議,僅保護(hù)局域網(wǎng)上的流量。為保護(hù)需要路由到局域網(wǎng)外部(例如通過(guò)互聯(lián)網(wǎng))的流量,需要提供端到端安全性的更高層協(xié)議。TLS常用于保護(hù)互聯(lián)網(wǎng)流量并提供端到端安全性。盡管TLS使用TCP,而很多物聯(lián)網(wǎng)設(shè)備利用UDP進(jìn)行通信,但DTLS(數(shù)據(jù)報(bào)傳輸層安全性)可在UDP上工作。雖然物聯(lián)網(wǎng)設(shè)備的功耗和存儲(chǔ)器受限,但只需很少的工作就能為大多數(shù)受限應(yīng)用實(shí)施TLS。對(duì)于限制更嚴(yán)格的設(shè)備,目前IETF正在開(kāi)發(fā)一種新協(xié)議——受限應(yīng)用協(xié)議(CoAP)。
端點(diǎn)安全性
雖然保護(hù)傳輸中的數(shù)據(jù)很重要且有必要,但攻擊更多是針對(duì)端點(diǎn)。面向網(wǎng)絡(luò)的接口需要強(qiáng)化以消除漏洞。保障工業(yè)物聯(lián)網(wǎng)安全的一種方法是直接在傳感器節(jié)點(diǎn)設(shè)備中設(shè)置防護(hù)。這就提供了第一個(gè)關(guān)鍵的安全層,設(shè)備不再依賴企業(yè)防火墻作為其唯一的保護(hù)。這對(duì)移動(dòng)式企業(yè)設(shè)備和部署在遠(yuǎn)程位置的工業(yè)物聯(lián)網(wǎng)傳感器尤其重要。
工業(yè)物聯(lián)網(wǎng)設(shè)備的安全解決方案必須防范各種各樣的網(wǎng)絡(luò)攻擊。它必須確保設(shè)備固件沒(méi)有被篡改,能夠保護(hù)設(shè)備中存儲(chǔ)的數(shù)據(jù),能夠保護(hù)入站和出站通信,并且必須能夠檢測(cè)和報(bào)告任何網(wǎng)絡(luò)攻擊企圖5。這只有通過(guò)在設(shè)計(jì)的早期階段納入安全性才能實(shí)現(xiàn)。
圖3. 中間人攻擊在節(jié)點(diǎn)和網(wǎng)關(guān)之間插入惡意接入點(diǎn)。
對(duì)于嵌入式設(shè)備,從不存在一個(gè)萬(wàn)能的安全解決方案。有些解決方案為原始設(shè)備制造商提供了一個(gè)通用框架。但是,完整安全框架必須考慮保護(hù)特定設(shè)備、網(wǎng)絡(luò)和整個(gè)系統(tǒng)所需的核心能力,還必須根據(jù)具體要求靈活定制解決方案,同時(shí)確保包含關(guān)鍵安全功能。
高壓滅菌器與自動(dòng)機(jī)
在醫(yī)學(xué)中,滅菌對(duì)于手術(shù)工具的重復(fù)使用和防止疾病傳播至關(guān)重要。高壓滅菌器是滅菌設(shè)備的典范。它用過(guò)熱高壓蒸汽快速殺菌。它能殺滅所有細(xì)菌,使儀器恢復(fù)到已知的良好狀態(tài)。這樣,外科醫(yī)生就能利用手術(shù)刀進(jìn)行手術(shù),并在消毒后安全地重復(fù)使用手術(shù)刀。
系統(tǒng)受損之后將其恢復(fù)到已知良好狀態(tài)的能力,比讓它對(duì)所有攻擊免疫更重要。彈性系統(tǒng)可以快速恢復(fù)并很有把握地恢復(fù)運(yùn)作。
一旦系統(tǒng)受到感染,如何對(duì)其消毒?當(dāng)一個(gè)系統(tǒng)受到感染時(shí),病毒即以某種未知方式改變系統(tǒng)狀態(tài)。遠(yuǎn)程攻擊會(huì)控制處理器,向系統(tǒng)注入新的惡意代碼。通常,固件會(huì)以某種方式被修改或替換為惡意軟件,所以系統(tǒng)現(xiàn)在表現(xiàn)異常。一旦發(fā)生這種情況,就不能再信任處理器。
嵌入式系統(tǒng)的設(shè)計(jì)常常較為特別,難以可靠地從受損狀態(tài)中恢復(fù)。通常,凈化系統(tǒng)和驗(yàn)證系統(tǒng)是否干凈的唯一辦法是將所有非易失性存儲(chǔ)器直接轉(zhuǎn)儲(chǔ)至外部讀取器,然后對(duì)照原始固件進(jìn)行驗(yàn)證,如果原始固件有改變,則用原始固件替換。大多數(shù)系統(tǒng)的設(shè)計(jì)不支持這種做法。
一種保護(hù)系統(tǒng)完整性的方法是用機(jī)械開(kāi)關(guān)實(shí)現(xiàn)對(duì)非易失性存儲(chǔ)器的物理寫保護(hù)。當(dāng)該開(kāi)關(guān)設(shè)置為寫保護(hù)時(shí),存儲(chǔ)器受到硬件的物理保護(hù)。存儲(chǔ)器控制權(quán)轉(zhuǎn)移到處理器域之外,要在物理上不接入設(shè)備的情況下將永久惡意軟件遠(yuǎn)程安裝到存儲(chǔ)器中是不可能的。這樣就把潛在攻擊者名單從世界上任何擁有互聯(lián)網(wǎng)連接的人縮減為只有那些可以長(zhǎng)時(shí)間對(duì)設(shè)備進(jìn)行物理訪問(wèn)的人。固件更新通常是很罕見(jiàn)的事情。當(dāng)固件需要更新時(shí),用戶可以將開(kāi)關(guān)設(shè)置為寫使能以授權(quán)更新存儲(chǔ)器,在更新完成后再次對(duì)設(shè)備設(shè)置寫保護(hù)。
圖4. 固件受物理寫保護(hù)(執(zhí)行更新時(shí)除外)是保護(hù)設(shè)備完整性的有效方法。
許多設(shè)備還使用非易失性存儲(chǔ)器來(lái)存儲(chǔ)寫訪問(wèn)所需的數(shù)據(jù)。在高安全性系統(tǒng)中,可以使用單獨(dú)的非易失性存儲(chǔ)器芯片來(lái)存儲(chǔ)數(shù)據(jù)(但不存儲(chǔ)軟件)。攻擊者仍可以通過(guò)向該存儲(chǔ)器寫入惡意數(shù)據(jù)并利用軟件漏洞來(lái)危害某些系統(tǒng),因此應(yīng)徹底分析和測(cè)試系統(tǒng),無(wú)論該存儲(chǔ)器存儲(chǔ)什么數(shù)據(jù),系統(tǒng)都不會(huì)受到影響。增加額外存儲(chǔ)器芯片會(huì)增加成本,但有些閃存允許某些扇區(qū)設(shè)置寫保護(hù),而其他扇區(qū)仍能寫入。
安全引導(dǎo)
安全引導(dǎo)可防止引導(dǎo)過(guò)程中將未經(jīng)授權(quán)的軟件加載到設(shè)備上。它是信任鏈的起點(diǎn)。安全引導(dǎo)從節(jié)點(diǎn)上只讀非易失性存儲(chǔ)器位置編程的第一階段引導(dǎo)加載程序開(kāi)始。此引導(dǎo)加載程序僅驗(yàn)證第二階段引導(dǎo)加載程序的真實(shí)性。第二階段引導(dǎo)加載程序往往比較復(fù)雜,可存儲(chǔ)在可重新編程的閃存中。它重復(fù)此過(guò)程6,驗(yàn)證操作系統(tǒng)和加載的應(yīng)用程序是否確實(shí)來(lái)自可信來(lái)源。
擁有安全引導(dǎo)和安全固件更新功能的工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn),可確保設(shè)備運(yùn)行的是授權(quán)代碼,而非篡改的或惡意代碼,從而防止永久安裝惡意軟件或代碼。設(shè)備要么僅運(yùn)行未修改的代碼,要么無(wú)法完成引導(dǎo)。
安全引導(dǎo)過(guò)程通常依靠數(shù)字簽名來(lái)保護(hù)代碼的真實(shí)性。代碼映像由原始設(shè)備制造商在制造組裝時(shí)利用原始設(shè)備制造商的私鑰進(jìn)行簽名。然后,節(jié)點(diǎn)利用原始設(shè)備制造商的相應(yīng)公鑰驗(yàn)證固件映像的簽名。
代碼還可以利用對(duì)稱加密的消息認(rèn)證碼(MAC)加以保護(hù),但這需要將私鑰存儲(chǔ)在設(shè)備上,因而有風(fēng)險(xiǎn)。不過(guò),使用MAC在計(jì)算上更容易。
安全引導(dǎo)雖然可以增強(qiáng)安全性,但對(duì)于最終用戶來(lái)說(shuō),有時(shí)會(huì)太受限制,因?yàn)樗茏柚褂脩舾脑O(shè)備上運(yùn)行的軟件或運(yùn)行自己的軟件。根據(jù)應(yīng)用程序的不同,用戶可能需要更多的靈活性和配置安全引導(dǎo)的能力,從而允許其信任自己的代碼。
安全固件更新與安全引導(dǎo)相似,用于在升級(jí)過(guò)程中驗(yàn)證新代碼映像已由原始設(shè)備制造商簽名。如果下載的映像無(wú)效,則會(huì)丟棄文件并停止升級(jí)。只有有效的映像才被接受,并且隨后保存到設(shè)備存儲(chǔ)器中。
假設(shè)某個(gè)漏洞會(huì)在某個(gè)時(shí)候被發(fā)現(xiàn)。應(yīng)該制定一個(gè)計(jì)劃,以便在發(fā)現(xiàn)漏洞或漏洞被利用時(shí)知道如何處理。通常需要通過(guò)某種方法來(lái)將軟件更新和修補(bǔ)程序安裝到設(shè)備上以修復(fù)漏洞。更新過(guò)程同樣需要正確實(shí)施,使它不至于被用作攻擊途徑——任何人都可以通過(guò)它將惡意軟件安裝到設(shè)備上。僅僅為了提供修補(bǔ)功能而讓設(shè)備可通過(guò)網(wǎng)絡(luò)加以訪問(wèn),可能會(huì)引入比所要解決的問(wèn)題更大的風(fēng)險(xiǎn)。
安全通信
大多數(shù)工程師將安全性視為通信協(xié)議,如SSL/TLS、SSH和IPsec等,原因是許多嵌入式設(shè)備增加了安全通信。然而,盡管這是安全威脅的一部分,但其他攻擊途徑提出了新的挑戰(zhàn)。許多工業(yè)物聯(lián)網(wǎng)傳感器節(jié)點(diǎn)以低功耗配置運(yùn)行,使用一些不能支持某些最佳選項(xiàng)(如TLS或IPsec)的較低功耗處理器。安全協(xié)議為構(gòu)建安全設(shè)備提供了一個(gè)很好的出發(fā)點(diǎn)7。安全協(xié)議的設(shè)計(jì)目的是防范數(shù)據(jù)包嗅探、中間人攻擊、重放攻擊和未經(jīng)授權(quán)與節(jié)點(diǎn)通信的企圖。
小型工業(yè)物聯(lián)網(wǎng)邊緣傳感器設(shè)備通常采用無(wú)線協(xié)議,如Zigbee、Bluetooth?低功耗(BLE)以及其他無(wú)線網(wǎng)狀網(wǎng)絡(luò)協(xié)議。這些協(xié)議具有一定的內(nèi)置安全性,但是安全性相對(duì)較弱。許多可以利用漏洞的方法已經(jīng)公開(kāi),老練的黑客已經(jīng)熟知。小型工業(yè)物聯(lián)網(wǎng)設(shè)備通常使用成本非常低、功耗較低且不支持TLS或IPSec的處理器。對(duì)于小型邊緣設(shè)備,可以使用DTLS(基于UDP的TLS)來(lái)實(shí)現(xiàn)安全通信。
物理安全性
物理攻擊針對(duì)的是工業(yè)物聯(lián)網(wǎng)系統(tǒng)的實(shí)際邊緣硬件節(jié)點(diǎn)或網(wǎng)關(guān),可以包括針對(duì)前端傳感器的破壞。這些攻擊常常需要從物理上接觸系統(tǒng),但也可能只是僅僅限制工業(yè)物聯(lián)網(wǎng)硬件效能的操作。攻擊者可以篡改節(jié)點(diǎn),以控制工業(yè)物聯(lián)網(wǎng)環(huán)境中的傳感器或其他設(shè)備。然后,他們可以從源頭提取機(jī)密數(shù)據(jù)和嵌入固件代碼。利用惡意節(jié)點(diǎn)注入策略,攻擊者可以將惡意節(jié)點(diǎn)部署在工業(yè)物聯(lián)網(wǎng)網(wǎng)絡(luò)的合法節(jié)點(diǎn)之間8。
為了應(yīng)對(duì)此類攻擊,在設(shè)計(jì)階段可以提前做一些硬件考慮。在使用帶引腳的器件對(duì)信號(hào)進(jìn)行物理探測(cè)的時(shí)候在設(shè)計(jì)中應(yīng)盡量、減少裸露的銅過(guò)孔或未使用的連接器。應(yīng)當(dāng)移除可為潛在黑客提供額外信息的詳細(xì)元器件絲印,除非認(rèn)為它是設(shè)計(jì)絕對(duì)需要的。雖然可能會(huì)增加系統(tǒng)復(fù)雜性,但工業(yè)保形涂層不僅可以減輕自然力對(duì)硬件的影響,還能增加額外的步驟來(lái)防止對(duì)PCB上的電子元件進(jìn)行直接探測(cè)。
器件內(nèi)部的任何嵌入式非易失性存儲(chǔ)器內(nèi)容都應(yīng)該加密并設(shè)置寫保護(hù)。微控制器和DSP器件之間的接口應(yīng)該位于PCB的內(nèi)層走線。即便嵌入式存儲(chǔ)器的內(nèi)容被獲取,數(shù)據(jù)的加密和驗(yàn)證機(jī)制也會(huì)使其變得毫無(wú)意義。
制造商常常使用調(diào)試或測(cè)試端口。這些端口通常是串行或JTAG,可用來(lái)訪問(wèn)并控制大部分系統(tǒng)。在生產(chǎn)中,應(yīng)確保這些端口在功能上被禁用或受到保護(hù),因?yàn)閮H僅不配備調(diào)試接頭是不夠的,頑固分子可以自行配備或焊接到引腳上。如果需要在生產(chǎn)設(shè)備中啟用這些接口,使用之前應(yīng)進(jìn)行身份驗(yàn)證??梢杂妹艽a加以保護(hù),但務(wù)必要讓用戶能夠設(shè)置強(qiáng)密碼。
隨機(jī)數(shù)生成加密功能通常需要某種隨機(jī)數(shù)發(fā)生器(RNG)。隨機(jī)數(shù)可能需要無(wú)法預(yù)測(cè)的密鑰生成,或者要求不得重復(fù)。由于缺乏資源和熵,在受約束的嵌入式系統(tǒng)中生成隨機(jī)數(shù)通常是一個(gè)巨大挑戰(zhàn)。
很多嵌入式系統(tǒng)存在熵過(guò)少的問(wèn)題。這可能導(dǎo)致災(zāi)難性的中斷,中國(guó)***的居民身份智能卡就發(fā)生過(guò)嚴(yán)重問(wèn)題。研究人員發(fā)現(xiàn):由于熵不足,許多身份證件是從相同數(shù)字產(chǎn)生相關(guān)的密鑰。因此,盡管使用了強(qiáng)大的RNG,密鑰仍然能被破解9。類似地,研究人員在2012年發(fā)現(xiàn)公鑰服務(wù)器上0.38%的RSA密鑰共享弱隨機(jī)數(shù)生成,能夠被破解10。
驗(yàn)證RNG的強(qiáng)度非常困難,幾乎不可能。過(guò)去的RNG設(shè)計(jì)相當(dāng)特別,人們對(duì)其了解不多。但近年來(lái),魯棒密碼隨機(jī)數(shù)發(fā)生器的設(shè)計(jì)和形式分析取得了重大進(jìn)展。
現(xiàn)代魯棒的RNG設(shè)計(jì)往往有三級(jí)8。一個(gè)熵源提供原始熵,一個(gè)熵提取器讓熵均勻分布,還有一個(gè)擴(kuò)展級(jí),用來(lái)擴(kuò)展可用的少量熵。
第一級(jí)是熵源。它可以是某種物理噪聲源,例如時(shí)鐘抖動(dòng)或熱噪聲。某些處理器(例如ADI Blackfin? DSP)為硬件提供可用于生成熵的隨機(jī)數(shù)生成器。
密碼的隨機(jī)數(shù)字需要有均勻的統(tǒng)計(jì)分布。所有熵源都有一定的偏差,將其用于加密應(yīng)用之前需要消除這種偏差。這是通過(guò)熵提取器來(lái)完成的,它利用高熵的非均勻分布的輸入,生成高熵的均勻分布的輸出。代價(jià)是會(huì)有一定的熵?fù)p失,因?yàn)殪靥崛∑餍枰撵剌斎氪笥谄淠芴峁┑妮敵?。結(jié)果,需要從熵源中收集更多的比特,并將其提煉成一個(gè)小的高熵?cái)?shù)字,該數(shù)字可用來(lái)為密碼安全的偽隨機(jī)數(shù)發(fā)生器提供種子11,12。
利用錯(cuò)誤
幾乎所有工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)都要使用某種形式的嵌入式固件或算法。從功能上看,這種固件在履行要求方面完全正常,沒(méi)有明顯問(wèn)題。但是,所有軟件都有一定程度的缺陷或錯(cuò)誤,這可能導(dǎo)致一些異常操作,從而引發(fā)安全問(wèn)題。例如,99.99%無(wú)錯(cuò)誤固件很少會(huì)發(fā)生運(yùn)行問(wèn)題。但是,剩下的小小的0.01%錯(cuò)誤可能會(huì)被入侵者利用,迫使節(jié)點(diǎn)在該特定工作模式下運(yùn)行時(shí)100%失敗。軟件缺陷來(lái)源于復(fù)雜性,而任何有用的系統(tǒng)都需要一定的復(fù)雜性?;旧纤邢到y(tǒng)都存在軟件缺陷和漏洞。
圖5. 利用小錯(cuò)誤迫使系統(tǒng)在100%的時(shí)間內(nèi)都無(wú)法正常運(yùn)行。
安全性設(shè)計(jì)
系統(tǒng)設(shè)計(jì)的安全性必須從一開(kāi)始就考慮。它應(yīng)該是設(shè)計(jì)過(guò)程的一部分,而不是在項(xiàng)目結(jié)束時(shí)附加的東西。安全性的關(guān)鍵不是添加安全功能,而是管理風(fēng)險(xiǎn)。對(duì)于任何工業(yè)物聯(lián)網(wǎng)系統(tǒng)開(kāi)發(fā),安全設(shè)計(jì)方法都很重要。
現(xiàn)有的安全設(shè)計(jì)實(shí)踐仍然適用。使用威脅建模來(lái)識(shí)別風(fēng)險(xiǎn),并選擇合適的風(fēng)險(xiǎn)緩解策略。識(shí)別系統(tǒng)的入口點(diǎn),從而找到系統(tǒng)中風(fēng)險(xiǎn)最高的區(qū)域。大多數(shù)攻擊途徑都是通過(guò)外部接口,因此應(yīng)檢查設(shè)計(jì)方案有無(wú)安全漏洞。仔細(xì)處理未知數(shù)據(jù)并驗(yàn)證所有輸入,驗(yàn)證和安全性不應(yīng)局限于入口點(diǎn)??v深防御很重要,這樣在外層遭到破壞時(shí),仍有安全層可供御敵。
許多處理器提供不同級(jí)別的權(quán)限。ARM?有Trustzone,ADI Blackfin DSP提供用戶級(jí)執(zhí)行模式和特權(quán)執(zhí)行模式。盡可能以最低級(jí)別的權(quán)限執(zhí)行盡可能多的代碼,以將最重要的代碼保留在特權(quán)模式下執(zhí)行。工業(yè)物聯(lián)網(wǎng)設(shè)備的安全要求必須考慮安全失效的代價(jià)、攻擊的可能性、主要攻擊途徑以及實(shí)施安全解決方案的成本。
結(jié)語(yǔ)
上述許多建議彼此沖突,且與系統(tǒng)的其他設(shè)計(jì)目標(biāo)相抵觸。保障安全性通常涉及某種權(quán)衡,例如成本、功能或可用性。一些權(quán)衡非常有效且代價(jià)不高,而另一些則是高成本且影響小。安全性需要與設(shè)計(jì)的其他需求相平衡,并且應(yīng)通過(guò)安全設(shè)計(jì)流程在特定應(yīng)用的基礎(chǔ)上確定。
為了幫助保護(hù)工業(yè)物聯(lián)網(wǎng),ADI公司有多種處理器可提供基于硬件的安全增強(qiáng)功能,有助于突破邊緣節(jié)點(diǎn)的可能邊界。ADF7023 RF低功耗收發(fā)器利用ISM頻段和許多不同的調(diào)制方案提供內(nèi)部AES加密。
ADuCM3029內(nèi)部的嵌入式收發(fā)器提供AES和SHA-256硬件加速以及一個(gè)真正的隨機(jī)數(shù)發(fā)生器,還有多奇偶校驗(yàn)保護(hù)的SRAM。ADSP-BF70X Blackfin系列數(shù)字信號(hào)處理器提供嵌入式一次性可編程存儲(chǔ)器,用于安全密鑰存儲(chǔ)和快速安全引導(dǎo),為系統(tǒng)在遭到破壞后返回已知良好狀態(tài)提供有力保證。
借助基于硬件的只遞增計(jì)數(shù)器,Blackfin DSP中的回滾保護(hù)允許在出現(xiàn)問(wèn)題更新固件以修復(fù)漏洞。這與密鑰存儲(chǔ)的不變性相結(jié)合,能夠?qū)崿F(xiàn)強(qiáng)大而有彈性的邊緣節(jié)點(diǎn)。此外,Blackfin DSP提供加密硬件加速器、基于硬件的真隨機(jī)數(shù)生成器、特權(quán)和非特權(quán)代碼執(zhí)行的分離、MMU以及限制多個(gè)DMA通道訪問(wèn)的能力,從而以低成本實(shí)現(xiàn)并行、高功效、安全的DSP。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753053 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304784 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372751 -
邊緣節(jié)點(diǎn)
+關(guān)注
關(guān)注
0文章
13瀏覽量
7643
原文標(biāo)題:邊緣智能第4部分:邊緣節(jié)點(diǎn)安全性
文章出處:【微信號(hào):motorcontrol365,微信公眾號(hào):電機(jī)控制設(shè)計(jì)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論