物聯網系統攻擊登上新聞頭條,網絡、邊緣節點和網關不斷暴露出安全漏洞。最近,Mirai僵尸網絡通過登錄到運行telnet服務器且未更改默認密碼的設備,感染了愈250萬物聯網節點。Mirai后來發展到能夠引發服務器拒絕服務,導致全球很大一部分的互聯網接入中斷。Reaper僵尸網絡通過利用軟件漏洞并感染系統,攻擊了愈一百萬臺物聯網設備。一個接入互聯網的魚缸提供了侵入賭場網絡的入口點,導致10 GB數據被盜。智能電視已被用于間諜和監視活動。
嵌入式傳感器系統已開始聯網并暴露于互聯網之中。作為工業物聯網(IIoT)的一部分,這些傳感器沒有像Web服務器那樣在惡劣的環境中經歷二十年的演進。因此,該行業正在目睹這些系統遭受20世紀90年代及更早期常見的很多攻擊。工業物聯網系統的生命周期通常要比傳統計算系統的生命周期長得多。一些設備在部署后可能會持續運行數十年,而維護計劃則不明。
服務器和PC非常復雜,足以支持設置安全措施,但工業物聯網節點的功耗和處理能力通常很低,為設置安全措施而留下的功耗預算很小。由于涉及開發成本,安全在很大程度上是權衡的結果。雖然工業物聯網的成本可能高于消費物聯網,但其在可擴展性成本方面仍然面臨挑戰。如果忽視安全性,產品部署后將會產生隱藏的影響,這些成本最終也需要解決。
傳感器和執行器使得工業物聯網設備能與物理世界進行交互。網絡攻擊主要限于數據丟失,但通過工業物聯網攻擊,黑客比以往更容易侵入物理世界。現在的攻擊有可能造成人身傷害。這在工業物聯網中更為顯著,因為故障可能導致價值數百萬美元的工業流程被關閉或摧毀,或者引發危及生命的情況。
聯網世界
工業物聯網設備一般會連接到某種網絡,常常是互聯網。正是這種連接導致其最容易受到攻擊。與流行病學相似,感染是通過與其他機器的接觸而傳播。攻擊途徑存在于系統與外界交互的地方。攻擊者之所以能夠與系統進行交互,完全是因為其能連接訪問系統。需要問的第一個系統設計安全問題是:“設備是否真的需要連接到網絡?”將其連接到網絡會顯著增加安全風險。
保護系統的最佳方式是阻止其連接到網絡,或將其限制在封閉網絡中。許多工業物聯網設備聯網的原因僅僅是因為它們能聯網,而沒有其他什么理由。讓設備聯網的利益是否超過與此相關的安全風險?另外,任何其他與聯網系統進行交互的遺留系統也可能面臨風險。
很多情況下,本來安全的網絡和節點還必須與已有舊網絡進行互操作,而這種老式網絡本身的安全性可能要差很多。這就帶來一個新問題:最弱的安全風險可能超出了工業物聯網系統的影響范圍。在這種情況下,工業物聯網系統也需要防范來自系統內部的風險。
節點的安全考慮:
* 保密性——防止數據泄露給未獲授權的人,例如防范仿冒攻擊* 身份驗證——在兩臺機器之間使用數字證書驗證身份* 安全引導——ROM引導加載程序存儲器驗證二級引導加載程序的真實性* 安全固件更新——僅認可制造商提供的授權代碼* 授權——只有正品節點才能獲得網絡訪問權限* 完整性——保護數據不被更改* 記錄——正確記錄數據、節點數和時間戳有助于防止對工業物聯網網絡的不受歡迎訪問* 安全通信——使用能駐留在低功耗節點上的加密協議* 可用性——確保用戶在需要的時候可以訪問* 認可——確保無法拒絕真實的通信請求* 可靠性——即使在惡劣的電氣環境中,接入也必須可靠
圖1. 冒充已知節點欺騙網關的仿冒攻擊
隔離
系統彼此隔離可以減少攻擊面并限制惡意軟件的傳播。將不需要網絡連接的系統與暴露于網絡的系統隔離開來。考慮建立一個單獨的隔空或嚴格監控的網絡,將它與其他高風險系統的網絡分開。理想情況下,關鍵系統應當與外界完全隔離3。
聯網汽車的信息娛樂系統可能會讓車輛遭受許多前所未見的新攻擊。主發動機控制單元(ECU)與信息娛樂系統毫無關系,不應通過信息娛樂系統與之交互。雖然車輛中通常有兩條獨立的CAN總線,以將最重要的系統與其他系統隔開,但它們仍以某種方式連接在一起,仍然有可能通過破壞一條總線而獲取對另一條總線的控制權。如果這些網絡之間完全隔離,那么類似風險將會從威脅生命的程度降低到遠沒有那么嚴重的程度。
圖2. 可能感染工業物聯網系統的各類惡意軟件。
轉移至邊緣
許多工業物聯網系統連接到云服務器,云服務器收集并處理設備發送來的信息,同時也管理設備。隨著設備數量大幅增加,云可能難以跟上步伐。很多系統正在將處理向外轉移到工業物聯網設備的邊緣,以減少流向云的流量。
我們常常把數據視為資產。數據被挖掘和出售,以在大型數據集中發現隱藏模式。然而,收集到的大部分數據通常不是很有用,但它對攻擊者可能有用。敏感數據為攻擊者提供了目標,因而也是問題。對收集到的數據應進行過濾,只留下需要的部分,其余部分應盡快刪除。這不僅能提高安全性,也能改善所收集數據的效用。識別潛在的敏感信息并禁止或限制其收集非常重要。
在邊緣處理數據可以減少發送和暴露給云的數據量。發送數據的地點越多,保密就越困難。每個新節點都是可能泄露數據的風險源。攻擊面呈指數式增長。
把敏感數據留在邊緣以內可以限制專門針對機密數據的攻擊面。如果將其限定在一個邊緣節點中,則數據不太可能被盜。
停車位占用傳感器如果執行檢測和圖像處理,然后僅通過二進制信號報告有無車輛存在,那么就無需傳輸視頻流,從而消除圖像中包含的大量不必要數據。這會減輕接收服務器的負擔,使其不能被惡意監視所利用。
與消費物聯網系統類似,工業物聯網系統也有必須維護的專有和機密信息:
* 專有算法* 嵌入式固件* 客戶信息* 財務信息* 資產位置* 設備使用模式* 競爭情報* 競爭情報
霧模型
一些工業物聯網設備仍然缺乏邊緣處理所需的功能和性能。另一種拓撲結構——霧模型——正在興起,它是基于云和邊緣系統的混合體。在霧模型中,邊緣節點首先連接到網關,網關接收數據并進行一些處理,然后將數據發送到云端。許多工業物聯網設備可能共用一個網關。網關不需要采用電池供電,處理功耗的預算可以高很多,而且成本高于受限制的工業物聯網設備。
霧起源于擴展性問題,但在安全性方面也能發揮作用。網關設備可以幫助保護易受攻擊的邊緣節點,邊緣節點受到的限制較多,可能無法自行保障安全性,但提供某種程度的保護比無任何保護會更好。網關可用來幫助管理其下的所有節點,而不是直接管理每個節點。在工業物聯網中,霧模型還能作出應急響應,避免服務中斷。例如,安全響應可以是與網關進行交互,而不是關閉關鍵任務生產線。
預配和部署
工業物聯網最大的挑戰之一是部署和管理大量設備。影響廣泛的工業物聯網系統非常難以建立和配置。工業物聯網的生命周期很長,系統可能由一個團隊部署,然后運行許多年,但由另一個團隊提供支持。
工業物聯網系統的默認身份驗證機制很弱,往往不夠安全。正如Mirai僵尸網絡事件所展示的,大多數用戶從不登錄工業物聯網設備以進行配置。他們甚至不知道應該配置設備。大多數工業物聯網用戶認為設備開箱即可使用。系統必須具有默認安全性。應當設定這樣的系統期望:除了默認配置以外,用戶可能永遠不會配置設備。默認密碼較弱是一個常見錯誤。
網絡安全性
在工業物聯網中,邊緣受到的關注最多,但也不能忽視系統的云端或服務器端。測試常見服務器端漏洞(例如跨站點腳本、SQL注入和跨站點請求偽造),并檢查API有無漏洞,以確保服務器上運行的軟件及時得到修補。
跨網絡傳輸的數據需要受到保護,否則可能會被惡意攔截和修改。使用TLS或SSH之類的安全加密協議來保護傳輸中的數據。最好為數據提供端到端保護。
工業物聯網網絡的邊界可能很模糊。工業物聯網傳感器節點在空間上常常駐留在網絡的外圍。但是,通過它們以及一個固定網關,還可以輕松訪問更大的工業網絡4。對訪問網絡的這些設備進行釋放身份驗證,有助于防止流量遭到惡意第三方篡改。保護網絡數據流量要求使用安全通信協議。最佳實踐應當是使用已知安全的標準協議。利用IEEE 802.1AE MACsec可以保障以太網LAN的安全。無線局域網更易于訪問且無處不在,因而風險更高。
WPA2為IEEE 802.11無線網絡提供安全性。常常用在無線工業物聯網解決方案中的低功率IEEE 802.15.4標準,提供了自己的一套安全協議。但是,這些是第2層協議,僅保護局域網上的流量。為保護需要路由到局域網外部(例如通過互聯網)的流量,需要提供端到端安全性的更高層協議。TLS常用于保護互聯網流量并提供端到端安全性。盡管TLS使用TCP,而很多物聯網設備利用UDP進行通信,但DTLS(數據報傳輸層安全性)可在UDP上工作。雖然物聯網設備的功耗和存儲器受限,但只需很少的工作就能為大多數受限應用實施TLS。對于限制更嚴格的設備,目前IETF正在開發一種新協議——受限應用協議(CoAP)。
端點安全性
雖然保護傳輸中的數據很重要且有必要,但攻擊更多是針對端點。面向網絡的接口需要強化以消除漏洞。保障工業物聯網安全的一種方法是直接在傳感器節點設備中設置防護。這就提供了第一個關鍵的安全層,設備不再依賴企業防火墻作為其唯一的保護。這對移動式企業設備和部署在遠程位置的工業物聯網傳感器尤其重要。
工業物聯網設備的安全解決方案必須防范各種各樣的網絡攻擊。它必須確保設備固件沒有被篡改,能夠保護設備中存儲的數據,能夠保護入站和出站通信,并且必須能夠檢測和報告任何網絡攻擊企圖5。這只有通過在設計的早期階段納入安全性才能實現。
圖3. 中間人攻擊在節點和網關之間插入惡意接入點。
對于嵌入式設備,從不存在一個萬能的安全解決方案。有些解決方案為原始設備制造商提供了一個通用框架。但是,完整安全框架必須考慮保護特定設備、網絡和整個系統所需的核心能力,還必須根據具體要求靈活定制解決方案,同時確保包含關鍵安全功能。
高壓滅菌器與自動機
在醫學中,滅菌對于手術工具的重復使用和防止疾病傳播至關重要。高壓滅菌器是滅菌設備的典范。它用過熱高壓蒸汽快速殺菌。它能殺滅所有細菌,使儀器恢復到已知的良好狀態。這樣,外科醫生就能利用手術刀進行手術,并在消毒后安全地重復使用手術刀。
系統受損之后將其恢復到已知良好狀態的能力,比讓它對所有攻擊免疫更重要。彈性系統可以快速恢復并很有把握地恢復運作。
一旦系統受到感染,如何對其消毒?當一個系統受到感染時,病毒即以某種未知方式改變系統狀態。遠程攻擊會控制處理器,向系統注入新的惡意代碼。通常,固件會以某種方式被修改或替換為惡意軟件,所以系統現在表現異常。一旦發生這種情況,就不能再信任處理器。
嵌入式系統的設計常常較為特別,難以可靠地從受損狀態中恢復。通常,凈化系統和驗證系統是否干凈的唯一辦法是將所有非易失性存儲器直接轉儲至外部讀取器,然后對照原始固件進行驗證,如果原始固件有改變,則用原始固件替換。大多數系統的設計不支持這種做法。
一種保護系統完整性的方法是用機械開關實現對非易失性存儲器的物理寫保護。當該開關設置為寫保護時,存儲器受到硬件的物理保護。存儲器控制權轉移到處理器域之外,要在物理上不接入設備的情況下將永久惡意軟件遠程安裝到存儲器中是不可能的。這樣就把潛在攻擊者名單從世界上任何擁有互聯網連接的人縮減為只有那些可以長時間對設備進行物理訪問的人。固件更新通常是很罕見的事情。當固件需要更新時,用戶可以將開關設置為寫使能以授權更新存儲器,在更新完成后再次對設備設置寫保護。
圖4. 固件受物理寫保護(執行更新時除外)是保護設備完整性的有效方法。
許多設備還使用非易失性存儲器來存儲寫訪問所需的數據。在高安全性系統中,可以使用單獨的非易失性存儲器芯片來存儲數據(但不存儲軟件)。攻擊者仍可以通過向該存儲器寫入惡意數據并利用軟件漏洞來危害某些系統,因此應徹底分析和測試系統,無論該存儲器存儲什么數據,系統都不會受到影響。增加額外存儲器芯片會增加成本,但有些閃存允許某些扇區設置寫保護,而其他扇區仍能寫入。
安全引導
安全引導可防止引導過程中將未經授權的軟件加載到設備上。它是信任鏈的起點。安全引導從節點上只讀非易失性存儲器位置編程的第一階段引導加載程序開始。此引導加載程序僅驗證第二階段引導加載程序的真實性。第二階段引導加載程序往往比較復雜,可存儲在可重新編程的閃存中。它重復此過程6,驗證操作系統和加載的應用程序是否確實來自可信來源。
擁有安全引導和安全固件更新功能的工業物聯網節點,可確保設備運行的是授權代碼,而非篡改的或惡意代碼,從而防止永久安裝惡意軟件或代碼。設備要么僅運行未修改的代碼,要么無法完成引導。
安全引導過程通常依靠數字簽名來保護代碼的真實性。代碼映像由原始設備制造商在制造組裝時利用原始設備制造商的私鑰進行簽名。然后,節點利用原始設備制造商的相應公鑰驗證固件映像的簽名。
代碼還可以利用對稱加密的消息認證碼(MAC)加以保護,但這需要將私鑰存儲在設備上,因而有風險。不過,使用MAC在計算上更容易。
安全引導雖然可以增強安全性,但對于最終用戶來說,有時會太受限制,因為它能阻止用戶更改設備上運行的軟件或運行自己的軟件。根據應用程序的不同,用戶可能需要更多的靈活性和配置安全引導的能力,從而允許其信任自己的代碼。
安全固件更新與安全引導相似,用于在升級過程中驗證新代碼映像已由原始設備制造商簽名。如果下載的映像無效,則會丟棄文件并停止升級。只有有效的映像才被接受,并且隨后保存到設備存儲器中。
假設某個漏洞會在某個時候被發現。應該制定一個計劃,以便在發現漏洞或漏洞被利用時知道如何處理。通常需要通過某種方法來將軟件更新和修補程序安裝到設備上以修復漏洞。更新過程同樣需要正確實施,使它不至于被用作攻擊途徑——任何人都可以通過它將惡意軟件安裝到設備上。僅僅為了提供修補功能而讓設備可通過網絡加以訪問,可能會引入比所要解決的問題更大的風險。
安全通信
大多數工程師將安全性視為通信協議,如SSL/TLS、SSH和IPsec等,原因是許多嵌入式設備增加了安全通信。然而,盡管這是安全威脅的一部分,但其他攻擊途徑提出了新的挑戰。許多工業物聯網傳感器節點以低功耗配置運行,使用一些不能支持某些最佳選項(如TLS或IPsec)的較低功耗處理器。安全協議為構建安全設備提供了一個很好的出發點7。安全協議的設計目的是防范數據包嗅探、中間人攻擊、重放攻擊和未經授權與節點通信的企圖。
小型工業物聯網邊緣傳感器設備通常采用無線協議,如Zigbee、Bluetooth?低功耗(BLE)以及其他無線網狀網絡協議。這些協議具有一定的內置安全性,但是安全性相對較弱。許多可以利用漏洞的方法已經公開,老練的黑客已經熟知。小型工業物聯網設備通常使用成本非常低、功耗較低且不支持TLS或IPSec的處理器。對于小型邊緣設備,可以使用DTLS(基于UDP的TLS)來實現安全通信。
物理安全性
物理攻擊針對的是工業物聯網系統的實際邊緣硬件節點或網關,可以包括針對前端傳感器的破壞。這些攻擊常常需要從物理上接觸系統,但也可能只是僅僅限制工業物聯網硬件效能的操作。攻擊者可以篡改節點,以控制工業物聯網環境中的傳感器或其他設備。然后,他們可以從源頭提取機密數據和嵌入固件代碼。利用惡意節點注入策略,攻擊者可以將惡意節點部署在工業物聯網網絡的合法節點之間8。
為了應對此類攻擊,在設計階段可以提前做一些硬件考慮。在使用帶引腳的器件對信號進行物理探測的時候在設計中應盡量、減少裸露的銅過孔或未使用的連接器。應當移除可為潛在黑客提供額外信息的詳細元器件絲印,除非認為它是設計絕對需要的。雖然可能會增加系統復雜性,但工業保形涂層不僅可以減輕自然力對硬件的影響,還能增加額外的步驟來防止對PCB上的電子元件進行直接探測。
器件內部的任何嵌入式非易失性存儲器內容都應該加密并設置寫保護。微控制器和DSP器件之間的接口應該位于PCB的內層走線。即便嵌入式存儲器的內容被獲取,數據的加密和驗證機制也會使其變得毫無意義。
制造商常常使用調試或測試端口。這些端口通常是串行或JTAG,可用來訪問并控制大部分系統。在生產中,應確保這些端口在功能上被禁用或受到保護,因為僅僅不配備調試接頭是不夠的,頑固分子可以自行配備或焊接到引腳上。如果需要在生產設備中啟用這些接口,使用之前應進行身份驗證。可以用密碼加以保護,但務必要讓用戶能夠設置強密碼。
隨機數生成加密功能通常需要某種隨機數發生器(RNG)。隨機數可能需要無法預測的密鑰生成,或者要求不得重復。由于缺乏資源和熵,在受約束的嵌入式系統中生成隨機數通常是一個巨大挑戰。
很多嵌入式系統存在熵過少的問題。這可能導致災難性的中斷,中國***的居民身份智能卡就發生過嚴重問題。研究人員發現:由于熵不足,許多身份證件是從相同數字產生相關的密鑰。因此,盡管使用了強大的RNG,密鑰仍然能被破解9。類似地,研究人員在2012年發現公鑰服務器上0.38%的RSA密鑰共享弱隨機數生成,能夠被破解10。
驗證RNG的強度非常困難,幾乎不可能。過去的RNG設計相當特別,人們對其了解不多。但近年來,魯棒密碼隨機數發生器的設計和形式分析取得了重大進展。
現代魯棒的RNG設計往往有三級8。一個熵源提供原始熵,一個熵提取器讓熵均勻分布,還有一個擴展級,用來擴展可用的少量熵。
第一級是熵源。它可以是某種物理噪聲源,例如時鐘抖動或熱噪聲。某些處理器(例如ADI Blackfin? DSP)為硬件提供可用于生成熵的隨機數生成器。
密碼的隨機數字需要有均勻的統計分布。所有熵源都有一定的偏差,將其用于加密應用之前需要消除這種偏差。這是通過熵提取器來完成的,它利用高熵的非均勻分布的輸入,生成高熵的均勻分布的輸出。代價是會有一定的熵損失,因為熵提取器需要的熵輸入大于其能提供的輸出。結果,需要從熵源中收集更多的比特,并將其提煉成一個小的高熵數字,該數字可用來為密碼安全的偽隨機數發生器提供種子11,12。
利用錯誤
幾乎所有工業物聯網節點都要使用某種形式的嵌入式固件或算法。從功能上看,這種固件在履行要求方面完全正常,沒有明顯問題。但是,所有軟件都有一定程度的缺陷或錯誤,這可能導致一些異常操作,從而引發安全問題。例如,99.99%無錯誤固件很少會發生運行問題。但是,剩下的小小的0.01%錯誤可能會被入侵者利用,迫使節點在該特定工作模式下運行時100%失敗。軟件缺陷來源于復雜性,而任何有用的系統都需要一定的復雜性。基本上所有系統都存在軟件缺陷和漏洞。
圖5. 利用小錯誤迫使系統在100%的時間內都無法正常運行。
安全性設計
系統設計的安全性必須從一開始就考慮。它應該是設計過程的一部分,而不是在項目結束時附加的東西。安全性的關鍵不是添加安全功能,而是管理風險。對于任何工業物聯網系統開發,安全設計方法都很重要。
現有的安全設計實踐仍然適用。使用威脅建模來識別風險,并選擇合適的風險緩解策略。識別系統的入口點,從而找到系統中風險最高的區域。大多數攻擊途徑都是通過外部接口,因此應檢查設計方案有無安全漏洞。仔細處理未知數據并驗證所有輸入,驗證和安全性不應局限于入口點。縱深防御很重要,這樣在外層遭到破壞時,仍有安全層可供御敵。
許多處理器提供不同級別的權限。ARM?有Trustzone,ADI Blackfin DSP提供用戶級執行模式和特權執行模式。盡可能以最低級別的權限執行盡可能多的代碼,以將最重要的代碼保留在特權模式下執行。工業物聯網設備的安全要求必須考慮安全失效的代價、攻擊的可能性、主要攻擊途徑以及實施安全解決方案的成本。
結語
上述許多建議彼此沖突,且與系統的其他設計目標相抵觸。保障安全性通常涉及某種權衡,例如成本、功能或可用性。一些權衡非常有效且代價不高,而另一些則是高成本且影響小。安全性需要與設計的其他需求相平衡,并且應通過安全設計流程在特定應用的基礎上確定。
為了幫助保護工業物聯網,ADI公司有多種處理器可提供基于硬件的安全增強功能,有助于突破邊緣節點的可能邊界。ADF7023 RF低功耗收發器利用ISM頻段和許多不同的調制方案提供內部AES加密。
ADuCM3029內部的嵌入式收發器提供AES和SHA-256硬件加速以及一個真正的隨機數發生器,還有多奇偶校驗保護的SRAM。ADSP-BF70X Blackfin系列數字信號處理器提供嵌入式一次性可編程存儲器,用于安全密鑰存儲和快速安全引導,為系統在遭到破壞后返回已知良好狀態提供有力保證。
借助基于硬件的只遞增計數器,Blackfin DSP中的回滾保護允許在出現問題更新固件以修復漏洞。這與密鑰存儲的不變性相結合,能夠實現強大而有彈性的邊緣節點。此外,Blackfin DSP提供加密硬件加速器、基于硬件的真隨機數生成器、特權和非特權代碼執行的分離、MMU以及限制多個DMA通道訪問的能力,從而以低成本實現并行、高功效、安全的DSP。
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753076 -
嵌入式
+關注
關注
5082文章
19104瀏覽量
304809 -
物聯網
+關注
關注
2909文章
44557瀏覽量
372777 -
邊緣節點
+關注
關注
0文章
13瀏覽量
7643
原文標題:邊緣智能第4部分:邊緣節點安全性
文章出處:【微信號:motorcontrol365,微信公眾號:電機控制設計加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論