新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 邊緣智能:邊緣節(jié)點(diǎn)安全性

邊緣智能:邊緣節(jié)點(diǎn)安全性

作者:Ian Beavers Erik MacLean 時(shí)間:2018-06-27 來(lái)源:電子產(chǎn)品世界 收藏
編者按:介紹了邊緣計(jì)算帶來(lái)的安全問(wèn)題,以及工業(yè)物聯(lián)網(wǎng)中的霧模型和相關(guān)配置問(wèn)題、安全問(wèn)題及解決思路。

作者 Ian Beavers Erik MacLean   ADI公司

本文引用地址:http://m.butianyuan.cn/article/201806/382308.htm

摘要:介紹了計(jì)算帶來(lái)的問(wèn)題,以及工業(yè)中的霧模型和相關(guān)配置問(wèn)題、問(wèn)題及解決思路。

0 引言

  系統(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è)備,感染了超過(guò)250萬(wàn)節(jié)點(diǎn)[1]。Mirai后來(lái)發(fā)展到能夠引發(fā)服務(wù)器拒絕服務(wù),導(dǎo)致全球很大一部分的互聯(lián)網(wǎng)接入中斷。Reaper僵尸網(wǎng)絡(luò)通過(guò)利用軟件漏洞并感染系統(tǒng),攻擊了超過(guò)100萬(wàn)臺(tái)物聯(lián)網(wǎng)設(shè)備。一個(gè)接入互聯(lián)網(wǎng)的魚(yú)缸提供了侵入賭場(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ā)危及生命的情況。

1 聯(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)。

2 節(jié)點(diǎn)的安全考慮[2]

  ● 保密性——防止數(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)境中,接入也必須可靠。

3 隔離

  系統(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)重的程度。

4 轉(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ù)可以減少發(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)及訪問(wèn)更大網(wǎng)絡(luò)的權(quán)限。

5 霧模型

  一些工業(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)線。

6 預(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ò)誤。

7 網(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ì)被惡意攔截和修改??梢允褂肨LS或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的安全。

  為保護(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)。

8 端點(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)。

9 高壓滅菌器與自動(dòng)機(jī)

  系統(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ì)以某種方式被修改或替換為惡意軟件,導(dǎo)致系統(tǒng)表現(xiàn)異常。一旦發(fā)生這種情況,就不能再信任處理器。

  嵌入式系統(tǒng)的設(shè)計(jì)常常較為特別,難以可靠地從受損狀態(tài)中恢復(fù)。通常,凈化系統(tǒng)和驗(yàn)證系統(tǒng)是否干凈的唯一辦法是將所有非易失性存儲(chǔ)器直接轉(zhuǎn)存至外部讀取器,然后對(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ù)。

  許多設(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ū)仍能寫入。

10 安全引導(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í)。只有有效的映像才會(huì)被接受,并且隨后保存到設(shè)備存儲(chǔ)器中。

11 安全通信

  大多數(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)安全通信。

12 物理安全性

  物理攻擊針對(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)密碼。

13 隨機(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)難性的中斷。驗(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í)。包括一個(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]。

14 利用錯(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)都存在軟件缺陷和漏洞。

15 安全性設(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í)施安全解決方案的成本。

16 結(jié)論

  上述許多建議彼此沖突,且與系統(tǒng)的其他設(shè)計(jì)目標(biāo)相抵觸。為了幫助保護(hù)工業(yè)物聯(lián)網(wǎng),ADI公司有多種處理器可提供基于硬件的安全增強(qiáng)功能。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)提供有力保證。同時(shí),借助基于硬件的只遞增計(jì)數(shù)器,Blackfin DSP中的回滾保護(hù)允許在出現(xiàn)問(wèn)題更新固件以修復(fù)漏洞。

  參考文獻(xiàn):

  [1]Mirai僵尸網(wǎng)絡(luò)泄露源代碼.

  [2]Ross Yu.全性和可靠性是工業(yè)物聯(lián)網(wǎng)無(wú)線網(wǎng)絡(luò)的關(guān)鍵[R].ADI公司,2017.

  [3]Patrick Nelson.組織機(jī)構(gòu)必須將物聯(lián)網(wǎng)與常規(guī)IT隔離開(kāi)來(lái)——Telco[N].Network World,2016,3.

  [4]Brian Girardi.端點(diǎn)安全性和物聯(lián)網(wǎng)[J].CSO,2017.

  [5]Tristan O’Gorman.物聯(lián)網(wǎng)安全風(fēng)險(xiǎn)入門[J].Security Intelligence,2017,2.

  [6]Abhijeet Rane.物聯(lián)網(wǎng)安全性始于安全引導(dǎo)[J].Embedded Computing Design,2017,1.

  [7]Amitrajan Gantait,Ayan Mukherjee,Joy Parta.保護(hù)物聯(lián)網(wǎng)設(shè)備和網(wǎng)關(guān)[R].IBM,2016,5.

  [8]Boaz Barak,Shai Halevi.偽隨機(jī)數(shù)生成的模型和架構(gòu)及其/dev/random應(yīng)用[C].第12屆ACM計(jì)算機(jī)和通信安全會(huì)議論文集,2005,11.

  [9]Chen-Mou Chang,Daniel J. Bernstein,Chang,etal.分解認(rèn)證智能卡中的RSA密鑰:野生銅匠[J].Springer,2013.

  [10]Arjen K. Lenstra,Christopher Wachter,James P. Hughes,etal.Ron是錯(cuò)的。Whit是對(duì)的[R].Cryptology ePrint Archive,2012.

  [11]Boaz Barak,Fran?ois-Xavier Standaert,Hugo Krawczyk,etal.剩余哈希引理再探討[C].第31屆密碼學(xué)進(jìn)展年會(huì),2011,8.

  本文來(lái)源于《電子產(chǎn)品世界》2018年第7期第70頁(yè),歡迎您寫論文時(shí)引用,并注明出處。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉