導(dǎo)讀:物聯(lián)網(wǎng)系統(tǒng)攻擊事件屢屢登上媒體頭條,不斷揭示網(wǎng)絡(luò)、邊緣節(jié)點、以與門道器存在的安全漏洞。 嵌入式感測系統(tǒng)是工業(yè)物聯(lián)網(wǎng)的重要環(huán)節(jié),一旦聯(lián)網(wǎng)安全風(fēng)險便大幅提升,但節(jié)點間的溝通有其必要,因此,節(jié)點安全的維護便格外重要。
物聯(lián)網(wǎng)系統(tǒng)攻擊事件屢屢登上媒體頭條,不斷揭示網(wǎng)絡(luò)、邊緣節(jié)點、以與門道器存在的安全漏洞。 嵌入式感測系統(tǒng)是工業(yè)物聯(lián)網(wǎng)的重要環(huán)節(jié),一旦聯(lián)網(wǎng)安全風(fēng)險便大幅提升,但節(jié)點間的溝通有其必要,因此,節(jié)點安全的維護便格外重要。
近期Mirai殭尸網(wǎng)絡(luò)病毒感染超過250萬個物聯(lián)網(wǎng)節(jié)點,利用默認密碼從未變更的漏洞,伺機登入這些執(zhí)行Telnet服務(wù)器的裝置。 Mirai之后還能發(fā)起阻斷服務(wù)攻擊,使得全球很大比例的服務(wù)器網(wǎng)絡(luò)存取被迫中斷。 Reaper殭尸網(wǎng)絡(luò)利用軟件存在的防御漏洞藉此將自己傳染到這些軟件,攻擊超過100萬個物聯(lián)網(wǎng)裝置。 一個聯(lián)網(wǎng)魚缸就能讓黑客入侵到賭場的網(wǎng)絡(luò),趁機竊取10GB的數(shù)據(jù)。 許多黑客更會利用智能電視從事刺探與監(jiān)視的活動。
嵌入式傳感器系統(tǒng)最近才開始搭載聯(lián)網(wǎng)功能,其存取門戶也開始曝露在因特網(wǎng)中。 作為工業(yè)物聯(lián)網(wǎng)(IIoT)的一部分,這些傳感器少了網(wǎng)絡(luò)服務(wù)器過去20年在充斥攻擊的環(huán)境中所經(jīng)歷的演化,因此業(yè)界開始觀察到,1990年代以及更早之前各種常見的攻擊,發(fā)生在這些系統(tǒng)上。 IIoT系統(tǒng)的生命周期通常比傳統(tǒng)計算機還要長,有些裝置在部署后會持續(xù)運行數(shù)十年之久,但卻不知道何時才會維護。
服務(wù)器與PC的構(gòu)造夠復(fù)雜,能執(zhí)行安全資源供應(yīng)的動作,反觀IIoT節(jié)點其功耗和處理能力通常都偏低,因此很難騰出耗電預(yù)算來執(zhí)行安全措施。 維安本身就是一種取舍,而且還須考慮研發(fā)成本。 雖然工業(yè)物聯(lián)網(wǎng)的成本一般都高于消費型物聯(lián)網(wǎng),但在進行擴充方面仍會面臨成本的挑戰(zhàn)。 如果忽視安全,產(chǎn)品在部署之后可能因遭受攻擊面臨潛在的沖擊,這些善后成本最終還是會回到用戶身上,無法避免。
傳感器與致動器讓工業(yè)物聯(lián)網(wǎng)裝置能和現(xiàn)實世界進行互動。 網(wǎng)絡(luò)攻擊大多數(shù)局限于數(shù)據(jù)流失,然而工業(yè)物聯(lián)網(wǎng)入侵攻擊手段讓黑客比過去更容易滲透到現(xiàn)實世界領(lǐng)域。
這些攻擊有可能造成實體的損害。 在工業(yè)物聯(lián)網(wǎng)領(lǐng)域更為顯著,一次故障就可能導(dǎo)致價值數(shù)百萬美元的工業(yè)制程停擺甚至毀壞,或是導(dǎo)致危及性命的狀況。
聯(lián)網(wǎng)帶來攻擊風(fēng)險 節(jié)點安全須多考慮
工業(yè)物聯(lián)網(wǎng)裝置大多連到某種網(wǎng)絡(luò),通常會是因特網(wǎng)。 然而這樣的鏈接卻也讓它們曝露在攻擊的風(fēng)險下,就像流行病一樣,藉由和其他機器的接觸發(fā)生傳染,使病毒得以散播。 系統(tǒng)和外部世界進行互動的途徑,都可能成為攻擊的門路。 攻擊者之所以能和系統(tǒng)互動,都是因為它們有聯(lián)網(wǎng)的管道。 因此系統(tǒng)設(shè)計安全面臨的第一個問題就是:裝置是否真的有必要連上網(wǎng)絡(luò)? 一旦連上網(wǎng)絡(luò),安全風(fēng)險就會直線攀高。
要保護好系統(tǒng),最好的方法就是避免讓它連到網(wǎng)絡(luò),或限制僅連到封閉式網(wǎng)絡(luò)。 許多任務(wù)業(yè)物聯(lián)網(wǎng)裝置會連上網(wǎng)絡(luò),僅是因為它們具備上網(wǎng)功能,但上網(wǎng)的背后卻沒有太多目的。 裝置聯(lián)網(wǎng)獲得的利益是否抵得過伴隨而來的安全風(fēng)險? 此外,任何和這些聯(lián)網(wǎng)裝置有互動的舊系統(tǒng),也都會面臨風(fēng)險。
在許多情況下,有很多網(wǎng)絡(luò)與節(jié)點若是沒有和外部鏈接就能確保安全無虞,但它們卻有必要和舊的既有網(wǎng)絡(luò)互通并存,不過這些舊網(wǎng)絡(luò)本身的安全性卻遠不及新系統(tǒng)。
這衍生出一個新問題,這種防御力最弱的安全風(fēng)險,超出工業(yè)物聯(lián)網(wǎng)系統(tǒng)能夠影響的范圍之外。 在這種情況中,處在網(wǎng)絡(luò)中的工業(yè)物聯(lián)網(wǎng)系統(tǒng)還必須保護自己。
節(jié)點的安全考慮因素
. 機密性:
保護數(shù)據(jù)不會泄露給未經(jīng)授權(quán)的人士,例如發(fā)動欺騙式攻擊的人士。
. 鑒別:
使用數(shù)字證書檢驗兩部機器之間的對應(yīng)身分。
. 安全開機:
ROM開機程序內(nèi)存放第二階段啟動加載程序的驗證數(shù)據(jù)。
. 安全韌體更新:
只接受制造商授權(quán)的程序代碼。
. 授權(quán):
只允許真正節(jié)點能存取網(wǎng)絡(luò)。
. 完整性:
保護數(shù)據(jù)免于被變更。
. 統(tǒng)計:
適當?shù)亟y(tǒng)計數(shù)據(jù)、節(jié)點數(shù)量、以及時戳,有助于防止有人力存取IIoT網(wǎng)絡(luò)。
. 安全通訊:
各種加密通訊協(xié)議能建置于低功耗節(jié)點內(nèi)。
. 可用性:
確保用戶只在有需要時進行存取。
. 不可拒絕:
確保真實的通訊要求不能被拒絕。
. 可靠:
即使在充斥干擾的電子環(huán)境,存取作業(yè)仍然可靠。

圖1 偽冒的節(jié)點讓網(wǎng)關(guān)誤以為它是一個已知節(jié)點
系統(tǒng)隔離阻惡意軟件傳播
將各系統(tǒng)彼此隔開,不僅能減少攻擊的門路,還能限制惡意軟件的傳播。 有些系統(tǒng)不需要和其他曝露在網(wǎng)絡(luò)的系統(tǒng)進行鏈接,那么這些系統(tǒng)就能被隔離。 針對高風(fēng)險系統(tǒng),可以考慮設(shè)定單獨隔開或嚴密監(jiān)視的網(wǎng)絡(luò),并將該網(wǎng)絡(luò)和其他網(wǎng)絡(luò)隔開。 在理想的狀況下,關(guān)鍵系統(tǒng)應(yīng)和外界完全隔離開來。
聯(lián)網(wǎng)汽車的信息娛樂系統(tǒng)會讓車輛曝露在許多從未見過的新型攻擊手法之下。 主引擎控制單元(ECU)和信息娛樂系統(tǒng)完全沒有關(guān)連,因此外界應(yīng)該沒有途徑透過信息娛樂系統(tǒng)來和ECU進行互動。 雖然一般車輛的設(shè)計會用兩個CAN總線將最關(guān)鍵的系統(tǒng)和其他部分隔離開來,但還是有辦法透過某些方法進行鏈接。 外界仍有可能滲透其中一者,然后再取得另一個系統(tǒng)的控制權(quán)。 如果這些網(wǎng)絡(luò)之間徹底隔離,被滲透的風(fēng)險就能從可能致命大幅降低至較低的損壞程度。
機密信息邊緣即處理保安全
許多任務(wù)業(yè)物聯(lián)網(wǎng)系統(tǒng)會連接到云端服務(wù)器,這些服務(wù)器除了會處理從裝置送來的信息,還會管理這些裝置。 由于裝置數(shù)量持續(xù)擴增,云端需要應(yīng)付如此龐大裝置也變得越來越吃力。 于是許多系統(tǒng)開始將處理工作向外移到網(wǎng)絡(luò)邊緣的IIoT裝置,藉以減少送至云端的數(shù)據(jù)流量。
我們通常將數(shù)據(jù)看作是資產(chǎn)。 數(shù)據(jù)經(jīng)過挖掘后移轉(zhuǎn),之后再從龐大的數(shù)據(jù)集中找出隱藏其中的模式。 不過,一開始搜集但尚未處理的數(shù)據(jù),通常其用處并不大,但對于黑客而言,這些數(shù)據(jù)卻相當有用。 敏感數(shù)據(jù)會成為黑客的目標,因而變成一種負擔。 搜集來的數(shù)據(jù)應(yīng)先加以過濾,而僅留下有需要的部分,其余的部分則應(yīng)該盡速刪除。 這種作法不僅能提高安全,還會增加收集數(shù)據(jù)的實用性。 重要的是,須辨識可能具機密性的信息,并徹底刪除或限制其儲存量。
在網(wǎng)絡(luò)邊緣立即處理數(shù)據(jù),傳送到云端與暴露在云端上的數(shù)據(jù)其數(shù)量就會減少。 邊緣產(chǎn)生的數(shù)據(jù)傳送得越多,就越難保持其機密性。 每多出一個新節(jié)點,就會多出一個數(shù)據(jù)外流的潛在漏洞,攻擊門路也會隨之快速增加。
將敏感的數(shù)據(jù)局限在網(wǎng)絡(luò)邊緣能限制攻擊門路的數(shù)量,機密數(shù)據(jù)尤其適用。 如果將機密數(shù)據(jù)圍堵在網(wǎng)絡(luò)邊緣節(jié)點不外傳,被竊取的可能性就會降低。 舉停車位傳感器為例,它在處理影像后會透過一個二進制訊號通報車位已被占用,而不會回傳串流視訊,如此就不必傳送龐大但沒有必要的影像數(shù)據(jù)。 這種作法能減輕接收服務(wù)器的負荷,而且黑客也無法藉由截收視訊的方式進行監(jiān)視。 類似于消費型物聯(lián)網(wǎng)系統(tǒng),工業(yè)物聯(lián)網(wǎng)系統(tǒng)也必須保存涉及專利以及機密性的信息,其中包括:
. 專利算法
. 嵌入式韌體
. 顧客信息
. 金融信息
. 資產(chǎn)位置
. 設(shè)備使用模式
. 涉及競爭的情報
. 連接至更大規(guī)模網(wǎng)絡(luò)的管道
有些工業(yè)物聯(lián)網(wǎng)裝置仍缺乏足夠的威力與效能,無法應(yīng)付在網(wǎng)絡(luò)邊緣處理數(shù)據(jù)的需求。 于是另一種拓撲就應(yīng)運而生,這就是貼近地面的霧運算(Fog)模式,其為介于云端與邊緣系統(tǒng)之間的模式。 在Fog模式中,邊緣節(jié)點會先鏈接到網(wǎng)關(guān),這個網(wǎng)關(guān)會接收數(shù)據(jù)并進行一些處理作業(yè),然后將結(jié)果傳到云端。 一部網(wǎng)關(guān)可能鏈接多部IIoT裝置。 這種網(wǎng)關(guān)并不一定要采電池供電方式,因此在處理電力方面有更高的用電預(yù)算,而其成本也高于資源受限的IIoT裝置。
Fog模式雖然是因擴充問題而崛起,但安全也扮演一定的角色。 網(wǎng)關(guān)裝置能協(xié)助保護脆弱的邊緣節(jié)點,這些節(jié)點資源過于有限無法自我防護,但一定程度的保護總勝過完全不設(shè)防。 網(wǎng)關(guān)可用來協(xié)助管理底下的所有節(jié)點,但不是直接管理每個節(jié)點。 Fog模式也能配合IIoT的事件響應(yīng),同時避免服務(wù)受到干擾而中斷。 舉例來說,維安作業(yè)可透過和網(wǎng)關(guān)的互動做出反應(yīng),毋須關(guān)掉負責關(guān)鍵任務(wù)的生產(chǎn)線。

圖2 可能感染工業(yè)物聯(lián)網(wǎng)系統(tǒng)的各種類型惡意代碼
資源供應(yīng)與部署挑戰(zhàn)險峻
工業(yè)物聯(lián)網(wǎng)最嚴峻的挑戰(zhàn)中,包括部署與管理數(shù)量極龐大的裝置。 廣布各處的工業(yè)物聯(lián)網(wǎng)系統(tǒng),最為人詬病的,就是難以布建與設(shè)定。 再加上IIoT極長的生命周期,系統(tǒng)由某個團隊布建后,經(jīng)過長年的運作,然后可能轉(zhuǎn)由另一個團隊負責支持。
IIoT系統(tǒng)在默認狀態(tài)下由于驗證機制薄弱,因此安全性欠佳。 正如我們在Mirai強尸網(wǎng)絡(luò)所看到的情況,大多數(shù)用戶從來不會登入到工業(yè)物聯(lián)網(wǎng)裝置去設(shè)定它們,甚至根本不知道應(yīng)該進行設(shè)定。 大多數(shù)IIoT用戶都以為裝置拆箱后就能立即上線使用,系統(tǒng)在默認狀態(tài)下原本就應(yīng)安全無虞。 這類應(yīng)該進行設(shè)定但用戶從未執(zhí)行設(shè)定的裝置,就從此維持在出廠時的預(yù)測狀態(tài)。 最常見的錯誤就是防護力極弱的默認密碼。
在工業(yè)物聯(lián)網(wǎng)領(lǐng)域,網(wǎng)絡(luò)邊緣得到最多的關(guān)注,但千萬不可忽略云端或是系統(tǒng)中的服務(wù)器。 針對服務(wù)器常見漏洞進行測試,像是跨站點的描述指令,SQL注入攻擊、跨站點偽冒等,另外還得研究API找出漏洞,確保在服務(wù)器上運行的軟件都能及時安裝修補程序。
在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)必須妥善保護,否則就可能被攔截并進行惡意的竄改。 應(yīng)采用如TLS或SSH這類安全譯密通訊協(xié)議來保護傳送數(shù)據(jù)。 在理想狀態(tài)下,數(shù)據(jù)應(yīng)受到端對端的全程保護。
工業(yè)物聯(lián)網(wǎng)的邊界通常很模糊。 IIoT傳感器節(jié)點通常四處分散在網(wǎng)絡(luò)的邊界。 一般的作法是透過一個固定式網(wǎng)關(guān),作為進入更大規(guī)模工業(yè)網(wǎng)絡(luò)的入口。 針對這些連至網(wǎng)絡(luò)的裝置執(zhí)行適當?shù)纳矸烛炞C,有助于防范惡意第三方竄改傳送中的數(shù)據(jù)。
要保護網(wǎng)絡(luò)傳輸數(shù)據(jù),涉及到使用安全通訊協(xié)議。 最好的作法應(yīng)采用已知安全無虞的標準通訊協(xié)議。 我們可利用IEEE 802.1AE MACsec在以太網(wǎng)絡(luò)LAN提供安全機制。 無線局域網(wǎng)絡(luò)面臨的風(fēng)險比較高,因為它們更容易被存取且訊號四處傳播。 WPA2能為遵循IEEE 802.11標準的無線網(wǎng)絡(luò)提供安全機制。 無線IIoT解決方案通常采用低功耗IEEE 802.15.4標準,此標準本身就提供全套安全通訊協(xié)議。 然而這些都屬于Layer 2通訊協(xié)議,而且僅針對局域網(wǎng)絡(luò)內(nèi)的傳輸流量提供保護。
受保護的流量必須轉(zhuǎn)送到LAN以外的環(huán)境,像是透過因特網(wǎng)轉(zhuǎn)送,因此需要更高層的通訊協(xié)議來提供端至端全面覆蓋的安全性。 一般都會運用TLS來保護因特網(wǎng)上的流量,以及提供端對端的安全防護。 TLS采用的是TCP技術(shù),而許多物聯(lián)網(wǎng)裝置則是采用UDP協(xié)議進行通訊,另外常用的還有DTLS(數(shù)據(jù)元傳輸層安全),則是透過UDP協(xié)議傳送數(shù)據(jù)。 物聯(lián)網(wǎng)裝置在供電與內(nèi)存方面受到限制,但大多數(shù)受限制的應(yīng)用僅需簡單的步驟就能建置TLS。 即使條件更為受限的裝置,IETF也已著手為其制定名為受限應(yīng)用通訊協(xié)議(CoAP)的新通訊協(xié)議。
感測節(jié)點建置防護 抵御端點裝置安全
保護傳送中的數(shù)據(jù)不僅重要而且必要,但許多攻擊行動卻更常鎖定端點裝置。 連至網(wǎng)絡(luò)的接口必須加強防御以彌補各種防御缺口。 IIoT防御其中一種作法,是直接在傳感器節(jié)點裝置建構(gòu)防護機制。 這種方式提供第一層關(guān)鍵防線,因為裝置不再依賴企業(yè)防火墻作為其唯一的保護機制。 這對企業(yè)行動裝置以及部署在偏遠位置的IIoT傳感器尤其重要。
IIoT裝置的安全解決方案必須提供足夠的保護,以抵御各種網(wǎng)絡(luò)攻擊。 這類解決方案除了必須確保裝置韌體不會被竄改,還得能保護裝置內(nèi)儲存的數(shù)據(jù);保護傳入與傳出的通訊;以及能偵測與回報任何嘗試滲透的網(wǎng)絡(luò)黑客。 而唯一能達成上述目標的方法,就是在設(shè)計初期階段便納入安全規(guī)畫。
對于嵌入式裝置而言,永遠不會有萬用式的安全解決方案。 市面上的解決方案為OEM廠商提供泛用式框架。 然而,完整的安全框架必須考慮保護特定裝置、網(wǎng)絡(luò)、以及整個系統(tǒng)所需的各項核心功能。 它們必須具備足夠的彈性,除了針對任何特定需求對解決方案進行客制化設(shè)計,同時還要確保納入關(guān)鍵的安全功能。
寫保護模式助系統(tǒng)感染后復(fù)原
在醫(yī)療領(lǐng)域中,手術(shù)工具的消毒至關(guān)重要,除了讓工具能重復(fù)使用,還能避免傳播疾病。 高壓蒸氣滅菌鍋是消毒的標準器材,它在高壓環(huán)境中透過超高溫蒸氣快速對手術(shù)器具進行消毒,藉此消滅所有細菌,讓器材回復(fù)到良好狀態(tài)。 外科醫(yī)生用過的手術(shù)刀經(jīng)過這樣的消毒程序后即可重復(fù)使用。
系統(tǒng)被滲透之后回復(fù)到已知良好狀態(tài),這要比讓系統(tǒng)能抵御所有攻擊還更為重要。 具備復(fù)原能力的系統(tǒng)能快速復(fù)原,并且在充分信心的狀態(tài)下回復(fù)運行。
系統(tǒng)一旦被感染后,如何要消除感染? 當系統(tǒng)被感染時,系統(tǒng)的狀態(tài)會經(jīng)由一些不明方式被變更。 從遠程發(fā)動的滲透會掌控處理器,然后將新的惡意代碼置入到系統(tǒng)。 通常惡意代碼會竄改或更換韌體,讓系統(tǒng)以不同的方式運作。 一旦發(fā)生這種狀況,處理器就不再能被信任。
嵌入式系統(tǒng)通常設(shè)計成難以從被滲透的狀態(tài)進行可靠的復(fù)原。 要對系統(tǒng)消毒,并確定系統(tǒng)徹底無害,唯一的方法就是將所有非揮發(fā)性內(nèi)存內(nèi)的數(shù)據(jù)復(fù)制到外部讀取裝置,之后再和原始韌體的內(nèi)容進行比對驗證,如果確定沒有被竄改,再以原始內(nèi)容寫入。 大多數(shù)系統(tǒng)的設(shè)計,都無法具備上述的功能。
其中一種保護系統(tǒng)完整性的方法,就是以機器開關(guān)的物理方式為非揮發(fā)性內(nèi)存提供寫入保護。 當開關(guān)切換至寫保護模式,內(nèi)存就透過硬件提供物理性的保護。 內(nèi)存的控制力移出到處理器以外,如此一來黑客如果無法實體接觸到裝置就無法從遠程將長駐型(Permanent)惡意代碼寫到內(nèi)存。 對于只能透過因特網(wǎng)連到裝置但卻無法實際接觸到裝置的黑客而言,上述這種方法能擋掉大多數(shù)這類型黑客一段很長的時日。 韌體更新通常很久才會執(zhí)行一次。 當需要更新韌體時,用戶可以將開關(guān)切至允許寫入內(nèi)存模式,授權(quán)更新程序,當完成更新后馬上再切換至寫保護模式。
許多裝置還會用非揮發(fā)性內(nèi)存來儲存需要覆寫的數(shù)據(jù)。 在高度安全的系統(tǒng)中,會用另一個非揮發(fā)性內(nèi)存芯片來儲存數(shù)據(jù),但不會存放程序。 雖然黑客可能會攻入系統(tǒng),將惡意數(shù)據(jù)寫入這個內(nèi)存,并利用軟件的Bug,因此系統(tǒng)應(yīng)事先進行徹底分析與測試,不論內(nèi)存內(nèi)存放什么數(shù)據(jù),系統(tǒng)都不會被攻破。 加裝額外的內(nèi)存芯片會提高成本,不過市面上已有某些閃存允許用戶將某些區(qū)域設(shè)為防止寫入,其余區(qū)域仍允許寫入數(shù)據(jù)。

圖3 中間人攻擊(Man-in-The-Middle)會在節(jié)點與網(wǎng)關(guān)之間安插一個惡意的存取點(Access Point)。
安全開機程序防止未授權(quán)軟件安裝
安全開機能防止未經(jīng)授權(quán)的軟件在裝置開機程序中被加載到裝置。 安全開機是信任鏈的起點。 安全開機一開始是第一階段開機程序(Bootloader),從節(jié)點的只讀式非揮發(fā)性內(nèi)存啟動。 這個開機時序唯一工作就是驗證第二階段開機程序的身分真實性。 第二階段開機程序通常較為復(fù)雜,可能儲存在可覆寫閃存,重復(fù)執(zhí)行開機程序。 它會根據(jù)可信任來源驗證操作系統(tǒng)與被加載的程序是否有效。
具備安全開機與安全韌體更新功能的IIoT節(jié)點,可確保裝置運行經(jīng)授權(quán)的程序代碼不會被竄改或注入惡意代碼,這種方式可避免裝置被永久置入惡意軟件或程序。 裝置只會運行未經(jīng)竄改的程序,否則就無法開機。
安全開機程序通常依賴數(shù)字簽名來保護程序代碼的真實性。 裝置OEM廠商在組裝時會使用自己的私有密鑰來簽署程序代碼映像。 程序代碼之后再利用OEM廠商的公開密鑰驗證韌體映像的簽章。
另外程序代碼還會運用對稱式譯密機制,用訊息鑒別碼(MAC)來保護程序代碼,不過裝置內(nèi)必須存放私有密鑰,但這也會衍生被竊取的風(fēng)險。 就運算方面而言,使用MAC是比較容易的方法。
雖然安全開機能增進安全,但有時也會對終端用戶形成過多限制,因為它會讓用戶無法變更在裝置上執(zhí)行的軟件,或是無法執(zhí)行自己的軟件。 依照應(yīng)用的不同,用戶可能需要更多彈性,以及能夠設(shè)定保護開機的方式,使其能信任自己的程序代碼。
安全韌體更新,類似安全開機,在升級程序時會驗證新程序代碼映像是否由OEM廠商簽署。 如果下載的映像無效,程序代碼就會被棄置,升級程序就會中止。 這種更新程序只會接受有效的映像,通過鑒別的韌體會儲存到裝置的內(nèi)存。
假設(shè)防御漏洞終究會被發(fā)現(xiàn),那么事先應(yīng)擬好計劃,設(shè)定好一旦發(fā)現(xiàn)或不幸被滲透時該如何解決這些漏洞。 通常需要一個途徑讓軟件更新或修補程序能安裝到裝置,藉以修補漏洞。 更新程序需要妥善執(zhí)行,避免成為另一個攻擊門路,讓黑客藉此將惡意代碼裝入到裝置。 只是為了安裝修補程序讓外界能透過網(wǎng)絡(luò)存取裝置,其衍生出的風(fēng)險往往多過規(guī)避掉的風(fēng)險。

圖4 物理寫入保護韌體,僅在執(zhí)行更新時放行,這種方法能有效保護裝置的完整性。
安全通訊協(xié)議防范竊聽
大多數(shù)工程師將安全聯(lián)想到通訊協(xié)議,像是SSL/TLS、SSH、以及IPsec,因為安全通訊早已被加入到許多嵌入式裝置。 然而,這只是安全威脅的其中一部分,其他攻擊門路還會提供新的滲透途徑。 許多IIoT傳感器節(jié)點會在低功耗組態(tài)下運行,然而這類低功耗處理器并無法支持最佳選項,像是TLS或IPSec。 對于建構(gòu)安全裝置而言,安全通訊協(xié)議提供一個很好的起點。 它們設(shè)計用來防范封包竊聽、中間人攻擊、重送攻擊(Replay Attacks)、以及未經(jīng)授權(quán)人士嘗試與節(jié)點通訊。
小型IIoT邊緣傳感器裝置通常采用如ZigBee、藍牙低功耗(BLE)、以及其他無線與網(wǎng)狀拓撲的無線網(wǎng)絡(luò)協(xié)議。 這些通訊協(xié)議都內(nèi)建一定程度的安全性,但相對而言其防護力都偏弱。 許多漏洞都公諸于世,老練的黑客都了如指掌。 微型IIoT裝置通常使用極低成本的低功耗處理器,而這類處理器并不支持TLS或IPSec。 對于小型邊緣裝置而言,在UDP協(xié)議上運行TLS的DTLS,可用來保護通訊。
物理攻擊多鎖定前端感測
物理攻擊鎖定的是實際的網(wǎng)絡(luò)邊緣硬件節(jié)點或IIoT系統(tǒng)的網(wǎng)關(guān),這類攻擊可能包含入侵前端傳感器。 這些攻擊通常需要實際接觸系統(tǒng),但也可能只是限制IIoT硬件的效率。 黑客會竄改節(jié)點,藉以控制傳感器或IIoT環(huán)境的其他裝置。 得手后他們可能取出機密數(shù)據(jù),并從來源端將韌體程序代碼寫入到系統(tǒng)。 運用注入惡意節(jié)點的策略,黑客可將惡意節(jié)點部署在合法節(jié)點之中,混入到IIoT網(wǎng)絡(luò)內(nèi)。
為協(xié)助防范這些攻擊,許多硬件在設(shè)計時間就預(yù)作防備。 透過前導(dǎo)裝置、外露銅導(dǎo)孔或未使用接頭,就能讓任何人輕松進行實體探測,這類的設(shè)計應(yīng)盡可能少用甚至完全棄用。
硬件表面上的網(wǎng)版印刷經(jīng)常會列出組件的詳細信息,讓潛在黑客獲得更多訊息,因此若非真的有必要,否則就應(yīng)移除。 雖然這會增加系統(tǒng)復(fù)雜度,但符合工業(yè)規(guī)范的涂層不僅會阻隔硬件與組件的接觸,也會增加額外的步驟,防止他人直接探測電路板上的電子組件。
任何嵌入式非揮發(fā)性內(nèi)存的內(nèi)容都應(yīng)進行加密,以及對組件內(nèi)的內(nèi)容進行覆寫保護。 微控制器與DSP裝置之間的接口應(yīng)設(shè)在PCB的埋入式電路層內(nèi)。 即使須要檢索嵌入式內(nèi)存的內(nèi)容,經(jīng)過加密與驗證程序的數(shù)據(jù),也會讓外流的內(nèi)容無法被解讀。
制造商通常會在硬件加入除錯或測試埠。 這些埠通常是串行或JTAG,能包含;存取與控制大多數(shù)系統(tǒng)。 應(yīng)確保這些鏈接埠在生產(chǎn)時關(guān)閉功能或加上保護,因為光是不要預(yù)留除錯接頭(Debug Headers)還不夠,不怕麻煩的人可以自行在針腳焊上鏈接點。 如果需要在生產(chǎn)裝置時保留這些接口,就須先對這些接口進行驗證才允許使用。 它們應(yīng)設(shè)有密碼保護,但也要確保讓用戶能設(shè)定高防護力的密碼。
隨機數(shù)生成挑戰(zhàn)多
譯密功能通常需要某種類型的隨機數(shù)生成器(RNG)。 需要透過隨機隨機數(shù)讓生產(chǎn)的密鑰難以預(yù)測,或是永遠不會重復(fù)。 由于缺少資源與無序狀態(tài)的熵(Entropy),因此對于資源有限的嵌入式系統(tǒng)而言,要生成隨機數(shù)都會是極大的挑戰(zhàn)。
許多嵌入式系統(tǒng)面臨熵過低的問題,這可能會導(dǎo)致災(zāi)難性的滲透,像是臺灣國民ID智能卡。 研究人士發(fā)現(xiàn)由于缺少無序性,許多智能卡會從相同數(shù)字產(chǎn)生有關(guān)連性的密鑰。 因此,盡管有使用強大的隨機數(shù)生成器,外界還是能破解密碼。 類似的狀況,在2012年,研究人員發(fā)現(xiàn)公開密鑰服務(wù)器發(fā)布的RSA密鑰使用防御力過弱的隨機數(shù)生成器,導(dǎo)致他人有辦法破解密碼。
要驗證RNG的強度,其難度很高甚至幾乎不可能。 以往的RNG設(shè)計都極具特殊性,外界對其了解甚少。 不過近幾年來,各界對強健譯密的隨機數(shù)生成器的設(shè)計以及正式分析,已經(jīng)累積相當?shù)倪M展。
目前健全的RNG設(shè)計通常有三個階段。 包括一個熵來源提供原始熵(Raw Entropy);一個熵擷取器(Entropy Extractor)讓熵呈現(xiàn)均勻分布;以及擴充階段,擴充小量可用的熵。
第一階段是熵來源,可能是一些實體噪聲來源,像是頻率抖動或熱噪聲。 某些處理器,像是ADI Blackfin DSP,能為硬件提供隨機數(shù)生成器,可用來產(chǎn)生熵。
用來譯密的隨機數(shù)必須在統(tǒng)計上呈現(xiàn)均勻的分布。 所有熵來源的偏差(Bias)量必須一致,而且在進行譯密應(yīng)用之前還必須消除這個偏差。 方法是使用一個熵擷取器,用高熵(High Entropy)取得非均勻分布的輸入,然后產(chǎn)生高熵的均勻分布輸出。 但這種方法的代價是一定程度的熵損失(Entropy Loss),因為熵擷取器需要熵的輸入高過輸出。 因此就得從熵來源搜集更多位,然后萃取出較小的高熵數(shù)字,用來作為種子,輸入到譯密安全的虛擬隨機數(shù)生成器。
利用瑕疵發(fā)動滲透
幾乎所有IIoT節(jié)點都必須配合某種類型的嵌入式韌體或算法一起運行。 就功能上而言,在執(zhí)行要求時如果若沒有出現(xiàn)明顯的問題,這種韌體就能順利運行。 但所有軟件總是會存在一定的Bug或缺陷,因此通常會允許小比例的異常運行狀況,但這類狀況可能導(dǎo)致安全上的問題。 舉例來說,99.99%無錯率的韌體幾乎很少會造成任何運行上的問題。 但這個僅0.01%的出錯率仍可能被黑客利用,讓特定節(jié)點的運作100%完全失效。 許多軟件的Bug因復(fù)雜度而起,然而對于任何執(zhí)行實用任務(wù)的系統(tǒng)而言,復(fù)雜是必然的特性。 軟件Bug與漏洞在所有系統(tǒng)中都必定存在。
安全必須從系統(tǒng)設(shè)計一開始就納入考慮。 安全應(yīng)該是設(shè)計流程的一部分,而不是項目最后才進行的工作。 安全不是加入安全功能;而是在于控管風(fēng)險。 安全設(shè)計方法對于任何IIoT系統(tǒng)開發(fā)而言都至關(guān)重要。
現(xiàn)有的安全設(shè)計策略仍然適用。 運用威脅模型分析找出各種風(fēng)險,然后選擇適合的風(fēng)險抑制策略;找出系統(tǒng)的切入點,從而發(fā)掘系統(tǒng)中的高風(fēng)險區(qū)域。 大多數(shù)攻擊門路都是透過外部接口,因此應(yīng)檢討設(shè)計內(nèi)容發(fā)掘出安全漏洞。 同時應(yīng)審慎處理未知數(shù)據(jù)與驗證所有輸入,驗證與安全防護不應(yīng)局限于切入點。 而深層防御也是至關(guān)重要的,其意味著一旦外部防護層被攻破,其余每個防護層都有其必要性。
許多處理器提供不同層級的權(quán)限。 例如ARM擁有Trustzone以及ADI Blackfin DSP提供用戶層級的封閉模式,以及特權(quán)執(zhí)行模式。 大多數(shù)程序代碼應(yīng)盡量以最低權(quán)限執(zhí)行,藉以讓最重要的程序代碼以特權(quán)模式執(zhí)行。 IIoT裝置的安全需求必須考慮到安全失效的善后成本,像是攻擊的可能性、主要的攻擊門路,以及建置安全解決方案的成本。

圖5 利用小缺陷迫使系統(tǒng)100%時間失效
安全設(shè)計流程需求多
這些建議中,有許多不僅彼此沖突,甚至和系統(tǒng)的其他設(shè)計目標相互矛盾。 提供安全通常涉及到某種取舍,通常是在成本、功能、抑或是使用功能之間做取舍。 有些取舍相當有效但代價卻甚低,但有些則是代價高昂但回報甚少。 安全需求實須和設(shè)計的其他需求取得平衡點,在安全設(shè)計流程中,應(yīng)根據(jù)應(yīng)用的性質(zhì)做出適合的判斷。
為協(xié)助保護IIoT,ADI已經(jīng)推出多款處理器,提供硬件式安全強化機制,協(xié)助突破邊緣節(jié)點的功能極限。 ADF7023 RF低功耗收發(fā)器即提供內(nèi)部AES加密功能,能使用ISM頻帶,并支持許多不同的調(diào)變機制。
ADuCM3029內(nèi)的嵌入式收發(fā)器提供AES與SHA-256硬件加速機制以及一個真實隨機數(shù)生成器,并配備有多重同位(Multiparity)保護功能的SRAM內(nèi)存。 ADSP-BF70X Blackfin系列數(shù)字信號處理器則針對安全密鑰儲存以及快速安全開機提供嵌入式一次程序化內(nèi)存,提供高度保障,確保系統(tǒng)在被滲透后仍能回復(fù)至已知良好狀態(tài)。
Blackfin DSP內(nèi)的回退(Rollback)保護機制配合硬件式的純遞增計數(shù)器,讓韌體能夠進行升級,在當出現(xiàn)防御漏洞時可加以修補。 再加上密鑰儲存的不可改變性,讓用戶能建構(gòu)強固且具回復(fù)力的邊緣節(jié)點。 此外,Blackfin DSP還提供譯密硬件加速器;一個硬件式真實隨機數(shù)生成器;隔離的特權(quán)與非特權(quán)程序代碼執(zhí)行模式、內(nèi)存管理單元,以及能限制DMA信道的存取,讓系統(tǒng)以低成本的平行模式運行省電且安全的DSP。