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