作者:Ian Beavers and Erik MacLean
物聯網系統攻擊正在成為頭條新聞,并繼續展示網絡、邊緣節點和網關的安全漏洞。最近的 Mirai 僵尸網絡通過登錄運行未更改默認密碼的 telnet 服務器的設備感染了超過 250 萬個物聯網節點。1Mirai后來能夠對服務器調用拒絕服務,從而中斷了世界大部分地區的互聯網訪問。收割者僵尸網絡通過利用軟件漏洞并感染它們來攻擊超過一百萬臺物聯網設備。一個連接互聯網的魚缸提供了進入賭場網絡的入口點,導致10 GB的數據被盜。智能電視已被利用并用于間諜和監視。
嵌入式傳感器系統剛剛開始連接并暴露在互聯網上。作為工業物聯網(IIoT)的一部分,這些傳感器缺乏Web服務器在這種敵對環境中過去二十年的發展。因此,該行業正在目睹這些系統中常見的許多 1990 年代及更早的攻擊。IIoT系統的生命周期通常比傳統計算中的生命周期長得多。某些設備在部署后可能會繼續運行數十年,并且維護計劃未知。
雖然服務器和PC足夠復雜,可以進行安全設置,但IIoT節點的功耗和處理能力通常較低。這為有意的安全措施留下了很小的功率預算。安全性在很大程度上是一種權衡,因為涉及開發成本。盡管IIoT的成本可能高于消費者物聯網,但它仍將面臨可擴展性成本的挑戰。如果忽視安全性,則在部署產品后將產生隱藏的影響,最終需要解決這些成本。
傳感器和執行器允許IIoT設備與物理世界進行交互。網絡攻擊主要限于數據丟失,盡管IIoT黑客攻擊允許潛在進入物理世界比過去更容易。攻擊現在有可能造成人身傷害。這在IIoT中更為重要,在IIoT中,故障可能會關閉或破壞價值數百萬美元的工業流程,或導致危及生命的情況。
互聯世界
IIoT設備通常連接到某些網絡,通常是互聯網。這種連接使他們最容易受到攻擊。與流行病學領域類似,感染通過與其他機器接觸傳播。攻擊媒介存在于系統與外部世界交互的地方。攻擊者能夠嚴格地與系統進行交互,因為他們的連接訪問。要問的第一個系統設計安全問題是:“設備真的需要連接到網絡嗎?將其連接到網絡會大大增加安全風險。
保護系統的最佳方法是防止它連接到網絡或將其限制為封閉網絡。許多IIoT設備連接到網絡僅僅是因為它們可能沒有太多原因。將設備連接到網絡的好處是否超過與之相關的安全風險?此外,與面向互聯網的系統交互的任何其他遺留系統也可能面臨風險。
在許多情況下,原本安全的網絡和安全節點還必須與傳統的現有網絡進行互操作,而傳統網絡本身的安全性可能要差得多。這帶來了一個新問題,因為最弱的安全風險可能不受IIoT系統的影響。在這種情況下,IIoT系統還需要保護自己免受網絡內部的影響。
節點的安全注意事項:
機密性 — 防止數據泄露給未經授權的人員,例如欺騙攻擊
身份驗證 - 使用數字證書驗證兩臺計算機之間的身份
安全引導 — ROM 引導加載程序存儲驗證第二階段引導加載程序的真實性
安全固件更新 - 僅允許制造商提供的授權代碼
授權 - 只有真實的節點才能獲得網絡訪問權限
完整性 — 保護數據不被更改
記帳 — 正確記帳數據、節點計數和時間戳有助于防止對 IIoT 網絡的不必要訪問
安全通信 — 可駐留在低功耗節點上的加密協議
可用性 — 確保用戶在需要時可以訪問
不可否認性 — 保證不會拒絕真實的通信請求
可靠性 — 即使在惡劣的電氣環境中,訪問也需要可靠
圖1.欺騙偽裝成網關的已知節點。
隔離
將系統彼此隔離可以減少攻擊面并限制惡意軟件的傳播。將不需要網絡連接的系統與向網絡公開的系統隔離開來。對于高風險系統,請考慮設置一個單獨的氣隙或嚴格監控網絡,該網絡與其他網絡分開。理想情況下,關鍵系統應與外界完全隔離。
聯網汽車的信息娛樂系統可能會使車輛暴露在許多以前從未見過的新攻擊媒介中。主機控制單元 (ECU) 與信息娛樂系統無關,不應通過信息娛樂系統與其交互。盡管車輛中通常有兩個獨立的CAN總線,將最關鍵的系統與其他系統分開,但它們仍然以某種方式連接在一起。仍然有可能妥協一個并獲得對另一個的控制。如果這些網絡之間完全隔離,則泄露的風險將從潛在的生命威脅降低到遠不那么嚴重。
向邊緣移動
許多IIoT系統連接到云服務器,該服務器收集和處理設備發送給它的信息并管理設備。隨著設備數量的擴展到大量,云可能難以跟上所有這些設備。許多系統正在將處理轉移到IIoT設備上的邊緣,以減少到云的流量。
我們通常將數據視為一種資產。數據被挖掘和出售,以找到大型數據集中的隱藏模式。但是,收集的大量數據通常不是很有用,盡管它可能對攻擊者有用。敏感數據為攻擊者創造了目標,并造成了負擔。收集的數據應過濾到僅需要的數據,其余數據應盡快刪除。這不僅提高了安全性,還提高了所收集數據的效用。識別潛在的敏感信息并消除或限制其收集非常重要。
在邊緣處理數據可以減少發送和暴露到云的數據量。發送的位置數據越多,對其進行保密就越困難。每個新節點都是另一個潛在的妥協,數據可能會泄露。攻擊面可能會呈指數級增長。
將敏感數據包含在邊緣可以限制攻擊面,特別是針對機密數據。如果它僅限于一個邊緣節點,則被盜的可能性較小。在圖像處理后僅通過二進制信號檢測并報告車輛存在的停車占用傳感器不會流式傳輸視頻。它消除了圖像中包含的大量不必要的數據。這減輕了接收服務器的負擔,使其不能被惡意重用于監視。
與消費者物聯網系統類似,工業物聯網系統也具有必須維護的專有和機密信息:
專有算法
嵌入式固件
客戶信息
財務信息
資產位置
設備使用模式
競爭情報
訪問更大的網絡
穿越迷霧
一些IIoT設備仍然缺乏基于邊緣的功能和性能。另一種出現的拓撲,即霧模型,是基于云和邊緣的系統之間的混合。在霧模型中,邊緣節點首先連接到接收數據的網關,并在將數據發送到云之前進行一些處理。許多IIoT設備可能只有一個網關。網關不需要使用電池供電,可以承受更高的處理能力預算,并且成本高于受限的IIoT設備。
迷霧更多地來自可擴展性問題,但也可能在安全性方面發揮作用。網關設備可以幫助保護易受攻擊的邊緣節點,這些節點可能過于受限,無法自行提供安全性,但最好提供某種級別的保護,而不是沒有保護。網關可用于幫助管理其下的所有節點,而不是直接管理每個單獨的節點。霧模型還可以允許在IIoT中進行事件響應,同時避免服務中斷。例如,安全性可以通過與網關交互來響應,而不是關閉任務關鍵型生產線。
預配和部署
IIoT面臨的最大挑戰之一是部署和管理大量設備。眾所周知,廣泛的IIoT系統難以設置和配置。由于IIoT的生命周期較長,系統可能由一個團隊部署,并且在幾年后,當另一個團隊支持它時仍然可以運行。
默認情況下,IIoT 系統通常不安全,身份驗證機制較弱。正如Mirai僵尸網絡所見,大多數用戶從未登錄IIoT設備進行配置。他們甚至可能不知道它們應該被配置。大多數IIoT用戶認為事情只是開箱即用。默認情況下,系統必須安全。應設置系統期望,即用戶可能永遠不會配置默認設備以外的設備。弱默認密碼是一個常見的錯誤。
網絡安全
雖然邊緣在IIoT中獲得了大部分關注點,但重要的是不要忽視系統的云或服務器端。測試常見的服務器端漏洞,如跨站點腳本、SQL 注入和跨站點請求偽造,并檢查 API 中的漏洞,確保及時修補服務器上運行的軟件。
通過網絡傳輸的數據需要得到保護,否則可能會被惡意攔截和修改。TLS 或 SSH 等安全加密協議用于保護傳輸中的數據。理想情況下,數據應受到端到端保護。
IIoT網絡的邊界通常可能很模糊。IIoT傳感器節點通常在空間上駐留在其網絡的外圍。但是,它們也通過固定網關提供了進入更大工業網絡的簡單門戶。4對這些設備進行正確的網絡身份驗證有助于防止流量被惡意第三方篡改。
保護網絡數據流量涉及使用安全通信協議。最佳做法應該是使用已知安全的標準協議。以太網 LAN 上的安全性可以使用 IEEE 802.1AE MACsec 提供。無線 LAN 往往風險更高,因為它們更容易訪問且無處不在。WPA2 為 IEEE 802.11 無線網絡提供安全性。低功耗IEEE 802.15.4標準通常用于無線IIoT解決方案,提供自己的安全協議套件。但是,這些是第 2 層協議,僅保護 LAN 上的流量。
保護需要在 LAN 外部路由的流量(例如通過互聯網)需要提供端到端安全性的更高層協議。TLS 通常用于保護互聯網流量并提供端到端安全性。雖然TLS使用TCP,許多物聯網設備使用UDP進行通信,但DTLS(數據報傳輸層安全性)通過UDP工作。雖然 IoT 設備的功耗和內存受到限制,但可以毫不費力地為大多數受限的應用程序實現 TLS。對于更嚴格約束的設備,目前有一個新的協議,即IETF正在開發的約束應用程序協議(CoAP)。
端點安全
雖然保護傳輸中的數據很重要且必要,但攻擊通常針對端點。面向網絡的接口需要針對漏洞進行強化。IIoT 安全的一種方法是直接在傳感器節點設備中構建保護。這提供了第一個關鍵安全層,因為設備不再依賴于公司防火墻進行單獨保護。這對于部署在遠程位置的移動公司設備和IIoT傳感器尤其重要。
IIoT 設備的安全解決方案必須提供針對各種網絡攻擊的保護。它必須確保設備固件未被篡改,能夠保護存儲在設備中的數據,能夠保護入站和出站通信,并且必須能夠檢測和報告任何企圖的網絡攻擊。這只能通過在設計的早期階段包含安全性來實現。
對于嵌入式設備,永遠不可能有一刀切的安全解決方案。提供的解決方案為 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)。隨機數可能需要不可預測才能生成密鑰,或者它們可能需要從不重復。由于缺乏資源和熵,在受約束的嵌入式系統中生成隨機數通常是一個重大挑戰。
許多嵌入式系統的熵太少。這可能會導致災難性的中斷,例如臺灣的國民身份證智能卡。研究人員發現,由于缺乏熵,許多身份證從相同的數字生成了相關的密鑰。結果,盡管使用了強大的RNG,但它們還是能夠被打破。9同樣,在2012年,研究人員發現公鑰服務器上0.38%的RSA密鑰共享弱隨機數生成,并且能夠破解它們。10
驗證RNG的強度是困難的或幾乎不可能的。過去的RNG設計是相當臨時的,而且知之甚少。然而,近年來,在魯棒加密隨機數生成器的設計和形式分析方面取得了重大進展。
現代、強大的 RNG 設計現在往往有三個階段。8有一個熵源提供原始熵,一個熵提取器使熵均勻分布,還有一個擴展階段來擴展可用的少量熵。
第一階段是熵源。這可能是一些物理噪聲源,例如時鐘抖動或熱噪聲。某些處理器(例如ADI Blackfin DSP)為硬件提供可用于熵生成的隨機數發生器。?
加密貨幣的隨機數需要具有均勻的統計分布。所有熵源都有一定程度的偏差,在將其用于加密應用程序之前,需要消除這種偏差。這是使用熵提取器完成的,該提取器采用具有高熵的非均勻分布輸入,并生成具有高熵的均勻分布輸出。這是以一些熵損失為代價的,因為熵提取器需要比輸出更多的熵輸入。因此,需要從熵源收集更多的位,并將其提煉成一個小的高熵數,可用于為加密安全的偽隨機數生成器播種。11, 12
利用勘誤表
幾乎所有的IIoT節點都使用某種形式的嵌入式固件或算法進行操作。從功能上講,此固件可以正常運行,其執行其要求的能力沒有明顯的問題。但是,所有軟件都有一定程度的錯誤或勘誤表,允許一小部分可能導致安全問題的異常操作。例如,99.99% 無勘誤的固件很少(如果有的話)會導致任何操作問題。但是,入侵者可能會利用這個 0.01% 的小勘誤表,強制節點在該特定操作模式下 100% 的時間內失敗。軟件錯誤源于復雜性,這是任何系統執行任何有用操作所必需的。軟件錯誤和漏洞基本上存在于所有系統中。
圖5.利用小勘誤表在 100% 的時間內強制故障。
安全設計
安全性必須從一開始就是系統設計的考慮因素。它應該是設計過程的一部分,而不是在項目結束時附加的東西。安全性不是添加安全功能;這是關于管理風險的。安全設計方法對于任何IIoT系統開發都至關重要。
現有的安全設計實踐仍然適用。使用威脅建模來識別風險并選擇適當的風險緩解策略。確定系統的入口點,以便識別系統中風險最高的區域。大多數攻擊媒介都通過外部接口,因此請查看安全漏洞的設計實現。仔細處理未知數據并驗證所有輸入 - 驗證和安全性不應僅限于入口點。縱深防御很重要,這意味著在外層被破壞時需要安全層。
許多處理器提供不同級別的特權。ARMhas Trustzone和ADI Blackfin DSP提供用戶級執行模式和特權執行模式。以盡可能低的權限級別執行盡可能多的代碼,以將最重要的代碼保持在特權模式中。IIoT 設備的安全要求必須考慮安全故障的成本、攻擊的可能性、主要攻擊媒介以及實施安全解決方案的成本。?
結論
其中許多建議相互沖突,并與系統的其他設計目標沖突。提供安全性通常涉及某種權衡,通常涉及成本、功能或可用性。有些權衡非常有效且便宜,而另一些則成本高且影響不大。安全性需要與設計的其他需求相平衡,并且應通過安全的設計過程在特定應用的基礎上確定。
為了幫助保護IIoT,ADI提供了多種處理器,這些處理器提供基于硬件的安全增強功能,有助于突破邊緣節點的極限。低功耗收發器ADF7023 RF采用ISM頻段和多種不同可用調制方案,提供內部AES加密。
ADuCM3029中的嵌入式收發器提供AES和SHA-256硬件加速、真隨機數發生器以及多重保護SRAM。ADSP-BF70X Blackfin系列數字信號處理器提供嵌入式一次性可編程存儲器,用于安全密鑰存儲和快速安全啟動,有力地保證系統在受損后將恢復到已知的良好狀態。
Blackfin DSP中的回滾保護具有基于硬件的僅增量計數器,允許在出現漏洞時更新固件以修復漏洞。這與密鑰存儲的不可變性相結合,提供了創建強大且有彈性的邊緣節點的能力。此外,Blackfin DSP還提供加密硬件加速器、基于硬件的真隨機數發生器、特權和非特權代碼執行分離、MMU,以及限制許多DMA通道訪問的能力,以低成本實現并行和節能的安全DSP。
審核編輯:郭婷
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752138 -
處理器
+關注
關注
68文章
19178瀏覽量
229200 -
嵌入式
+關注
關注
5071文章
19026瀏覽量
303497 -
物聯網
+關注
關注
2904文章
44304瀏覽量
371447
發布評論請先 登錄
相關推薦
評論