你的位置:首頁 > 測試測量 > 正文

如何保護物聯(lián)網微控制器的實時操作系統(tǒng)安全?

發(fā)布時間:2015-04-10 責任編輯:echolady

【導讀】社會上很多商業(yè)活動和機構都越加依賴互聯(lián)網,隨著設備假如物聯(lián)網的行列,只會對物聯(lián)網的依賴性越強,但是這種依賴性會給設備造成明顯的漏洞。一旦產生漏洞就會使設備遭到攻擊。那么如何保護物聯(lián)網操作系統(tǒng)的安全?本文將進行詳細的解析。

現(xiàn)在被激活并處于工作狀態(tài)的許多物聯(lián)網設備需要服務許多年時間,具體取決于應用類型。舉例來說,水電氣等公用事業(yè)儀表很少會更換。通信基礎設施設計可以運行和共存長達50年的時間。電力傳輸系統(tǒng)需要持續(xù)運行30年或更長時間。住宅、辦公室、工業(yè)大樓和其它建筑物通過數(shù)十年翻新一次,可以持續(xù)使用無限長的時間。如果現(xiàn)在這些新系統(tǒng)是不安全的,那么隨著威脅的發(fā)展,它們可能很快被淘汰掉。

為了保護用戶在智能設備上的投資,防止這些設備受到入侵破壞,安全性對所有這些新設備來說都是最基本的要求。在今后幾年中,近500億個物聯(lián)網設備有望登錄互聯(lián)網,其中很大部分將是微控制器或具有有限資源的小型微處理器。幸運的是,這些小設備要比大的多的設備安全得多,因為它們更容易得到保護,并且不會遭受相同類型的威脅。這并不意味著安全性很容易滿足,只是如果你正確地發(fā)揮了MCU和小型MPU功能的話,難度沒那么大。本文將討論如何保護物聯(lián)網上的小設備。

必要的物聯(lián)網安全功能

為了完整地保護MCU或小型MPU,通常要求采用以下一些安全功能,雖然其中一些功能并不是對每個系統(tǒng)都是必要的。對于深度嵌入的MCU和MPU產品來說,使用標準信息技術安全解決方案的安全機制是核心安全機制。這些安全協(xié)議包括:

●TLS

●IPSec/VPN

●SSH

●SFTP

●安全引導程序和自動回退

●過濾

●HTTPS

●SNMP v3

●安全無線鏈路

●加密和解密

●加密的文件系統(tǒng)

●DTLS(僅針對UDP的安全性)

●安全電子郵件

TLS、IPSec/VPN、HTTPS、安全無線鏈路和DTLS都是安全通信鏈路可以采用的方法。SFTP提供安全的文件傳輸,SSH則提供安全的遠程訪問,安全電子郵件可以在加密的鏈路上提供電子郵件服務。

具有自動回退功能的安全引導程序可以確保系統(tǒng)不會被破壞。SNMPv3、加密的數(shù)據和加密的文件系統(tǒng)可以通過加密保護本地數(shù)據的安全,或者將要發(fā)送到另外一臺機器的數(shù)據的安全。過濾實際上是一種防火墻功能,用于拒絕有害的和未被邀請的客戶的訪問。下面先討論系統(tǒng)級的安全性,然后詳細討論每個部分和每個項目。
[page]
系統(tǒng)安全性

安全性的強弱只取決于最弱的鏈路或部件。為了保證系統(tǒng)的安全,所有的各種通信通道、所有的文件傳送、所有的數(shù)據存儲和任何更新方式都必須是安全的。在具有動態(tài)加載、可執(zhí)行文件修改和其它復雜功能的系統(tǒng)中,很難做到真正的安全。想象以下的場景:

入侵者通過使用電子郵件、FTP或其它一些方式將文件移動到機器上。

文件是動態(tài)加載的,當它運行時,它會破壞其它可執(zhí)行文件,然后清理并刪除自己。

如果病毒是新的,或者對系統(tǒng)來說是未知的類型,那么它就不會被系統(tǒng)認出來是病毒,從而大搖大擺地進入系統(tǒng)并感染它。

考慮通信鏈路不安全或沒有得到正確保護的另外一種場合。在這種場合中,可能存在讀取最低限度數(shù)據的方法。也可能存在將新數(shù)據注入數(shù)據流的方法,繼而這個數(shù)據流被用來破壞接收系統(tǒng)。

通過互聯(lián)網向一個設備加載一個不安全的映像就是一個很好的例子。當這個新的映像被加載和運行時,它將接管系統(tǒng),當然前提是它擁有正確的訪問權。

還有一種情景,即設備上的一些關鍵數(shù)據被偷竊了。除非數(shù)據已經被加密,或者處于一個加密的文件系統(tǒng)中,否則就很可能從設備中恢復出受限制的數(shù)據。這是另一種需要考慮的情景。

為了確保系統(tǒng)的安全性,通常最好的方法是認真考慮設備信息是如何被訪問的。通常較高的安全性要求:你知道的東西(口令),你有的東西(借記卡或可穿戴設備),以及你是什么(虹膜掃描)。

對于小型設備來說,這可能有點過份了,但在要求非常高安全性的場合,通過一些間接方法是可以滿足這些要求的,只要各個部分都是安全的。通過與服務器進行安全的交互,進而安全地訪問設備,那么設備的安全性接口就既可以在更大的機器上運行,也可以用來保護小設備的安全。

安全系統(tǒng)的另外一個關鍵要素是分層的安全性,以及人們只能獲得部分訪問權的前提條件。好的設計實踐是盡可能使用層次化的安全特性。在這種情況下,入侵者也許能夠訪問系統(tǒng)的某個部分,但沒有其它顯著措施的話將不能訪問整個系統(tǒng)。舉例來說,將兩個不同的防火墻級聯(lián)在一起來保證服務器的安全,這樣一臺服務器的漏洞可以由第二個防火墻堵住。

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

如何保護物聯(lián)網微控制器的實時操作系統(tǒng)安全?
圖1:物聯(lián)網就緒操作系統(tǒng)應該包含的與安全性有關的互聯(lián)網協(xié)議組件將允許在整套協(xié)議之上實現(xiàn)無縫集成,從而提供高質量的安全性。

通信安全


這類安全協(xié)議用于確保機到機通信是安全的。它有一個信任層,可確保某些信息是可以依賴的,并且可以建立安全的通信。

TLS或較老的SSL是最常用的方法,可用于為TCP流套接字或具有順序數(shù)據和保證送達承諾的流連接提供通信安全。DTLS是一種較新的協(xié)議,用于提供安全的UDP傳送,或基于TLS的數(shù)據報分組。這兩種協(xié)議都適用于應用到應用的通信。

IPSec或虛擬專用網(VPN)使用TCP棧中的虛擬鏈路安全性,它的設置比較復雜,但允許應用程序通過鏈路實現(xiàn)安全的通信,即使應用程序本身不提供安全性。這種方法使用不是很廣泛,一方面是因為設置有一定難度,另一方面是許多人認為算法開發(fā)中美國國家安全局(NSA)的界入使得安全性可疑的事實。

HTTPS是基于TLS的一種安全的網絡服務器訪問協(xié)議,它能提供安全的應用層訪問。同樣,SSH提供對遠程用戶的安全終端模擬訪問。

安全的無線鏈路可以確保無線信號不會被收集,數(shù)據不會被任何有天線的人提取出來。

安全電子郵件用于確保用電子郵件發(fā)送的數(shù)據不會以明文方式傳送。一種選項是在數(shù)據發(fā)送前進行加密。更簡單更通用的解決方案是在加密的鏈路上提供電子郵件服務,這種加密的鏈路可以確保所有電子郵件數(shù)據對管理電子郵件的服務器來說都是安全的。
[page]
使用SNMP進行安全的文件傳輸


SNMPv3可以加密數(shù)據,同時加密和解密例程用于保護數(shù)據。如果所有數(shù)據都是重要的,那么可以使用文件加密方法,雖然這樣做會犧牲一點性能。

過濾和防火墻保護。通過過濾掉經過網絡服務器抵達的所有數(shù)據包可以阻止未授權的訪問。使用先進的過濾技術,設計師可以確保正確的用戶取得訪問權,系統(tǒng)能防止未授權的訪問。這些過濾規(guī)則可能需要逐個設備去設置。通常它與SSH或SNMP共同起作用。

安全的引導程序。安全啟動是一個安全系統(tǒng)的重要部分(圖2)。一般經常需要更新固件,而以安全的方式進行更新是非常重要的。這種方法可以取消所有出廠固件更新,并且利用自動回退機制可以極大地增強更新能力。借助自動回退機制,如果新版本(可能被破壞了的版本)無法啟動,可以自動啟動以前的安全版本——這是層次化安全機制的一個組成部分。

如何保護物聯(lián)網微控制器的實時操作系統(tǒng)安全?
圖2:Unison RTOS能夠在最低層次提供額外的安全啟動功能,因此可以完整地保護系統(tǒng)。沒有解釋器或加載一個程序并加以運行然后利用系統(tǒng)漏洞的其它方法,攻擊系統(tǒng)就會變得異常困難。

重新審視系統(tǒng)安全性

現(xiàn)在讓我們考慮一下具有有限資源的MCU或MPU安全性,它們需要借助如果不是全部也是大部分這些協(xié)議來實現(xiàn)安全。為了提供實際例子,考慮Unison操作系統(tǒng)——一種微型POSIX RTOS,它具有現(xiàn)成的這些功能。

首先,使用安全通信協(xié)議,與目標設備交談的所有應用程序都可以做到很安全,包括電話應用、對微型網絡服務器的安全網絡訪問等。像緩沖器溢出攻擊等騙局就不可能發(fā)生了,因為Unison設計在很少的資源條件下運行,必須防止任何不合理的資源使用。安全的無線鏈路是可以使用的。VPN也可以使用。

為了將文件發(fā)送到系統(tǒng),可以使用SFTP。這樣可以保證數(shù)據在傳輸過程中不會被破壞——這對于保證系統(tǒng)更新的安全非常重要。

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

另外,SSH可以用來借助基于終端的方法對設備進行遠程設置。與網絡服務器相比,這種方法比基于腳本的方法更有幫助,可以保證設備的設置也是安全的。

此時數(shù)據流入流出設備都是安全的。任何修改或設置也是安全的,授權的應用和用戶可以獲取對設備數(shù)據和功能的訪問權。

如果設備被偷了怎么辦?為了保證這種情況下的安全,要么加密設備上存儲的數(shù)據,要么不保存本地數(shù)據,或者使用加密的文件系統(tǒng)。這樣可以確保設備上的關鍵數(shù)據的安全。

如果用戶有設備,并且有口令,那么通常被認為具有合理的安全性。可以增加指紋掃描、虹膜掃描、掌紋和其它設備等方面的額外安全性,從而實現(xiàn)與設備的安全,或連接到安全訪問站的安全。

上面討論了幾乎所有的安全場景,還有一種除外,即破壞安全系統(tǒng)的程序執(zhí)行問題還沒有考慮。在MCU和某些MPU案例中,程序是從閃存運行的單個鏈接映像。在這種情況下,不可能給系統(tǒng)增加任何東西,因為整個映像是從閃存運行的,如果啟動機制或刷新機制是安全的,那么入侵者根本不可能引入新的代碼。對Unison操作系統(tǒng)來說就是這樣,因此這種系統(tǒng)特別安全。

當系統(tǒng)中存在解釋器的時候,就不能下相同的結論了。解釋性程序可以利用MCU或MPU上的自由訪問權而到處修改系統(tǒng),除非安裝了精心設計的安全機制,比如使用內存保護單元或內存管理單元(MMU)。

相關閱讀:

如何應對物聯(lián)網的四大隱患?且看招
揭秘物聯(lián)網安全五大“謊言”,其實沒那么安全
專家剖析:物聯(lián)網智能硬件給哪些行業(yè)帶來實質利好?

要采購微控制器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉