Global Sources
電子工程專輯
 
電子工程專輯 > 網路技術
 
 
網路技術  

為物聯網應用確保微控制器的RTOS安全性

上網時間: 2015年04月09日     打印版  Bookmark and Share  字型大小:  

關鍵字:物聯網  IoT  RTOS  MCU  MPU 

作者:Kim Rowe,Rowebots公司創始人

我們的社會非常依賴網際網路完成大多數的商業活動,因為在這些活動中通訊、金融交易和娛樂佔很大的部份。隨著越來越多的設備加入物聯網(IoT),對網際網路的依賴性變得越來越強。如果這些設備不安全,那麼這種依賴性將產生顯著的安全性漏洞。如果不能保證每個設備的安全,那麼這些設備將很容易受到攻擊並發生故障。

現在被啟動並處於運作狀態的許多物聯網設備需要服務許多年時間,具體取決於應用類型。舉例來說,水電瓦斯等公用事業儀錶很少會更換。通訊基礎設備設計可以執行和共存長達50年的時間。電力傳輸系統需要持續執行30年或更長時間。住宅、辦公室、工業大樓和其它建築物藉由數十年翻新一次,可以持續使用無限長的時間。如果現在這些新系統不夠安全,那麼隨著威脅的發展,它們可能很快地被淘汰掉。

為了保護使用者在智慧設備上的投資,防止這些設備受到入侵破壞,安全性對所有的新設備來說都是最基本的要求。在今後幾年中,近500億個物聯網設備可望登入網際網路,其中很大部份將是微控制器(MCU)或具有有限資源的小型微處理器。幸運的是,這些小設備要比較大的設備更安全得多,因為它們更容易得到保護,並且不會遭受相同類型的威脅。這並不意味著安全性很容易實現,但如果能正確地發揮MCU和小型MPU功能的話,其實也並沒那麼困難。本文將討論如何保護物聯網上的小設備。

必要的物聯網安全功能

為了完整地保護MCU或小型MPU,通常要求採用各種安全功能,不過其中某些功能並不是每個系統都需要的。對於深度嵌入的MCU和MPU產品來說,使用標準資訊技術安全解決方案的安全機制是核心安全機制。

這些安全協定包括:TLS、IPSec/VPN、SSH、SFTP、安全開機程式和自動回退功能、過濾、HTTPS、SNMP v3、安全無線鏈路、加密/解密、加密的檔案系統、DTLS(僅針對UDP安全性),以及安全電子郵件。

TLS、IPSec/VPN、HTTPS、安全無線鏈路和DTLS都是安全通訊鏈路可以採用的方法。SFTP提供安全的檔案傳輸,SSH則提供安全的遠端存取,安全電子郵件可以在加密的鏈路上提供電子郵件服務。

具有自動回退功能的安全開機程式可以確保系統不會被破壞。SNMPv3、加密的資料和加密的檔案系統可以透過加密保護本地資料的安全,或者將要發送到另外一台機器的資料安全。過濾實際上是一種防火牆功能,用於拒絕有害的和未被邀請的客戶存取。以下先討論系統級的安全性,然後詳細討論每個部份和每個專案。

系統安全性

安全性的強弱只取決於最弱的鏈路或元件。為了確保系統的安全,所有的通訊通道、檔案傳送與資料儲存以及任何更新方式都必須是安全的。在具有動態載入、可執行檔修改和其它複雜功能的系統中,很難做到真正的安全。

想像以下的場景:

1、入侵者透過使用電子郵件、FTP或其它方式將檔案移動到機器上。

2、檔案自動載入,但在執行時可能破壞其它執行檔,然後自行整理與刪除。

3、如果病毒對於系統來說是新的或未知的類型,那麼就不會被系統認出來是病毒,因而大搖大擺地進入系統並加以感染。

考慮通訊鏈路不安全或未能正確保護的另一種情況。在這種情況下,可能存在讀取最低限度資料的方法,也可能具有將新資料注入資料流程的方法,接著這個資料流程就會被用來破壞接收系統。

透過網際網路向另一個設備載入一個不安全的映射就是一個很好的例子。當這個新的映射被載入和執行時,它將接管系統,當然前提是它擁有正確的存取權。

還有一種情況是設備上的一些關鍵資料被偷竊了。除非資料已經被加密,或者處於一個加密的檔案系統中,否則就可能從設備中復原受限制的資料。這是另一種需要考慮的情況。

為了確保系統的安全性,通常最好的方法是認真考慮設備資訊是如何被存取的。通常要求最高的安全性:你知道的某些事(密碼)、你有某些東西(記帳卡或可穿戴設備),以及你是什麼(虹膜掃描)。

對於小型設備來說,這可能有點過度嚴格了,但在要求非常高安全性的場合,透過一些間接方法是可以滿足這些要求的,只要各個部份都是安全的。透過與伺服器進行安全的互動,進而安全地存取設備,那麼設備的安全性介面就可以在更大的機器上執行,也可以用來保護小型設備的安全。

安全系統的另外一個關鍵要素是分層的安全性,以及人們只能獲得部份存取權的前提條件。好的設計實踐是盡可能使用層次化的安全特性。在這種情況下,入侵者也許能夠存取系統的某個部份,但沒有其它顯著措施的話將不能存取整個系統。舉例來說,將兩個不同的防火牆串聯在一起共同確保伺服器的安全,這樣一台伺服器的漏洞就可以由第二個防火牆堵住。

以下先回顧提供各種安全功能的元件或軟體元件(圖1),然後討論如何使用這些元件來滿足上述各種情景中的要求。

圖1:物聯網就緒的作業系統應該包含與安全性有關的網際網路協定元件,可在整套協定上實現無縫整合,從而提供高品質的安全性。
圖1:物聯網就緒的作業系統應該包含與安全性有關的網際網路協定元件,可在整套協定上實現無縫整合,從而提供高品質的安全性。

通訊安全

這類安全協定用於確保機器到機器通訊(M2M)是安全的。它有一個信任層,可確保某些資訊是可依賴的,而且可以建立安全的通訊。

TLS或較早的SSL是最常用的方法,適用於為TCP串流通訊端或具有順序資料和確保送達承諾的串流連接提供通訊安全。DTLS是一種較新的協定,用於提供安全的UDP傳送,或基於TLS的資料封包。這兩種協定都適用於應用到應用的通訊。

IPSec或虛擬私人網路(VPN)使用TCP堆疊中的虛擬連結安全性,它的設置比較複雜,但可讓應用程式透過鏈路實現安全的通訊,即使應用程式本身不提供安全性。這種方法使用並不廣泛,一方面是因為設置存在一定難度,另一方面是許多人認為美國國家安全局(NSA)界入演算法開發使得安全性存疑的事實。

HTTPS是基於TLS的一種安全網路伺服器存取協定,它能提供安全的應用層存取。同樣地,SSH提供對遠端使用者的安全終端模擬存取。

安全的無線鏈路可以確保無線訊號不會被收集,資料不會被任何有天線的人擷取出來。

安全電子郵件用於確保用電子郵件發送的資料不會以明文方式傳送。一種選項是在資料發送前進行加密。更簡單通用的解決方案是在加密的鏈路上提供電子郵件服務,這種加密的鏈路可以確保所有的電子郵件資料對管理電子郵件的伺服器來說都是安全的。

使用SNMP進行安全的檔案傳輸

SNMPv3可以加密資料,同時加密和解密常式用於保護資料。如果所有資料都很重要,那麼可以使用檔案加密的方法,不過這樣做也會犧牲一點性能。

過濾和防火牆保護:透過過濾掉經過網路伺服器抵達的所有資料封包可以阻止未授權的存取。使用先進的過濾技術,設計者可以確保正確的使用者取得存取權,系統能防止未授權的存取。這些過濾規則可能需要逐一設備進行設置。通常它與SSH或SNMP共同作用。

安全的開機程式:安全開機是一個安全系統的重要部份(圖2)。一般經常需要更新韌體,而以安全的方式進行更新是非常重要的。這種方法可以取消所有出廠韌體更新,並且利用自動回退機制大幅增強更新能力。借助自動回退機制,如果新版本(可能被破壞了的版本)無法啟動,可以自動啟動以前的安全版本——這是分層安全機制的一個組成部份。

圖2:Unison RTOS能夠在最低層次提供額外的安全開機功能,因此可完整地保護系統。如果沒有解譯器或一種可載入程式、加以執行然後利用系統漏洞的其他方法,攻擊系統就會變得異常困難。
圖2:Unison RTOS能夠在最低層次提供額外的安全開機功能,因此可完整地保護系統。如果沒有解譯器或一種可載入程式、加以執行然後利用系統漏洞的其他方法,攻擊系統就會變得異常困難。

重新審視系統安全性

現在讓我們考慮一下具有有限資源的MCU或MPU安全性,它們必須藉由全部或大部份的協定來實現安全。為了提供實際例子,考慮Unison作業系統——一種微型POSIX RTOS,它具有現成的這些功能。

首先,使用安全通訊協定,與目標設備通訊的所有應用程式都可以實現安全性,包括電話應用、對微型網路伺服器的安全網路存取等。像緩衝器溢出攻擊等騙局就不可能發生了,因為Unison設計在很少的資源條件下執行,必須防止任何不合理的資源使用。安全的無線鏈路是可以使用的。VPN也可以使用。

為了將檔案發送到系統,可以使用SFTP。這樣可以確保資料在傳輸過程中不會被破壞——這對於確保系統更新的安全非常重要。

向TCP伺服器中的前端處理過程中增加過濾功能可以確保只有授權的請求和更新得到處理。這樣可以防止設備受到入侵者的破壞,大幅提高安全性。

另外,SSH可以用來藉由基於終端的方法對設備進行遠端設置。與網路伺服器相較,這種方法比基於腳本的方法更有幫助,可以確保設備的設置也是安全的。

此時資料流入流出設備都是安全的。任何修改或設置也是安全的,授權的應用和使用者可以獲取對設備資料和功能的存取權。

如果設備被偷了怎麼辦?為了保證在這種情況下的安全,通常加密設備上儲存的資料,或者不保存本地資料,或者甚至使用加密的檔案系統。這樣可以確保設備上的關鍵資料的安全。如果使用者擁有設備,並且有密碼,那麼通常被認為具有合理的安全性。可以增加指紋掃描、虹膜掃描、掌紋以及其它設備等方面的額外安全性,因而實現與設備的安全,或連接到安全存取站的安全。

上面幾乎討論了所有的安全情景,但有一種情況除外,即尚未考慮到破壞安全系統的程式執行問題。在MCU和某些MPU案例中,程式是從快閃記憶體執行的單個連結映射。在這種情況下,不可能為系統增加任何東西,因為整個映射是從快閃記憶體執行的,如果啟動機制或刷新機制是安全的,那麼入侵者根本不可能導入新的程式碼。對Unison作業系統來說就是這樣,因此這種系統特別安全。

當系統中存在解譯器的時候,就不能下相同的結論了。解譯的程式可以利用MCU或MPU上的自由存取權而到處修改系統,除非安裝了精心設計安全機制,如使用記憶體保護單元或記憶體管理單元(MMU)。

本文小結

使用標準的資訊技術安全協定、安全開機以及透過限制解譯器的使用,可保證MCU和小型MPU系統整體的安全執行。安全性不應該是事後的想法,或置於作業系統的頂層——安全性應該設計於系統中,並成為一個有機組成部份進行整合和測試,從而實現真正的安全。

(參考原文:Securing microcontroller RTOSes for the Internet of Things,by Kim Rowe)





投票數:   加入我的最愛
我來評論 - 為物聯網應用確保微控制器的RTOS安全性
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首