網絡安全
雖然邊緣在IIoT中獲得了大部分焦點,但重要的是不要忽視系統的云或服務器端。測試常見的服務器端漏洞,如跨站點腳本、SQL 注入和跨站點請求偽造,并檢查 API 是否存在漏洞,確保及時修補服務器上運行的軟件。
通過網絡傳輸的數據需要得到保護,否則可能會被惡意攔截和修改。TLS 或 SSH 等安全加密協議用于保護傳輸中的數據。理想情況下,數據應受到端到端的保護。
IIoT 網絡的邊界通常很模糊。IIoT傳感器節點通常在空間上駐留在其網絡的外圍。但是,它們還提供了通過固定網關進入更大工業網絡的簡單門戶。4將這些設備正確發送到網絡有助于防止流量被惡意第三方篡改。
保護網絡數據流量涉及使用安全通信協議。最佳做法應該是使用已知安全的標準協議。以太網 LAN 上的安全性可以使用 IEEE 802.1AE 網絡存儲提供。無線 LAN 往往風險更高,因為它們更易于訪問且無處不在。WPA2 為 IEEE 802.11 無線網絡提供安全性。低功耗IEEE 802.15.4標準通常用于無線IIoT解決方案,提供自己的安全協議套件。但是,這些是第 2 層協議,并且僅保護 LAN 上的流量。
保護需要在 LAN 外部路由的流量(例如通過 Internet)需要提供端到端安全性的更高層協議。TLS 通常用于保護互聯網流量并提供端到端安全性。雖然 TLS 使用 TCP,并且許多物聯網設備使用 UDP 進行通信,但存在通過 UDP 工作的 DTLS(數據報傳輸層安全性)。雖然物聯網設備在功率和內存方面受到限制,但可以毫不費力地為大多數受約束的應用程序實現TLS。對于更嚴格約束的設備,IETF目前正在開發一種新的協議,即受約束的應用協議(CoAP)。
端點安全
雖然保護傳輸中的數據是重要和必要的,但攻擊更經常針對端點。面向網絡的接口需要針對漏洞進行強化。IIoT 安全的一種方法是直接在傳感器節點設備中構建保護。這提供了第一個關鍵的安全層,因為設備不再依賴于企業防火墻來提供唯一的保護。這對于部署在遠程位置的移動企業設備和IIoT傳感器尤其重要。
IIoT設備的安全解決方案必須提供針對各種網絡攻擊的保護。它必須確保設備固件未被篡改,能夠保護存儲在設備中的數據,能夠保護入站和出站通信,并且必須能夠檢測和報告任何嘗試的網絡攻擊。5這只能通過在設計的早期階段包含安全性來實現。
[圖3|中間人攻擊在節點和網關之間插入惡意接入點。
對于嵌入式設備,永遠不可能有一個放之四海而皆準的安全解決方案。提供的解決方案為 OEM 提供了通用框架。但是,完整的安全框架必須考慮保護特定設備、網絡和整個系統所需的核心功能。還必須靈活地根據任何特定要求定制解決方案,同時確保包含關鍵的安全功能。
自動機用高壓滅菌器
在醫學上,手術工具的滅菌對于在防止疾病傳播的同時重復使用至關重要。高壓滅菌器是滅菌的黃金標準。它用高壓過熱蒸汽快速滅菌儀器。它可以消滅所有細菌,并使儀器恢復到已知的良好狀態。這允許外科醫生使用手術刀進行手術,并在消毒后安全地重復使用手術刀。
在入侵后將系統恢復到已知良好狀態的能力比使其對所有攻擊都防彈更重要。彈性系統可以充滿信心地快速恢復和恢復運行。
一旦系統被感染,如何對其進行消毒?當系統受到感染時,它會以某種未知的方式改變系統的狀態。遠程攻擊控制處理器并將新的惡意代碼注入系統。通常,固件以某種方式被修改或替換為惡意軟件,因此系統現在以不同的方式運行。一旦發生這種情況,處理器就不能再被信任。
嵌入式系統的設計方式通常使其難以從妥協中可靠地恢復。通常,清理系統并驗證系統是否干凈的唯一方法是將所有非易失性內存直接物理轉儲到外部讀取器。然后,可以根據原始固件對其進行驗證,如果原始固件不完整,則將其替換為原始固件。大多數系統的設計方式都不是為了實現這一點。
保護系統完整性的一種方法是使用機械開關對非易失性存儲器進行物理寫保護。當交換機設置為寫保護時,內存在硬件中受到物理保護。將對內存的控制轉移到處理器域之外,使得在沒有物理訪問設備的情況下,無法在物理上將永久性惡意軟件遠程安裝到此內存中。這將世界上任何具有互聯網連接的人的潛在攻擊者列表減少到只有那些在很長一段時間內可以物理訪問設備的人。固件更新通常是非常罕見的事件。當需要固件更新時,用戶可以將開關設置為寫入,使內存能夠授權更新,然后在更新完成后對設備進行寫保護。
[圖4|物理寫保護固件(執行更新時除外)是保護設備完整性的有效方法。
許多設備還使用其非易失性存儲器來存儲寫入訪問所需的數據。在高安全性系統中,可以使用單獨的非易失性存儲芯片來存儲數據,但不能用于存儲軟件。攻擊者仍可能通過向此內存寫入惡意數據并利用軟件錯誤來破壞某些系統,因此應徹底分析和測試系統,因此無論此內存中存儲了哪些數據,系統都不會受到損害。增加額外的內存芯片會增加成本 - 但是,一些閃存允許某些扇區進行寫保護,而允許其他扇區可寫。
安全啟動
安全啟動可防止在啟動過程中將未經授權的軟件加載到設備上。這是信任鏈的開始。安全引導從編程到節點上只讀、非易失性存儲器位置的第一階段引導加載程序開始。此引導加載程序僅驗證第二階段引導加載程序的真實性。第二階段引導加載程序通常更復雜,可以存儲在可重新編程的閃存中,重復該過程。6它驗證操作系統和加載的應用程序是否確實有效,這些應用程序是否確實來自受信任的源。
具有安全啟動和安全固件更新功能的IIoT節點可確保設備運行授權代碼,而不是更改或惡意代碼,因為這可以防止永久安裝惡意軟件或代碼。設備將僅運行未經修改的代碼或無法啟動。
安全啟動過程通常依賴于數字簽名來保護代碼的真實性。代碼映像由設備的 OEM 在制造組裝時使用 OEM 的私鑰進行簽名。然后,節點使用 OEM 的相應公鑰來驗證固件映像的簽名。
還可以使用對稱加密的消息身份驗證代碼 (MAC) 保護代碼,但這需要將私鑰存儲在設備上,這會使其面臨風險。但是,使用 MAC 在計算上更容易。
雖然安全啟動可以增強安全性,但它有時對最終用戶的限制性太強,因為它可以防止他們更改在其設備上運行的軟件或運行自己的軟件。根據應用程序的不同,用戶可能需要更大的靈活性和配置安全啟動的能力,這允許它信任自己的代碼。
安全固件更新(類似于安全啟動)驗證 OEM 是否已在升級過程中對新代碼映像進行簽名。如果下載的映像無效,則丟棄這些映像并暫停升級。只有有效的圖像是可以接受的,并隨后保存到設備內存中。
假設某個時候會發現一個漏洞。應該有一個計劃,以便在發現或利用漏洞時如何解決它們。通常需要有一種方法來允許在設備上安裝軟件更新和補丁以修復漏洞。更新過程還需要正確實施,以免被用作允許任何人在設備上安裝惡意軟件的攻擊媒介。使設備可以通過網絡訪問,僅僅是為了提供修補功能,可能會帶來比緩解更多的風險。
安全通信
大多數工程師認為安全性是通信協議,例如SSL / TLS,SSH和IPsec,因為安全通信已被添加到許多嵌入式設備中。然而,雖然這是安全威脅的一部分,但其他攻擊媒介提供了新的途徑。許多 IIoT 傳感器節點在低功耗配置中運行,具有低功耗處理器,這些處理器無法支持某些最佳選項,例如 TLS 或 IPsec。安全協議為構建安全設備提供了良好的起點。7它們旨在防止數據包嗅探、中間人攻擊、重放攻擊以及未經授權的嘗試與節點通信。
小型IIoT邊緣傳感器設備通常采用無線協議,如Zigbee,低功耗藍牙(BLE)以及其他無線和網狀網絡協議。這些協議具有一定程度的內置安全性。但是,它相對較弱。許多漏洞已經發布,并被復雜的黑客所熟知。小型 IIoT 設備通常運行在不支持 TLS 或 IPSec 的非常低成本、低功耗的處理器上。對于小型邊緣設備,DTLS(即通過 UDP 的 TLS)可用于安全通信。
物理安全
物理攻擊針對 IIoT 系統的實際邊緣硬件節點或網關,可能包括前端傳感器的漏洞。這些攻擊通常需要對系統進行物理訪問,但也可能僅涉及僅限制IIoT硬件效率的操作。攻擊者可以篡改節點,以控制IIoT環境中的傳感器或其他設備。然后,他們可以從源中提取機密數據和嵌入式固件代碼。使用惡意節點注入策略,攻擊者可以將合法節點之間的惡意節點物理部署到IIoT網絡中。8
為了幫助緩解這些攻擊,可以在設計階段實施一些硬件方面的先見之明。通過引線器件、裸露的銅通孔或未使用的連接器對信號進行簡單的物理探測應盡量減少,甚至從設計中放棄。應刪除詳細說明組件并向潛在黑客提供其他信息的絲網印刷,除非認為該設計絕對必要。雖然它會增加系統復雜性,但工業敷形涂層不僅可以緩沖硬件與元件的接觸,還可以添加一個額外的步驟來防止直接探測PCB上的電子設備。
任何嵌入式非易失性存儲器內容都應在組件內進行加密和寫保護。微控制器和DSP器件之間的接口應位于PCB上埋設的走線層內。即使可以檢索嵌入式內存的內容,該數據的加密和有效性也應使其毫無意義。
制造商通常包括調試或測試端口。這些通常是串行或JTAG,可用于訪問和控制系統的大部分。確保在生產中禁用或保護這些端口,因為不填充調試標頭是不夠的,因為確定的個人可以只填充它們或將自己的連接焊接到引腳上。如果需要在生產設備中保持啟用狀態,則需要在允許使用這些接口之前進行身份驗證。它們可以受密碼保護,但請確保允許用戶設置強密碼。
隨機數生成
加密函數通常需要某種隨機數生成器(RNG)。隨機數對于密鑰生成可能需要是不可預測的,或者它們可能需要永遠不重復。由于缺乏資源和熵,在受約束的嵌入式系統中生成隨機數通常是一個重大挑戰。
許多嵌入式系統都遭受了熵太少的問題。這可能導致災難性的中斷,例如臺灣的國民身份證智能卡。研究人員發現,由于缺乏熵,許多ID卡從相同的數字中生成了相關的密鑰。結果,盡管使用了強大的RNG,但它們還是能夠被打破。9同樣,在2012年,研究人員發現,公鑰服務器上0.38%的RSA密鑰共享弱隨機數生成,并且能夠破解它們。10
很難或幾乎不可能驗證RNG的強度。RNG設計在過去是相當臨時的,并且知之甚少。然而,近年來,魯棒加密隨機數生成器的設計和形式分析已經取得了重大進展。
現代,堅固的RNG設計現在往往有三個階段。8有一個熵源提供原始熵,一個熵提取器使熵均勻分布,以及一個擴展階段以擴展少量可用的熵。
第一階段是熵源。這可能是一些物理噪聲源,例如時鐘抖動或熱噪聲。一些處理器,如ADI Blackfin DSP,為硬件提供可用于熵生成的隨機數發生器。
加密的隨機數需要具有均勻的統計分布。所有熵源都有一定程度的偏差,在將其用于加密應用程序之前,需要消除這種偏差。這是使用熵提取器完成的,該提取器采用具有高熵的非均勻分布輸入,并生成具有高熵的均勻分布輸出。這是以一些熵損失為代價的,因為熵提取器需要更多的熵輸入,而不是它可以輸出的熵。因此,需要從熵源收集更多的位,并將其提煉成一個小的高熵數,該數字可用于播種加密安全的偽隨機數生成器。11, 12
Exploiting 勘誤表
幾乎所有的IIoT節點都使用某種形式的嵌入式固件或算法進行操作。從功能上講,該固件可以正常運行,在執行其要求的能力方面沒有明顯的問題。但是,所有軟件都有一定程度的錯誤或錯誤,允許一小部分可能導致安全問題的異常操作。例如,99.99%無差點的固件很少(如果有的話)會導致任何操作問題。但是,入侵者可能會利用這個小的0.01%的勘誤率來強制節點的操作在該特定操作模式下100%的時間失敗。軟件錯誤源于復雜性,這是任何系統做任何有用的事情所必需的。軟件錯誤和漏洞基本上存在于所有系統中。
[圖5|利用小勘誤表在 100% 的時間內強制失敗。
安全設計
安全性必須從一開始就考慮系統設計。它應該是設計過程的一部分,而不是在項目結束時附加的東西。安全性不是關于添加安全功能;它是關于管理風險的。安全設計方法對于任何 IIoT 系統開發都至關重要。
現有的安全設計實踐仍然適用。使用威脅建模來識別風險并選擇適當的風險緩解策略。標識系統的入口點,以便標識系統中風險最高的區域。大多數攻擊媒介都是通過外部接口進行的,因此請查看設計實現中的安全漏洞。仔細處理未知數據并驗證所有輸入 - 驗證和安全性不應僅限于入口點。縱深防御很重要,這意味著在外層被破壞的情況下需要安全層
許多處理器提供不同級別的特權。ARM具有信任區,ADI黑鰭DSP提供用戶級執行模式和特權執行模式。以盡可能低的權限級別執行盡可能多的代碼,以將最重要的代碼保持在特權模式下。IIoT設備的安全要求必須考慮安全故障的成本、攻擊的可能性、主要攻擊媒介以及實施安全解決方案的成本。
結論
其中許多建議彼此沖突,并與系統的其他設計目標相沖突。提供安全性通常涉及某種權衡,通常涉及成本,功能或可用性。有些權衡非常有效且便宜,而另一些權衡則成本高,影響不大。安全性需要與設計的其他需求相平衡,并且應該通過安全的設計過程在特定應用的基礎上確定。
為了幫助保護IIoT,ADI提供了幾種處理器,這些處理器提供基于硬件的安全增強功能,可以幫助突破邊緣節點的邊界。ADF7023 RF、低功耗收發器通過使用具有多種不同調制方案的ISM頻段提供內部AES加密。
ADuCM3029中的嵌入式收發器提供AES和SHA-256硬件加速、真隨機數發生器以及多密鑰保護SRAM。ADSP-BF70X Blackfin系列數字信號處理器提供嵌入式一次性可編程存儲器,用于安全密鑰存儲和快速安全啟動,為系統在入侵后恢復到已知良好狀態提供了強有力的保證。
Blackfin DSP中的回滾保護具有基于硬件的僅增量計數器,允許固件更新以在出現漏洞時修復漏洞。這與密鑰存儲的不可變性相結合,提供了創建強大且具有彈性的邊緣節點的能力。此外,Blackfin DSP還提供加密硬件加速器,基于硬件的真隨機數生成器,特權和非特權代碼執行的分離,MMU以及限制許多DMA通道訪問的能力,以允許以低成本實現并行和高能效的安全DSP。
審核編輯:郭婷
-
傳感器
+關注
關注
2551文章
51163瀏覽量
754152 -
處理器
+關注
關注
68文章
19312瀏覽量
230035 -
ADI
+關注
關注
146文章
45826瀏覽量
250367
發布評論請先 登錄
相關推薦
評論