作者:Ian Beavers and Erik MacLean
物聯(lián)網(wǎng)系統(tǒng)攻擊正在成為頭條新聞,并繼續(xù)展示網(wǎng)絡(luò)、邊緣節(jié)點(diǎn)和網(wǎng)關(guān)的安全漏洞。最近的 Mirai 僵尸網(wǎng)絡(luò)通過登錄運(yùn)行未更改默認(rèn)密碼的 telnet 服務(wù)器的設(shè)備感染了超過 250 萬個(gè)物聯(lián)網(wǎng)節(jié)點(diǎn)。1Mirai后來能夠?qū)Ψ?wù)器調(diào)用拒絕服務(wù),從而中斷了世界大部分地區(qū)的互聯(lián)網(wǎng)訪問。收割者僵尸網(wǎng)絡(luò)通過利用軟件漏洞并感染它們來攻擊超過一百萬臺(tái)物聯(lián)網(wǎng)設(shè)備。一個(gè)連接互聯(lián)網(wǎng)的魚缸提供了進(jìn)入賭場(chǎng)網(wǎng)絡(luò)的入口點(diǎn),導(dǎo)致10 GB的數(shù)據(jù)被盜。智能電視已被利用并用于間諜和監(jiān)視。
嵌入式傳感器系統(tǒng)剛剛開始連接并暴露在互聯(lián)網(wǎng)上。作為工業(yè)物聯(lián)網(wǎng)(IIoT)的一部分,這些傳感器缺乏Web服務(wù)器在這種敵對(duì)環(huán)境中過去二十年的發(fā)展。因此,該行業(yè)正在目睹這些系統(tǒng)中常見的許多 1990 年代及更早的攻擊。IIoT系統(tǒng)的生命周期通常比傳統(tǒng)計(jì)算中的生命周期長(zhǎng)得多。某些設(shè)備在部署后可能會(huì)繼續(xù)運(yùn)行數(shù)十年,并且維護(hù)計(jì)劃未知。
雖然服務(wù)器和PC足夠復(fù)雜,可以進(jìn)行安全設(shè)置,但I(xiàn)IoT節(jié)點(diǎn)的功耗和處理能力通常較低。這為有意的安全措施留下了很小的功率預(yù)算。安全性在很大程度上是一種權(quán)衡,因?yàn)樯婕伴_發(fā)成本。盡管IIoT的成本可能高于消費(fèi)者物聯(lián)網(wǎng),但它仍將面臨可擴(kuò)展性成本的挑戰(zhàn)。如果忽視安全性,則在部署產(chǎn)品后將產(chǎn)生隱藏的影響,最終需要解決這些成本。
傳感器和執(zhí)行器允許IIoT設(shè)備與物理世界進(jìn)行交互。網(wǎng)絡(luò)攻擊主要限于數(shù)據(jù)丟失,盡管IIoT黑客攻擊允許潛在進(jìn)入物理世界比過去更容易。攻擊現(xiàn)在有可能造成人身傷害。這在IIoT中更為重要,在IIoT中,故障可能會(huì)關(guān)閉或破壞價(jià)值數(shù)百萬美元的工業(yè)流程,或?qū)е挛<吧那闆r。
互聯(lián)世界
IIoT設(shè)備通常連接到某些網(wǎng)絡(luò),通常是互聯(lián)網(wǎng)。這種連接使他們最容易受到攻擊。與流行病學(xué)領(lǐng)域類似,感染通過與其他機(jī)器接觸傳播。攻擊媒介存在于系統(tǒng)與外部世界交互的地方。攻擊者能夠嚴(yán)格地與系統(tǒng)進(jìn)行交互,因?yàn)樗麄兊倪B接訪問。要問的第一個(gè)系統(tǒng)設(shè)計(jì)安全問題是:“設(shè)備真的需要連接到網(wǎng)絡(luò)嗎?將其連接到網(wǎng)絡(luò)會(huì)大大增加安全風(fēng)險(xiǎn)。
保護(hù)系統(tǒng)的最佳方法是防止它連接到網(wǎng)絡(luò)或?qū)⑵湎拗茷榉忾]網(wǎng)絡(luò)。許多IIoT設(shè)備連接到網(wǎng)絡(luò)僅僅是因?yàn)樗鼈兛赡軟]有太多原因。將設(shè)備連接到網(wǎng)絡(luò)的好處是否超過與之相關(guān)的安全風(fēng)險(xiǎn)?此外,與面向互聯(lián)網(wǎng)的系統(tǒng)交互的任何其他遺留系統(tǒng)也可能面臨風(fēng)險(xiǎn)。
在許多情況下,原本安全的網(wǎng)絡(luò)和安全節(jié)點(diǎn)還必須與傳統(tǒng)的現(xiàn)有網(wǎng)絡(luò)進(jìn)行互操作,而傳統(tǒng)網(wǎng)絡(luò)本身的安全性可能要差得多。這帶來了一個(gè)新問題,因?yàn)樽钊醯陌踩L(fēng)險(xiǎn)可能不受IIoT系統(tǒng)的影響。在這種情況下,IIoT系統(tǒng)還需要保護(hù)自己免受網(wǎng)絡(luò)內(nèi)部的影響。
節(jié)點(diǎn)的安全注意事項(xiàng):
機(jī)密性 — 防止數(shù)據(jù)泄露給未經(jīng)授權(quán)的人員,例如欺騙攻擊
身份驗(yàn)證 - 使用數(shù)字證書驗(yàn)證兩臺(tái)計(jì)算機(jī)之間的身份
安全引導(dǎo) — ROM 引導(dǎo)加載程序存儲(chǔ)驗(yàn)證第二階段引導(dǎo)加載程序的真實(shí)性
安全固件更新 - 僅允許制造商提供的授權(quán)代碼
授權(quán) - 只有真實(shí)的節(jié)點(diǎn)才能獲得網(wǎng)絡(luò)訪問權(quán)限
完整性 — 保護(hù)數(shù)據(jù)不被更改
記帳 — 正確記帳數(shù)據(jù)、節(jié)點(diǎn)計(jì)數(shù)和時(shí)間戳有助于防止對(duì) IIoT 網(wǎng)絡(luò)的不必要訪問
安全通信 — 可駐留在低功耗節(jié)點(diǎn)上的加密協(xié)議
可用性 — 確保用戶在需要時(shí)可以訪問
不可否認(rèn)性 — 保證不會(huì)拒絕真實(shí)的通信請(qǐng)求
可靠性 — 即使在惡劣的電氣環(huán)境中,訪問也需要可靠
圖1.欺騙偽裝成網(wǎng)關(guān)的已知節(jié)點(diǎn)。
隔離
將系統(tǒng)彼此隔離可以減少攻擊面并限制惡意軟件的傳播。將不需要網(wǎng)絡(luò)連接的系統(tǒng)與向網(wǎng)絡(luò)公開的系統(tǒng)隔離開來。對(duì)于高風(fēng)險(xiǎn)系統(tǒng),請(qǐng)考慮設(shè)置一個(gè)單獨(dú)的氣隙或嚴(yán)格監(jiān)控網(wǎng)絡(luò),該網(wǎng)絡(luò)與其他網(wǎng)絡(luò)分開。理想情況下,關(guān)鍵系統(tǒng)應(yīng)與外界完全隔離。
聯(lián)網(wǎng)汽車的信息娛樂系統(tǒng)可能會(huì)使車輛暴露在許多以前從未見過的新攻擊媒介中。主機(jī)控制單元 (ECU) 與信息娛樂系統(tǒng)無關(guān),不應(yīng)通過信息娛樂系統(tǒng)與其交互。盡管車輛中通常有兩個(gè)獨(dú)立的CAN總線,將最關(guān)鍵的系統(tǒng)與其他系統(tǒng)分開,但它們?nèi)匀灰阅撤N方式連接在一起。仍然有可能妥協(xié)一個(gè)并獲得對(duì)另一個(gè)的控制。如果這些網(wǎng)絡(luò)之間完全隔離,則泄露的風(fēng)險(xiǎn)將從潛在的生命威脅降低到遠(yuǎn)不那么嚴(yán)重。
向邊緣移動(dòng)
許多IIoT系統(tǒng)連接到云服務(wù)器,該服務(wù)器收集和處理設(shè)備發(fā)送給它的信息并管理設(shè)備。隨著設(shè)備數(shù)量的擴(kuò)展到大量,云可能難以跟上所有這些設(shè)備。許多系統(tǒng)正在將處理轉(zhuǎn)移到IIoT設(shè)備上的邊緣,以減少到云的流量。
我們通常將數(shù)據(jù)視為一種資產(chǎn)。數(shù)據(jù)被挖掘和出售,以找到大型數(shù)據(jù)集中的隱藏模式。但是,收集的大量數(shù)據(jù)通常不是很有用,盡管它可能對(duì)攻擊者有用。敏感數(shù)據(jù)為攻擊者創(chuàng)造了目標(biāo),并造成了負(fù)擔(dān)。收集的數(shù)據(jù)應(yīng)過濾到僅需要的數(shù)據(jù),其余數(shù)據(jù)應(yīng)盡快刪除。這不僅提高了安全性,還提高了所收集數(shù)據(jù)的效用。識(shí)別潛在的敏感信息并消除或限制其收集非常重要。
在邊緣處理數(shù)據(jù)可以減少發(fā)送和暴露到云的數(shù)據(jù)量。發(fā)送的位置數(shù)據(jù)越多,對(duì)其進(jìn)行保密就越困難。每個(gè)新節(jié)點(diǎn)都是另一個(gè)潛在的妥協(xié),數(shù)據(jù)可能會(huì)泄露。攻擊面可能會(huì)呈指數(shù)級(jí)增長(zhǎng)。
將敏感數(shù)據(jù)包含在邊緣可以限制攻擊面,特別是針對(duì)機(jī)密數(shù)據(jù)。如果它僅限于一個(gè)邊緣節(jié)點(diǎn),則被盜的可能性較小。在圖像處理后僅通過二進(jìn)制信號(hào)檢測(cè)并報(bào)告車輛存在的停車占用傳感器不會(huì)流式傳輸視頻。它消除了圖像中包含的大量不必要的數(shù)據(jù)。這減輕了接收服務(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ǎng)絡(luò)
穿越迷霧
一些IIoT設(shè)備仍然缺乏基于邊緣的功能和性能。另一種出現(xiàn)的拓?fù)?,即霧模型,是基于云和邊緣的系統(tǒng)之間的混合。在霧模型中,邊緣節(jié)點(diǎn)首先連接到接收數(shù)據(jù)的網(wǎng)關(guān),并在將數(shù)據(jù)發(fā)送到云之前進(jìn)行一些處理。許多IIoT設(shè)備可能只有一個(gè)網(wǎng)關(guān)。網(wǎng)關(guān)不需要使用電池供電,可以承受更高的處理能力預(yù)算,并且成本高于受限的IIoT設(shè)備。
迷霧更多地來自可擴(kuò)展性問題,但也可能在安全性方面發(fā)揮作用。網(wǎng)關(guān)設(shè)備可以幫助保護(hù)易受攻擊的邊緣節(jié)點(diǎn),這些節(jié)點(diǎn)可能過于受限,無法自行提供安全性,但最好提供某種級(jí)別的保護(hù),而不是沒有保護(hù)。網(wǎng)關(guān)可用于幫助管理其下的所有節(jié)點(diǎn),而不是直接管理每個(gè)單獨(dú)的節(jié)點(diǎn)。霧模型還可以允許在IIoT中進(jìn)行事件響應(yīng),同時(shí)避免服務(wù)中斷。例如,安全性可以通過與網(wǎng)關(guān)交互來響應(yīng),而不是關(guān)閉任務(wù)關(guān)鍵型生產(chǎn)線。
預(yù)配和部署
IIoT面臨的最大挑戰(zhàn)之一是部署和管理大量設(shè)備。眾所周知,廣泛的IIoT系統(tǒng)難以設(shè)置和配置。由于IIoT的生命周期較長(zhǎng),系統(tǒng)可能由一個(gè)團(tuán)隊(duì)部署,并且在幾年后,當(dāng)另一個(gè)團(tuán)隊(duì)支持它時(shí)仍然可以運(yùn)行。
默認(rèn)情況下,IIoT 系統(tǒng)通常不安全,身份驗(yàn)證機(jī)制較弱。正如Mirai僵尸網(wǎng)絡(luò)所見,大多數(shù)用戶從未登錄IIoT設(shè)備進(jìn)行配置。他們甚至可能不知道它們應(yīng)該被配置。大多數(shù)IIoT用戶認(rèn)為事情只是開箱即用。默認(rèn)情況下,系統(tǒng)必須安全。應(yīng)設(shè)置系統(tǒng)期望,即用戶可能永遠(yuǎn)不會(huì)配置默認(rèn)設(shè)備以外的設(shè)備。弱默認(rèn)密碼是一個(gè)常見的錯(cuò)誤。
網(wǎng)絡(luò)安全
雖然邊緣在IIoT中獲得了大部分關(guān)注點(diǎn),但重要的是不要忽視系統(tǒng)的云或服務(wù)器端。測(cè)試常見的服務(wù)器端漏洞,如跨站點(diǎn)腳本、SQL 注入和跨站點(diǎn)請(qǐng)求偽造,并檢查 API 中的漏洞,確保及時(shí)修補(bǔ)服務(wù)器上運(yùn)行的軟件。
通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)需要得到保護(hù),否則可能會(huì)被惡意攔截和修改。TLS 或 SSH 等安全加密協(xié)議用于保護(hù)傳輸中的數(shù)據(jù)。理想情況下,數(shù)據(jù)應(yīng)受到端到端保護(hù)。
IIoT網(wǎng)絡(luò)的邊界通??赡芎苣:?。IIoT傳感器節(jié)點(diǎn)通常在空間上駐留在其網(wǎng)絡(luò)的外圍。但是,它們也通過固定網(wǎng)關(guān)提供了進(jìn)入更大工業(yè)網(wǎng)絡(luò)的簡(jiǎn)單門戶。4對(duì)這些設(shè)備進(jìn)行正確的網(wǎng)絡(luò)身份驗(yàn)證有助于防止流量被惡意第三方篡改。
保護(hù)網(wǎng)絡(luò)數(shù)據(jù)流量涉及使用安全通信協(xié)議。最佳做法應(yīng)該是使用已知安全的標(biāo)準(zhǔn)協(xié)議。以太網(wǎng) LAN 上的安全性可以使用 IEEE 802.1AE MACsec 提供。無線 LAN 往往風(fēng)險(xiǎn)更高,因?yàn)樗鼈兏菀自L問且無處不在。WPA2 為 IEEE 802.11 無線網(wǎng)絡(luò)提供安全性。低功耗IEEE 802.15.4標(biāo)準(zhǔn)通常用于無線IIoT解決方案,提供自己的安全協(xié)議套件。但是,這些是第 2 層協(xié)議,僅保護(hù) LAN 上的流量。
保護(hù)需要在 LAN 外部路由的流量(例如通過互聯(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工作。雖然 IoT 設(shè)備的功耗和內(nèi)存受到限制,但可以毫不費(fèi)力地為大多數(shù)受限的應(yīng)用程序?qū)崿F(xiàn) TLS。對(duì)于更嚴(yán)格約束的設(shè)備,目前有一個(gè)新的協(xié)議,即IETF正在開發(fā)的約束應(yīng)用程序協(xié)議(CoAP)。
端點(diǎn)安全
雖然保護(hù)傳輸中的數(shù)據(jù)很重要且必要,但攻擊通常針對(duì)端點(diǎn)。面向網(wǎng)絡(luò)的接口需要針對(duì)漏洞進(jìn)行強(qiáng)化。IIoT 安全的一種方法是直接在傳感器節(jié)點(diǎn)設(shè)備中構(gòu)建保護(hù)。這提供了第一個(gè)關(guān)鍵安全層,因?yàn)樵O(shè)備不再依賴于公司防火墻進(jìn)行單獨(dú)保護(hù)。這對(duì)于部署在遠(yuǎn)程位置的移動(dòng)公司設(shè)備和IIoT傳感器尤其重要。
IIoT 設(shè)備的安全解決方案必須提供針對(duì)各種網(wǎng)絡(luò)攻擊的保護(hù)。它必須確保設(shè)備固件未被篡改,能夠保護(hù)存儲(chǔ)在設(shè)備中的數(shù)據(jù),能夠保護(hù)入站和出站通信,并且必須能夠檢測(cè)和報(bào)告任何企圖的網(wǎng)絡(luò)攻擊。這只能通過在設(shè)計(jì)的早期階段包含安全性來實(shí)現(xiàn)。
對(duì)于嵌入式設(shè)備,永遠(yuǎn)不可能有一刀切的安全解決方案。提供的解決方案為 OEM 提供通用框架。但是,完整的安全框架必須考慮保護(hù)特定設(shè)備、網(wǎng)絡(luò)和整個(gè)系統(tǒng)所需的核心功能。還必須能夠靈活地根據(jù)任何特定要求定制解決方案,同時(shí)確保包含關(guān)鍵的安全功能。
自動(dòng)機(jī)高壓滅菌器
在醫(yī)學(xué)上,手術(shù)工具的滅菌對(duì)于允許其重復(fù)使用同時(shí)防止疾病傳播至關(guān)重要。高壓滅菌器是滅菌的黃金標(biāo)準(zhǔn)。它可以在高壓下用過熱蒸汽快速消毒器械。它消滅所有細(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)被感染,如何消毒?當(dāng)系統(tǒng)被感染時(shí),它會(huì)以某種未知的方式改變系統(tǒng)的狀態(tài)。遠(yuǎn)程攻擊控制處理器并將新的惡意代碼注入系統(tǒng)。通常,固件會(huì)以某種方式被修改或替換為惡意軟件,因此系統(tǒng)現(xiàn)在以不同的方式運(yùn)行。一旦發(fā)生這種情況,處理器就不能再受信任。
嵌入式系統(tǒng)的設(shè)計(jì)方式通常使其難以可靠地從妥協(xié)中恢復(fù)。通常,清理系統(tǒng)并驗(yàn)證系統(tǒng)是否干凈的唯一方法是將所有非易失性存儲(chǔ)器直接物理轉(zhuǎn)儲(chǔ)到外部讀取器。然后可以根據(jù)原始固件進(jìn)行驗(yàn)證,如果它不完整,則用原始固件替換。大多數(shù)系統(tǒng)的設(shè)計(jì)方式都不是為了實(shí)現(xiàn)這一點(diǎn)。
保護(hù)系統(tǒng)完整性的一種方法是使用機(jī)械開關(guān)對(duì)非易失性存儲(chǔ)器進(jìn)行物理寫保護(hù)。當(dāng)交換機(jī)設(shè)置為寫保護(hù)時(shí),內(nèi)存在硬件中受到物理保護(hù)。將對(duì)內(nèi)存的控制移到處理器域之外,使得在沒有物理訪問設(shè)備的情況下將永久性惡意軟件遠(yuǎn)程安裝到此內(nèi)存中是不可能的。這將潛在攻擊者的列表從世界上任何具有互聯(lián)網(wǎng)連接的人減少到僅那些可以長(zhǎng)時(shí)間物理訪問設(shè)備的人。固件更新通常是非常罕見的事件。當(dāng)需要固件更新時(shí),用戶可以將交換機(jī)設(shè)置為寫啟用內(nèi)存以授權(quán)更新,然后在更新完成后對(duì)設(shè)備進(jìn)行寫保護(hù)。
圖4.物理寫保護(hù)固件(執(zhí)行更新時(shí)除外)是保護(hù)設(shè)備完整性的有效方法。
許多器件還使用其非易失性存儲(chǔ)器來存儲(chǔ)寫入訪問所需的數(shù)據(jù)。在高安全性系統(tǒng)中,單獨(dú)的非易失性存儲(chǔ)器芯片可用于存儲(chǔ)數(shù)據(jù),但不能用于存儲(chǔ)軟件。攻擊者仍可能通過將惡意數(shù)據(jù)寫入此內(nèi)存并利用軟件錯(cuò)誤來危害某些系統(tǒng),因此應(yīng)徹底分析和測(cè)試系統(tǒng),因此無論此內(nèi)存中存儲(chǔ)什么數(shù)據(jù),系統(tǒng)都不會(huì)受到損害。增加額外的內(nèi)存芯片會(huì)增加成本 - 但是,一些閃存允許對(duì)某些扇區(qū)進(jìn)行寫保護(hù),而允許其他扇區(qū)可寫。
安全啟動(dòng)
安全啟動(dòng)可防止在啟動(dòng)過程中將未經(jīng)授權(quán)的軟件加載到設(shè)備上。它是信任鏈的開始。安全引導(dǎo)從編程到節(jié)點(diǎn)上只讀非易失性存儲(chǔ)器位置的第一級(jí)引導(dǎo)加載程序開始。此引導(dǎo)加載程序僅驗(yàn)證第二階段引導(dǎo)加載程序的真實(shí)性。第二階段引導(dǎo)加載程序通常更復(fù)雜,可以存儲(chǔ)在可重新編程的閃存中,重復(fù)該過程。6它驗(yàn)證操作系統(tǒng)和加載的應(yīng)用程序是否確實(shí)從受信任的來源有效。
具有安全啟動(dòng)和安全固件更新功能的IIoT節(jié)點(diǎn)可確保設(shè)備正在運(yùn)行授權(quán)代碼,而不是更改或惡意代碼,因?yàn)檫@可以防止永久安裝惡意軟件或代碼。設(shè)備將僅運(yùn)行未修改的代碼,或者無法啟動(dòng)。
安全啟動(dòng)過程通常依賴于數(shù)字簽名來保護(hù)代碼的真實(shí)性。代碼映像由設(shè)備的 OEM 在制造組裝時(shí)使用 OEM 的私鑰進(jìn)行簽名。然后,節(jié)點(diǎn)使用 OEM 的相應(yīng)公鑰來驗(yàn)證固件映像的簽名。
還可以使用對(duì)稱加密使用消息身份驗(yàn)證代碼 (MAC) 保護(hù)代碼,但這需要私鑰存儲(chǔ)在設(shè)備上,這會(huì)使其面臨風(fēng)險(xiǎn)。但是,使用 MAC 在計(jì)算上更容易。
雖然安全啟動(dòng)可以增強(qiáng)安全性,但有時(shí)對(duì)最終用戶的限制性太大,因?yàn)樗鼤?huì)阻止他們更改設(shè)備上運(yùn)行的軟件或運(yùn)行自己的軟件。根據(jù)應(yīng)用程序的不同,用戶可能需要更大的靈活性和配置安全啟動(dòng)的能力,從而允許它信任自己的代碼。
安全固件更新(類似于安全啟動(dòng))驗(yàn)證 OEM 在升級(jí)過程中是否已對(duì)新代碼映像進(jìn)行簽名。如果下載的映像無效,則會(huì)丟棄這些映像并停止升級(jí)。只有有效的圖像是可接受的,并隨后保存到設(shè)備內(nèi)存中。
假設(shè)某個(gè)時(shí)候會(huì)發(fā)現(xiàn)漏洞。應(yīng)該有一個(gè)計(jì)劃,以便在發(fā)現(xiàn)或利用漏洞時(shí)如何解決漏洞。通常需要一種方法來允許在設(shè)備上安裝軟件更新和補(bǔ)丁來修復(fù)漏洞。還需要正確實(shí)施更新過程,以便它不會(huì)被用作允許任何人在設(shè)備上安裝惡意軟件的攻擊媒介。僅為了提供修補(bǔ)功能而使設(shè)備通過網(wǎng)絡(luò)訪問可能會(huì)帶來比減輕更多的風(fēng)險(xiǎn)。
安全通信
大多數(shù)工程師將安全性視為通信協(xié)議,例如SSL/TLS,SSH和IPsec,因?yàn)榘踩ㄐ乓烟砑拥皆S多嵌入式設(shè)備中。但是,雖然這是安全威脅的一部分,但其他攻擊媒介提供了新的途徑。許多IIoT傳感器節(jié)點(diǎn)在低功耗配置中運(yùn)行,具有低功耗處理器,無法支持某些最佳選項(xiàng),例如TLS或IPsec。安全協(xié)議為構(gòu)建安全設(shè)備提供了良好的起點(diǎn)。7它們旨在防止數(shù)據(jù)包嗅探、中間人攻擊、重放攻擊以及未經(jīng)授權(quán)的與節(jié)點(diǎn)通信嘗試。
小型IIoT邊緣傳感器設(shè)備通常采用無線協(xié)議,如Zigbee,低功耗藍(lán)牙(BLE)以及其他無線和網(wǎng)狀網(wǎng)絡(luò)協(xié)議。這些協(xié)議具有一定程度的內(nèi)置安全性。但是,它相對(duì)較弱。許多漏洞已經(jīng)發(fā)布,并且被老練的黑客所熟知。小型IIoT設(shè)備通常在不支持TLS或IPSec的低成本、低功耗處理器上運(yùn)行。對(duì)于小型邊緣設(shè)備,DTLS(通過 UDP 的 TLS)可用于安全通信。?
物理安全
物理攻擊針對(duì)IIoT系統(tǒng)的實(shí)際邊緣硬件節(jié)點(diǎn)或網(wǎng)關(guān),可能包括前端傳感器的漏洞。這些攻擊通常需要對(duì)系統(tǒng)的物理訪問,但也可能僅涉及僅限制IIoT硬件效率的操作。攻擊者可以篡改節(jié)點(diǎn),以控制IIoT環(huán)境中的傳感器或其他設(shè)備。然后,他們可以從源中提取機(jī)密數(shù)據(jù)和嵌入式固件代碼。使用惡意節(jié)點(diǎn)注入策略,攻擊者可以將合法節(jié)點(diǎn)之間的惡意節(jié)點(diǎn)物理部署到IIoT網(wǎng)絡(luò)中。8
為了幫助緩解這些攻擊,可以在設(shè)計(jì)階段實(shí)現(xiàn)幾個(gè)硬件預(yù)謀。通過引線器件、裸露銅通孔或未使用的連接器對(duì)信號(hào)進(jìn)行輕松物理探測(cè)應(yīng)盡可能少,甚至從設(shè)計(jì)中放棄。應(yīng)刪除詳細(xì)說明組件并向潛在黑客提供額外信息的絲網(wǎng)印刷,除非認(rèn)為設(shè)計(jì)絕對(duì)必要。雖然它會(huì)增加系統(tǒng)的復(fù)雜性,但工業(yè)保形涂層不僅可以緩沖硬件與元件的影響,還可以增加一個(gè)額外的步驟來防止直接探測(cè)PCB上的電子設(shè)備。
任何嵌入式非易失性存儲(chǔ)器內(nèi)容都應(yīng)在組件內(nèi)進(jìn)行加密和寫保護(hù)。微控制器和DSP器件之間的接口應(yīng)位于PCB上的埋地走線層內(nèi)。即使可以檢索到嵌入式存儲(chǔ)器的內(nèi)容,該數(shù)據(jù)的加密和有效性也應(yīng)該使其毫無意義。
制造商通常包括調(diào)試或測(cè)試端口。這些通常是串行或JTAG,可用于訪問和控制系統(tǒng)的大部分。確保這些端口在生產(chǎn)中功能上被禁用或保護(hù),因?yàn)椴惶畛湔{(diào)試標(biāo)頭是不夠的,因?yàn)榇_定的個(gè)人可以填充它們或?qū)⒆约旱倪B接焊接到引腳。如果需要在生產(chǎn)設(shè)備中保持啟用狀態(tài),則需要在允許使用這些接口之前進(jìn)行身份驗(yàn)證。它們可以受密碼保護(hù),但請(qǐng)確保允許用戶設(shè)置強(qiáng)密碼。
隨機(jī)數(shù)生成
加密函數(shù)通常需要某種隨機(jī)數(shù)生成器 (RNG)。隨機(jī)數(shù)可能需要不可預(yù)測(cè)才能生成密鑰,或者它們可能需要從不重復(fù)。由于缺乏資源和熵,在受約束的嵌入式系統(tǒng)中生成隨機(jī)數(shù)通常是一個(gè)重大挑戰(zhàn)。
許多嵌入式系統(tǒng)的熵太少。這可能會(huì)導(dǎo)致災(zāi)難性的中斷,例如臺(tái)灣的國(guó)民身份證智能卡。研究人員發(fā)現(xiàn),由于缺乏熵,許多身份證從相同的數(shù)字生成了相關(guān)的密鑰。結(jié)果,盡管使用了強(qiáng)大的RNG,但它們還是能夠被打破。9同樣,在2012年,研究人員發(fā)現(xiàn)公鑰服務(wù)器上0.38%的RSA密鑰共享弱隨機(jī)數(shù)生成,并且能夠破解它們。10
驗(yàn)證RNG的強(qiáng)度是困難的或幾乎不可能的。過去的RNG設(shè)計(jì)是相當(dāng)臨時(shí)的,而且知之甚少。然而,近年來,在魯棒加密隨機(jī)數(shù)生成器的設(shè)計(jì)和形式分析方面取得了重大進(jìn)展。
現(xiàn)代、強(qiáng)大的 RNG 設(shè)計(jì)現(xiàn)在往往有三個(gè)階段。8有一個(gè)熵源提供原始熵,一個(gè)熵提取器使熵均勻分布,還有一個(gè)擴(kuò)展階段來擴(kuò)展可用的少量熵。
第一階段是熵源。這可能是一些物理噪聲源,例如時(shí)鐘抖動(dòng)或熱噪聲。某些處理器(例如ADI Blackfin DSP)為硬件提供可用于熵生成的隨機(jī)數(shù)發(fā)生器。?
加密貨幣的隨機(jī)數(shù)需要具有均勻的統(tǒng)計(jì)分布。所有熵源都有一定程度的偏差,在將其用于加密應(yīng)用程序之前,需要消除這種偏差。這是使用熵提取器完成的,該提取器采用具有高熵的非均勻分布輸入,并生成具有高熵的均勻分布輸出。這是以一些熵?fù)p失為代價(jià)的,因?yàn)殪靥崛∑餍枰容敵龈嗟撵剌斎搿R虼?,需要從熵源收集更多的位,并將其提煉成一個(gè)小的高熵?cái)?shù),可用于為加密安全的偽隨機(jī)數(shù)生成器播種。11, 12
利用勘誤表
幾乎所有的IIoT節(jié)點(diǎn)都使用某種形式的嵌入式固件或算法進(jìn)行操作。從功能上講,此固件可以正常運(yùn)行,其執(zhí)行其要求的能力沒有明顯的問題。但是,所有軟件都有一定程度的錯(cuò)誤或勘誤表,允許一小部分可能導(dǎo)致安全問題的異常操作。例如,99.99% 無勘誤的固件很少(如果有的話)會(huì)導(dǎo)致任何操作問題。但是,入侵者可能會(huì)利用這個(gè) 0.01% 的小勘誤表,強(qiáng)制節(jié)點(diǎn)在該特定操作模式下 100% 的時(shí)間內(nèi)失敗。軟件錯(cuò)誤源于復(fù)雜性,這是任何系統(tǒng)執(zhí)行任何有用操作所必需的。軟件錯(cuò)誤和漏洞基本上存在于所有系統(tǒng)中。
圖5.利用小勘誤表在 100% 的時(shí)間內(nèi)強(qiáng)制故障。
安全設(shè)計(jì)
安全性必須從一開始就是系統(tǒng)設(shè)計(jì)的考慮因素。它應(yīng)該是設(shè)計(jì)過程的一部分,而不是在項(xiàng)目結(jié)束時(shí)附加的東西。安全性不是添加安全功能;這是關(guān)于管理風(fēng)險(xiǎn)的。安全設(shè)計(jì)方法對(duì)于任何IIoT系統(tǒng)開發(fā)都至關(guān)重要。
現(xiàn)有的安全設(shè)計(jì)實(shí)踐仍然適用。使用威脅建模來識(shí)別風(fēng)險(xiǎn)并選擇適當(dāng)?shù)娘L(fēng)險(xiǎn)緩解策略。確定系統(tǒng)的入口點(diǎn),以便識(shí)別系統(tǒng)中風(fēng)險(xiǎn)最高的區(qū)域。大多數(shù)攻擊媒介都通過外部接口,因此請(qǐng)查看安全漏洞的設(shè)計(jì)實(shí)現(xiàn)。仔細(xì)處理未知數(shù)據(jù)并驗(yàn)證所有輸入 - 驗(yàn)證和安全性不應(yīng)僅限于入口點(diǎn)。縱深防御很重要,這意味著在外層被破壞時(shí)需要安全層。
許多處理器提供不同級(jí)別的特權(quán)。ARMhas Trustzone和ADI Blackfin DSP提供用戶級(jí)執(zhí)行模式和特權(quán)執(zhí)行模式。以盡可能低的權(quán)限級(jí)別執(zhí)行盡可能多的代碼,以將最重要的代碼保持在特權(quán)模式中。IIoT 設(shè)備的安全要求必須考慮安全故障的成本、攻擊的可能性、主要攻擊媒介以及實(shí)施安全解決方案的成本。?
結(jié)論
其中許多建議相互沖突,并與系統(tǒng)的其他設(shè)計(jì)目標(biāo)沖突。提供安全性通常涉及某種權(quán)衡,通常涉及成本、功能或可用性。有些權(quán)衡非常有效且便宜,而另一些則成本高且影響不大。安全性需要與設(shè)計(jì)的其他需求相平衡,并且應(yīng)通過安全的設(shè)計(jì)過程在特定應(yīng)用的基礎(chǔ)上確定。
為了幫助保護(hù)IIoT,ADI提供了多種處理器,這些處理器提供基于硬件的安全增強(qiáng)功能,有助于突破邊緣節(jié)點(diǎn)的極限。低功耗收發(fā)器ADF7023 RF采用ISM頻段和多種不同可用調(diào)制方案,提供內(nèi)部AES加密。
ADuCM3029中的嵌入式收發(fā)器提供AES和SHA-256硬件加速、真隨機(jī)數(shù)發(fā)生器以及多重保護(hù)SRAM。ADSP-BF70X Blackfin系列數(shù)字信號(hào)處理器提供嵌入式一次性可編程存儲(chǔ)器,用于安全密鑰存儲(chǔ)和快速安全啟動(dòng),有力地保證系統(tǒng)在受損后將恢復(fù)到已知的良好狀態(tài)。
Blackfin DSP中的回滾保護(hù)具有基于硬件的僅增量計(jì)數(shù)器,允許在出現(xiàn)漏洞時(shí)更新固件以修復(fù)漏洞。這與密鑰存儲(chǔ)的不可變性相結(jié)合,提供了創(chuàng)建強(qiáng)大且有彈性的邊緣節(jié)點(diǎn)的能力。此外,Blackfin DSP還提供加密硬件加速器、基于硬件的真隨機(jī)數(shù)發(fā)生器、特權(quán)和非特權(quán)代碼執(zhí)行分離、MMU,以及限制許多DMA通道訪問的能力,以低成本實(shí)現(xiàn)并行和節(jié)能的安全DSP。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2552文章
51272瀏覽量
755045 -
處理器
+關(guān)注
關(guān)注
68文章
19369瀏覽量
230419 -
嵌入式
+關(guān)注
關(guān)注
5087文章
19150瀏覽量
306356 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44802瀏覽量
375010
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論