對于許多物聯網應用程序,安全漏洞的代價是攻擊者可以訪問物聯網網絡以及跨其安裝的設備。這可能會導致智能家居中的隱私丟失、數據泄露和設備的潛在濫用。然而,在商業、工業和醫療應用中,風險可能要高得多。在商業應用中,對手可能會在非工作時間打開HVAC系統,并導致能源成本顯著增加。在工業環境中,用于管理庫存的機械臂可以在其預期工作空間之外運行,從而危及附近的工人。受損的醫療設備對患者可能是致命的。
實現安全性的一個基本要素是采取整體方法,不僅確保整個系統受到保護,而且確保每個單獨的設備(以及具有該設備的子系統)也受到保護。考慮一下系統中通過第三方庫編寫的大多數代碼是由外部供應商編寫的現實。換句話說,典型的物聯網設備依賴于數百萬行代碼 - 操作系統,固件,堆棧,庫,中間件等 - 不是由制造商編寫的。
如圖 1 所示,所有這些代碼都編譯為 MPU 中的單個整體式應用程序。這意味著所有這些不同的代碼功能塊共享相同的 MPU 硬件資源。特別是,這些塊共享相同的內存。
如果沒有內存管理單元 (MMU) 和物理內存保護 (PMP) 等集成硬件機制,系統中的任何功能塊都可能導致系統崩潰。同樣,錯誤的代碼可能會寫入另一個功能塊使用的內存,最終可能導致災難性的系統故障。
如果您正在構建嵌入式物聯網系統并使用 Linux 作為其龐大生態系統的首選平臺,那么您有 17+ 百萬行代碼可供您的 Linux 內核選擇。這是相當多的代碼,假設是沒有錯誤的,即使在開源環境中也是如此。設備中包含的每個軟件子系統都必須沒有錯誤。當您不能假設自己的代碼沒有錯誤時,您如何假設您所依賴的每個第三方供應商都有無錯誤的代碼?
比必須信任系統中的所有軟件更好的是擁有一個平臺,其中一個功能塊根本無法影響其他功能塊。這需要一種將安全性深深嵌入硬件本身的設計方法。一個功能不會影響系統中的其他功能,因為硬件不允許這樣做。
這是多區域安全性的核心。每個功能塊都與其他功能塊嚴格分離。由于這是在硬件層強制執行的,因此軟件無法破壞保護層 - 無論是通過開發人員錯誤還是故意黑客攻擊。
審核編輯:郭婷
-
嵌入式
+關注
關注
5087文章
19148瀏覽量
306184 -
物聯網
+關注
關注
2910文章
44778瀏覽量
374714 -
HVAC
+關注
關注
0文章
72瀏覽量
19779
發布評論請先 登錄
相關推薦
評論